Retour à la page d'accueil L'atelier

  

N°CD-032 - Le code source de chaque page débute par un déclaration de type de document (doctype) dont la syntaxe est conforme à celles recommandées par le W3C - Niveau 1 - Rubrique : Code - Sous-rubrique : Sémantique

Noter :
  • (Moyenne : 4.2, 5 votants)

  

Objectifs

Faciliter la validation du code source et favoriser un rendu prévisible quelque-soit le navigateur (en mode de rendu strict pour les moteurs de rendu CSS)

Mise en Oeuvre

  • Placer la DTD en début de code source (elle ne doit être précédée d'aucun commentaire, balisage ou prologue XML)
  • Utiliser uniquement une DTD indiquée dans http://www.w3.org/QA/2002/04/valid-dtd-list.html 

Vérification

Vérifier la présence en début de code source d'une DTD telle que recommandée par http://www.w3.org/QA/2002/04/valid-dtd-list.html 

Liens

Tags

Technique

Cette bonne pratique a été vérouillée par les modérateurs.

Voir les 9 commentaires archivés

  

Laurent Denis - 05/01/2010 18:09 (0 réponse(s))

BP renommée suite aux remarques de Jérémie (et à quelques discussions).

Jérémie P. - 04/01/2010 15:11 (1 réponse(s))

Je me permet une petite subtilité de reformulation car le W3C propose beaucoup de langage différents (rien que pour HTML4 il y en à deux ;)). Je propose donc de modifier "à la syntaxe" par "une syntaxe" :

{Le code source de toutes les pages débute par une déclaration de type de
document (doctype) conforme une syntaxe définie par le W3C}

Ou alors, si on veux garder la formulation sur la base d'une syntaxe unique, il faut désambiguïsé le contexte. Peut-être de cette manière : {Le code source de chaque pages débute par une déclaration de type de
document (doctype) conforme à la syntaxe du langage utilisé pour cette page tel que définie par le W3C}

Laurent Denis - 04/01/2010 15:51 (1 réponse(s))

Je crois qu'il y a un malentendu. Ce qui est visé, c'est la conformité de la syntaxe de la DTD aux syntaxes recommandées dans http://www.w3.org/QA/2002/04/valid-dtd-list.html . Celle-ci est unique pour chaque déclinaison du HTML et du XHTML1.0, d'où le "la".

Jérémie P. - 04/01/2010 16:11 (1 réponse(s))

Oui, je me doutait bien que c'était ça, et je ne suis pas sur que ça change ce que j'ai proposé. Je vais préciser une peu plus.

Dans sa formulation actuel, la BP laisse entendre que toute les pages répondent à la même syntaxe. Or, rien n'empêche d'avoir par exemple des pages en XHTML 1 strict et transitionnal sur un même site ou même d'avoir une ou deux page en XHTML avec la syntaxe incluant SVG alors que tous le reste du site est en HTML 4.

Donc, ma reformulation vise à supprimé cette ambiguïté : soit on parle de toute les pages et dans ce cas la c'est "une" syntaxe (potentiellement différente pour chaque page) et pas "la" syntaxe ('la" donnant une impression d'absolue alors que ce n'est pas le cas) ; soit on parle de chaque page, mais cela risque de donner une formulation un peu lourde comme ma deuxième proposition.

Laurent Denis - 04/01/2010 16:35 (2 réponse(s))

Ah, je vois mieux en effet.

Remplacer "définie" par "recommandée" serait déjà une correction plus évidente, non ?

Élie Sloïm - 04/01/2010 16:45 (0 réponse(s))

Proposition :
{Le code source de chaque page débute par une déclaration de type de document (doctype) conforme à l'une des syntaxes recommandées par le W3C}

Jérémie P. - 04/01/2010 16:51 (1 réponse(s))

Aaaah je vois ou se trouvait l'incompréhension... quand on parle de syntaxe ici, on parle de la syntaxe de rédaction de l'appel à la DTD. C'est ça ? Je croyait qu'on parlait de la syntaxe du langage employé sur les pages. Effectivement, dans ce cas, je comprend mieux la BP original.

Dans ce cas, je couperai cette BP en deux :

1. {Le code source de toutes les pages débute par une déclaration de type de
document (doctype)}
2. {La syntaxe de toute déclaration de type de document (doctype) suit celle recommandé par le W3C}

Sinon, si on reste sur la base d'une seul BP :

{Le code source de chaque page débute par un déclaration de type de document (doctype) conforme à celles recommandées par le W3C} ?
Avec cette formulation, on supprime le mot "syntaxe" qui est source d'ambiguïté.

Qu'est ce que tu en penses ?

Laurent Denis - 04/01/2010 16:56 (2 réponse(s))

pas du bien ;-)

