Laboratoire pédagogique du Greta du Velay

Laboratoire pédagogique du Greta du Velay

AJAX, la révolution d'un retour en arrière ?

Temps de lecture estimé à 6 min.

AJAX est une nouvelle façon de combiner un ensemble de technologies pour concevoir des sites web aux fonctionnalités très évoluées. Le terme signifie « Asynchronous Javascript And XML ». Mais au delà de Javascript et XML, le HTML et les CSS sont fortement impliqués dans la conception d'applications AJAX puisqu'ils en constituent la face visible. Le(s) navigateurs(s) étant la coquille d'accueil de ces applications. Une partie de l'application co-existe en général côté serveur, dans un langage différent de Javascript.

Le « Web 2.0 », symbole de l'explosion des nouvelles tendances au partage, et AJAX se nourrissent mutuellement. AJAX permet de concevoir des sites web dignes de véritables applications d'un nouveau type pour l'internaute. Et le « Web 2.0 », sans le saut technologique apporté par AJAX, ne serait pas vraiment vu comme une révolution.

Alors, [r]évolution majeure ou nouveau joujou pour technophiles ? AJAX est-elle la technologie qui manquait, ou juste une façon bricolée d'arriver à son but ? Son émergence est-elle dû aux qualités intrinsèques de Javascript, depuis longtemps critiqué, ou bien au désert laissé par ce qui devrait être LE framework (cadriciel) libre de développement d'applications portables, partageables, ouvertes et modifiables, ergonomiques ?

Voir l'article de Jean-Louis Nauges qui présente AJAX en détail et Fred Cavazza pour une "première définition du web 2.0". Eric van der Vlist propose également un bon article de fond sur le web 2.0.

La mutation dans l'utilisation de Javascript

Juste avant la révélation AJAX, Javascript était plutôt le vilain petit canard des langages de programmation. Les développeurs du web ne l'aimaient pas pour différentes raisons : un nom proche de Java qui suscite l'amalgame, trop d'implémentations pas très compatibles entre elles et sources de bugs, trop sous l'emprise de Sun et Netscape, frein à l'accessibilité, et surtout des situations d'usage plus proches du gadget boiteux que de la fonctionnalité ingénieuse et indispensable. De nombreux exemples de sites ont contribué à la mauvaise image de marque de Javascript, le reléguant à quelques vérifications de formulaires ou la gestion des fenêtres "popup" insupportables.

Puis Google a marqué les esprits avec Google Maps, qui n'existerait pas sans Javascript, et qui est un exemple de bon usage remarquable. Depuis Javascript s'est désinhibé, et de véritables logiciels sont apparus dans nos navigateurs (citons Netvibes, exemple parmi tant d'autres[1]). Google continue dans cette voie avec plusieurs services basés sur AJAX (Google Maps n'était pas le premier). Apple a également choisi Javascript pour développer ses widgets « Dashboard » (Yahoo! également avec ses Widgets), de véritables petites applications autonomes, que l'on peut modifier ou créer soit même. Et la fondation Mozilla développe un modèle proche d'AJAX+HTML avec son framework XUL.

Javascript est donc passé du petit langage d'agrément pour pages web au langage de développement d'applications réseau. Non pas parce qu'il est le plus doué pour ce genre de développement, mais essentiellement parce qu'il est présent dans tous les navigateurs quelque soit le système d'exploitation. Et le navigateur, pour un grand nombre d'utilisateurs, est la porte d'entrée de l'ordinateur et du réseau.

 

Avant AJAX : la page web est le support pour de petites applications Javascript, le plus souvent d'agrément et facultatives pour utiliser le contenu.

Avant AJAX, la page web est le support pour de petites applications Javascript

Avec AJAX : Javascript devient le coeur du site. Il génère du contenu HTML dont il a la maîtrise. D'autres langages côté serveur peuvent intervenir. Javascript, côté client, s'appuie sur le moteur graphique du navigateur pour générer l'interface de l'application, plus pratique que n'importe quel « toolkit ».

Avec AJAX, Javascript devient le coeur du site

