Chez Xavier

Home / Ajax et bubble 2.0 : c'est le Web qu'on assassine ?

Excuse me, I think I'm naked: on a wall of Barcelona.

Excuse me, I think I'm naked: on a wall of Barcelona.

Je ne peux m'empêcher d'être à la fois curieux, intéressé, et bien peu complaisant à l'encontre de cette mode 2005 que nous présentent comme le nouveau Saint Graal les aficionados du clinquant et du mal réfléchi. Partout, on nous parle de "Web 2.0", de AJAX, en promettant que l'utilisateur final y trouvera un bonheur jusqu'alors inexploré. On en a même parlé au cours du forum PHP 2005, avec la conférence de Sébastien Hordeaux, "AJAX : Brillez avec vos applications web". Pourquoi pas. Après avoir écouté avec attention ce qui se disait dans le public pendant la séance de questions, je suis un peu inquiet de la perception qu'ont certains développeurs PHP de ce fameux "Asynchronous Javascript and XML". Les idées qui ressortent présentent AJAX comme une brique logicielle prépackagée sous la forme de divers framework "prêts à l'emploi", et dont l'intégration dans des projets logiciels n'est finalement que peu couteuse, mais par contre si agréable à l'utilisateur. On en sortirait les mouchoirs pour couler une larme en répandant des pétales de rose sur le génie qui nous a sorti ça de l'oubli.

Il est vrai que certaines possibilités d'interaction et d'économie de bande passante offertes par AJAX laissent rêveur, mais il me semble néanmoins qu'on devrait s'interroger avant d'utiliser tous azimuts cette nouveauté récente de... 1998. Certains membres de l'auditoire, pour qui AJAX n'était qu'un produit nettoyant avant d'assister à la présentation de M. Hordeaux, sont ressortis de là en se disant que Ca y est, le miracle a eu lieu, maintenant on va refaire le desktop, mais sur le web. Bon, déjà , il faudrait que le desktop "pas sur le web" nous propose des outils complets, vraiment ergonomiques, fiables et pratiques, mais ça c'est une autre question.

Je regrette cependant que Sébastien Hordeaux a éludé la question de l'accessibilité et de l'utilisabilité en se contentant d'évoquer un "mode dégradé" dans le fonctionnement d'applications à la sauce AJAX, sans développer plus avant le sujet. Qu'appelle-t-il "mode dégradé" ? Est-ce, comme sur Netvibes, une absence totale d'apparition du contenu de la page dés lors que Javascript est désactivé ? Est-ce la disparition de quelques features ergonomiques ? Ou de fonctionnalités métier de l'application ? J'ai brulé d'envie de lui poser la question, mais d'autres auditeurs ont évoqué le sujet - sans appuyer sur les points sensibles, malheureusement - et j'ai jugé peu opportun d'insister sur la question : la présentation, au demeurant fort bien menée, ne méritait pas que la séance de questions qui lui succédait soient monopolisée par un point somme toute marginal du sujet. Cela m'aurait pourtant bien intéressé qu'il montre à l'assistance l'utilisabilité du gestionnaire de bogues wIT en l'absence de javascript...

