Nous allons, dans cette section de l´Infini, nous intéresser au langage Javascript. Ce langage, initialement créé par la société Netscape, permet de rendre une page HTML bien plus attractive, en y insérant du code réagissant, par exemple, aux évènements de l´utilisateur. A titre d´exemple, regardez un peu la barre de menu située à gauche de ce paragraphe. Un autre cas d´utilisation de Javascript consiste à pouvoir valider les données saisies dans d´un formulaire HTML, juste avant la soumission du formulaire : si lors de la validation, une erreur est détectée, un message d´erreur vous est proposé.
ATTENTION : je tiens dès maintenant à clarifier les choses à propos du langage Javascript et du langage Java. On ne parle pas du même langage ! Java est un véritable langage de programmation, au même titre que C++, par exemple. Javascript, et un petit langage ( dont la syntaxe à les même source que Java) qui ne permet qu´une seul chose ( du moins en théorie) : modifier et contrôler le contenu du document afficher dans votre navigateur. Apprendre le langage Java vous demandera bien plus d´effort pour arriver à vos fins.
Historique
Avant la naissance de Javascript, on ne savait faire qu´une seule chose dans un navigateur : afficher un document figé ( statique).C´était déjà bien, mais cela n´aurait jamais put permettre les possibilités que l´on connaît désormais au Web. Un dès grand bouleversement du Web fut sans contestations possible, la naissance de Javascript. Il allait tout chambouler sur vos documents.
Javascript et Netscape 2.0
Tout commence avec le navigateur Netscape en version 2.0. Ce fut le premier à proposer la possibilité de contrôler ce qui se passe au sein du document. Javascript 1.0 est né. Cette première version était bien loin de permettre de faire ce que l´on fait maintenant, mais en tous cas toutes les idées principales d´un navigateur actuel étaient posées ( sauf le mécanisme de feuilles de styles). Très vite, un autre navigateur IE, vue en Javascript de très grande possibilités. Ce navigateur incorpora donc aussi ce langage, et autorisa même l´utilisation d´un autre langage de script : VBScript ( dont la syntaxe est tirée du langage Basic).
Naissance d´ECMAScript ( ECMA-262)
En automne 1996, afin d´assurer que Javascript n´allait pas connaître plusieurs implémentations totalement incompatible, la société Netscape proposa son langage à un comité de normalisation : le comité ECMA. Il est résultat la norme ECMA-262 ( plus connue sous le nom d´ECMAScript).
Dynamic HTML
Depuis la version 4.0 de deux grands navigateurs, on parle maintenant de Dynamic HTML. En fait, c´est un grand mot pour des choses que l´on avait déjà. Il s´agit du regroupement de trois éléments : le HTML, la possibilité d´utiliser les feuilles de styles, et ce que l´on appelle le DOM ( Document Objet Model). Ce dernier correspond en la représentation de votre document HTML en une hiérarchie d´objets ( au sens de la programmation orientée objet). Pour manipuler ce DOM, il bous faut donc un langage adapté : Javascript l´est ( depuis le début d´ailleurs, car c´était le but initial).
Si vous souhaitez voir ce que donne un document Dynamic HTML, je vous propose de tester le jeu Dynamic PingPong ( écrit par mes soins).
Architecture du cours
Ce cours se divise en quatre parties. La première consiste en l´étude du langage Javascript ( norme ECMA-262). La seconde aborde l´étude de quelques objets manipulables au sein des différents navigateur ( IE et Netscape principalement). Dans la troisième partie, vous trouverez une bibliothèque de code, sans cesse remise à jour. Enfin, la quatrième partie pourrait être considérée comme un cadeau : elle vous propose une bibliothèque de code Javascript utilisable dans vos pages Web, afin d´en augmenter l´attrait.
Comme toujours, si vous avez des suggestions ou des corrections à me soumettre, n´hésitez surtout pas. Au contraire, je vous en remercie par avance.
Notez un autre détail : que vous utilisiez Netscape ou IE, sachez que je vous propose un outils sympathique afin de tester les exemples du cours. Il s´agit d´un petit évaluateur Javascript disponible sous forme d´une page Web. N´hésitez pas à l´utiliser, il vous rendra de grands services.
Quelques liens bien utiles
Enfin, je vous propose une liste de quelques liens bien utiles qui vous permettrons de trouver des informations complémentaire sur Javascript et le DOM.
Le site de Netscape : http://developer.netscape.com/docs/
Un nouveau guide d´Internet : http://www.imaginet.fr/ime/javascri.htm#_0
La spécification ECMA-262 : http://developer.netscape.com/library/javascript/e262-pdf.pdf
Le W3C : http://www.w3c.org ( pour HTML, CSS et le DOM)