Le succès de HTML (du début jusqu'à html4.1 et xhtml1.1)

Le succès du Web tel que nous le connaissons aujourd'hui est dû en grande partie grâce à HTML qui s'appuie sur un système de balisage ouvert, simple et gratuit.

Ces trois principes ont permis l'appropriation d'Internet au grand public. Parce que HTML est composé de balises simples, il est facile de mettre sur Internet des données qui sont accessibles à tout le monde via l'utilisation d'un navigateur Web. Le succès d'Internet peut se mesurer au nombre de pages publiées, aussi bien par les entreprises que par les particuliers ou autres associations, et la seule façon de pérenniser ce succès est de contrôler le format de HTML afin de garder sa simplicité.

La normalisation est donc une étape essentielle dans le succès d'une technologie libre et accessible. C'est le W3C qui est l'organisation qui a pour but de normaliser HTML. C'est elle qui contrôle son format.

Les qualités principales de HTML

La première de ses qualités est d'être suffisamment générique pour permettre aux applications de créer d'elles même de nouvelles fonctionnalités.

Cette qualité en amenant d'autres :

  • Il y a peu d'éléments à connaitre pour réaliser un document.
  • Peu de mises à jour de HTML. Les mises à jour n'ont été réalisées que pour restructurer le langage et orienter les programmeurs Web vers les bonnes pratiques.

C'est cette généricité qui à permis au Web 2.0 d'émerger.

Les problèmes identifiés de HTML

La fonction principale de HTML est de décrire une sémantique pour des documents. Le mélange du contenu et de la présentation est le premier gros problème. Ce défaut disparait avec XHTML1.1, qui découple la présentation du contenu en déportant la présentation entièrement dans CSS.

De ce point de vue XHTML1.1 est déjà un format de bonne qualité. XHTML2 est une continuité de XHTML1.1, en reprenant tous les bons principes, en supprimant tous ce qui est superflue et en ajoutant des composants génériques et extensibles pour les nouvelles fonctionnalités.

Les problèmes causés par une mauvaise approche du Web

L'utilisation d'attributs ou de balises spécifiques à un navigateur est une source de problèmes multiples. Ce problème est également valable pour les CSS et autre Javascript. J'ai remarqué que des programmeurs Web se demandent comment résoudre des problèmes qui ne se posent pas dans un contexte d'applications Web. Les seules solutions qu'ils trouvent passe par l'utilisation de "hacks", des balises propriétaires non-normalisées, utilisation du caractère * au début des noms des propriétés CSS etc..

Selon moi, HTML5 répond à cet état d'esprit en ajoutant des composants non-extensibles qui ont l'avantage de répondre simplement à un problème précis. Cet avantage est accompagné d'un inconvénient de taille, qui implique une démultiplication des composants. Au final on se retrouvera avec un langage lourd et les programmeurs finiront par ne plus savoir quoi utiliser pour répondre à une problématique lambda.

XHTML2 est une bonne solution

Le W3C a une forte compétence dans les langages à balisage. Ils ne font pas les choses à la légère. Ils prennent le temps de faire aboutir leurs études afin d'apporter un haut niveau de qualité dans la norme HTML. Nous approchons d'un très bon niveau de qualité avec la prochaine version de HTML qui s'appellera XHTML2.

XHTML2 s'appuie entièrement sur XML, ce qui est une bonne chose car cela nous permet de bénéficier de toute l'artillerie existante autour de cette technologie qui est véritablement une grande avancée dans le domaine des systèmes d'information ces dernières années.

Je pense que les navigateurs devraient implémenter des parseurs XML qui soient plus souples sur la gestion des erreurs de sémantique. S'arrêter de parser sur la première erreur rencontrée dans un document XML ne fait pas partie de la recommandation du W3C. Nous en reparlerons au prochain chapitre.

le WHATWG propose une mauvaise solution

(extrait de wikipedia) Le WHATWG est une collaboration non officielle des différents développeurs de navigateurs web ayant pour but le développement de nouvelles technologies destinées à faciliter l'écriture et le déploiement d'applications à travers le Web. Il se présente notamment comme une réponse à la lenteur supposée du développement des standards par le W3C et au caractère supposé trop fermé de son processus interne d'élaboration de spécification. Cependant, de nombreux participants à ce projet sont également des membres actifs du W3C, et le nouveau groupe de travail HTML du W3C a adopté en 2007 les propositions du WHATWG comme base de travail d'un futur HTML5.

Ce groupe de travail propose une approche de HTML qui consiste à créer des éléments pour faciliter des cas particuliers.

HTML5 se veut plus pragmatique mais il pose un problème fondamentale: en implémentant des balises spécifiques pour des cas particuliers il deviendra rapidement complexe par le nombre d'éléments qui le composent.

Et enfin HTML5 se veut plus pragmatique en permettant aux utilisateurs d'abandonner XML ce qui est, nous en avons parlé au chapitre précédent, une régression importante selon moi et qui ne se justifie pas. En effet, c'est le WHATWG, composé au départ des principales firmes qui développent les navigateurs Web, qui trouve que le parsing XML est fastidieux à l'utilisation car les parseurs XML sont trop restrictifs sur les erreurs. Mais il ne tient qu'à eux, comme nous l'avons déjà vu, d'implémenter des parseurs XML qui soient plus souples.

Conclusion

L'erreur du W3C est de ne pas s'être ouvert assez aux suggestions extérieur. C'est ce qui a conduit le WHATWG à faire la proposition de HTML5. XHTML2 n'est pas parfait, mais il a de bien meilleures bases que son concurrent. Il est important de prendre partie pour le format que l'on pense être le meilleur pour notre avenir et c'est pour ça que j'ai écrit ce billet.

L'idéal serait d'abandonner HTML5 et d'écouter les suggestions comme celles qui se trouvent dans x-html-5-versus-xhtml-2 sur xhtml.com afin de finaliser XHTML2. Alors si vous avez un avis sur cette question, n'hésitez pas à le faire savoir, en laissant un commentaire sur ce billet ou en publiant un billet sur votre blog.

En savoir plus

Pour plus de détails sur ce sujet, je vous conseil de lire l'article de Eric van der Vlist référencé ci-dessous.

Références au sujet: