AJAX – Une Nouvelle Approche pour les Applications WEB
AJAX est une des approches choisies par ImageVector pour la création de sites Internet. Si vous voulez connaître l'essentiel sur le sujet, voici un excellent article écrit par Jesse James Garrett (lien vers l'article original en anglais) ou, au choix, ci-dessous sa traduction-interprétation en français...
S'il existe quelque chose que l'on puisse appeler 'attrayant' dans la conception interactive actuelle, c'est bien la création d'applications Web. Quand avez-vous entendu parler pour la dernière fois de 'délire' concernant la conception interactive pour quelque chose en dehors du Web? (OK l'Ipod mis à part...). Tous les nouveaux projets enthousiasmants et innovants sont sur Internet...
Définition d'AJAX
AJAX n'est pas une technologie. C'est en réalité plusieurs technologies, chacune apportant sa propre spécificité et agissant avec les autres d'une façon nouvelle et puissante. AJAX intègre:
- Présentation basée sur des standards utilisant XHTML et CSS
- Affichage et interaction dynamiques utilisant le 'Document Object Model' (DOM)
- Echange et manipulation de données utilisant XML et XSLT
- Restitution de données asynchrone utilisant XMLHttpRequest
- et Javascript qui orchestre l'ensemble...
Le modèle classique d'application Web marche de la façon suivante: La plupart des actions de l'utilisateur sur l'interface déclenchent une requête HTTP de retour vers le serveur Web. Le serveur réalise quelques traitements ―restituer des données, manipuler des chiffres, dialoguer avec plusieurs systèmes informatiques existants...― et ce n'est qu'après que le serveur envoie une nouvelle page HTML au poste client.
Tout ceci est l'héritage du fonctionnement original du Web comme média hypertexte, mais, comme les amateurs de 'The Elements of User Experience' le savent déjà , ce qui est bon pour les médias hypertexte ne l'est pas nécessairement pour les applications informatiques.
L'approche traditionnelle, à gauche de l'image, bien que techniquement sensée, ne rend pas la vie de l'utilisateur agréable. Que fait l'utilisateur pendant que le serveur fait sa 'cuisine' ? Oui. Il attend. Et à chaque étape de chacune des taches, l'utilisateur attend encore.
Si nous devions concevoir le Web à nouveau et à partir de rien pour des applications informatiques nous ne ferions pas attendre l'utilisateur. Pourquoi l'interaction devrait-elle s'arrêter à chaque fois que nous avons besoin de quelque chose se trouvant sur le serveur ? En réalité, l'utilisateur ne devrait même pas voir que l'application s'adresse de temps en temps au serveur.