Aller au contenu principal
HistoireHistoire de l’informatiqueDébutant

JavaScript : le langage qui a rendu le Web interactif

Du prototype de Netscape à ECMAScript, Ajax, Node.js et TypeScript : comment JavaScript est devenu la plateforme de programmation universelle du Web.

Publié le 17 août 2026Mis à jour le 15 septembre 2026Lecture : 9 minPar Yann Bastien
JavaScript : le langage qui a rendu le Web interactif
Afficher le sommaire
  1. 1995 : le navigateur devient programmable
  2. Un modèle inhabituel sous une syntaxe familière
  3. JavaScript n’est pas le navigateur
  4. La guerre des navigateurs et la nécessité d’un standard
  5. La rétrocompatibilité devient une règle du Web
  6. ECMAScript 4 : apprendre à évoluer sans rupture
  7. Ajax et jQuery : JavaScript devient le moteur des applications Web
  8. La course aux moteurs JavaScript
  9. Node.js : sortir du navigateur
  10. ECMAScript 2015 : moderniser sans recommencer
  11. Frameworks, composants et industrialisation du front-end
  12. TypeScript : ajouter une couche de types
  13. Pourquoi JavaScript a gagné
  14. Une plateforme collective
  15. Chronologie
  16. Questions fréquentes
  17. JavaScript a-t-il vraiment été créé en dix jours ?
  18. JavaScript et Java sont-ils liés ?
  19. Quelle différence entre JavaScript et ECMAScript ?
  20. Le DOM fait-il partie de JavaScript ?
  21. Pourquoi JavaScript conserve-t-il des comportements anciens ?
  22. Node.js a-t-il été créé par Brendan Eich ?

JavaScript est devenu le langage natif du Web. Il anime les interfaces, réagit aux actions de l’utilisateur, échange avec des serveurs et exécute des applications entières dans le navigateur. Avec Node.js, il s’est aussi installé côté serveur et dans les outils de développement. Rien de tout cela n’était prévu à cette échelle en 1995.

Son histoire n’est donc pas celle d’un plan parfaitement exécuté. C’est celle d’un langage né dans l’urgence, devenu incontournable parce qu’il était disponible partout, puis continuellement amélioré sans pouvoir rompre avec son passé.

1995 : le navigateur devient programmable

Au début des années 1990, le Web est essentiellement documentaire. HTML décrit le contenu, HTTP transporte les ressources et le navigateur affiche la page. Pour obtenir un nouveau résultat, il faut généralement contacter le serveur et charger un nouveau document.

Netscape comprend rapidement que le navigateur peut devenir une plateforme applicative. L’entreprise veut un langage léger que les auteurs puissent insérer directement dans leurs pages, en complément de Java, alors fortement promu par Sun.

Brendan Eich rejoint Netscape en avril 1995. En mai, il assemble en une dizaine de jours le premier prototype, appelé Mocha. La formule célèbre « JavaScript a été créé en dix jours » concerne ce prototype, pas le langage moderne. Mocha devient LiveScript puis, fin 1995, JavaScript.

Le nom profite de la popularité de Java mais entretient une confusion durable. JavaScript n’est pas un petit Java. Il emprunte une apparence syntaxique à la famille C, mais ses influences profondes incluent Scheme, pour les fonctions de première classe, et Self, pour les objets fondés sur des prototypes.

Un modèle inhabituel sous une syntaxe familière

En JavaScript, une fonction est une valeur : elle peut être stockée, transmise ou retournée. Ce choix convient particulièrement bien aux interfaces pilotées par des événements.

Le modèle objet historique repose sur les prototypes. Un objet peut déléguer la recherche d’une propriété à un autre objet. Les class modernes fournissent une syntaxe plus familière, mais ne remplacent pas ce mécanisme fondamental.

Le langage adopte aussi le typage dynamique et des conversions implicites. Ces choix facilitent l’écriture de petits scripts mais produisent certaines bizarreries devenues célèbres. Une partie de l’histoire de JavaScript consiste précisément à améliorer le langage sans casser les pages qui dépendent de comportements anciens.

JavaScript n’est pas le navigateur

