Ajax, pour un Web plus ergonomique
Edition du 13/04/2005 - par
Pierre Tran
AJAX (Asynchronous JavaScript and XML) est le nouveau terme à la mode. L'idée avec ce concept est d'introduire un médiateur asynchrone entre le client et le serveur Web, pour plus de fluidité et de réactivité.
Pour certains, Ajax aura autant d'impact que les premiers sites dynamiques à leur époque. Pour d'autres, ce n'est qu'une réédition de ce qui se fait déjà dans les clients riches en Java depuis des années.
Comme l'explique Jesse James Garrett, l'inventeur du concept, dans cet article d'introduction [Ajax : A New Approach to Web Applications, Ajax n'est pas une technologie nouvelle, mais un ensemble de technologies qui se combinent entre elles :
- Un moteur de présentation basé sur les standards en utilisant XHTML et CSS
- Un affichage dynamique et de l'interaction en utilisant le modèle DOM (Document Object Model)
- La transformation et la manipulation de données en utilisant XML et XSLT
- La récupération de données asynchrones en utilisant XMLHttpRequest
- Le langage de script JavaScript pour lier tout cela ensemble
Comme on peut le voir, il s'agit de standards largement implémentés dans les navigateurs d'aujourd'hui. Alors où se situe la différence avec les applications Web existante ? Ajax introduit l'asynchronicité dans la session Web.
Classiquement aujourd'hui, l'utilisateur clique sur un bouton et envoie une requête HTTP au serveur Web. Le serveur mouline un certain temps (il va chercher des données, effectue des traitements, les formate. Il génère une page HTML, il la renvoie au client qui peut alors l'afficher. Cette approche est techniquement d'une logique indiscutable. Cependant, alors que le serveur mouline, le client attend derrière son écran…
Avec l'approche Ajax, on introduit un intermédiaire ente le client et le serveur : le moteur Ajax. Paradoxalement, introduire un intermédiaire ne rend pas l'application moins réactive, au contraire. Ce moteur, écrit en JavaScript, se charge à la fois de faire le rendu de l'interface et de communiquer au serveur le comportement de l'utilisateur. Il permet une interaction avec l'utilisateur de manière asynchrone par rapport au serveur. Il n'attend pas que le serveur ait entièrement répondu à la requête pour continuer à afficher. Résultat : le temps d'attente est considérablement réduit et l'utilisateur n'a jamais l'impression d'attendre.
Pour s'en convaincre, il suffit d'aller visiter des sites qui utilisent Ajax : Google Groups, Google Suggest, Gmail. Moteur de recherche d'Amazon A9.com utilise des techniques similaires. Ce qui caractérise ces sites est leur incroyable fluidité.
Comme le fait remarquer un commentateur sur le site Application-Serveur.com, deux caractéristiques des interfaces clients conformes au modèle Ajax contribuent à la fluidité et à la réactivité : la suppression des affichages inutiles et l'accélération de la mise à disposition des informations provenant du serveur. Ce modèle de présentation implique une prise en compte du parallélisme des tâches dans la logique applicative client-serveur.
Pour l'heure, les implémentation sont encore rares. Citons SAJAX (en PHP), Rails (en Ruby), AJAX Wrapper for .NET (langages .NET). Un concept à suivre avec attention.
L'ACTUALITÉ DU JOUR
Infrastructure serveur
Plate-forme serveur quatre sockets au prix de deux chez AMD
(19/03/2010 17:20) - (...)
Internet
Google quitterait la Chine le 10 Avril
(19/03/2010 17:06) - (...)
Systèmes d'exploitation
Pour contrer VMware, Microsoft baisse le coût des licences Windows pour machines virtuelles
(19/03/2010 15:56) - « Nos clients et nos partenaires nous ont fait comprendre que ce contrat était confus (...)
Systèmes d'exploitation
La virtualisation renforcée dans les SP1 de Windows 7 et Server 2008 R2
(19/03/2010 12:14) - Avec le SP1 de Windows Server 2008 R2, deux fonctionnalités font leur apparition (...)
Mobilité
Ne l'appelez plus Nexus One
(19/03/2010 11:50) - Google s'est vu refuser par l'Office américain de gestion des marques et des brevets (...)
Internet
Les Français boudent le paiement des contenus en ligne
(19/03/2010 11:17) - Cette étude GfK Custom Research classe la France en dernière position, sur 17 pays, (...)
LE TOP
- Après Twitter, Digg abandonne MySQL au profit de Cassandra
- Mix10 : Les quatre priorités de Microsoft pour Windows Phone 7
- la centrale nationale de Système-U repense ses processus métiers (MAJ)
- Linux : Mariage de raison entre solutions propriétaires et logiciel libre
- Mix10 : Microsoft implante des outils d'analyses web dans Silverlight.