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.
Bonjour Maxime,
Je me suis intéressé à cette ligne de codes la dernière fois.
je croyais qu’en changeant le « EN en « FR », ça permettrais de signaler à Google et aux moteurs de recherche que le contenu de la page en question est en français et destiné aux pays francophones pour que la page soit indexée dans ces différentes régions.
Mais après quelques recherches sur le web, je me suis rendu compte que ma pensée était fausse.
Merci pour ce rappel !
Bonjour Maxime,
Merci pour ce petit détail qui a son importance.
amicalement
Ce type de spécifications est malheureusement souvent destiné à gérer toujours la même exception : IE…
En effet cette ligne paraît très barbare mais elle sert bien à quelque chose
Merci pour cette précision car en effet je me suis toujours demandé à quoi cette balise pouvait bien servir 🙂
Maxime merci de nous avoir donner l’explication. Car on constate qu’elle bien utilise cette balise.
Une balise très importante qui démontre l’importance des standards ou normes surtout celle du W3C.Qu’on voit d’ailleurs sur cette balise :
Merci beaucoup pour cette information précieuse !
je vois que ca sert a rien que du bla bla 🙂
Avant de sortir de nouvelles balises, il faudrait d’abord penser à la compatibilité des navigateurs, Comme IE 9 !
Cette balise n’a rien de nouveau, elle existe depuis la création du langage HTML …
Moi je l’ai toujours vu mais jamais su vraiment à quoi elle pouvait bien servir, merci pour l’infos!
une petite explication qui valait le coup
je ne m’étais jamais penché sur le cas de cette ligne
merci
Je me demandais bien à quoi pouvait servir cette balise ! Merci beaucoup je la croyais comme beaucoup totalement inutile 😀
cette balise me tracassait aussi… merci pour la reponse
C’est sur que c’est bien de savoir ce qu’elle signifie et surtout de se rappeler de l’utiliser.
alors, je me permets d’être un peu critique pour une fois concernant le contenu de cet article. Honnetement, tu nous avais habitué à des sujets plus pertinents (je suis un fidele ici!). Mais bon… c’est au moins un rappel pour tout le monde ^^
Très bonne remarque sur ces balises HTML qui sont systématiquement recopiées à tord sur les sites dans un soucis de compatibilité W3C. En fait, je me suis rendu compte qu’elles n’étaient même pas valide grace à l’outil Microsoft Expression Web qui les considère come erronées…
C’est vrai qu’Expression Web, assez intransigeant, génère des erreurs avec cette balise…
Expression Web supporte la balise correctement : http://answers.microsoft.com/en-us/office/forum/officeversion_other-office_other/doctype-errors-when-editing-in-expression-web-4/a4f4bfc8-c43c-46a8-aaf8-0f0e745b546b
Voilà levé le mystère de cette balise recopiée machinalement jusqu’ici sans en connaître le réel intérêt !
Balise qu’on ne modifie que très rarement, en tous cas personnellement mon IDE le met directement et je la change jamais malgré qu’elle soit importante.
Merci pour ce petit rappel.
Balise qui vaut mieux copier coller pour ne pas ou plus se tromper.
Avec un éditeur comme dreamweaver pas besoin de se poser de question. Il créait la balise automatiquement dans une nouvelle page créer.
Balise dont tout codeur devrait savoir la signification, merci !
Elle est pas initule c’est une balise fondamental pour le W3C
Balise qui devrait intégrée à chaque site web qui se respecte !
Merci pour le rappel, on a trop tendance à oublier cette balise méconnue qui existe pourtant depuis la création de l’HTML
@forfait iphone : disons que cet article permet de compléter sa culture technique… mais de tte façon on l’ajoute toujours
Voilà une information très intéressante que je n’ai encore jamais lue nulle part. Enfin, faudrait faire des recherches et vraiment se pencher sur le sujet pour découvrir ce genre d’information. Donc, le découvrir ainsi, c’est plutôt une bonne chose. D’autant plus que je l’avais enlevé sur l’un de mes sites à une époque (le site n’existe plus) où je m’amusais à créer des sites en html.
A quoi ça sert s’il est inutile ? C’est la vrai question
C’est une convention comme une autre qui malheureusement sera toujours obligatoire.
Comme on dit : totalement inutile donc totalement indispensable 😀
Elle n’est pas inutile puisqu’elle fait quelque chose 🙂
Le tout est de savoir si le jeu en vaut la chandelle …..
La validation W3C est un facteur important dans le référencement
@Yalpi : Joli hors-sujet…
Bonjour,
Information intéressante même si je suis loin d’être une experte en code et développement. J’aime beaucoup le titre de l’article !
Je tiens à vous remercier pour les efforts que vous avez fait en écrivant cet article.
En effet, le DOCTYPE n’est nécessaire que pour activer le mode standard pour les documents écrits selon la syntaxe HTML.
Merci Maxime, il n’est jamais trop tard pour apprendre 😉
Amicalement
Donc, mieux vaut quand même l’intégrer…
J’en saurais un peu plus sur cette balise. Je la met automatiquement sur tout mes sites, mais par contre je ne sais pas si celle ci est « au bon format » par rapport à mes pages. C’est à dire si le standard utilisé pour mes pages et bien celui qui est décrit dans la balise.
Je ne sais pas si je vais « impressionner » mes amis… mais en revanche l’information est utile car l’on a souvent tendance à exploiter des données de façon trop automatique sans toujours chercher à comprendre leur sens profond. Merci !
J’aime vraiment ce site. Il est conçu dans un endroit propre, simple et élégante – mais le contenu est ce qui me reviennent. Suis-je obtenir mes messages à travers?
J’aurais pas cru qu’il y avait des balises inutiles mais en fait réellement utiles 😀
inutile, mais je la trouve quand même utile.
@ comité d’entreprise : Mais encore… ?
L’intégrer ne coute rien, pourquoi ne pas le faire?
Totalement inutile donc totalement indispensable comme on dit 😀
Exactement, comme d’hab pour les gourous 😀