L’association entre JavaScript et les pages Web est si forte qu’on confond facilement le langage et son environnement. Pourtant, le DOM, les événements, le réseau ou le stockage Web ne font pas partie du cœur d’ECMAScript. Ce sont des API fournies par le navigateur.

Cette distinction devient essentielle lorsque JavaScript sort du navigateur : le même langage peut fonctionner dans plusieurs environnements, chacun avec ses propres API.

Le DOM joue néanmoins un rôle historique majeur. En représentant la page comme une structure manipulable, il permet aux scripts de modifier du texte, des attributs, des styles ou des éléments après le chargement. Le document Web devient progressivement une interface dynamique.

La guerre des navigateurs et la nécessité d’un standard

Microsoft introduit JScript dans Internet Explorer en 1996. Netscape et Microsoft développent aussi des API de navigateur incompatibles. Pour les développeurs, la fragmentation devient un problème concret : un script peut fonctionner dans un navigateur et échouer dans un autre.

Netscape soumet alors le langage à Ecma International. En 1997 paraît la première édition d’ECMA-262, qui définit ECMAScript.

JavaScript reste le nom courant du langage ; ECMAScript désigne sa spécification standardisée. Cette normalisation ne supprime pas immédiatement les différences entre navigateurs, mais elle donne au cœur du langage une référence indépendante d’un seul éditeur.

ECMAScript 3, publié en 1999, consolide de nombreuses fonctionnalités et devient pendant des années la base du JavaScript largement déployé.

La rétrocompatibilité devient une règle du Web

La première guerre des navigateurs laisse derrière elle des API propriétaires, des moteurs différents et beaucoup de code écrit pour contourner leurs divergences. JavaScript acquiert alors une réputation de langage imprévisible.

Mais cette période établit aussi une contrainte qui façonnera toute son évolution : le Web ne peut pas facilement casser l’existant.

typeof null, l’égalité faible, certaines conversions implicites ou d’anciennes règles de portée ne sont pas toutes issues de la même erreur, mais elles partagent une conséquence : une fois utilisées massivement, elles deviennent difficiles à modifier de façon incompatible.

Le langage moderne préfère donc ajouter de meilleurs mécanismes plutôt que réécrire son passé.

ECMAScript 4 : apprendre à évoluer sans rupture

Dans les années 2000, le projet ECMAScript 4 envisage une transformation ambitieuse du langage. Classes plus formelles, types optionnels et nombreuses extensions sont discutés. Les participants ne s’accordent finalement ni sur la complexité ni sur la direction à prendre, et le projet est abandonné.

Cet échec est structurant. L’évolution future privilégiera davantage les améliorations progressives et compatibles. ECMAScript 5 paraît en 2009, avec notamment le mode strict et des améliorations des objets et tableaux.

Ajax et jQuery : JavaScript devient le moteur des applications Web

Au milieu des années 2000, des applications comme Gmail et Google Maps montrent qu’une page peut communiquer avec le serveur en arrière-plan et ne mettre à jour qu’une partie de son interface. En 2005, le terme Ajax popularise cette approche.

Le changement est profond : les sites commencent à se comporter comme des applications. JavaScript n’est plus seulement utilisé pour quelques validations ou effets visuels ; il orchestre l’état et les interactions de l’interface.

Les différences entre navigateurs restent toutefois pénibles. À partir de 2006, jQuery fournit une API plus uniforme pour manipuler le DOM, gérer les événements et effectuer des requêtes. Son immense succès reflète moins une faiblesse fondamentale de JavaScript que l’état fragmenté de la plateforme Web de l’époque.

Lorsque les navigateurs convergeront davantage vers les standards, une partie de ce rôle deviendra moins indispensable.

La course aux moteurs JavaScript

L’augmentation de la complexité des applications pousse les éditeurs de navigateurs à investir massivement dans les performances. Les moteurs modernes analysent et optimisent le code pendant son exécution.

En 2008, Google introduit V8 avec Chrome. La compétition avec SpiderMonkey, JavaScriptCore et d’autres moteurs accélère fortement JavaScript. Les techniques de compilation just-in-time rendent crédibles des applications bien plus lourdes dans le navigateur.

