Pourquoi utiliser Ajax?
Définissons ce qu'est Ajax... Ajax c'est:
Donc Ajax c'est le HTML dynamique plus un certain objet nommé XMLHttpRequest...
L'objet XMLHttpRequest
Disons "l'objet XHR" pour simplifier, c'est une extension au
langage, implémenté sur tous les navigateurs, qui permet de
communiquer avec le serveur en mode asynchrone.
Le mode asynchrone, on en a un example plus haut, il permet de charger des
données sur le serveur sans bloquer l'interaction entre l'internaute
et le navigateur.
Les données viendront s'afficher lorsqu'elles seront disponibles
sans que l'internaute ait à attendre. Il peut continuer à
lire et a utiliser le contenu de la page.
Mais XHR apporte plus, il permet aussi de passer des commandes au serveur et de lui envoyer des données. On peut ainsi entrer des données dans un formulaire qui les envoie au serveur qui les traite et envoie les résultats, lesquels s'afficheront dans la page sans qu'elle ait besoin d'être rechargée!
La combinaison de DHTML et de XMLHttpRequest permet donc de réaliser
des pages qui fonctionnent de façon interactive, comme des logiciels
classiques, aussi Ajax est la base des applications Web et du développement
des RIA (Rich Internet Application), les applications riches.
Il pourra être complété par d'autres technologies, comme
Google
Gears, pour faire fonctionner les applications Web sans connexion.
Les composants d'Ajax
Outre l'objet XMLHttpRequest Ajax se compose aussi de:
- JavaScript.
- HTML.
- DOM (Document Object Model), le modèle objet document est une structure
qui permet d'accéder aux éléments d'une page Web.
- Les CSS (Cascading Style Sheet), les feuilles de style pour la présentation.
Exemples d'utilisation
- Envoyer les données d'un formulaire et les faire vérifier
par un script sur le serveur en relation avec une base de données.
Puis demander plus d'information si besoin.
- Charger des images pendant que l'utilisateur lit le contenu de la page.
Les inconvénients d'Ajax
Lorsque l'on conçoit une page Ajax on doit garder à l'esprit:
- Qu'il ne fonctionne que si JavaScript est activé. La petite fraction
d'internautes qui le désactivent ne voient pas l'effet des scripts,
aussi doivent-ils être prévenus par la balise <noscript>.
- Les données qui sont chargées dynamiquement ne sont pas
vues par les moteurs de recherche, et donc pas indexées. On utilisera
de préférence PHP pour créer des pages dynamiquement,
et Ajax pour y apporter ensuite des données partielles demandées
par les utilisateurs.
En savoir plus sur Ajax
Le framework Ajax Anaa.eu, a été utilisé pour réaliser cette page. Il possède des fonctions de dialogue avec le serveur et propose des exemples pour chaque fonction.
Un tutoriel Ajax pour apprendre à écrire une première application qui interagit avec le serveur. La traduction de la spécification W3C de l'objet XMLHttpRequest est hébergée sur le même site.