Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

 

Premiers pas
Une introduction à AJAX

Ajax (Asynchronous JavaScript + XML) n'est pas une technologie en soi, mais un terme désignant une « nouvelle » approche utilisant un ensemble de technologies existantes, dont : HTML ou XHTML, les feuilles de styles CSS, JavaScript, le modèle objet de document (DOM), XML, XSLT, et l'objet XMLHttpRequest. Lorsque ces technologies sont combinées dans le modèle AJAX, les applications Web sont capables de réaliser des mises à jour rapides et incrémentielles de l'interface utilisateur sans devoir recharger la page entière du navigateur. Les applications fonctionnent plus rapidement et sont plus réactives aux actions de l'utilisateur.

Quand utiliser (ou non) AJAX ? 

S'il n'y a pas de "bonne réponse", quelques éléments généraux sont à garder à mémoire : 

  • La méthode AJAX peut être résumée comme un compromis : elle évite un rechargement complet de la page mais n'autorise pas davantage que ce qu'apporte une requête HTTP GET ou POST (ou HEAD) classique. Les échanges sont plutôt lourds car, même pour peu d'éléments, le navigateur doit envoyer des entêtes et négocier la transaction. 
    La méthode est alors intérressante pour tous les sites où le contenu est changé peu fréquemment et reste prévisible : un blog, un forum, etc. où c'est l'utilisateur qui décide de changer le contenu (le serveur ne peut pas être à l'initiative, sauf à faire des requêtes régulièrement mais il serait alors préférable de passer par les WebSockets). 
  • La méthode AJAX a comme qualité de rester dans les standards HTTP, en plus d'être dans du côté client : c'est donc une méthode qui est totalement transparente dans les échanges standards entre un client et un serveur, donc avec tous les langages de programmes qui supportent une connexion socket classique. C'est important à garder à l'esprit dans des environnements mixtes : un serveur Apache / PHP pour la génération de pages maîtresses et un contenu déployé dans un autre langage.
    Ne pas confondre possible et souhaitable : AJAX peut négocier avec plusieurs domaines différents ou (des ports différents dans un même domaine). Cependant pour des raisons de sécurité les possibilités sont restreintes voire impossibles. La méthode AJAX est donc dépendante de ce qu'autorise ou permet le navigateur du client. 
  • La méthode AJAX est connue et reconnue, pouvant être utilisées à large échelle dans des bibliothèques comme JQuery, dont l'intérêt de ces bibliothéques est d'accélérer la vitesse de développement. De plus l'utilisation de Javascript permet d'accéder aux ressources du DOM de la page et des données reçues si elles sont au format XML, permettant la sérialisation dans la plus part des situation. 
    Cependant AJAX rencontre aussi les difficultés liées à la grande hétérogénité des navigateurs (implantation différente de JS, donc in fine des possibilités AJAX), des règles de sécurité, etc. Comme pour CSS, AJAX peut être vu comme un "plus" dans la navigation (voir le principe de dégradation élégante) mais ne doit pas être vu comme une finalité au risque, sinon, de se couper d'une partie des utilisateurs. 

Documentation

AJAX:Premiers pas
Cet article vous guide à travers les bases d'AJAX et vous donne deux exemples simples pour commencer.
Techniques AJAX alternatives
La plupart des articles sur AJAX se concentrent sur l'utilisation de XMLHttp comme moyen de communication, mais les techniques AJAX ne s'arrêtent pas à XMLHttp. Il y en a bien d'autres.
Ajax: A New Approach to Web Applications (en)
Jesse James Garrett, du site adaptive path, a écrit cet article en février 2005, introduisant le terme AJAX et les concepts liés.
A Simpler Ajax Path
« Comme on le remarquera, il est assez facile de tirer parti de l'objet XMLHttpRequest pour faire se comporter une application Web un peu plus comme une application traditionnelle, tout en continuant à utiliser des outils comme des formulaires Web pour collecter les entrées de l'utilisateur. »
Fixing the Back Button and Enabling Bookmarking for AJAX Apps
Cet article rédigé par Mike Stenhouse détaille certaines méthodes utilisables pour rendre fonctionnel le bouton Précédent et réparer les problèmes causés au marquage des pages lorsque des applications sont développées avec les outils AJAX.
Ajax Mistakes
Cet article d'Alex Bosworth attire l'attention sur certaines erreurs que les développeurs d'applications AJAX peuvent faire.
Tutoriel avec des exemples.
La spécification XMLHttpRequest(Traduction française)
Brouillon de travail du W3C

Tous les articles…

Communauté

Outils

Exemples

HTML, XHTML, Feuilles de style (CSS), Modèle objet de document (DOM), JavaScript, XML, XSLT , DHTML, Canvas

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : Nothus, tregagnon, arena, Mgjbot, Summit677, Fredchat, BenoitL, Neumann, Chbok, VincentN, Dria
 Dernière mise à jour par : Nothus,