Cela fait partie des premières lignes que contient toute page HTML qui se respecte, pourtant c'est loin d'être la chose la plus facile à appréhender . Je parle
bien sure
des DTDs.
Pour résumer, le DTD n'est qu'un liens vers un document de spécification. Pour le HTML, c'est le W3C qui fait loi dans ce domaine. En effet ce groupe de travail est à l'origine de la normalisation du web. Pourtant, il n'est pas interdit de créer son propre DTD (c'est un peu compliqué et demandes des notions assez poussées en SGML), mais cela semble peu souhaitable, en effet le web a déjà beaucoup de mal à utiliser les standards sans que chaqu'un crée ses propres normes.
C'est pourquoi je propose cette galerie de DTD.
<!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 XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
Personnellement je commence la plupart de mes projets en HTML transitionnel, cela me permet de coder sans faire trop d'erreur, il me suffit souvent d'une simple vérification avant de publier un projet.
Vous pouvez utiliser ce validateur.
En effet le HTML strict est plus exigeant. Après le publication, je prend mon temps pour le passage en strict.
HTML transitionel=>HTML Strict(=>XHTML strict) ou HTML transitionel=>XHTML transitionel =>XHTML strict.
Le passage en XHTML, n'est essentiel que lors de l'intégration de site dans un flux de données XML. Je le fait que dans une optique didactique en prévoyance de technologie utilisant XML
Toujours situé dans le header, le jeu de
caractère est un élément essentiel pour une "bonne page" HTML.
Attention, il faut que votre éditeur puisse enregistrer avec ce jeu de caractère.
En voici quelques exemples.
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-15" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
Le jeu de caractère le plus logique à utiliser pour le français est le "latin enrichi" car il possède tous les caractères nécessaires à notre langue.
Malheureusement il n'est pas toujours bien reconnu par les navigateurs. Une autre bonne solution est d'utiliser le latin-1 et d'encoder les caractères spéciaux.
<meta http-equiv="Content-Language" content="fr,en" />
Tableau récapitulatif de DTDs par rapport au navigateur par Henri Sivonen
Différences des DTDs, article de Open web
Encore Open web pour une explication des jeux de caractères