Squelette de page HTML

Nous allons maintenant créer pour de vrai une page XHTML. Ouvrez un éditeur de texte, et recopiez le code suivant (vous pouvez aussi télécharger ce fichier).

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Ceci se passe de commentaire.
-->
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <meta http-equiv="Content-Language" content="fr" />
 <meta name="author" content="Marc Glisse" />
 <title>
  Squelette
 </title>
</head>
<body>
<p>
Allez dans <code>Fichier&rarr;Enregistrer sous</code>, pour t&eacute;l&eacute;charger ce fichier.
</p>
<hr />
</body>
</html>

Nous allons pour commencer essayer de comprendre ce que signifie tout cela. Les deux premières lignes servent à indiquer le type du document, à savoir ici du XHTML. La syntaxe exacte n'est pas très intéressante, il vous suffira de recopier la même chose au début de chaque nouvelle page. Si nous avions voulu écrire une page en HTML, nous aurions écris à la place :

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
	"http://www.w3.org/TR/html4/strict.dtd">

Dans certains cas, vous trouverez avant même la déclaration du DOCTYPE une ligne de ce style :

<?xml version="1.0" encoding="UTF-8"?>

Elle est utile, mais elle perturbe beaucoup internet explorer, et nous devrons donc nous en passer.

Nous en arrivons maintenant à la partie intéressante, le XHTML lui-même. Il a une structure d'arbre, avec des éléments emboités les uns dans les autres. Les choses de la forme : <truc> sont appelées des balises (ou tags, si on veut parler franglais). <truc> et </truc> indiquent le début et la fin d'un élément truc. On voit donc ici que notre page est un gros élément html, qui commence par un élément head et continue avec un élément body. L'élément head (pour header, ce qui est au début) sert à donner des indications générales sur la page. On peut y indiquer l'auteur de la page, la langue (ainsi quand on demande à Google des pages en français, il risque moins de se tromper), on y mettra plus tard des indications sur comment rendre la page (couleurs, alignement, taille), et c'est là qu'on met l'élément title, avec le titre de la page, qui pourra par exemple apparaître dans la barre de titre (en haut de la fenêtre) de certains navigateurs.

L'essentiel du contenu se situe dans l'élément body. Il contient ici un élément p (paragraph), qui contient lui-même du texte et un élément code. Il contient aussi un élément hr (horizontal rule, trait horizontal). Cet élément ne se présente pas comme ceux que nous venons de voir. En effet, il n'y a rien à mettre dans un élément hr, cela n'aurait donc pas de sens de l'ouvrir pour devoir la refermer immédiatement. On utilise donc une balise avec un / final, pour indiquer que l'élément est entièrement contenu dans la balise. Vous pouvez y penser comme à un raccourci pour <hr></hr> (syntaxe à éviter). Notez qu'en HTML, cette syntaxe n'existe pas, et on utilise donc simplement <hr>, sans refermer.

Autre chose à remarquer ici, les accents ont été écrits sous formes d'entités. Une entité, de la forme &truc; (ne pas oublier le ; final), représente un caractère. La liste des entités est définie ici. On aurait aussi pu écrire directement un é dans le fichier, c'est d'ailleurs à permettre ceci que servent toutes les indications charset et encoding au début du fichier (un fichier est une succession de 1 et de 0, et il faut expliquer au navigateur comment faire correspondre ça avec des caractères. Pour les caractères ascii (non accentués), c'est assez standardisé (et encore), mais pour les autres, il faut préciser. Les entités permettent de décrire en caractères ascii (donc avec peu de risques d'erreur) des caractères plus compliqués). Une autre façon d'entrer un caractère est de donner son numéro dans la liste des caractères existants (standardisée par unicode) : &#x6C34; va afficher : 水 (vous devriez voir un caractère chinois pour l'eau). Cette méthode est plus complète, mais il est assez pénible de devoir retenir ou retrouver tous ces numéros. Il existe des caractères qui ont une signification particulière en html, et qu'on ne peut pas utiliser directement, en particulier < > et &. On retiendra donc en particulier que ces caractères s'obtiennent par : &lt; &gt; et &amp; (donc pour afficher &amp; j'ai dû écrire : &amp;amp;).

Regardons maintenant les lignes avec les éléments meta. Je ne détaillerais pas la signification exacte de tous ces éléments, mais on remarque surtout que la balise ouvrante (qui se trouve être aussi fermante, mais cela marcherait de la même façon pour d'autres types d'éléments délimités par 2 balises) contient autre chose que le type de l'élément. Ces informations supplémentaires sont appelées des attributs. Dans le troisième élément meta, on a un attribut de nom name et de valeur author.

Pour finir, remarquons que ce qui est écrit entre : <!-- et --> est ignoré par le navigateur. Il s'agit de commentaires. Il peut-être utile d'en mettre pour se souvenir plus tard que l'on voulait rajouter un paragraphe à tel endroit, ou pour enlever provisoirement une partie de la page qui n'est pas d'actualité mais risque de le redevenir. Attention cependant à ne pas mettre de choses confidentielles dans les commentaires, et à ne pas en mettre trop (cela augmente la quantité de données à télécharger).

Valid XHTML 1.0 Strict