Cette mutation a quelque-chose de perturbant et d'illogique : le navigateur n'est plus seulement un logiciel pour consulter des pages web (ce que tout le monde avait fini par comprendre), mais c'est également un logiciel qui permet d'exécuter d'autres logiciels en son sein (en somme il devient système d'exploitation). Il faudra écrire un autre article pour essayer de comprendre comment les « vrais gens » vont interpréter et adopter ces prérogatives technologiques. Car s'il est logique pour le développeur AJAX de s'appuyer sur le navigateur pour créer un tableur, un traitement de texte, un calendrier, etc, du point de vue de l'utilisateur ce n'est pas aussi évident ! Le point d'orgue de ce délire technologique est peut-être atteint avec http://palary.org, un navigateur web créé avec AJAX... et qui fonctionne donc, pour l'instant, à l'intérieur d'un navigateur web ! Ou ici encore avec YouOS (voir la demo), un bureau entièrement fait en javascript (menu démarrer, barre des tâches, gestionnaire de fichiers, etc).

La simplicité et le bricolage

AJAX est donc plébiscité parce qu'il donne naissance à des applications comme jamais nous avions vu par la fenêtre du navigateur. Mais il s'agit bien d'applications qui pourraient exister de façon autonome : Google Earth par exemple est l'équivalent "extrapolé" et bien plus puissant de Google Maps. Parmi tous les langages existants et doués grosso modo des mêmes fonctionnalités que Javascript, aucun n'a séduit et rassuré les développeurs pour faire cela. Aucun n'a donné facilement accès à HTML pour mettre en page simplement des interfaces graphiques, les animer, et interagir avec l'utilisateur. Aucun n'a permis aux utilisateurs de créer des applications installables aussi naturellement qu'en téléchargeant quelques scripts texte dans un navigateur, en un clic, sur n'importe quel ordinateur. Aucun n'a su se médiatiser aussi rapidement auprès des milliers de petites mains « nouvelle génération » qui développent pour le web, et aucun ne s'est montré autant « nouveau » et « ouvert » à leurs yeux. C'est le petit qui l'emporte, sans marketing et sans stratégie à long terme, seul contre tous. Il est probablement là le succès (relatif pour l'instant) d'AJAX : la simplicité et le bricolage dans le navigateur, sous couvert de révolution technologique.

Car Javascript n'est pas encore portable (il faut encore développer certaines fonctionnalités en double ou triple selon le navigateur qui l'exécute), pas très rapide, pas plus dédié qu'un autre langage procédural pour gérer les particularités de la programmation client/serveur appliquée au web. Les applications AJAX qui ont médiatisé le concept ont été montées de toutes pièces avant que de véritables frameworks permettent de développer rapidement et de façon fiable. Il faut, comme cela est en train de se faire avec PHP, réinventer les poudres d'un véritable environnement de développement. On voit déjà différentes solutions[2] pointer leur nez, souvent plus pour solutionner de nouveaux problèmes que pour jeter les bases théoriques d'un véritable outil de développement du « web 2.0 » (pour parler à la mode !).

En ce sens et d'un point de vue technique, c'est une forme de retour à la préhistoire, pas une révolution. Mais les « geeks » aiment reconstruire, la puissance Google est là, et les concurrents mastodontes ne leur ont rien proposé de plus séduisant sur les atouts évoqués. En attendant AJAX prend donc la place qu'on lui laisse...

Notes

[1] Voir cette liste assez exhaustive : http://www.web2list.com/?menu=all

[2] Voir ce tour d'horizon de 50 outils et frameworks

Commentaires

<p>Sébastien Billard cite une interview de Tim Berners Lee qui, comme dit Sébastien, "remet les pendules à l'heure". Le thème est plus le "web 2.0" que AJAX, mais on peut transposer facilement... <a href="http://s.billard.free.fr/referencement/index.php?2006/08/31/274-sceptici..." title="http://s.billard.free.fr/referencement/index.php?2006/08/31/274-sceptici...">s.billard.free.fr/referen...</a><br />
<br />
</p>

Google confirme vos doutes : code.google.com/webtoolki...

Et bien, pour une fois que je trouve une personne qui pense la même chose d'AJAX que moi à propos de l'infâme bricolage qui se déroule derrière la scène !
Ça tient avec des bouts de ficelle, ça à été consolidé depuis avec deux morceaux de scotch , mais mon dieu que c'est moche !