Html4, Xhtml 1 et html5

Différentes normes se sont succédées depuis 1991, date de la première version de html. Aujourd’hui, la norme html 5 est en train de prendre le pas sur les deux normes html 4.01 et Xhtml 1.0.

Précédent | 3/10 | Suivant

Cet article sur l’historique du code html peut se compléter par la lecture de l’article de wikipedia sur le html.

HTML 4

La spécification Html 4 est publiée en décembre 1997, et html 4.01, update mineur sera publiée en décembre 1999. Cette spécification est encore utilisée. Peu contraignante, elle a principalement les caractéristiques suivantes :
 Dépréciation du tag <font> introduit avec html 3.2
 D’écrire les tags aussi bien en minuscule que majuscules : <Body>, <BODY> ou <body>
 De ne pas placer nécessairement les attributs entre guillemets : <div class=test></div> ou <div class="test"></div>

Xhtml 1

La spécification xhtml 1 est une reformulation du html 4. Entretemps, le langage XML a été proposé. XML est un langage qui permet de décrire n’importe quel type de contenu comme un bibliothèque ou les caractéristiques d’un personnage de jeu vidéo, en créant au besoin ses propres tag. Par exemple :

<bibliothèque>
<rayon genre="histoire">
<livre code="001" auteur="Jean duchemin" titre="le code html au moyen age" />
</rayon>
</bibliotheque>

La spécification XML est plus rigide que celle de Html 4, et cette rigidité qui va être importée dans la spécification Xhtml. Elle a les principales règles suivantes :
 les attributs sont toujours entre guillemets : <body id="home"></div>
 les tags et attributs toujours en minuscules : <a href="#">Lien</a>
 les tags uniques sont fermés en eux-mêmes : <br />
 les images comportent un attribut alt : <img src="im.jpg" alt="un scout volant" />

La spécification Xhtml 1.0 est publié est janvier 2000. Elle est concurrente àla norme html 4.01, ce qui veut dire que les deux peuvent être employées par les développeurs. Xhtml 1.1 est publié en mai 2001.

Xhtml 1 existe en deux versions : le Xhtml 1 strict, qui respecte la norme de fond en comble, et le Xhtml 1 transitionnel qui tolère quelques incartades en html 4.

Le conflit Xhtml 2 et Html 5

Un groupe de travail s’est formé autour de la version suivante du Xhtml, Xhtml 2. Mais ce groupe de travail a eu l’ambition de réformer en profondeur le langage Html et Xhtml, avec une syntaxe plus stricte et partiellement incompatible àl’avenir avec les versions précédentes du code html.

Face àcette norme "dure", un groupe de travail s’est constitué pour proposer une suite au html 4, une version plutôt appelée Html 5, en partant des demandes des développeurs - alors que pour résumer Xhtml veut proposer un nouveau code basé sur un idéal syntaxique du code, pensé pour les machines. Ce groupe de travail créé en 2004, le "WHAT-WG" comprend Apple, Mozilla et Opera. Un rapport de force s’installe entre ces majors de la production de logiciel et le W3C. Google, avec Chrome, va encore renforcer ce rapport de force. Le W3C est menacé : il perdra toute crédibilité si l’industrie lui tourne le dos. Et de son côté, l’équipe Xhtml 2 a rapidement toutes les difficultés du monde àse mettre d’accord sur sa norme intransigeante.

Un draft (document de travail) est proposé pour Html 5 en janvier 2008.
En juillet 2009, le W3C annonce que le groupe de travail Xhtml 2 ne sera pas reconduit, ce qui signifie l’abandon de la norme. Html 5 devient de facto la prochaine norme, même si le Xhtml 1.1 sera évidemment toujours reconnu et valide.
La norme "candidate" a été publié en décembre 2012.

Html 5

Désormais l’avenir du html passe par html 5, qui revient àune plus grande tolérance de l’écriture du code :
 on peut de nouveau employer minuscule et majuscules dans l’écriture des balises
 on peut utiliser ou non les guillemets pour les attributs
 de nouveaux tags font leur apparition, notamment les tags <audio> et <video>, mais aussi, pour s’adapter àl’usage des développeurs, les tags <header>, <footer>, <nav>, <article>, <section>, <aside> parmi d’autres.
 le code est simplifié pour l’inclusion des css, la déclaration du charset, le doctype, etc.
 La gestion des erreurs est détaillée dans la spécification, ce qui permettra aux navigateurs, àl’avenir, d’avoir le même comportements sur un grand nombre d’erreurs communes.
 Une balise nouvelle , <canvas> fait son apparition. Elle permet de créer des objets programmés en javascript, facilitant la programmation de webapps sans passer par Flash ou d’autres systèmes importés.

Le html 5 se veut être un "Living Standard", en changement constant donc. Pour cette raison, on ne trouve plus de numéro comme dans les version précédente, le doctype est énoncé comme suit : <!DOCTYPE html>.

Le code html 5 sera donc amélioré dans les prochaines années sans produire de versions supplémentaires, et le gros du travail sera pour les producteurs de navigateurs, qui vont devoir adapter les moteurs de rendu àl’implémentation constante de fonctionnalités. Cette approche évolutive est déjàen cours.

Un code de base pour html 5

Voici le code qui permet de commencer le codage html 5 dans un document en utf-8 :

<!doctype html>
<html lang="fr">
<head>
  <meta charset="utf-8">
  <title>Titre de la page</title>
  <link rel="stylesheet" href="style.css">
  <script src="script.js"></script>
</head>
<body>
<!-- ici le contenu -->
</body>
</html>
</html>