Le W3C ne recommande pas de DTD (ou disons que les BP n'entrent pas dans le débat XHTML1.0 v. HTML4.01 par exemple).

C'est bien la syntaxe de la DTD (Déclaration et non Définition) qui est visée.

Laurent Denis - 04/01/2010 17:01 (1 réponse(s))

Zut, commentaire coupé, sorry. Je le termine :

En écrivant "déclaration... conforme", on ne lèvera pas vraiment, je crois, l'ambiguïté pour la plupart des gens. En écrivant que la Déclaration est conforme à la syntaxe, et avec un champ de mise en oeuvre renvoyant à la page citée ci-dessus, on s'en approchera plus.

{Le code source de chaque page débute par un déclaration de type de document (doctype) dont la syntaxe est conforme à celles recommandées par le W3C}

Jérémie P. - 04/01/2010 17:19 (0 réponse(s))

Ah oui, cette formulation me plait beaucoup plus.

Ceci dit, je réitère ma question sur la valeur ajouté sur le respect de la syntaxe de déclaration de mon commentaire précédent.

Jérémie P. - 04/01/2010 17:16 (1 réponse(s))

C'est un peu pénible cette discutions par message... j'ai l'impression qu'on est d'accord en faisant croire qu'on ne l'ai pas... bref, je suis tout à fait d'accord pour dire qu'une BP ne va pas recommander un syntaxe de document. Par contre, effectivement, si on déclare une DTD autant que ce soit de la façon qui est préconisé par la QA Team du W3C.

De mon coté, j'étais plus focalisé sur l'adéquation entre la déclaration de la DTD et l'utilisation réel de la grammaire déclaré.

Quoi qu'il en soit, je trouve que le mot syntaxe est ici porteur d'une grosse ambiguïté, et ce serait peut être bienvenu de s'en séparer. Ou alors on pourrait faire un gros truc bien lourd du genre : {Le code source de toutes les pages débute par une déclaration de type de
document (doctype) conforme à la syntaxe de déclaration de type de document recommandé par le W3C}

En version plus light, ça pourrait donner : {La syntaxe des déclarations de type de document (doctype) suit les recommandations du W3C}

Je reste persuadé qu'il faut dissocié d'une part le respect de la syntaxe de la déclaration des DTD et d'autre part le fait que chaque page débute par une déclaration de DTD.

Ceci me pousse d'ailleurs à poser une dernière question : C'est quoi la valeur ajouté exacte de cette BP pour l'utilisateur ? Je vois la valeur ajouté pour le systématise de la déclaration de DTD (éviter les modes quirks des navigateurs), mais je ne vois pas la valeur ajouté pour le respect de la syntaxe du W3C (oui, je sais, je joue un peu au con là... mais c'est quand même une vraie question).

Laurent Denis - 04/01/2010 17:48 (1 réponse(s))

vendu pour {La syntaxe des déclarations de type de document (doctype) suit les recommandations du W3C}

La valeur ajoutée pour l'utilisateur (d'un navigateur inattendu) est qu'il ne bascule pas dans les effets inattendus de son mode quirks, en effet. Ce n'est pas imparable, car certaines de ces syntaxes peuvent déclencher le mode quirks, mais cela couvre déjà bon nombre de cas.

Élie Sloïm - 04/01/2010 20:12 (1 réponse(s))

Cette dernière formulation fait perdre la nation de "débute par". Or, il me semble que c'est un point important. Votre avis?

Jérémie P. - 04/01/2010 20:43 (2 réponse(s))

Je suis d'accord sur le fait que la position du doctype est importante dans la page (en particulier avec IE). Mon point de vue, c'est qu'il faut une BP pour la syntaxe de la déclaration (ce qu'on à fait ici) et une BP spécifique pour le positionnement du doctype.

Si on suie la logique unitaire des BP, ce sont deux point à contrôler séparément qui n'influencent pas nécessairement l'un sur l'autre.

Élie Sloïm - 04/01/2010 20:58 (0 réponse(s))

Je suis d'accord

Élie Sloïm - 04/01/2010 20:59 (0 réponse(s))

et non seulement je suis d'accord, mais demain, on en cause avec Laurent et on repart avec deux formulations aux petits oignons. Maintenant, va ronger une autre BP ;-)
Ou sinon, trouve une BP qui permette de limiter le poids des pages :-D