Il y a bien longtemps déjà qu'Ajax représente bien autre chose que le nom d'un célèbre détergent ou d'une équipe de football pour de nombreux webmasters ! Mais que se cache-t-il exactement derrière cet acronyme ? Quels sont les enjeux de l'essor de cette méthode de développement d'applications Web pour les propriétaires de sites Web et les référenceurs ? Nous vous proposons ici quelques éléments de réponse.

Souvent associé au terme "marketing" Web 2.0, qui fait référence à l'évolution du Web vers davantage d'interactivité entre les sites et les internautes, Ajax – acronyme de "Asynchronous JavaScript and XML" - est une méthode informatique de développement d'applications Web mêlant HMTL et scripts. Très populaire actuellement, cette technique permet d'utiliser simultanément différents langages de programmation existants (JavaScript, XHTML, DOM, XML et XSLT), des feuilles de style (CSS) et l'objet XMLHttpRequest pour fournir aux applications Web des atouts identiques à ceux des clients lourds, en terme de rafraîchissement et de rapidité de fonctionnement notamment…

Concrètement, Ajax permet de concevoir des pages Web et des interfaces utilisateurs interactives, dont seuls certains éléments auront besoin d'être rafraîchis, autorisant ainsi une économie de la bande passante consommée par les visiteurs. Ce système facilite également la création de nouvelles applications à interface Web dont le rafraîchissement sera effectué automatiquement et sur une base régulière, sans que l'utilisateur n'ait besoin d'actualiser manuellement son navigateur.

Ajax : mode d'emploi

Architecture client-serveur

Ajax est une nouvelle architecture client-serveur permettant de déployer au sein d'un navigateur Web des applications, avec la même ergonomie que les clients lourds traditionnels (PC utilisés dans une architecture client-serveur). On parle aussi de "client riche" ("rich client"). Côté serveur, Ajax facilite l'utilisation du modèle MVC (Model View Controller) pour générer la navigation entre les différents écrans. Du côté du client, le navigateur Web fait office d'interface utilisateur. La visualisation de sites Internet développés en Ajax nécessite donc le support par le navigateur utilisé des langages utilisés. C'est le cas de la plupart des navigateurs actuels, dont Internet Explorer, Firefox, Opera ou encore Safari.

Pour simuler le fonctionnement des applications "classiques", installées en local, Ajax utilise des scripts qui se chargent automatiquement lorsque l'on se connecte à une page Web. Une fois une page développée en Ajax "loadée", celle-ci peut ainsi être modifiée en temps réel, sans nouvelle requête ou rechargement (les scripts étant déjà chargés, eux aussi).

A noter ici que le point faible de l'architecture Ajax réside pour l'instant dans l'impossibilité de l'utiliser un mode déconnecté. Etant donné qu'elle s'appuie sur un dialogue client-serveur, les utilisateurs doivent en effet forcément être connectés à Internet pour l'utiliser. Des fonctions sont cependant en cours de développement pour permettre aux utilisateurs d'effectuer hors ligne des modifications qui seront synchronisées une fois qu'ils se reconnecteront.

Vers une unification des méthodes de développement

Pour développer un site en Ajax, il est conseillé d'utiliser les bibliothèques de fonctions en open source comme les frameworks Rico (http://openrico.org/), Dojo (http://dojotoolkit.org/), Sajax (http://absinth.modernmethod.com/sajax/index.phtml), ou encore Rialto (Rich Internet Application Toolkit - http://rialto.application-servers.com/wiki/), pour les applications professionnelles.

Après Microsoft (avec son framework Atlas), Google propose également un framework de développement de clients riches à base d'Ajax depuis le mois de mai 2006 : GWT ou Google Web Toolkit (http://code.google.com/webtoolkit/). Avec cet outil, les développeurs écrivent leurs interfaces en Java. Des compilateurs permettent ensuite de convertir les codes Java en JavaScript et HTML, compatibles avec chaque navigateur Web.


Fichier PDF téléchargeable ici (la lettre Réacteur n'était à cette époque-là disponible que sous cette forme).