Pays-Froid.Net

Qu'est ce que Pays-Froid.Net

XHTML - Les Doctypes

Les Tutoriaux du HTML et ses dérivés

XHTML - Les Doctypes

Messagede Patoch le 05 Avr 2007 23:42

Hey les pinguins :)


Je vous propose un tutorial original sur les doctypes. Ce n'est pas très difficile mais apprenez les, ça peut être utile pour eviter les erreurs W3C sur votre site Web.



I - Initiation aux Doctypes

On parle de 'Doctype' pour faire court. Il s'agit en fait d'une ligne de déclaration du type de document. La ligne est placée en début du fichier HTML. Elle indique au navigateur dans quel type de HTML la page a été codé (HTML-3.2 «classique», HTML-4 de transition ou strict, XHTML, etc...). Cette ligne ressemble à ce code :


Code: Tout sélectionner
<!DOCTYPE HTML PUBLIC   "type_de_HTML"   "adresse_de_DTD">



:arrow: type_de_HTML est l'identificateur de la version du HTML utilisé.
:arrow: adresse_de_DTD donne l'URL de la «document type declaration» (DTD), à savoir un document spécifiant les propriétés de chaque élément, balises et attributs, de ce type de HTML.


Par exemple, on aura :

Code: Tout sélectionner
<!DOCTYPE HTML PUBLIC  "-//W3C//DTD HTML 4.0 Transitional//EN"
      "http://www.w3.org/TR/html4/loose.dtd">


Ces doctypes sont généralement mis en place par l'éditeur HTML utilisé. Si vous codez votre site web vous même, il n'y aura donc aucune question à se poser.



II - Pourquoi mettre un Doctype ?

Tout d'abord, lors de la déclaration du Doctype, W3C pourra validé (ou non) votre site. Sans le Doctype, il vous mettra un petit message d'erreur. La plus part d'entre vous mettrons ce code sans réellement savoir de quoi il en retourne.

Cette ligne n'est prise en compte que par les navigateurs récents comme Firefox, Opera7, IE6 ou plus. Le navigateur se casse moins la tête à tout déchiffrer : il ne prendra pas en compte les balises qui ne sont plus valides. La tache est donc plus simple pour le navigateur :).

Sans doctype, le navigateur va tout interpréter. Les codes non-valides vont poser un problème. Le navigateur va donc chercher à l'interpreter grâce aux versions antérieures du HTML ou à des habitudes qui se sont mises en place dans les premiers navigateurs sans trop tenir compte de la norme internationale de l'époque. Il est donc possible que l'affichage du site soit légerement modifié.



III - Internet Explorer : un cas à part

En règle général, lorsqu'un site a été validé par W3C, on pourrait enlever la doctype : les navigateurs (IE exclu) interprèteraient le site de la même manière qu'avec le Doctype.

Mais Internet Explorer met le bazar ! Il arrive de temps en temps que cette interprétation change la disposition des boîtes de votre site Web. En effet, les attributs width et height sont interprétés autrement. La dimension des boîtes peuvent changer en passant de Mozila à IE.



IV - Les doctypes possibles
1 - HTML 4.01
Code: Tout sélectionner
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd">


2 - xHTML 1.0
Code: Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">




V - Je choisi quel Doctype ?
1 - HTML 4.01 transitional
:arrow: Le document est du HTML : il ne peut pas être traité comme du XML.
:arrow: Pas de balises propriétaires (<marquee>, <embed>, etc).
:arrow: La fermeture des balises area, dt, dd, p, li, thead, tfoot, colgroup, col, tr, th et td est optionnelle.
:arrow: Les balises peuvent être écrites en majuscules ou en minuscules.
:arrow: Pour les valeurs des attributs HTML, les guillemets peuvent être omis.
:arrow: Les attributs peuvent être minimalisés : on écrit <OPTION selected> au lieu de <OPTION selected="selected">.
:arrow: L'attribut target des liens est autorisé.
:arrow: Les éléments IFRAME sont autorisés (mais pas FRAMESET ni FRAME).
:arrow: Les attributs et éléments de présentation suivants sont autorisés :
Eléments : BASEFONT et FONT.
Eléments : CENTER, U, STRIKE et S.
Attributs : ALINK, BACKGROUND, BGCOLOR, LINK, VLINK, TEXT de l'élément BODY.
Attributs : BGCOLOR, HEIGHT, NOWRAP, WIDTH des éléments internes de tableaux.
Attributs : BORDER, HSPACE, VSPACE des images et objets.
Attributs : CLEAR, NOSHADE, SIZE, WIDTH des lignes de séparation HR.
Attributs : COMPACT, TYPE des éléments de liste, et attributs START, VALUE des listes numérotées.
Attribut : WIDTH de l'élément PRE.



