Bonjour,
Tout d’abord,ton doctype (document type declaration) est incomplet/incorect.
Les doctype HTML 4.01 exacts sont :
<!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">
Seuls les deux premiers ont une importance. Le dernier est utilisé pour des pages comportant des frames, ce qui est une technique complètement dépréciée. Le doctype Strict est plus restrictif que le doctype Transitional (balises HTML obligatoirement en minuscules, par exemple).
Pour faire court, les doctypes spécifient le lexique (les balises) et la syntaxe à employer dans la page (X)HTML qui les contient, qui sont définis dans une DTD (document type definition). Les doctypes HTML 4.01 et antérieurs et XHTML comportent donc une URL vers ladite DTD.
Ça ne sert plus à rien puisque les navigateurs intègrent les DTD, mais c’est comme ça, et si tes doctypes ne sont pas corrects, ta page sera déclarée non valide par les validateurs HTML.
Plus grave, un doctype incomplet ou carrément erroné peut générer des différences de rendu (et notamment de dimensions) dans certains navigateurs et versions de navigateurs, variables d’un navigateur à l’autre (en fait d’un moteur de rendu à l’autre). On appelle ça le mode Quirks, par opposition au mode Standard, en principe commun à tous les navigateurs, mais ce point peut devoir être actualisé.
En résumé si tu utilises les balises HTML5, ton doctype HTML 4.01 (de surcroît incorrect) ne convient normalement ni à tes balises ni à leur syntaxe. Je te conseille donc de le remplacer par un doctype HTML5. Ceci dit, tu pourras te retrouver avec des différences de rendu ou être amené à revoir la syntaxe de certaines balises (par exemple, en HTML5, la balise <a></a> peut inclure des balises de type block.
Enfin, je t’invite à revoir la site des balises HTML5 et leur syntaxe : si tu t’est trompé sur un doctype, tu devrais peut-être revoir tes connaissances sur ces points.
Et, point de détail, parler de “première ligne” de code n’a pas beaucoup de sens. Tu pourrais supprimer tous les sauts de ligne de ta page et avoir tout ton code sur la première ligne.
Des liens :
http://www.pompage.net/traduction/le-doctype-qu-il-vous-faut
http://www.alsacreations.com/article/lire/560-dtd-doctype-html-xhtml-comment-choisir.html
https://www.lesintegristes.net/2008/04/06/que-se-passe-t-il-en-mode-quirks-traduction/
Bonne continuation.
Modifié par thierry (23 Oct 2016 - 18:50)