Aller au contenu

JavaScript

Infrastructure

Langage de script à typage dynamique, exécuté nativement par tous les navigateurs web et, depuis l'arrivée de Node.js, aussi côté serveur. C'est lui qui rend une page interactive : réagir aux clics, modifier l'affichage, dialoguer avec un serveur sans recharger.

Norme et nom : Le langage est normalisé sous le nom ECMAScript par Ecma International, avec une nouvelle version chaque année depuis 2015. Le nom JavaScript doit tout au marketing de 1995 et rien à Java, ce qui en fait la parenté la plus durable jamais fondée sur un malentendu commercial.

Où il tourne : Dans le navigateur, des moteurs comme V8, SpiderMonkey ou JavaScriptCore le compilent à la volée pour l'exécuter vite. Côté serveur, Node.js, Deno et Bun reprennent ces moteurs pour en faire un langage généraliste : le même code lit alors des fichiers et ouvre des connexions, avec les droits du compte qui a lancé le processus. Le bac à sable, lui, est resté dans le navigateur.

Modèle d'exécution : Le code s'exécute sur un seul fil, piloté par une boucle d'événements : les opérations lentes (réseau, disque, minuteries) sont déléguées, et leur résultat revient plus tard sous forme de promesse, que async/await rend seulement plus lisible. Des workers permettent de lancer d'autres fils, qui communiquent par messages. Un calcul long sur le fil principal, lui, bloque tout le reste, affichage compris : ce n'est pas une panne, c'est le modèle.

Côté sécurité : Tout code envoyé au navigateur est lisible et modifiable par celui qui le reçoit : une vérification côté client est un confort d'affichage, jamais un contrôle, et le serveur refait le travail. Le risque phare reste l'injection de script dans une page (XSS), que limitent l'échappement des données selon leur contexte et une politique de sécurité du contenu (CSP). Côté serveur, le danger a changé d'adresse : un projet traîne des centaines de dépendances npm, dont chaque ligne tourne avec les droits du processus qui les importe.

Explication de la marmotte

Quand tu ouvres un site, ton navigateur (le logiciel qui affiche les pages, comme Chrome ou Firefox) reçoit deux choses : la page elle-même, et une liste d'instructions qui disent quoi faire quand tu cliques, tapes ou fais défiler. Ces instructions sont écrites dans un langage appelé JavaScript. C'est lui qui fait apparaître un menu, vérifie que ton adresse mail a la bonne forme ou affiche tes nouveaux messages sans recharger la page. Imagine une pièce de théâtre : le décor est en place, mais sans metteur en scène, les acteurs restent plantés là. JavaScript joue ce rôle, directement sur ton ordinateur ou ton téléphone.

Où ce terme est utilisé

← Tout le glossaire