AJAX - Des clients légers interactifs

Présentation d'AJAX

Problématique

Aujourd'hui, pour les applications mettant en oeuvre un serveur et plusieurs clients s'y connectant (application client/serveur), il existe deux grands types de clients applicatifs :

L'un des problèmes d'une application utilisant un navigateur web comme client léger est qu'elle est amenée à faire une requête au serveur à chaque fois que l'utilisateur réalise une action interactive.

Ceci a pour conséquence une lourdeur d'affichage. On peut voir par exemple des effets de clignotement des pages lors du ré-affichage. On peut aussi perdre la position de lecture suite à un ré-affichage.

Solution AJAX

Le concept original de la technique AJAX est de ne ré-afficher que les parties de la page qui sont nécessaires. Celles qui sont la cible d'interactions utilisateur notamment.

Le but de cette solution est d'obtenir une réactivité de l'application plus importante ainsi qu'une meilleure ergonomie.

Concept AJAX (Asynchronous JavaScript + Xml)

AJAX est une technique qui consiste à utiliser plusieurs technologies réputées du monde du web :

Schémas

Jesse James Garrett, celui qui a inventé le nom AJAX pour désigner l'ensemble de ces technologies mises en relation, établit une comparaison entre les schémas classiques du fonctionnement client/serveur, et la nouvelle approche (AJAX). Voici les schémas qu'il a publié pour expliquer les différences :

Schéma d'origine

Sur le schéma ci-dessus, nous voyons le concept introduit par Ajax : ce n'est plus le navigateur web qui fait les demandes serveur, mais le module JavaScript(Ajax engine dans le schéma).

Cela change toute la manière de naviguer de l'utilisateur, et voici le deuxième schéma de Jesse James Garrett présentant la nouvelle approche de navigation asynchrone :

Schéma d'origine, navigation

Voici enfin un dernier schéma reprenant de manière plus visuelle le concept AJAX :

Nouveau schéma, visuel

Historique

Le concept de ne recharger dynamiquement que les bouts de page nécessaires pour l'interactivité avec l'utilisateur n'est pas nouveau. En effet, il est apparu avec la balise IFRAME (introduit dans Internet Explorer 3 en 1996) et l'élément LAYER (introduit dans Netscape 4 en 1997, abandonné lors des derniers développements de Mozilla). Ces deux balises ont un attribut src qui chargent des pages externes, et par la suite, ces pages manipulent la page parent par le biais de JavaScript.

Par la suite, d'autres techniques similaires ont vu le jour. C'est le cas par exemple de Microsoft's Remote Scripting (MSRS, introduit en 1998) qui fonctionnait grâce à une applet Java à laquelle on pouvait donner dynamiquement des données par le biais d'un module JavaScript.

Un peu plus tard, d'autres techniques ont été développées, telles que la bibliothèque JSRS en 2000, les cookies par image en 2000, et le JavaScript on Demand en 2002. Cette même année, une communauté de modification de MSRS a été mise en place pour remplacer les techniques d'Applet Java avec l'objet XMLHttpRequest (l'un des éléments d'AJAX).

C'est 18 février 2005 que Jesse James Garret parle, et invente le terme AJAX dans son article Ajax : A New Approach to Web Applications


Last modified : 15/03/2006

Valid XHTML 1.0 Strict

Compteur