<html> <head> <!-- descriptions et inclusions --> <title><!-- titre --></title> </head> <body> <!-- contenu --> </body> </html> |
2.Les normes HTML
2.1.Squelette de document HTML
La structure d'un document HTML est la suivante:
L'ensemble du document est décrit dans une balise html (autrement dit html est la balise racine du document).
Le document est scindé en 2 parties
|
![]() |
|
2.2.Les normes
Depuis le début des années 1990, le langage HTML a eu bien le temps d'évoluer. Nous en sommes maintenant à la version 4. Entre temps, en 1998, la norme XML est apparue. XML étant une norme pour décrire tout type de documents à base de balises, il a été décidé d'adapter le langage HTML pour écrire une norme HTML conforme à XML. Ainsi est apparu l'XHTML. Nous pouvons considérer aujourd'hui qu'il existe 2 normes HTML: le HTML historique et le XHTML plus rigoureux. Pour simplifier les choses, chacunes se déclinent en 3 variantes... mais, je vous rassure, cela se joue vraiment sur des détails dont les navigateurs se soucient guère.
Il convient donc (en théorie du moins) de préciser, en tête du document, la norme qui a été choisie. Ce qui donnera (typiquement) pour un fichier HTML conforme XHTML 1.0
et pour un document simplement conforme HTML 4.01, le strict minimum est le suivant
<?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <!-- descriptions et inclusions --> <title><!-- titre --></title> </head> <body> <!-- contenu --> </body> </html> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- descriptions et inclusions --> <title><!-- titre --></title> </head> <body> <!-- contenu --> |
Comme vous pouvez le constater, le langage HTML est très permissif. En gros, à partir du moment où une balise n'est pas nécessaire à la bonne compréhension, elle devient facultative (c'est le cas, ici, de la balise html, de la balise ouvrante head et la balise fermante body). Mais attention, vous êtes fortement invités à être plus rigoureux que la norme et vous rapprocher autant que possible de la norme XHTML (plus facile à interpréter par les navigateurs).
2.3.Différences HTML 4.01 et XHTML 1.0
Les principales différences entre les 2 normes viennent du fait que HTML n'est pas valide d'un point de vue XML. En conséquence:
|
2.4.En pratique
En pratique, les navigateurs sont encore plus permissifs que la norme. Ceci est en grande partie due à des raisons historiques (problème de compatibilité avec le code écrit avant la rédaction des dernières normes et concurrence entre les différents navigateurs).
Vous verrez très peu (trop peu) de page web intégrant la ligne DOCTYPE censée préciser la norme choisie. Alors qu'il s'agit de balises théoriquement obligatoires, head, title et body peuvent être allègremment omis pour commencer le document directement avec le contenu, sans que cela ne pose le moindre souci à la plupart des navigateurs.
Ceci étant dit, vous avez tout interêt à respecter la norme (au moins la norme HTML... tout en vous rapprochant au maximum de la norme XHTML). Pour vous aidez, vous pouvez faire valider vos documents HTML ici.
En ce qui nous concerne, nous proposerons généralement du code de type XHTML tout en omettant souvant la partie déclarative (DOCTYPE et éventuellement head) ceci afin de ne présenter que la partie utile des exemples fournis.