AJAX, ou Asynchronous JavaScript And XML
(«
XML et
Javascript asynchrones »),
est un acronyme désignant l'utilisation d'un ensemble de technologies de programmation pour le développement d'
applications web.
Une
application web traditionnelle permet aux utilisateurs d'effectuer des choix (naviguer au sein d'un site, remplir un questionnaire,
participer à un forum...).
Une requête est alors envoyée au serveur HTTP, qui interprète les données reçues et renvoie une nouvelle page à l'utilisateur
(ces requêtes sont dites « synchrones »). Ce principe de rechargement intégral de la page consomme inutilement de la bande passante,
une grande partie du code étant la même pour différentes pages de l'application. Le
temps de réponse se trouve alors rallongé,
ce qui diminue d'autant le confort de navigation et de ce fait, l'expérience de l'utilisateur.
Une application qui utilise la
technologie AJAX, quant à elle, envoie des requêtes au serveur HTTP pour récupérer uniquement les données nécessaires
(ces requêtes sont dites « asynchrones »).
On utilise alors les feuilles de style (CSS) pour afficher les nouvelles informations reçues par le serveur.
Le langage JavaScript côté client est utilisé pour interpréter la réponse et effectuer les traitements nécessaires.
L'application est alors plus réactive, la quantité de données échangées entre le navigateur et le serveur HTTP étant fortement réduite.
Cependant, une page « surchargée » par la technique ajax (bibliothèque lourde + nombreux chargements asynchrones) peut voir son premier chargement ralenti.
Il est donc conseillé d'utiliser le principe d'
Ajax
à bon escient et là où son utilité se fait ressentir.
Exemple d'utilisation de cette technologie avec un
upload de photo en ajax (avec recadrage possible) ou encore une application de
panier ajax (shopping cart).