![]()
Définition
Fonctionnement de l'Ajax
Avantages et désavantages
Les applications Web Ajax utilise du HTML ou du XHTML, des langages de balisage, dans le but de structurer les pages. Les feuilles de style (CSS) servent à définir la présentation. Le JavaScript permet de créer des éléments dynamiques. DOM ou le Document Object Model est un API (interface de programmation) qui relie les scripts aux pages Web. Le DOM permet aux éléments dynamiques de prendre place dans la page. Le XML est l’outil qui manipule les données. Ce qui fait toute la différence dans l’approche Ajax est l’objet XMLHttpRequest, qui est un simple script Java et qui manipule et échange des données avec le serveur de manière asynchrone, c'est-à-dire sans que le serveur ait à télécharger toute la page Web, mais effectue le téléchargement des informations requises seulement.
Les sites utilisant Ajax offre à leurs utilisateurs une expérience Web beaucoup plus interactive. Cette technologie s’inscrit dans la nouvelle génération du Web : le Web 2.0. Cette évolution dépasse les simples pages Web traditionnelles statiques et s’oriente vers le confort et l’interactivité de l’utilisateur, comme nous allons le voir plus loin.
![]()
Une page Web traditionnelle fonctionne de manière que chaque action faite sur la page se transforme en requête http envoyée au serveur qui entraîne un nouveau chargement de la page. L’interaction entre le serveur et l’utilisateur est interrompue chaque fois que l’on a besoin d’une information venant du serveur. Ajax tente de changer cette façon apathique de faire et d’améliorer l’expérience de l’utilisateur.
![]() |
| Figure 1 : Modèle traditionnel de l’application Web (gauche) comparé au modèle utilisant Ajax1 |
Jesse James Garett fut le premier à employer le terme Ajax dans un article révolutionnaire paru au début de 2005 sur le site de sa compagnie Adaptative Path.2 Pour reprendre son explication, l’utilisation de l'Ajax permet d’éliminer les interactions de types «arrêt – départ – arrêt – départ» en introduisant un intermédiaire, le «moteur Ajax», entre le serveur et l’utilisateur. Le «moteur Ajax», n’est pas un logiciel, un plugiciel ou une nouvelle technologie, mais un simple script Java habituellement caché.
![]() |
| Figure 2 : Modèle d’interaction synchronisé d’une application Web traditionnel (haut) comparé au modèle d’interaction fait de manière asynchrone utilisant l’application Ajax (bas)3 |
On pourrait croire que de rajouter une autre étape dans la requête alourdirait le processus, mais le contraire su rvient. Au début de la session de l’utilisateur, le navigateur charge un «moteur Ajax» qui est responsable de l’interface visuelle de l’utilisateur et de la communication avec le serveur. C’est le «moteur Ajax» qui permet une interaction avec l’application se produisant à intervalles de temps inégaux. Bref, l’utilisateur n’est jamais laissé devant un page blanche en plein téléchargement. Chaque action qui habituellement génère une requête http prend la forme d’un appel JavaScript au «moteur Ajax». Toutes les réponses à une action de l’utilisateur qui ne requiert pas une réplique du serveur sont manipulées que par le «moteur Ajax» et si le serveur doit rentrer en jeu, le moteur fait sa requête de manière asynchrone.4
![]()
Les avis à propos de cette nouvelle approche sont partagés. Le principal avantage d’Ajax est la vitesse auquel il répond aux actions de l’utilisateur et le traitement local par le navigateur de certaines actions. C’est cet élément qui rend la navigation plus agréable. De plus, la majorité des navigateurs possèdent l’ensemble des outils nécessaires à la mise en place d’un «moteur Ajax».5
Les critiques portent principalement sur deux points. En premier lieu, Ajax n’est pas une révolution, comme certains développeurs tentent de le faire croire, mais plutôt un concept marketing pour désigner l’utilisation de vielles technologies.6 Deuxièmement, certains diront aussi que les développeurs n’utilisent pas Ajax à bon escient. La peur d’une utilisation inadéquate ou trop abondante de cette application est présente chez plusieurs chroniqueurs Web, un peu comme nous pouvons le voir avec d’une technologie comme Flash. D’autres critiques portent sur l’impossibilité de faire des marque-pages, de revenir en arrière sur toutes les pages, d’être référencé correctement, d’être complètement sécuritaire ou bien d’être accessible pour tous.7 À ce type de critiques les défenseurs de cette approche diront que le but derrière le concept n’est pas de dégrader l’expérience de l’utilisateur, mais de la bonifier et appellent les développeurs Web à la prudence.8
![]()
1. Jesse James Garrett. «Ajax: A New Approach to Web Applications» [En ligne]. Adaptative Path, 18 février 2005, Adresse: http://www.adaptivepath.com/publications/essays/archives/000385.php , consulté le 11 octobre 2006.
2. Ibid.
3. Ibid.
4. Ibid.
5. «FAQ. JavaScript» [En ligne]. Developpez.com, créé en 2000, Adresse : http://javascript.developpez.com/faq/?page=Ajax, consulté le 12 octobre 2006.
6. «Ajax : le retour des lessiviers ?» [En ligne]. Framasoft, 13 juin 2005, Adresse : http://www.framasoft.net/article3991.html, consulté le 11 octobre 2006.
7. Alex Bosworth. «Ajax Mistakes» [En ligne]. 18 mai 2005, Adresse : http://sourcelabs.com/ajb/archives/2005/05/ajax_mistakes.html, consulté le 11 octobre 2006, et «Asynchronous JavaScript and XML» [En ligne]. Wikipédia, Dernière modification : 13 octobre 2006, Adresse : http://fr.wikipedia.org/wiki/AJAX, consulté le 13 octobre 2006.
8. Jesse James Garett. «Ajax: A New Approach to Web Applications».