2 - HTML 4.01 strict
:arrow: Le document est du HTML : il ne peut pas être traité comme du XML.
:arrow: Pas de balises propriétaires (<marquee>, <embed>, etc).
:arrow: La fermeture des balises area, dt, dd, p, li, thead, tfoot, colgroup, col, tr, th et td est optionnelle.
:arrow: Les balises peuvent être écrites en majuscules ou en minuscules.
:arrow: Pour les valeurs des attributs HTML, les guillemets peuvent être omis.
:arrow: Les attributs peuvent être minimalisés : on écrit <OPTION selected> au lieu de <OPTION selected="selected">.

Mais :
:arrow: Les attributs et éléments de présentation précédents ne sont plus autorisés. Ils doivent être dans un CSS.
:arrow: L'attribut target des liens n'est pas autorisé.
:arrow: Les IFRAME ne sont pas autorisés (ni FRAMESET et FRAME).



3 - HTML 4.01 frameset
Les règles sont identiques à HTML4.01 transitionnal, mais l'élément BODY n'existe plus. Il est remplacé par l'élément FRAMESET, qui contient les éléments FRAME.



4 - XHTML 1.0 transitional
Le document peut être traité comme du HTML (ce que vous allez faire en pratique) mais aussi comme du XML (IE bloque un peu dans ce domaine).

:arrow: Les balises propriétaires ne sont pas autorisées.
:arrow: Toutes les balises sans exceptions doivent être fermées.
:arrow: Toutes les balises et leurs attributs doivent être en minuscules.
:arrow: Les attributs ne peuvent plus être minimalisés : on ne peut plus écrire <option selected>. Il faut écrire uniquement <option selected="selected">.
:arrow: Les guillemets sont obligatoires autour de toutes les valeurs d’attributs.

Mais, exactement comme en HTML 4.01 transitionnal, on a :
:arrow: L'attribut target des liens est autorisé.
:arrow: Les éléments iframe sont autorisés (mais pas frameset ni frame).
:arrow: Les attributs et éléments de présentation suivants sont autorisés :
Eléments : basefont et font.
Eléments : center, u, strike et s.
Attributs : alink, background, bgcolor, link, vlink, text de l'élément body.
Attributs : bgcolor, height, nowrap, width des éléments internes de tableaux.
Attributs : border, hspace, vspace des images et objets.
Attributs : clear, noshade, size, width des lignes de séparation HR.
Attributs : compact, type des éléments de liste, et attributs start, value des listes numérotées.
Attribut : width de l'élément pre.



5 - XHTML 1.0 strict
Le document peut être traité comme du HTML (ce que vous allez faire en pratique) mais aussi comme du XML (IE bloque un peu dans ce domaine).

:arrow: Les balises propriétaires ne sont pas autorisées.
:arrow: Toutes les balises sans exceptions doivent être fermées.
:arrow: Toutes les balises et leurs attributs doivent être en minuscules.
:arrow: Les attributs ne peuvent plus être minimalisés : on ne peut plus écrire <option selected>. Il faut écrire uniquement <option selected="selected">.
:arrow: Les guillemets sont obligatoires autour de toutes les valeurs d’attributs.

