{"id":81,"date":"2006-08-25T22:45:33","date_gmt":"2006-08-25T20:45:33","guid":{"rendered":"http:\/\/graphideo\/wp284\/?p=81"},"modified":"2009-11-29T16:39:48","modified_gmt":"2009-11-29T14:39:48","slug":"ajax-et-moi","status":"publish","type":"post","link":"http:\/\/www.graphideo.com\/blog\/2006\/08\/25\/ajax-et-moi\/","title":{"rendered":"Ajax et moi."},"content":{"rendered":"<p><strong>Accessibilit\u00e9 et interface enrichie sont-ils faits pour s&rsquo;entendre ?<\/strong><br \/>On entend beaucoup parler depuis quelques temps d&rsquo;accessibilit\u00e9 d&rsquo;un c\u00f4t\u00e9 et de \u00ab\u00a0client riche\u00a0\u00bb de l&rsquo;autre, autrement dit d&rsquo;interfaces web rafra\u00eechies \u00e0 la sauce Ajax and Co. Mais les deux sont-ils faits pour s&rsquo;entendre ? J&rsquo;ai test\u00e9 pour vous sur un gros projet d&rsquo;intranet m\u00e9tier.<br \/>\n<!--more--><br \/>\n<img decoding=\"async\" src=\"\/blog\/wp-content\/uploads\/gun_ajax.gif\" alt=\"Ajax-killer\" \/> <\/p>\n<p> <strong>Premier paradoxe :<\/strong> Alors qu&rsquo;Ajax am\u00e8ne en th\u00e9orie une fluidit\u00e9 nouvelle dans les \u00e9changes client-serveur (par des requ\u00eates http cach\u00e9es, comme avec Flash), on est vite confront\u00e9 \u00e0 un probl\u00e8me de volume. Car si cette technique est en th\u00e9orie robuste si elle est bien cod\u00e9e, \u00e0 l&rsquo;usage on se heurte vite \u00e0 un gros mur : le navigateur.<br \/>\n S&rsquo;appuyant sur une utilisation intensive des CSS et du DOM, Ajax sollicite BEAUCOUP (trop ?) le navigateur. Vos belles listes dynamiques vont vite s&rsquo;essoufler, quand elles ne vont pas buguer : affichage en vrac, perte de styles, instabilit\u00e9, sans parler des bugs de compatibilit\u00e9 avec les navigateurs un peu en retard d&rsquo;un m\u00e9tro pour ce qui est de l&rsquo;impl\u00e9mentation des standards&#8230; D&rsquo;o\u00f9 en g\u00e9n\u00e9ral une impl\u00e9mentation co\u00fbteuse en temps. <\/p>\n<p> <strong>Deuxi\u00e8me paradoxe :<\/strong> ces composants pr\u00e9sentent une ergonomie tellement r\u00e9volutionnaire qu&rsquo;elle en devient perturbante pour l&rsquo;utilisateur, qui a du mal \u00e0 s&rsquo;y retrouver avec ces nouvelles fonctions. Au final ce sont les fonctions am\u00e9liorant la gestion de l&rsquo;espace dans la page qui s&rsquo;av\u00e8rent les plus agr\u00e9ables. Vous savez, les collapse\/expand tous b\u00eates qui existent depuis des ann\u00e9es. La profusion de fonctions sur certains composants se r\u00e9v\u00e8le contre-productive. <br \/>\n Tant que ces nouveaux outils n&rsquo;auront pas \u00e9t\u00e9 assimil\u00e9s par les utilisateurs, mieux vaut signaler un champ enrichi de fonctions Ajax par un ic\u00f4ne sp\u00e9cifique ou une couleur de champ particuli\u00e8re. Tout b\u00eate, mais le d\u00e9sengorgement des hotlines tient parfois \u00e0 peu de choses. <\/p>\n<p> <strong>Troisi\u00e8me paradoxe :<\/strong> Alors qu&rsquo;on associe commun\u00e9mment le Web 2.0 et l&rsquo;accessibilit\u00e9, il s&rsquo;av\u00e8re que les fonctions \u00ab\u00a0riches\u00a0\u00bb g\u00e9n\u00e8rent la plupart du temps un code tout \u00e0 fait&#8230;\u00a0\u00bbinacessible\u00a0\u00bb. Cela peut poser de gros probl\u00e8mes, de r\u00e9f\u00e9rencement en premier lieu. Pas forc\u00e9ment une bonne id\u00e9e pour un site public, donc. Curieux que des outils cens\u00e9s nous faciliter la vie aillent \u00e0 l&rsquo;encontre des standardisations (fort saines) amen\u00e9es par l&rsquo;accessibilit\u00e9.<\/p>\n<p> <strong>Morale de l&rsquo;histoire :<\/strong> pour tirer pleinement partie de ce qu&rsquo;apporte Ajax, il faut y consacrer beaucoup de temps, mais savoir r\u00e9sister \u00e0 la tentation de rentabiliser le temps pass\u00e9 en mettant tout et n&rsquo;importe quoi \u00e0 la sauce Ajax. En d&rsquo;autres termes, le mieux est &#8211; en mati\u00e8re d&rsquo;interface web &#8211; l&rsquo;ennemi du bien. <\/p>\n","protected":false},"excerpt":{"rendered":"<p><strong>Accessibilit\u00e9 et interface enrichie sont-ils faits pour s&rsquo;entendre ?<\/strong><br \/>On entend beaucoup parler depuis quelques temps d&rsquo;accessibilit\u00e9 d&rsquo;un c\u00f4t\u00e9 et de \u00ab\u00a0client riche\u00a0\u00bb de l&rsquo;autre, autrement dit d&rsquo;interfaces web rafra\u00eechies \u00e0 la sauce Ajax and Co. Mais les deux sont-ils faits pour s&rsquo;entendre ? J&rsquo;ai test\u00e9 pour vous sur un gros projet d&rsquo;intranet m\u00e9tier.<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"twitterCardType":"","cardImageID":0,"cardImage":"","cardTitle":"","cardDesc":"","cardImageAlt":"","cardPlayer":"","cardPlayerWidth":0,"cardPlayerHeight":0,"cardPlayerStream":"","cardPlayerCodec":"","footnotes":""},"categories":[5],"tags":[24,32],"class_list":["post-81","post","type-post","status-publish","format-standard","hentry","category-humeur","tag-tech","tag-tendance-web"],"acf":[],"_links":{"self":[{"href":"http:\/\/www.graphideo.com\/blog\/wp-json\/wp\/v2\/posts\/81","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.graphideo.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.graphideo.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.graphideo.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/www.graphideo.com\/blog\/wp-json\/wp\/v2\/comments?post=81"}],"version-history":[{"count":2,"href":"http:\/\/www.graphideo.com\/blog\/wp-json\/wp\/v2\/posts\/81\/revisions"}],"predecessor-version":[{"id":470,"href":"http:\/\/www.graphideo.com\/blog\/wp-json\/wp\/v2\/posts\/81\/revisions\/470"}],"wp:attachment":[{"href":"http:\/\/www.graphideo.com\/blog\/wp-json\/wp\/v2\/media?parent=81"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.graphideo.com\/blog\/wp-json\/wp\/v2\/categories?post=81"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.graphideo.com\/blog\/wp-json\/wp\/v2\/tags?post=81"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}