Ajax : Qu'est-ce que c'est ?

3 janvier 2007Ajax
 Cet article a été rédigé il y a plusieurs années et peut ne plus être tout à fait à jour…

"Asynchronous JavaScript and XML" ; voila ce que signifie le terme "Ajax"[1].

Ce terme a été défini par Jesse James Garrett, dans son article du 18 février 2005 intitulé "Ajax: A New Approach to Web Applications".

L'idée qui se cache derrière la notion d'Ajax est la possibilité, depuis une page Web, d'effectuer, en arrière plan[2], des appels à des programmes sur un serveur, et de ne mettre à jour qu'une partie de la page avec le résultat du programme - et non l'intégralité de la page, comme on a l'habitude de le voir sur la plupart de sites Web.

Lorsque l'on parle d'Ajax, on pense généralement à l'utilisation combinée d'une partie des technologies suivantes :

  • HTML / XHTML : Pour le contenu des pages Web
  • CSS : Pour la présentation de ces pages
  • Javascript : Pour la dynamicité au sein du navigateur - éventuellement, en manipulant le DOM
  • Un langage permettant de structurer des données, pour les échanger au travers des appels Ajax : XML pour AJAX, ou JSON (ou autre : texte libre, HTML[3], ...)
  • Une méthode permettant, depuis Javascript, d'effectuer des appels - asynchrones - au serveur : en général, une instance d'objet XMLHttpRequest

Notes

[1] Certains utilisent l'acronyme "AJAX", mais le 'X' n'étant pas nécessairement vrai, ce n'est pas toujours bien approprié ; un petit tour sur google sur "AJAX vs Ajax" peut être enrichissant

[2] sans bloquer la fenêtre du navigateur, donc

[3] Auquel cas on parle parfois d'AHAH