Mais, à l’inverse du XHTML 1.0 transitionnal, et exactement comme en HTML 4.01 Strict :
:arrow: Les attributs et éléments de présentation précédents ne sont plus autorisés. Ils doivent être dans un CSS.
:arrow: L'attribut target des liens n'est pas autorisé.
:arrow: Les iframe ne sont pas autorisés (ni frameset et frame).



6 - XHTML 1.0 framset
Les règles sont identiques à XHTML 1.0 transitionnal, mais l'élément BODY n'existe plus. Il est remplacé par l'élément FRAMESET, qui contient les éléments FRAME.



7 - Conclusion
Si vous utilisez des iframe ou un attribut target, Utilisez XHTML 1.0 transitional.
Si vous voulez utiliser les frameset et frame : utilisez la DTD XHTML 1.0 frameset.
Sinon vous pourrez utiliser du XHTML 1.0 strict.


Le XHTML1.0 n'est pas plus difficile à apprendre que le HTML 4.01, au contraire : la syntaxe rigoureuse limite les risques d'erreurs.

En effet, le XHTML 1.0 est souvent préférable.



Lien utile : WC3


J'espère que ce tutorial vous permettra de comprendre ce qu'est un Doctype et à quoi il sert :P.
Dernière édition par Patoch le 23 Aoû 2007 18:12, édité 6 fois.
Avatar de l’utilisateur
Patoch
Administrateur
Administrateur
 
Messages: 1343
Inscription: 13 Nov 2006 1:53
Localisation: Sur la Banquise

Messagede Univ-paris12 le 06 Avr 2007 13:37

J'attends la suite avec impatience :P
Univ-paris12
Bébé Pinguin
Bébé Pinguin
 
Messages: 36
Inscription: 30 Nov 2006 12:16

Messagede Patoch le 09 Avr 2007 18:14

Tutorial fini :)
J'ai oublié quelque chose ?
Image
Image
Avatar de l’utilisateur
Patoch
Administrateur
Administrateur
 
Messages: 1343
Inscription: 13 Nov 2006 1:53
Localisation: Sur la Banquise

Messagede Geoffroy le 10 Avr 2007 9:00

non, je coris pas, mais c'est un très bon tuto, je n'avais jamais compris ce que c'est tous ça, mais maintenant c'est fait!
TIMTOWTDI
Avatar de l’utilisateur
Geoffroy
Crazy Pinguin
Crazy Pinguin
 
Messages: 1332
Inscription: 20 Jan 2007 23:11

Messagede Patoch le 25 Avr 2007 1:12

Validé. Je déplace ;)
Image
Image
Avatar de l’utilisateur
Patoch
Administrateur
Administrateur
 
Messages: 1343
Inscription: 13 Nov 2006 1:53
Localisation: Sur la Banquise

Messagede Geoffroy le 25 Avr 2007 6:13

pouruqoi t'a mis ca dans webdesign?
je comrpend pas torp la!
TIMTOWTDI
Avatar de l’utilisateur
Geoffroy
Crazy Pinguin
Crazy Pinguin
 
Messages: 1332
Inscription: 20 Jan 2007 23:11

Messagede Patoch le 25 Avr 2007 19:07

La fatigue lol
Je redeplace :)
Image
Image
Avatar de l’utilisateur
Patoch
Administrateur
Administrateur
 
Messages: 1343
Inscription: 13 Nov 2006 1:53
Localisation: Sur la Banquise

Messagede Geoffroy le 25 Avr 2007 22:07

ouai, c'est mieux la je crois!!! :)
TIMTOWTDI
Avatar de l’utilisateur
Geoffroy
Crazy Pinguin
Crazy Pinguin
 
Messages: 1332
Inscription: 20 Jan 2007 23:11

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

cron

Copyright © Pays-Froid.Net

Nous contacter | Notre Histoire | Plan du site | Nos partenaires | Mentions légales | Fil RSS | XHTML 1.0 | CSS 2.0

Partenaire : Waliwaloo - Darklg - Yagoort - Meilleur du Web - Hit Parade