Le JavaScript : c'est quoi ?

Difficulté Facile
Note
Thématiques
Mis à jour le mardi 8 janvier 2013

Qu'est-ce que c'est ?

Définition

Le JavaScript est un langage de programmation.
Pour être plus précis, c'est un langage orienté objet : quand on code en JavaScript, on se base sur des objets. Je n'en dis volontairement pas plus pour l'instant, car ce sujet sera abordé un peu plus loin, lorsque vous aurez déjà acquis les connaissances requises.

Pour une définition plus complète, voici un "remix" de ce que nous propose notre ami Google :

Citation : Google, define: JavaScript

Le JavaScript est un langage de script basé sur la norme ECMAScript.
Il s'insère dans le code (x)HTML d'une page web, et permet d'en augmenter le spectre des possibilités.
Ce langage de POO [Programmation Orientée Objet], faiblement typé, est exécuté côté client.

Je l'avoue, c'est très compliqué... Mais pas de panique, nous allons aborder les différents points de cette définition au fil du tuto.

Utilisation

Tout d'abord, plantons le décor : de quelle manière s'utilise-t-il ?
Sa principale utilisation est, comme je vous l'ai dit, à l'intérieur des pages web : on dit alors que le JavaScript est une extension du (x)HTML. Il permet de rendre celles-ci interactives.
Voici quelques exemples (on pourrait en citer beaucoup d'autres) de ce que l'on peut en faire dans une page Web :

  • ouvrir des pop-up (les petites fenêtres qui s'ouvrent de manière intempestive)

  • faire défiler un texte

  • insérer un menu dynamique (qui se développe au passage de la souris)

  • proposer un diaporama (changement d'image toute les X secondes, boutons pour mettre en pause, aller à l'image précédente / suivante, etc.)

  • avoir une horloge "à aiguilles" (avec la trotteuse)

  • faire en sorte que des images suivent le pointeur de la souris

  • créer de petits jeux (comme le classique "Plus ou Moins", cf. TP)

  • insérer des balises du zCode (les balises qui apparaissent en cliquant sur le bouton)

  • faire un aperçu du zCode en direct.

Vous voyez que les possibilités sont donc nombreuses (le JavaScript sert en effet beaucoup sur ce site).
Il ne faut cependant pas "polluer" son site avec trop de scripts inutiles... Les pop-up ou les images qui suivent la souris partout peuvent agacer le visiteur, et "charger" un site, si bien qu'il est difficile d'accéder clairement aux informations qu'il propose...

L'utilisation du JavaScript ne se limite toutefois pas aux pages web : étant un langage pratique à mettre en oeuvre (il suffit d'un navigateur et d'un éditeur de texte tel que Bloc-notes), il s'est répandu et se répand ailleurs.
Un exemple : vous pouvez créez vos propres plugins pour Messenger Plus! Live en JScript (c'est JavaScript à quelques différences près).
Il est également possible de faire facilement de petites "applications" en DHTML !

Attends, c'est quoi le DHTML ? o_O

Le DHTML (Dynamic HyperText Markup Language) désigne des pages dont le contenu (ou la mise en forme) est modifié sans avoir à recharger la page. (Ce terme n'a pas de définition officielle du W3C.)
C'est bien le cas des exemples cités ci-dessus : on modifie une image, on la déplace, on fait défiler du texte, ...

Un peu d'histoire ...

Le JavaScript, inventé par un certain Brendan Eich et développé par Netscape, fait son apparition en 1995, sous le nom de LiveScript, dans le but de dynamiser les pages web.
Son utilisation s'est largement répandue, et il se fait rapidement accepter par d'autres navigateurs.
Il est aujourd'hui très présent sur les sites web : de plus en plus de webmasters s'y intéressent, et il est de mieux en mieux accepté, à la fois par les navigateurs et par les visiteurs ; ce qui lui réserve sans doute un bel avenir...

Les caractéristiques du JavaScript

Voici un petit résumé de ce que l'on a déjà pu dire à propos des caractéristiques du JS. Ceci est à retenir.

  • C'est un script (cf. juste après).

  • C'est un langage orienté objet, comme je vous l'ai déjà dit (nous y reviendrons).

  • Le code n'est pas compilé :

    • il est donc plus rapide à produire (pas besoin de compilateur, un seul fichier, ...),

    • mais il est moins puissant qu'un programme en C, par exemple,

    • et relativement limité : il se limite plus ou moins à la page web sur laquelle il se trouve. Il ne permet donc pas de faire des choses comme manipuler des fichiers sur votre disque dur (heureusement ^^ ) ; seulement des choses assez simples.

  • Il est exécuté par le navigateur du visiteur (le client), et dépend donc de celui-ci.

  • Il est déterminé par une norme, nommée ECMA-262 ou ECMAScript. De la même manière que le W3C se charge de définir clairement le (x)HTML, le JS possède une norme qui fixe également des lois et des limites pour celui-ci, rendant ainsi ce langage plus "officiel". Ainsi, le code est plus facile à écrire, car il y a beaucoup moins de problèmes de compatibilité. Il y a cependant pour le JS quelques différences d'un navigateur à l'autre (des fonctions de l'un qui ne marchent pas sur l'autre, ...), mais cela n'a pas beaucoup de conséquences.

L'auteur