image/svg+xml $ $ ing$ ing$ ces$ ces$ Res Res ea ea Res->ea ou ou Res->ou r r ea->r ch ch ea->ch r->ces$ r->ch ch->$ ch->ing$ T T T->ea ou->r

JavaScript est un langage qui s'est imposé pour la manipulation de pages HTML en utilisant l'arbre DOM. Il permet de réaliser des interfaces graphiques en utilisant les technologies du web (HTML5, CSS...) et dispose d'APIs plus ou moins standardisées. JavaScript est également utilisable avec le framework Node.js pour la programmation côté serveur afin de réaliser des applications web. Il existe des langages dérivés de JavaScript (tel que TypeScript) avec une syntaxe rétro-compatible qui ajoutent de nouvelles possiblités syntaxiques ; ces langages peuvent être transpilés en JavaScript classique.

Nous listons ici (non exhaustivement) quelques contextes d'utilisation du langage JavaScript :

Il existe deux principaux moteurs (dévelopés en C et C++) utilisés par les navigateurs capables d'exécuter du code JavaScript (avec un système de compilation à la volée) :

Il existe d'autres moteurs JavaScript développés en Java :

Conseil préliminaire

Si l'on souhaite tester rapidement le rendu de pages HTML et que l'on n'utilise pas de framework JavaScript spécifique disposant d'un commande lançant un serveur de test, il est recommandé de lancer un serveur web et de consulter les pages depuis ce serveur. En effet les navigateurs brident généralement les fonctionnalités disponibles (notamment de récupération de contenu distant) lorsque l'on accède à des pages locales sur le disque. On peut par exemple utiliser Python qui propose une bibliothèque avec un serveur web minimaliste que l'on peut lancer en ligne de commande (après s'être déplacé dans le répertoire à servir) en indiquant le port à écouter :

python -m http.server 8000

On peut ensuite consulter les pages du répertoire courant avec un navigateur pointant sur http://localhost:8000.

⚠ La plupart des APIs JavaScript sont testables depuis localhost. En dehors de localhost (sur un site distant), certaines APIs (géolocalisation, notifications...) exigent le chiffrement de la connexion (https).

Pages de cours

Sites web intéressants