Je suis obligé de donner un coup de collier ces temps-ci pour mon fameux projet, et je suis donc privé de lecture de blog, et même d'écriture sur le StandBlog, snif !

Pour occuper un peu vos neurones, à la demande d'un lecteur nantais qui n'avait pas l'air particulièrement beurré, voici des échanges entre Dave Hyatt (inventeur de XUL, contributeur majeur à Mozilla et développeur de Safari), Mark Pilgrim (gourou des standards et membre du WaSP) et Tim Bray (co-inventeur du XML), en somme, que du très beau linge. Le sujet débattu porte sur la nécessité (ou pas) de refuser de traiter du XML non valide.

  • Mark Pilgrim affirme que le client doit être permissif dans son acceptation du XML mal-formé : Le logiciel client n'est pas l'endroit où il faut être strict.
  • Dave Hyatt : Si je vivais dans un monde où les navigateurs refusaient d'afficher du contenu mal formé (avec des messages d'erreurs clairs pour que les auteurs puissent améliorer leur contenu), la moitié de mes rapports de bugs disparaîtraient. Je pourrais concentrer mes efforts sur des vrais bugs DOM et CSS, sans avoir à perdre mon temps à essayer d'émuler le comportement de IE/Win (NDT : dans le cas ou le contenu est mal formé).
  • Tim Bray : Nous avons eu un débat vraiment long, vraiment gros, vraiment passionné sur le sujet; deux camps s'étaient formés, les "Draconiens" et les "Tolérants". Après plusieurs semaines et des centaines de messages, nous avons voté et les Draconiens l'ont emporté 7 voix contre 4.
  • Dave Hyatt surenchérit : Je ne pense pas que des personnes ne travaillant pas dans l'univers des navigateurs pour gagner leur vie sachent à quel point le Web est mal-formé, aussi permettez-moi d'exprimer cela aussi clairement que possible : "La raison Numero 1 pour laquelle les pages HTML s'affichent mal dans les navigateurs alternatifs, c'est à cause des différences dans la gestion des erreurs et la reprise après ces erreurs."
  • Dave Hyatt enfonce le clou et résume ma pensée : Pour l'instant, il est de la responsabilité des navigateurs alternatifs d'émuler les stratégies de reprise sur erreur mises en ouvre par le navigateur dominant, mais il n'y a aucune raison pour que cela soit de même pour XML.

Merci Dave pour ce point de vue ! Ce qui fait que XML est aussi intéressant, c'est qu'il est fiable, et n'a pas d'ambiguités. On commence à entrevoir la lumière au bout du tunnel avec les erreurs du passé pour HTML, car les auteurs commencent à comprendre que les standards sont importants, alors pourquoi s'engouffrer à nouveau dans un autre tunnel, celui d'un XML trop tolérant ? Cela aurait été une bévue monumentale !

Trois points à rajouter tout de même :

  1. Mark Pilgrim marque un point, et Dave parle de différents validateur, importuns ou discrets. Pour ma part, je pencherais pour l'affichage d'une boite de dialogue ce contenu est mal formé, il n'est pas possible d'afficher son contenu avec certitude. Voulez-vous que je tente une analyse qui ne sera pas forcément fiable ?. Ca vaut ce que ça vaut, comme idée...
  2. Nous ne parlons ici que du XML. Pour le HTML, la bataille est perdue depuis longtemps, et les navigateurs doivent continuer à émuler le comportement d'IE/Win, qui lui même émulait celui de Netscape 3, sachant que ni l'un ni l'autre de ces comportements n'était pas documenté. Ce qui laisse entrevoir la douleur d'un David Hyatt ou des contributeurs Mozilla travaillant sur le layout engine...
  3. j'ai beau me déclarer du coté des Draconiens, souvenons-nous qu'il s'agit de ce point précis, et non pas d'une tendance générale de votre serviteur, encore moins d'un avis qui déteindrait sur mes choix politiques :-)