Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
AJAX est l'acronyme d'
Asynchronous JavaScript And XML, autrement dit
JavaScript et XML asynchrones. C'est un ensemble de technologies qui permettent d'échanger des données, avec un serveur Web (
client - serveur) de façon asynchrone, c'est-à-dire sans recharger la page courante.
AJAX est donc plutôt un concept, ce n'est en aucun cas un langage ! C'est l'utilisation de plusieurs langages et technologies, comme :
- JavaScript / JScript (implémentation Microsoft du JavaScript)
- Objets JavaScript comme XMLHttpRequest et DOMImplementation
- Text, XML et JSON pour les formats de données
- PHP, ASP... en tant que langage serveur
Notez que le langage de script serveur n'est absolument pas indispensable. Et de façon générale, on ne peut pas dire que les langages de scripts serveur fassent partie de l'AJAX. En effet, l'AJAX en tant que tel ne s'occupe que d'envoyer des requêtes et réceptionner les données renvoyées, sans se soucier de la façon dont ces données ont été générées (de façon statique, ou dynamique (avec PHP, ASP...)). Mais il est un peu stupide de ne pas étudier l'utilisation des langages comme PHP quand on considère une application AJAX. C'est pourquoi j'ai volontairement ajouté les langages serveur dans la liste des technologies reprises dans le concept d'AJAX.
La technologie la plus utilisée en AJAX est l'objet JavaScript appelé
XMLHttpRequest, et beaucoup de gens qui pensent AJAX pensent automatiquement XMLHttpRequest. Beaucoup disent aussi AJAX à la place de
XMLHttpRequest, sous prétexte que AJAX est plus facile à écrire (ils n'ont qu'à dire
XHR alors, qui est l'abréviation usuelle d'
XML
Http
Request). Il serait vraiment malheureux de résumer AJAX à XHR, alors que d'autres choses fantastiques existent, comme
DOMImplementation, ou des techniques JavaScript plus tordues comme
Dynamic Script Loading, particulièrement indiquée pour charger des données au format JSON, au contraire d'XHR.
Vous l'aurez compris, ce tutoriel est fait pour vous faire découvrir plusieurs façons d'utiliser AJAX. Mais ce tutoriel ne se limite pas à AJAX, et traite aussi de concepts plus éloignés comme
DOM Storage, qui est un système de cookies introduit avec HTML5 (échange de données,
client - client, et non
client - serveur comme AJAX).
Comme je l'ai déjà dit, certaines notions sont requises pour tirer pleinement profit de ce tutoriel. Je vais ici vous donner quelques liens qui vous seront utiles si vous ne maitrisez pas toutes les notions.
JavaScript
HTML et CSS
XML
PHP
JSON
Je tiens à signaler que j'utilise du JavaScript "normal", pas de framework comme
jQuery ou
MooTools. Pour bien comprendre, il faut prendre le vrai code

. Et globalement, utiliser des frameworks pour jouer avec de l'AJAX, c'est souvent se compliquer la vie inutilement (la syntaxe objet des différents frameworks est souvent rébarbative).