Cette évolution est décisive : JavaScript n’est plus seulement omniprésent, il devient suffisamment performant pour servir de base à une plateforme applicative générale.

Node.js : sortir du navigateur

En 2009, Ryan Dahl crée Node.js autour de V8. JavaScript peut désormais être utilisé facilement pour écrire des serveurs et des outils en ligne de commande avec un modèle d’entrées-sorties asynchrones adapté aux applications réseau.

Node.js transforme l’écosystème. Des équipes peuvent employer JavaScript côté client et côté serveur. npm devient un registre de paquets gigantesque et JavaScript s’installe dans les chaînes de build, les tests et l’automatisation.

Cette expansion clarifie aussi la différence entre langage et environnement : Node.js exécute ECMAScript mais ne fournit pas par défaut le DOM d’un navigateur.

ECMAScript 2015 : moderniser sans recommencer

Après des années d’évolution plus lente, ECMAScript 2015, souvent appelé ES6, marque un tournant. Il introduit notamment let, const, les fonctions fléchées, les modules, les promesses, les générateurs et une syntaxe de classes.

Ces ajouts ne remplacent pas l’ancien JavaScript. Ils construisent une couche moderne compatible avec l’existant. C’est l’une des caractéristiques essentielles de l’histoire du langage : avancer par accumulation maîtrisée plutôt que par remise à zéro.

À partir de là, ECMAScript adopte un cycle annuel. Les nouvelles fonctionnalités sont discutées et mûries progressivement au sein de TC39 avant d’entrer dans la spécification.

Frameworks, composants et industrialisation du front-end

À mesure que les applications Web grossissent, la difficulté principale n’est plus seulement de manipuler le DOM mais d’organiser de grandes interfaces. Backbone, Angular, React, Vue, Svelte et d’autres approches proposent des modèles différents pour structurer composants, état et rendu.

Ces outils ne constituent pas « JavaScript » lui-même. Ils représentent l’écosystème construit au-dessus du langage et des API Web. Leur succession rapide montre à quel point la plateforme est devenue un terrain d’ingénierie logicielle à part entière.

TypeScript : ajouter une couche de types

En 2012, Microsoft présente TypeScript, un sur-ensemble de JavaScript qui ajoute notamment un système de types statiques destiné au développement à grande échelle. Le code est transformé en JavaScript pour être exécuté par les environnements existants.

TypeScript ne remplace donc pas JavaScript : il dépend de lui. Son succès illustre la maturité de l’écosystème et le besoin d’outils capables de gérer des bases de code très importantes tout en conservant la compatibilité de la plateforme.

Pourquoi JavaScript a gagné

JavaScript n’est pas devenu incontournable parce qu’il aurait été le langage parfait. Son avantage décisif a été la distribution : pendant des décennies, chaque navigateur grand public a fourni un moteur JavaScript sans installation supplémentaire.

Cette disponibilité universelle a créé un cercle vertueux. Plus il y avait d’utilisateurs, plus les moteurs, outils, bibliothèques et standards recevaient d’investissements ; plus l’écosystème s’améliorait, plus il devenait rationnel de l’utiliser.

Sa capacité à évoluer sans abandonner l’ancien Web a ensuite protégé cet avantage. Ce qui ressemble parfois à un poids historique est aussi l’une des raisons de sa continuité exceptionnelle.

Une plateforme collective

Le JavaScript de 2026 ne peut pas être attribué à une seule personne ni à une seule entreprise. Brendan Eich a créé son noyau initial, mais le langage moderne résulte du travail de TC39, des équipes de moteurs, des éditeurs de navigateurs, des auteurs d’outils et de millions de développeurs.

Son histoire relie ainsi plusieurs transformations : le document devenu application, le navigateur devenu machine virtuelle universelle, le langage de script devenu langage serveur, et une implémentation propriétaire devenue standard international.

