Vu que vous avez lu la section sur le HTML (si vous ne l'avez pas fait je vous recommande d'aller à la section Programmation et voir la sous-section HTML) je peux commencer à vous parler de JavaScript: crée en 1995 par Netscape, JavaScript a été mise à jour par le JScript de Microsoft et l'ECMAScript de ECMA et en est venu à sa version 1.6 en 2005. C'est un langage de programmation que l'on peut mettre directement dans du HTML.

QU'ES-CE-QU'UN LANGAGE DE PROGAMMATION ?

Donc, la question primaire: qu'es-ce-qu'un programme? Un programme, en effet, n'est rien d'autre qu'une suite d'ordres que l'on fait. Ces ordres sont généralement appelés des "commandes", et elles sont executées par un ordinateur. Par exemple, le programme JavaScript window.alert("salut") va alerter, dans une fenêtre, le message salut (pour l'essayer cliquez sur le programme). Un langage de programmation sert à décrire des programmes. En JavaScript, un programme est executé dans son ordre d'écriture (donc le programme alert(1);alert(2) va alerter 1, puis 2)

LES BASES DE LA PROGRAMMATION

Les langages de programmation ont généralement des bases:

Variables: une variable, c'est un nom que l'on donne a une valeur. Pour attribuer des valeurs à des variables, de divers lamgages utilisent de divers syntaxes, et JavaScript utilise le symbole =. Par exemple, pour alerter salut philippe, on peut écrire le programme suivant (cliquez sur le programme pour le lancer): variable1="salut";variable2="philippe";espace=" ";window.alert(variable1+espace+variable2). ATTENTION: le = de JavaScript n'est pas une égalité mathématique mais une affectation, la preuve i=i+1 est une commande correcte et affecte à la variable i la valeur i+1 alors qu'en mathématiques i=i+1 est une égalité trivialement fausse. Tout bon programmeur donne des noms logiques (donc ayant un lien avec son contenu) à ses variables.

Fonctions: une fonction est un nom que l'on donne à une suite de commandes. Par exemple, window.alert que l'on utilise depuis un moment est une fonction JavaScript. En JavaScript on peut créer ses propres fonctions en utilisant le mot clé function, par exemple la fonction function multiplier_par_deux( nombre ){ return 2 * nombre } multiplie par deux et retourne un nombre donné. Les fonctions sont importants au sens où ils sont utiles pour sauvegarder une suite d'instructions à un endroit et donner du sens à nos programmes. Pour appeler la fonction que l'on a crée y'a quelques phrases, on peut écrire variable = multiplier_par_deux( 2 ) et la variable variable aura comme valeur 2 * 2, donc 4. Dans tout langage de programmation, les fonctions restent inactives (donc ne font rien) tant qu'elles ne sont pas appelées.

CONDITIONNELS ET BOUCLES

Comme je vous ai raconté, on sait donc faire des calculs, se rappeler des résultats et se rappeler d'une suite de commandes (ou d'instructions). Pour avoir des programmes utiles, on a encore besoin de deux choses:

Conditionnels: une instruction conditionelle est une instruction que l'on execute si et seulement si la condition est satisfaite. Par exemple, considérons que la fonction on_est_quel_jour nous dit quel jour de la semaine on est. Le programme if( on_est_quel_jour() == "Mercredi" ){ alert("on est mercredi") }else{ alert("on est pas mercredi" ) } va alerter on est mercredi les mercredis, et on est pas mercredi les autres jours.

Boucles: une boucle se répète tant qu'une condition est satisfaite. JavaScript a deux commandes de boucle: for et while. Le programme for( i = 0 ; i < 10 ; i = i + 1 ){ alert(i) } va alerter tous les nombres entre 0 et 10. Similairement, le programme while( on_est_quel_jour() == "Mercredi" ){ alert("on est toujours mercredi!") } va alerter on est toujours mercredi! pendant tout mercredi et arrêter d'alerter une fois le jeudi venu.

JAVASCRIPT

Ces quatre notions existent dans tout langage de programmation "utilisable", inclus JavaScript. Le JavaScript se met dans du code HTML en utilisant les balises <script> et </script>. Par exemple, vous pouvez maintenant écrire <script>document.write("salut")</script> dans le fameux essai.html de nos cours HTML et observer que ça affiche salut quand c'est lancé (et que le code JavaScript est invisible). Alternativement, vous pouvez aussi essayer <script>window.alert("salut")</script>, ou encore combiner du HTML et du JavaScript dans le même fichier (ça marche très bien, je vais le détailler dans le texte suivant). Entre les balises script, vous pouvez mettre des instructions ou fonctions JavaScript ou encore une mélange des deux.

Une différence entre JavaScript et les autres langages de programmation est que JavaScript est un langage purement interprété, c'est à dire qu'il est executé en étant interprété commande par commande. L'interpréteur se rapelle donc toujours des noms de variables, et on peut en profiter via la fonction eval: cette fonction sert à executer une commande. Par exemple, eval("window.alert('salut')") va faire une alerte, ou encore eval("i"+nombre) va valoir par exemple la valeur de i5 si nombre est égal à 5. Ceci (génération dynamique de code natif) est infaisable dans la plupart des langages de programmation.

Par contre, étant interprété, la JavaScript est plus lent que la plupart des autres langages.

ALLER PLUS LOIN

Je ne peux bien sûr pas vous donner un cours entier sur JavaScript, mais je vous recommande de lire la partie sur DHTML pour comprendre à quoi peut servir ce langage dans un site web pour après commancer à faire des exercices.