Java Script
Java Script
Il existe de nombreux langages de programmation, certains avec un rôle bien défini et donc pas forcément courants,
d’autres sont très répandus et servent à concevoir les applications essentielles (traitement de texte, navigateur web,
le système d’exploitation lui-même).
Certains langages évoluent dans un environnement contraint, c’est-à-dire qu’ils n’ont pas accès à l’ensemble de
l’ordinateur. C’est le cas du JavaScript au sein des navigateurs web.
Le but était de rendre les sites web développés en HTML + CSS plus dynamiques, réagissant par exemple à un clic ou
un survol de la souris du visiteur sur un élément de la page. On parlait alors de Dynamic HTML ou DHTML.
Aujourd’hui la principale utilisation du langage JavaScript reste la manipulation de la page : ajout, modification ou
suppression de balises à la volée, modification des styles CSS, etc. Ces fonctionnalités ont été standardisées par le
W3C dans ce qu’on appelle le DOM, Document Object Model.
Aujourd’hui bien que ces principes demeurent exacts, les frontières entre les trois langages sont néanmoins plus
floues : on voit par exemple apparaître du CSS pouvant modifier la structure ou le comportement de la page.
Langage de programmation côté client et côté serveur
Le JavaScript est exécuté au sein du navigateur web du visiteur du site, sur l’ordinateur de celui-ci ; cet ordinateur
est le client, on dit donc que le JavaScript est un langage côté client.
Le PHP que nous étudierons prochainement est quant à lui exécuté sur le serveur hébergeant le site web ; on dit
donc à l’inverse que le PHP est un langage côté serveur.
On parle de client et de serveur car c’est ainsi que fonctionne le protocole HTTP sur lequel repose l’ensemble du
web : le navigateur web client envoie des requêtes à un serveur HTTP qui envoie une réponse en retour.
La plupart du temps c’est l’utilisateur du navigateur web qui va générer la première requête HTTP, en cliquant sur un
hyperlien ou en tapant directement une URL dans la barre d’adresse du navigateur.
Tout comme le HTML et le CSS, le JavaScript peut demander au navigateur web d’exécuter des requêtes HTTP
supplémentaires pour récupérer de nouvelles ressources. La combinaison du JavaScript et du du protocole HTTP
permet ainsi de récupérer dynamiquement de nouveaux contenus, en fonction du contexte : par exemple charger
une image lorsque le visiteur clique sur le bouton suivant dans un diaporama.
Le navigateur web envoie sa requête HTTP sous la forme de plusieurs en-têtes, notamment l’URL, ainsi que
possiblement un message complémentaire au serveur HTTP.
Le serveur HTTP traite alors la requête puis envoie à son tour une réponse HTTP au navigateur web sous la forme de
plusieurs en-têtes, notamment un code de statut, et éventuellement la ressource demandée.
Afficher un message
En complément de la méthode document.write() il est possible d’utiliser :
Il est important de bien faire la différence entre les trois méthodes d’affichage et de savoir manipuler la console de
développement du navigateur web (ou une extension telle que FireBug) qui est très utile pour trouver des erreurs
éventuelles au sein d’un script.
L’affichage d’un message dans une boite de dialogue est assez contraignant (dépend du bon vouloir du navigateur
qui peut en empêcher l’affichage) et est aujourd’hui peu recommandé.
La méthode document.write() peut insérer une ou plusieurs balises HTML, démontrant la possibilité pour le
JavaScript de manipuler la page.
En JavaScript il existe une syntaxe permettant de commenter sur plusieurs lignes le code et d’une autre permettant
de commenter sur une seule ligne.
Les variables
En programmation, une variable est un emplacement dans la mémoire vive de l’ordinateur. Une variable possède un
nom, un type et une valeur. Elle est déclarée avec le mot-clé var.
Les variables en JavaScript peuvent entres autres contenir des lettres de l’alphabet, des chiffres et le caractère
underscore. Pas d’espace ni d’autre signe de ponctuation.
Le type de la variable permet de savoir si on manipule des nombres, des chaînes de caractères ou d’autres types de
données que nous verrons plus tard.
Les langages de programmations peuvent être classés selon de nombreuses catégories, l’une d’elles est la façon de
gérer le type des variables : il existe des langages à typage faible et d’autres à typage fort. Le JavaScript est un
langage à typage faible car une variable peut changer de type à tout moment selon la façon dont le programmeur la
manipule dans son code.
Les constantes
Les constantes sont des données dont la valeur ne peut pas changer une fois qu’elles ont été déclarées avec le mot-
clé const. On peut les voir comme des « variables en lecture-seule ».
Opérations
Il est possible d’effectuer des calculs arithmétiques de base sur les variables et constantes de type nombre.
Les chaînes de caractères peuvent être ajoutées les unes derrière les autres à l’aide du même opérateur que
l’addition en arithmétique. On appelle cela la concaténation de chaînes.
Si on souhaite s’assurer qu’une variable est de type nombre avant de la manipuler alors on peut la convertir à l’aide
de la fonction parseInt(). Si la fonction n’arrive pas à effectuer la conversion elle renverra la valeur NaN (Not a
Number).
Les indices des tableaux peuvent être des nombres ou des chaînes de caractères. On peut utiliser une variable ou
une constante en guise d’indice au sein d’un tableau. En général le premier indice d’un tableau est 0.
Si on ne passe aucun argument à la création, l’objet représentera la date et l’heure actuelle, mais on peut donner en
argument une chaîne de caractères que le JavaScript s’efforcera de traduire, par une exemple la chaîne de caractères
« 2013-12-24 ».
Pour obtenir une référence complète des méthodes disponibles de la classe Date, aller au lien suivant :
https://developer.mozilla.org/fr/docs/Référence_de_JavaScript_1.5_Core/Objets_globaux/Date
Exercice : utiliser des tableaux de données et la classe Date pour afficher le nom du jour de la semaine, la
date, le nom du mois et l’année en cours
Les règles de nommage sont exactement les mêmes que pour les variables.