Chronologie

  • 1995 : Mocha, LiveScript puis JavaScript chez Netscape.
  • 1996 : JScript apparaît dans Internet Explorer ; début de la standardisation chez Ecma.
  • 1997 : première édition d’ECMA-262.
  • 1999 : ECMAScript 3.
  • 2005 : le terme Ajax popularise les applications Web asynchrones.
  • 2006 : apparition de jQuery.
  • 2008 : Chrome et le moteur V8 accélèrent la compétition sur les performances.
  • 2009 : ECMAScript 5 et création de Node.js.
  • 2012 : présentation de TypeScript.
  • 2015 : ECMAScript 2015 modernise profondément la syntaxe et les capacités du langage.
  • Depuis 2016 : ECMAScript évolue selon un rythme annuel.

Questions fréquentes

JavaScript a-t-il vraiment été créé en dix jours ?

Le premier prototype de Brendan Eich a été réalisé en une dizaine de jours en mai 1995. Le langage publié puis standardisé a continué d’évoluer pendant trente ans.

JavaScript et Java sont-ils liés ?

Ils ont des noms et certains éléments syntaxiques proches, mais ce sont deux langages distincts. Le rapprochement du nom JavaScript avec Java était largement commercial.

Quelle différence entre JavaScript et ECMAScript ?

ECMAScript est la spécification standard du cœur du langage. JavaScript est le nom historique et courant de ses implémentations.

Le DOM fait-il partie de JavaScript ?

Non. Le DOM est une API fournie par l’environnement Web. JavaScript peut l’utiliser dans un navigateur, mais d’autres environnements JavaScript, comme Node.js, disposent d’API différentes.

Pourquoi JavaScript conserve-t-il des comportements anciens ?

Parce que modifier de façon incompatible un comportement utilisé sur le Web pourrait casser un très grand nombre de sites. La rétrocompatibilité est donc une contrainte majeure de son évolution.

Node.js a-t-il été créé par Brendan Eich ?

Non. Node.js a été créé par Ryan Dahl en 2009. Il utilise JavaScript et le moteur V8, mais appartient à une étape bien postérieure de l’histoire du langage.

Cet article vous a-t-il été utile ?

Sources et références

Collection

Langages de programmation

16 / 26

  1. 01Grace Hopper : des premiers compilateurs à COBOL
  2. 02John Backus : FORTRAN, la notation BNF et le refus du code machine
  3. 03Dennis Ritchie : le langage C au cœur d'Unix
  4. 04FORTRAN : prouver qu'un compilateur peut rivaliser avec l'assembleur
  5. 05Le langage C : rendre les systèmes portables sans masquer la machine
  6. 06Niklaus Wirth : de Pascal à Oberon, concevoir par la simplicité
  7. 07Bjarne Stroustrup : concevoir C++ sans renoncer aux performances
  8. 08Pascal : apprendre à programmer en rendant la structure visible
  9. 09C++ : de C with Classes au C++ moderne
  10. 10La programmation orientée objet : objets, messages et abstractions réutilisables
  11. 11Guido van Rossum : créer Python pour rendre le code lisible
  12. 12Brendan Eich : JavaScript, du prototype de Netscape au standard du Web
  13. 13James Gosling : l'ingénieur à l'origine de Java
  14. 14Python : la lisibilité, les batteries incluses et un écosystème mondial
  15. 15Java : écrire une fois, exécuter partout
  16. 16JavaScript : le langage qui a rendu le Web interactif
  17. 17Ken Thompson : d’Unix au langage Go, la simplicité comme méthode
  18. 18John McCarthy : Lisp et l’idée de programmer avec des symboles
  19. 19Alan Kay : Smalltalk et l’ordinateur comme média personnel
  20. 20Barbara Liskov : l'abstraction qui a rendu le logiciel modulaire
  21. 21Robin Milner : ML, la preuve assistée et les langages de l’interaction
  22. 22Brian Kernighan : AWK, Unix et l'art d'expliquer le code
  23. 23Anders Hejlsberg : de Turbo Pascal à C# et TypeScript
  24. 24Larry Wall : Perl, le langage qui a relié les outils d'Internet
  25. 25Yukihiro Matsumoto : Ruby et le bonheur du programmeur
  26. 26Rasmus Lerdorf : PHP et la démocratisation du Web dynamique