Les règles d’une application Ajax
L’utilisation de l’Ajax dans une application nécessite de revoir ses habitudes en termes de conception pour prendre en compte des principes sous-jacents à l’Ajax…
Informer l’utilisateur du retour de ses actions : en effet, il n’existe plus de navigation de page en page qui permettait à l’utilisateur d’être prévenu que sa demande était prise en compte (barre de chargement) et que le serveur avait traité sa demande (changement de l’URL dans la barre d’adresse, rafraîchissement de la page qui signifie que l’on a changé de page). Il faut donc mettre en place un système qui gère les deux événements. Google utilise dans ses applications une zone en haut à droite de l’écran qui indique le temps quand le serveur est consulté et une zone au centre de l’écran qui indique le résultat du serveur. L’utilisation d’image animée est courante pour montrer que le navigateur n’est pas bloqué, mais qu’il attend une réponse du serveur.
Gérer les boutons de retour : comme il n’y a plus de chargement de page, plus de navigation interpage, il n’y a plus d’historique de navigation, ce qui pose problème si l’utilisateur clique sur le bouton de retour de son navigateur. Il a été mis au point une bibliothèque de script dédiée à ce problème, permettant de simuler une navigation pour le navigateur, et donc de proposer les fonctionnalités de retour et d’historique.
Bien dissocier forme et contenu pour pouvoir dialoguer avec le serveur sur le contenu : quand la logique de présentation est du côté du client, on peut dialoguer avec le serveur uniquement sur les données, ce qui optimise les transferts.
Bien identifier le besoin : l’Ajax n’est pas approprié à un site d’information (type blog ou autre) car les moteurs de recherche ne comprennent pas l’Ajax. Seules des briques peuvent être mises en place dans ce cas-là (moteur de recherche, contrôle de formulaire…).
Gérer la complexité de certaines situations (interface, pool de connexion asynchrone) par une programmation orientée objet. j Gérer les données sous forme de cache local : par exemple, sur Google Maps, le fait de visualiser une zone de la carte. Si on fait marche arrière, les images ne se retéléchargent pas, elles sont en local. Le transfert des données au format JSON (JavaScript Object Notation) facilite le stockage local.