Accueil

Traduction

Tutoriel JavaScript & jQuery - sommaire

Sommaire partiellement masqué - faites défiler !

Tutoriel JavaScript & jQuery - recherche

L'auteur : Patrick Darcheville

Vous pouvez me contacter via Facebook pour questions & suggestions : Page Facebook relative à mon site

Découverte du JavaScript

Une page Web créée avec du HTML est totalement statique. Pour produire des effets visuels sur survol ou clic donc pour créer une certaine interactivité, vous pensez à CSS. Mais les possibilités de manipulation du DOM via le CSS restent limitées et ne concernent que le style. Ainsi vous ne pouvez pas modifiez via CSS et c'est logique, les attributs et contenu des noeuds, supprimer des éléments, rajouter des éléments. Par contre tout cela est possible avec JavaScript !

Une animation réalisée en HTML & JavaScript

Ci-dessous un pachtwork : la boite se remplit de photos miniatures (et sexy) à raison de 2 par seconde jusqu'à ce que vous cliquiez sur le bouton.

Cette animation consiste à modifier le DOM initial de la page : création et insertion de nouvelles images dans la grande boite.
Retrouvez le code de cette animation

Objet du tuto "JavaScript

Le monde JavaScript propose des centaines de frameworks contenant des fonctions de haut niveau.
Ainsi, pour prendre un premier exemple, programmer un "drag and drop" (glisser-déposer) en JavaScript pur sera un "parcours du combattant". Mais cela devient un jeu d'enfant si vous utilisez le framework jQuery et plus précisément son greffon jQuery UI.
Deuxième exemple : si vous voulez créer dans une page, un dessin vectoriel animé ; utilisez le framework Snap SVG qui génère du code SVG à partir d'un script.
Troisième exemple : si vous voulez produire dans une page un dessin matriciel ; utilisez alors l'API Canvas.

Désormais JavaScript peut être utilisé côté serveur grâce à Node.js. Maintenant j'avoue que je préfère utiliser PHP. Vous trouverez cependant, à la fin de ce chapitre une présentation sommaire de cet outil.

L'utilisation du framework jQuery peut faciliter dans de nombreux domaines la programmation en JavaScript. Cependant beaucoup d'effets visuels peuvent désormais être réalisés en combinant JS pur et CSS 3.

Présentation de JavaScript

JavaScript est sans doute le langage de programmation le plus populaire.

Définition de JavaScript (JS)

JS est un langage de programmation de scripts, événementiel et orienté objet.
Développons ces trois points.

Un langage de programmation

Comme tout langage de programmation on peut créer et manipuler des variables, définir et appeler des fonctions et on dispose de structures de contrôles (tests logiques, boucles).

Un langage de scripts

Cela signifie qu'il s'agit d'un langage interprété et non pas compilé. Le code JS est interprété par le navigateur de l'internaute. C'est pour cette raison que l'on parle de programmation "côté client" ; voir ci-dessous.
Attention JavaScript peut être désactivé par le navigateur !

Un langage événementiel

Le code peut être à l'écoute d'évènements (un clic sur un élément le plus souvent).
Mais il y a bien d'autres évènements : mouvement de la souris, appui d'une touche du clavier, chargement d'un élément de la page, rotation d'un smartphone, etc. A chaque événement une action peut être déclenchée.

Un langage orienté objet

Le langage comprend des objets natifs (et pour chaque classe des méthodes et propriétés).
Mais on peut créer ses propres objets.

Histoire du JavaScript (JS)

Il ne faut pas confondre JavaScript avec Java. Brendan Eich (photo ci-contre) s'est inspiré de Java pour créer JavaScript en 1995. Ce brillant informaticien travaillait alors pour Nestcape Communication.
Donc Nestcape (ancêtre de Firefox) fut le premier navigateur à disposer d'un interpréteur JS. Le langage fut ensuite standardisé sous le nom d'ECMAScript.
JavaScript est un langage qui bonifie en vieillisant. Chaque nouvelle version propose des nouveautés qui simplifient la programmation en JS pur, rendant souvent le recours aux frameworks inutile.

Le problème avec JS est que des outils identiques s'empilent car JS est rétrocompatible ou presque ...
Ainsi pour extraire une sous-chaine d'une chaine il existe pas moins de 3 méthodes : substr(), substring() & slice() correspondant à des versions différentes de ECMAScript. Ces trois méthodes ne sont pas complétement identiques ...
La méthode substr() est dépréciée : n'est plus interprétée par les navigateurs
Un conseil : privilégiez la méthode la plus récente slice() et oubliez les autres ...

Ci-dessous lien vers un article relatif aux fonctionnalités dépréciées et obsolètes : Ne plus utiliser en programmation JS !

Comparaison JS et PHP

Il s'agit de deux langages de script ou langages interprétés.
Le langage PHP permet aussi de dynamiser une page mais un navigateur est incapable d'interpréter du code PHP ! Dans le cas d'une page web contenant du PHP l'interprétation est faite par le serveur qui adresse du HTML au navigateur (au client). C'est pour cette raison que l'on parle de programmation "côté client" pour JS et "côté serveur" pour PHP.
Un code PHP sera toujours interprété ce qui n'est pas le cas du JS. Voir ci-dessous.

Limites du JavaScript

JS ne peut pas s'interfacer avec une base de données (sauf utilisation de Node.js). Donc si vous souhaitez développer un site avec une base de données vous devrez utiliser PHP qui appelera des requêtes SQL.

Sachez aussi que JS peut être désactivé par le navigateur. Dans ce cas les scripts de la page ne seront pas exécutés ... Il est donc conseillé de toujours intégrer la balise NOSCRIPT dans la partie HEAD d'une page.

Code à insérer dans chaque page contenant des scripts ou en lien avec des scripts :

Le navigateur affichera le message contenu dans NOSCRIPT uniquement si JavaScript est désactivé.

Quelques outils de la nébuleuse JavaScript

On ne compte plus les frameworks JavaScript, les API écrites en JavaScript, les préprocesseurs JavaScript. Il est impossible de les citer tous ...
Et il y a bien sûr la plateforme de développement côté serveur : node.js. et tous les frameworks qui s'y attachent.

jQuery reste le framework JS le plus connu car le plus ancien mais est en déclin. Il est présenté dans quelques chapitres de la deuxième partie de ce tuto.
Le framework jQuery

Les API JavaScript

Une API écrite en JS simplifie considérablement le développement "front-end" en proposant des objets et des méthodes haut niveau.