Choisir un Doctype pour votre page (X)HTML

Le Doctype est un des éléments les plus importants de votre page web. Bien choisir son Doctype vous garantira que votre page web s'affichera correctement quelque-soi le navigateur du visiteur.

Pourquoi déclarer un Doctype ?

Si votre page web ne possède pas de Doctype ou possède un Doctype erroné, rassurez-vous, votre page web s'affichera. Les navigateurs modernes tenteront d'afficher votre page et utiliseront le mode "Quirks". Le navigateur considérera le code de votre page comme invalide et appliqueront à votre page les normes en vigueurs à l'aube de l'ère internet. Dans le mode de compatibilité "Quirks", le navigateur va essayer de traiter votre page en mode de rétro-compatibilité, affichant vos CSS comme IE4 aurait pu le faire, et retournant à un DOM propriétaire et spécifique au navigateur. Engendrant des bugs d'affichage, des décalages, etc…

Les Doctypes

Le W3C a édité des standards pour les Doctypes, en voici quelques-uns

Doctype pour le HTML5

C'est le plus simple d'entre tous

<!DOCTYPE html>

Doctype pour HTML 4.01 strict

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">

Doctype pour le HTML 4.01 Transitional

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

Doctype pour le HTML 4.01 Frameset

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
	   "http://www.w3.org/TR/html4/frameset.dtd">

Doctype pour le XHTML 1.0 Strict

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">	

Doctype pour le XHTML 1.0 Transitional

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">	

Doctype pour le XHTML 1.0 Frameset

<!DOCTYPEhtml PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
	   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">	

Doctype pour le XHTML 1.1 DTD

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">	

Autres Doctypes

Il existe d'autres Doctypes qui sont peu utilisés, vous pourrez néanmoins consulter la page résumant les Doctypes recommandés sur la page dédiée du site du W3C

Lequel choisir ?

C'est la grande question, et bien sûr il n'y a pas de réponse simple. Pour ma part j'utilise le Doctype HTML5 si je sais que mes visiteurs peuvent utiliser une tablettes ou un Smartphone pour consulter mon site ou le XHTML 1.0 strict (histoire de garder des bonnes habitudes de programmations). Après c'est selon les goûts et les couleurs de chacun.

Il faut savoir qu'il y a 3 grandes familles dans les Doctypes (sauf HTML5 et XHTML 1.1). strict : mode où votre page est codée en respectant les normes en vigueurs. transitional : mode qui est plus laxiste au niveau du codage, autorisant certaines habitudes de programmation qui sont utilisées par habitudes mais qui n'ont pas été reprises dans les normes en vigueurs. frameset: mode a éviter sauf si vous utilisez des frames pour le contenu de votre page

Notes de version

  • [18/11/2017] : Harmonisation de la page - Correction de liens

Auteurs et sources