Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Qu'est-ce que c'est ?
Un
DOCTYPE est en fait, dans un langage français, une
déclaration du type de document.
Vous savez que vous écrivez votre page Web en HTML ou en XHTML.
Eh bien maintenant sachez qu'il existe plusieurs versions de l'HTML ou de l'XHTML.
Le
DOCTYPE permet justement de spécifier, à l'attention du navigateur, la version de l'HTML ou de l'XHTML utilisée par les pages Web que vous avez créées.
Il se présente sous cette forme :
Code : HTML1 | <!DOCTYPE HTML PUBLIC "type_de_HTML" "adresse_de_DTD">
|
où
- "type_de_HTML" est la version utilisée de l'HTML
- "adresse_de_DTD" est l'url de la DTD utilisée. Une DTD fixe les règles du langage que vous utilisez.
Dans ce tuto, nous allons nous intéresser plus particulièrement au cas de l'XHTML, puisque c'est le balisage enseigné dans les cours présents sur ce site.
Les différentes versions du XHTML sont :
- XHTML 1.0 Strict
- XHTML 1.0 Transitional
- XHTML 1.0 Frameset
- XHTML 1.1
Nous allons les étudier plus en détail au cours de ce tuto.
A quoi ça sert ?
De votre point de vue, et celui du validateur
La plupart du temps, et pour la plupart d'entre vous, ça sert à valider vos pages Web.
Voici l'adresse du
validateur. Si elle n'est pas dans vos favoris, il va falloir y penser, et vite !
Le validateur n'accepte de valider vos pages que si le
DOCTYPE est présent en haut de la page. Et si elle est valide, vous recevrez le (Oh ! Joie !) message très connu :
C'est un exemple. Vous savez pertinemment que le XHTML 1.0 Strict n'est pas la seule forme de l'XHTML possible...
Ça semble logique quand on y réfléchit...
Comment voulez-vous que ce sacré validateur puisse essayer de valider votre page s'il ne connaît pas la version que vous utilisez ?
Du point de vue du navigateur
Le
DOCTYPE n'est pris en compte que par les navigateurs les plus récents (comme Mozilla, Firefox, Opera 7, IE5 sur Mac ou IE6 sur Windows).
A la base, il doit servir, lorsque le navigateur rencontre une instruction "illégale", c'est-à-dire non reconnue par le
DOCTYPE, à ignorer l'instruction.
Sans, le navigateur tente de donner un sens à l'instruction dite "illégale", en cherchant dans d'autres versions une équivalence, ou tout simplement en reconnaissant des habitudes de développeurs...
C'est pour cette raison, qu'en XHTML, lorsqu'on tape <img src="mon_image.jpg" alt="Mon image" > (notez l'absence de slash de fin), le navigateur comprend qu'il s'agit de l'équivalence de la balise <img /> en XHTML !
D'habitude, le navigateur ne s'en sort pas trop mal, car il n'y a pas eu de grand changement d'une version de l'HTML à une autre, bien que le résultat puisse légèrement différer.
Et voilà, vous pouvez maintenant savoir quel type de
DOCTYPE vous allez choisir !
XHTML 1.0
XHTML 1.0 Strict
Code : HTML1
2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
Ce
DOCTYPE (c'est celui que j'utilise généralement

) est utilisé par le Site du Zér0. C'est le XHTML enseigné dans les
cours Site Web du site.
C'est du XHTML pur, contrairement à l'XHTML
Transitional, c'est-à-dire qu'il ne gère que le contenu, et pas l'affichage.
XHTML 1.0 Transitional
Code : HTML1
2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
Ce
DOCTYPE permet d'utiliser en XHTML des balises qui gèrent l'affichage, comme
<b>,
<font>...
Il sert à faire la transition entre l'HTML et l'XHTML, pour les webmasters connaissant l'HTML et souhaitant se mettre au goût du jour, et passer à l'XHTML.
XHTML 1.0 Frameset
Code : HTML1
2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
Ce
DOCTYPE sert à utiliser les
frames en XHTML, car elles ne sont pas acceptées avec les deux
DOCTYPE du dessus... Mais bon, ce
DOCTYPE est à utiliser uniquement dans les cas extrêmes ; puisque vous aimez construire des sites accessibles, vous n'utilisez donc pas les
frames.
XHTML 1.1
Pour l'instant, il y en a qu'un seul !
XHTML 1.1
Code : HTML1
2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
Il y a seulement de petits changements par rapport à l'XHTML 1.0 Strict, qui le rapprochent encore plus de l'XML ou des recommandations du W3C, tout le monde n'est pas d'accord sur le sujet.
- Sur tous les éléments, l'attribut lang a été éliminé en faveur de l'attribut xml:lang.
- Sur les éléments a et map, l'attribut name a été effacé en faveur de l'attribut id.
- La collection "ruby" d'éléments a été ajoutée.