Ceci dit, le problème reste entier : à trop vouloir se précipiter, en créant ci des annuaires du Web 2.0 ou des conférences Web 2.0 (observez bien la destination de ce lien, elle recelle quelques vérités...), là des initiatives "Web 2.1" (si si, puisqu'on vous le dit !), en surfant sur la nouveauté sans que ses limites en aient été éprouvées et ses concepts bien évalués, j'ai peur que l'on fasse fausse route pour construire, une fois de plus, des palais sur des fondations de platre (ou d'argile, au choix). Il me semble que certaines questions sont trop facilement éludées. Dans l'ordre :

  1. Quid de l'accessibilité des informations manipulées par le biais d'Ajax ? A ce jour, toute transformation du DOM est proprement inutilisable par les logiciels lecteurs d'écran, qui donnent pourtant de l'autonomie aux déficients visuels tentés par la découverte du Web. Ce qui signifie, en clair, que sur Gmail, un aveugle ne pourra pas lire son courrier. Pour certaines personnes, c'est peu important d'isoler une partie des internautes. La même erreur a déjà été faite par le passé, en marginalisant successivement les utilisateurs de Netscape puis, peu à peu, les utilisateurs de Linux (environ 2% des internautes actuellement). La formidable débauche d'énergie qui a été engouffrée dans le projet Mozilla n'a, fort heureusement, pas été vaine, et a permis l'apparition d'un navigateur réconciliant utilisateurs de Linux et webmasters peu concernés par l'interopérabilité. Aujourd'hui, la très grande majorité des sites de musique en ligne reste inaccessible aux utilisateurs de Linux, DRM oblige. Est-ce normal ? De la même manière, est-ce normal de considérer peu importante l'exclusion de personnes handicapées du web, sous prétexte que la nouvelle mode rend plus interactive - et encore, je préfère plutôt dire "atypique" - l'expérience Web ?
  2. Pourquoi persiste-t-on à vouloir employer HTML comme un langage d'applications Web ? HTML est un langage de documents. Dans sa version XHTML, plébiscitée (souvent pour de fausses raisons) par les mêmes qui soutiennent Ajax à bout de bras, il présente une syntaxe de document XML, et une sémantique de description de la structure d'un document. Pourquoi vouloir absolument encombrer HTML d'exotismes tels que XMLHttpRequest et consort pour réaliser des applications Web, alors que des langages client riches sont disponibles ? XUL et le framework Mozilla, pour ne citer que lui, a fait l'objet d'une présentation très intéressante de Olivier Grange-Labat, du journal en ligne lemonde.fr. Pourquoi, au lieu de s'embarrasser d'éléments qui ne garantissent plus l'universalité du web via HTML, n'utilise-t-on pas ces langages clients riches, exactement créés pour ce genre d'applications Web ? Je ne sais pas. Peut-être par effet de mode, parce que parler de "AJAX" et de "Web 2.0", c'est quand même plus hype que de s'enticher pour un obscur framework qui demande de faire un peu réfléchir les méninges pour en comprendre les principes. A croire que la plupart des développeurs sont à la fois frétillants de gouter à la dernière nouveauté (attention, elle date de 1998 quand même, la date limite de consommation est peut-être bien déjà passée...) et incapables de mesurer les lacunes d'une telle architecture.
  3. Quid de la simplicité de AJAX ? On nous a présenté quelques lignes de code, quelques framework ont été évoqués, mais sans entrer dans les détails. Je ne suis pas certain que beaucoup de participants ont saisi la complexité de la chose. Le framework Openrico, par exemple, pèse au bas mot près de 100 ko sur la balance (à charger intégralement par le navigateur du visiteur). Ah, ça vaut bien l'économie de quelques kilo-octets non rechargés depuis le serveur... A-t-on bien saisi, également, que donner à Ajax le rang de composant Web trivial, c'est aussi repousser les néophytes de son utilisation ? A moins de tout repomper sans rien y comprendre, un débutant en HTML sera bien incapable de tirer profit d'AJAX. Où est la simplicité ? A l'opposé, pourquoi ne pas attendre un peu, prendre en compte le besoin, et proposer, comme le fait Laurent Jouanneau, un jeu de balises HTML remplissant le même rôle que les kilomètres de code nécessaires à AJAX, mais bien plus simplement et sans casser l'accessibilité ?
  4. Enfin, quid du respect d'un des axiomes du web, énoncé par Tim Berners Lee en 1998 : Cool URI don't change ? Évidemment, si on admet d'effectuer des manipulations du DOM à la volée, en proposant plus ou moins d'informations suite aux actions d'un utilisateur sur une page (donc, une URI) donnée, cela signifie que l'on perd le rapport bijectif entre URI et information. Le problème est un peu le même qu'avec les frames : comment bookmarker une page Ajax dans l'état atteint après quelques Ajax-o-clics ? En somme, Ajax présente les mêmes dangers que Flash : il est impossible d'y localiser précisément de l'information. Comme pour Flash, un bon emploi d'AJAX ne devrait se limiter qu'à des parties non critiques et non centrales d'un site Web. Quand j'entends parler d'applications Web exclusivement conçues en Flash, mon poil se hérisse autant que lorsqu'un artiste Flash se prétend webmaster. Mais c'est de la querelle de clocher.

J'arrête là pour les remarques, je ne crois pas qu'il soit nécessaire et juste d'en ajouter plus. Certains jours, j'ai peur que l'effet de masse et la propension humaine au "fast and dirty" ne perde pour de bons les belles valeurs du web que sont le partage des savoirs et l'universalité de la connaissance. Je ne suis pas mal-voyant, et j'ose à peine imaginer ma situation si c'était ou si cela devenait le cas. Entre l'égoïsme de quelques techos mal construits pour qui "les aveugles ne sont qu'un groupe minoritaire et marginal" que l'on peut sciemment ignorer, et la course à l'innovation et à la génération de profits des décideurs en entreprise, le milieu de l'informatique du Web m'apparait par moments bien noir, égoïste à souhait et aussi caustique que peut l'être Benoît Poelvoorde dans Aaltra. Finalement, le seul point positif que je trouve à AJAX, c'est que cela soulève de nouvelles questions et place les développeurs web sur le chemin d'une grande innovation ergonomique. Ce que l'on peut déplorer, par contre, c'est que le moyen en soit si mal choisi. Mais bon, le monde avance, alors essayons d'en infléchir la direction...

  • written on: 2005-11-10