Aller au contenu
La Trame

Chronologie des applications en réseau · 1990-2025

Repère du

Ajax : le nom qui fait basculer une pratique

La possibilité d'aller chercher des données sans recharger la page existe depuis mars 1999. Elle reste peu employée jusqu'à ce qu'un article de février 2005 la décrive et lui donne un nom court. En quelques mois, elle devient la manière normale de construire une interface.

Méthode 1999-2005 9 min de lecture

C'est l'un des cas les plus nets de cette chronologie : entre la disponibilité d'une technique et son adoption, six années passent sans que rien de technique ne change. Ce qui manquait n'était ni une norme, ni une performance, mais un mot que l'on puisse écrire dans un compte rendu de réunion.

Ce qui existait déjà en 1999

En mars 1999, un composant nommé XMLHTTP est livré avec la cinquième version d'Internet Explorer. Il est conçu pour un besoin interne : donner à une messagerie consultée dans le navigateur le confort d'un logiciel installé. Les autres moteurs l'implémentent au début des années 2000 sous le nom XMLHttpRequest, avec un comportement suffisamment proche pour qu'un même code fonctionne partout.

Techniquement, tout est donc en place dès 2001 : un objet qui envoie une requête, un langage qui traite la réponse, un document modifiable pour l'afficher. Ce qui manque, c'est la démonstration qu'on peut construire un service entier ainsi.

Pourquoi six ans

Trois raisons se cumulent. La technique est invisible : elle ne produit ni balise ni menu, elle ne se remarque que par une absence de clignotement. Elle n'a pas de nom : chacun décrit sa propre bricole. Et elle n'a pas de vitrine : tant qu'aucun service connu ne l'emploie à grande échelle, personne n'a la preuve qu'elle tient la charge.

Ces trois manques sont levés à quelques mois d'intervalle. Une messagerie puis une carte glissante montrent que cela fonctionne pour le grand public. Puis, le 18 février 2005, Jesse James Garrett publie un texte qui décrit l'assemblage et le baptise Ajax.

Ce que l'article décrit exactement

XMLHttpRequest
L'objet qui envoie une requête HTTP depuis la page et rend la réponse au code, sans provoquer de navigation. C'est la pièce centrale. À partir de 2015, une interface plus simple, fondée sur les promesses, le remplace progressivement dans les projets neufs.
DOM
La représentation du document sous forme d'arbre, manipulable depuis le code. C'est par lui que la réponse reçue devient un morceau de page visible.
Format d'échange
L'article suppose du XML, d'où la lettre X du sigle. Dans les faits, un format plus léger et directement lisible par le langage de la page, JSON, s'impose dans les années qui suivent. Le nom est resté, le format a changé.

Aucune de ces briques n'est inventée par l'article. Sa contribution est de dire qu'elles forment un ensemble cohérent, et de donner à cet ensemble un nom de quatre lettres.

Carte routière papier dépliée sur une table, une souris d'ordinateur posée à côté sur le plan de travail.
La carte est le meilleur exemple pédagogique de la technique : on ne recharge pas l'atlas entier pour regarder la rue voisine, on demande les morceaux manquants.

Ce que la technique a cassé

Une page qui change sans changer d'adresse rompt un contrat vieux de quinze ans : l'adresse désigne ce qui est affiché. Les conséquences ont occupé les cinq années suivantes, et certaines sont encore visibles.

Quatre ruptures, leur cause, et la réponse apportée depuis
Problème Cause Réponse
Bouton retour inopérantL'écran change sans entrée d'historiqueAPI d'historique, à partir de 2010
Page impossible à partagerL'adresse ne décrit plus l'écranMême réponse, adresse mise à jour par le code
Contenu absent pour les robotsLe texte n'est pas dans la première réponseRetour du rendu côté serveur
Mise à jour non annoncéeAucun événement pour les lecteurs d'écranRégions annoncées, attributs dédiés

La leçon d'accessibilité

Quand une page se recharge, un lecteur d'écran repart du début : l'utilisateur sait qu'il s'est passé quelque chose. Quand seul un fragment change, rien ne le signale. Il faut alors déclarer explicitement quelles zones sont susceptibles de bouger et à quel point l'annonce est urgente. Cette obligation est née avec Ajax et n'a jamais disparu depuis.

Ce que ce repère laisse derrière lui

À partir de 2005, le serveur cesse d'être le seul producteur de page. Il devient aussi fournisseur de données, ce qui appelle une interface d'accès stable, versionnée, documentée. Le vocabulaire des services web, des points d'accès et des formats d'échange entre dans le métier. Quatre ans plus tard, le même langage passe côté serveur et referme la boucle.

Précisions de datation

  • 03/1999 : le composant XMLHTTP est livré avec la cinquième version d'Internet Explorer ; le mois est établi, le jour n'est pas retenu ici.
  • 18/02/2005 : publication de l'article qui nomme la technique.
  • Les dates d'implémentation dans les autres moteurs s'échelonnent sur plusieurs années et ne font pas l'objet d'un repère distinct.

Autour de ce repère

Ce qui rend la technique possible, ce qui la prolonge, et l'endroit où le vocabulaire employé ici est repris en langage courant.

  1. CGI et le formulaire : l'envoi qui rechargeait tout

  2. Répondre même sans réseau

  3. Les mots de cette chronologie, définis un par un