Ajax, la révolution qui n'en est pas une

Indissociable de la déferlante Web 2.0, l'Ajax n'est pourtant pas une nouveauté en soi. Basé sur un savant mélange de standards archi-connus, il repose surtout sur une notion toute simple: l'asynchronicité. Celle-ci bouleverse la navigation Web qui s'apparente désormais à l'utilisation d'un logiciel offline. Mais Ajax ne lave pas plus blanc que blanc, et certaines taches assombrissent le bilan.

post-image-3
La notion d'Ajax est née en février 2005, lorsque Jesse James Garrett, un consultant du site Adaptive Path, décide de donner un nom à l'utilisation conjointe de différentes technologies, déjà bien implantées parmi les développeurs et – surtout – bien gérées dans les navigateurs modernes. L'acronyme Ajax signifie Asynchronous JavaScript and XML. Les technos utilisées par Ajax sont l'HTML et CSS (pour la présentation), le modèle DOM – Document Object Model (pour l'affichage dynamique et l'interaction), le XML et le XSLT (transformation et manipulation des données), l'XMLHttpRequest (récupération asynchrone des données) et le JavaScript (qui lie et contrôle le tout). Bref, si le nom Ajax est né en 2005, les technologies utilisées datent toutes, au minimum, de la décennie précédente !

Comment ça marche ?

Lorsque l'utilisateur lambda surfe sur un site traditionnel, comme chacun sait, il envoie des requêtes HTTP au serveur Web. Ce dernier traite ces requêtes (en consultant une base de données et en calculant la réponse à donner, par exemple) et répond en renvoyant une page HTML (toute faite si le site est statique – mais c'est de plus en plus rare – ou générée à la volée). Bref, entre le moment où la requête est envoyée et le moment où la page s'affiche, il y a, toujours, un délai. D'autant plus qu'il faut tenir compte des mauvaises surprises : serveur surchargé, bande passante limitée, etc. Enfin, lors d'une requête http traditionnelle, l'ensemble de la page est rechargée, que cela soit nécessaire ou non.
Ajax permet de résoudre ces problèmes. Le moteur Ajax vient se placer entre le navigateur et le serveur, dont il va en partie « mâcher » le travail, en lui envoyant diverses infos sur le comportement du surfeur. Il le fait de manière asynchrone, c'est-à-dire qu'il peut commencer à afficher les éléments, même si la réponse du serveur n'est pas complètement parvenue. Le gain en fluidité est impressionnant.
En pratique, comme Ajax permet de ne recharger qu'une partie seulement de la page, cela rapproche l'utilisation des sites Ajax de celles d'applications de bureau (et c'est particulièrement bienvenu dans le cas d'outils « office » comme un lecteur de mail ou un tableur. Cela se concrétise aussi par la possibilité de glisser et déposer des objets, le recours à la sélection multiple, à l'utilisation de raccourcis clavier, etc.

Pour les développeurs, bien qu'il soit encore principalement considéré comme un effet de mode, l'Ajax a de sérieux avantages. Primo, il ne coûte rien, ce qui n'est pas négligeable… Secundo, il peut améliorer sensiblement l'expérience internet de l'utilisateur. Il suffit d'essayer un service mail ou un formulaire en Ajax pour se rendre compte du confort apporté. Enfin, utilisé à bon escient, il permet de revigorer et de moderniser un  site sans l'alourdir et en bénéficiant d'un effet de mode immédiat. Sortez un site en Ajax et la machine marketing viral fonctionnera en plein, vous serez immédiatement sous le feu des projecteurs.
Les défauts d'Ajax

Bien entendu, l'Ajax a aussi ses détracteurs. Certains estiment qu'il s'agit du dernier sursaut de la technologie HTML, avant que celle-ci, intrinsèquement et paradoxalement très mal adaptée au Web, ne passe définitivement à la trappe.
 
D'autres reproches ont trait à l' « usabilité » des sites qui y ont recours. Ce qui est paradoxal, puisqu'Ajax vise justement à améliorer la navigation. Cependant, les remarques négatives ne sont pas infondées, et elles doivent absolument être prises en compte lors de la conception d'un site en Ajax. L'Ajax perturbe en effet le processus de navigation traditionnel existant depuis les premières pages Web, notamment parce que l'URL devient fixe. La navigation page après page, l'utilisation de la touche Back mais aussi la sauvegarde des
Back to top button
Close
Close