Doctype – Standardisation Des navigateurs

8 juillet 2008 par: Benoit Bonneville

Le DOCTYPE est la solution adoptée par les navigateurs web pour se mettre d accord sur les standard, recommandés par le W3C.

Un Doctype est une balise qui se place au début d’un fichier HTML/XHTML qui permet d’expliquer au navigateur comment afficher le code de la page web.

Cette Balise est très loin d’être inutile

Les Navigateurs Web tels qu’Internet Explorer ne respectaient pas les normes W3C dans leurs ancienne versions.
Quand il chargent une page HTML sans DOCTYPE imposé, ils générerons une affichage selon leur propre standard.
Si vous précisez le DOCTYPE en début de page, alors ils respecterons les normes W3C (ou presque).

NB: le DOCTYPE est supporté a partir de la version 6.0, ce qui représente la majeur partie du parc des navigateurs Internet Explorer (cf article à venir)

Les différents DOCTYPEs

Les DOCTYPE, se décomposent en 2 éléments principaux:

  • La version du langage
# HTML 4.01
# XHTML 1.0
  • la norme utilisée
# Strict => Respect Maximal de la norme W3C
# Transitionnal => Respect avec les éléments dépréciées (abandonnées)
# Frameset =>Presque comme Transitionnal

Les détails pour les normes : disponible ici

Lequel choisir :

Je vous invite donc à travailler avec la dernière version et en mode Strict.
( à moins que votre page est déjà été optimisé pour du HTML plus vieux que du 4, ou avec d’ancien élément)

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

(il existe aussi un XHTML 1.1, qui est toujours Strict)

Voici quand même la liste du w3school

Quel est l’impact réel sur mes pages ?

Si vous douter de l’utilité du DOCTYPE c’est que vous n’avez pas jamais essayer de mettre daccord des navigateurs sur une même page web.
Un exemple parmi tant d’autre est le centrage du premier bloc de la page.

  • Sous la majorité des navigateurs vous pouvez utiliser la propriété css margin avec comme valeur auto pour obtenir le centrage
  • Sous internet explorer 6.0, vous devez ajouter a la balise <body> la propriété css : text-align avec comme valeur center

De même avec le langage Javascript.
Ce comparatif n’est plus valide si vous n’indiquez pas le DOCTYPE.
(Ne me demandez pas le détails de chacune des méthodes en fonction des DOCTYPEs)

Un article intéressant sur le sujet, bien que long, allez directement à la fin

Mise à Jour du 23 Oct 2008 :
Site Web intéressant sur le sujet : http://www.quirksmode.org/ qui compare les différentes comportement entre les différents navigateurs des différentes propriétés :

Attention

  • La navigation sur ce site est tout simplement horrible (même Google peine à l’indexer)
  • Certaines informations ne sont pas assez détaillé, nottamenent lors des valeurs Incorrect qui peuvent parfois etre corriger ou utiliser une fonction alternative.

Dans l’ensemble il donne une bonne idée des fonctionnalités disponibles. C’est à dire si le navigateur a essayer de les implémenter ou pas du tout.

Filed under: Développement

Répondre