Si vous regardez le code source d’une page HTML, vous allez souvent trouver une première ligne qui ressemble aux deux exemples suivants:
<!DOCTYPE html PUBLIC « -//W3C//DTD XHTML 1.1//EN » « http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd »>
<!DOCTYPE HTML PUBLIC « -//W3C//DTD HTML 3.2 Final//EN »>
Outre le fait d’être très technique, on peut se demander à quoi ces lignes servent puisqu’elles n’affichent rien. Au moins la balise Meta Keywords a un sens évident, ce qui n’est pas le cas ici.
Dans les faits cette balise est probablement une des plus importante : elle contrôle le comportement du navigateur.
Elle indique deux choses :
- que le webmaster a choisi un standard HTML pour le code des pages
- que le navigateur doit afficher la page en respectant ce standard au lieu de « faire au mieux »
Si la ligne est absente, le navigateur web affichera la page en mode « quirks » (« bancal » en français). Il tentera de reconnaître la structure du document et de deviner ce que chaque balise ou attribut veut dire ainsi que de pallier pour les erreurs de syntaxe qu’il va rencontrer. Il est évident que cela signifie que le résultat est imprévisible : entre deux navigateurs (mettons Internet Explorer et Firefox ou Chrome), la page s’affichera différemment, ce qui est normal puisque chaque navigateur tente de deviner la langue HTML que vous utilisez et le sens que vous donnez à chaque balise.
Au contraire, si la ligne est présente elle indique clairement au navigateur web le standard W3C utilisé, par exemple HTML5 ou XHTML 1.1. En théorie, la page s’affichera de la même façon dans les tous les navigateurs. (En pratique, il peut y avoir quelques différences mineures du fait de spécifications incomplètes, de polices de caractères légèrement différentes entre OS, etc…)
Bonus annexe : vous pouvez maintenant impressionner vos amis en leur expliquant pourquoi vous avez cette ligne barbare en haut de vos pages.