Structure et principes de base

1. Les briques : balises et attributs, commentaires

a. Balises
Les briques élémentaires d'un document HTML sont les balises, dotées ou non d'attributs. Ces balises permettent de structurer l'information. Une balise, sauf exceptions, s'ouvre et se ferme. Par exemple, pour déclarer un paragraphe, on écrira...
<p>Ceci est un paragraphe.</p>
Il est possible également de déclarer un texte souligné :
<p><u>Ceci est un paragraphe souligné.</u></p>
Le navigateur ne fera pas apparaître les balises (ou tags ou marqueurs) <p>, </p>, <u> ou </u> mais interprètera leurs effets. Le deuxième exemple apparaît comme suit : 





La balise est le moyen de communiquer avec le navigateur. Elle apparaît entre les caractères réservés < et >.
b. Attributs
Par exemple,
<p align="right">Ceci est un paragraphe aligné à droite.</p>
a pour effet... d'aligner le texte à droite.
La syntaxe utilisée est la suivante :
<balise attribut1="valeur1" attribut2="valeur2" attribut3="valeur3">blabla</balise>
Le séparateur est un espace, l'ordre n'a pas d'importance. La valeur de l'attribut doit être tapée en minuscules, et mise entre guillemets (pour des raisons de compatibilité XHTML). Certains navigateurs acceptent une écriture sous la forme align=Right, par exemple, mais cela n'est pas conforme aux recommandations du W3C, et les navigateurs récents ne sont pas tenus de respecter cette syntaxe.
Les attributs permettent de modifier le comportement par défaut d'une balise, ou bien de spécifier des informations indispensables (comme l'adresse d'une image intégrée à la page, ou bien celle d'un lien externe).
Enfin, l'ordre dans lequel les attributs sont écrits n'a pas d'importance.
c. Commentaires
Indispensables dans certains cas, ils alourdissent cependant le temps de chargement d'une page. Ils n'apparaissent pas dans la fenêtre du navigateur. La syntaxe est la suivante :
<!-- Commentaire -->

2. Les parties d'un document HTML

Voici par exemple un document HTML minimal :
<html>
  <head>
    <title>Premiers pas</title>
  </head>
  <body>
    <p>Bonjour tout le monde!</p>
  </body>
</html>
Les deux parties fondamentales d'un document HTML sont l'entête (head) et le corps (body). Nous allons les voir séparément par la suite...
b. Caractères spéciaux
Le langage donne la possibilité de pouvoir afficher à l'écran des caractères qui soit ne peuvent pas être directement saisis au clavier, soit n'existent pas dans l'encodage choisi. Il faut faire appel pour cela à des entités numériques ou alphabétiques (définies afin de faciliterc la vie des codeurs...). Par exemple, un caractère "espace insécable" se code indiféremment par &nbsp;, ou bien par &#160;.
Les entités permettent d'avoir accès à des caractères qui ont un sens en HTML. Ces caractères sont :
Caractère Entité
< &lt;
> &gt;
& &amp;
Table 2. Tableau de correspondances entre les entités et les caractères réservés en HTML.
D'autres entités renvoient à des caractères spéciaux :
Caractère Entité Caractère Entité
à &agrave; â &acirc;
ä &auml; æ &aelig;
é &eacute; è &egrave;
ê &ecirc; ë &euml;
ù &ugrave; û &ucirc;
ü &uuml; ö &ouml;
ï &iuml; î &icirc;
ç &ccedil; œ &oelig;
Table 3. Principales entités de caractères utilisées en français. Il est également possible d'utiliser des accents sur des majuscules. Par exemple, l'entité &Aagrave; renvoie au caractère À.

3. L'entête

a. Élément title
Le contenu de la balise <title> est le titre du document HTML : ce titre est affiché dans la barre de titre du navigateur.
b. Élément meta
La balise <meta> permet de donner des "méta-informations" sur le document. On écrira ainsi, par exemple :
<meta name="author" content="G. Chagnon">
<meta name="keywords" content="HTML, initiation">
<meta name="description" content="Cette page fournit une introduction au langage HTML">
<meta name="date" content="2003-09-19T16:55:37+01:00">
Il est possible également de transmettre des données au navigateur via le protocole HTTP :
<meta http-equiv="Expires" content="Sat, 11 Oct 2003 07:30:27 GMT">
L'exemple précédent indique au navigateur quand il lui sera nécessaire de rafraîchir le contenu de son cache, au cas où l'internaute décide de revisiter la page.
c. Élément script
Cette balise permet d'introduire un script (un petit programme permettant l'utilisation d'effets dynamiques dans la page). Elle admet un attribut "requis", type, qui indique son... type (par exemple, type="text/javascript"). L'attribut language est obsolète. Cette balise admet d'autres attributs, comme src, qui indique la localisation sur le Web du fichier où se trouve le script (ce que l'on appelle l'URL).
d. Encodage des caractères
Les fichiers, sur une unité de mémoire comme un disque dur, sont enregistrés comme des suites de 0 et de 1. Ces suites sont organisées en séquences (par exemple d'un octet), et chaque séquence est associée à un encodage de caractères. Cet encodage est une relation univoque entre une suite de 0 et de 1 d'une part, et un caractère d'autre part. Or les capacités des disques durs sont limitées ; il a donc fallu limiter en retour le nombre de 0 et de 1 par séquence représentative de caractère. Comme le nombre total de caractères à représenter dans les langues écrites sur Terre est bien supérieur au nombre de combinaisons possibles de ces suites de 0 et de 1, une même suite peut être interprétée de plusieurs manières. C'est la raison pour laquelle il est impératif de mentionner explicitement l'encodage de caractères utilisé lors de la sauvegarde du fichier dans l'entête du fichier HTML ; faute de quoi, on court le risque que les caractères comme les accents par exemple soient affichés dans un autre alphabet. Cela est réalisé à l'aide de l'élément meta :
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
D'autres valeurs d'encodages sont possibles comme l'UTF-8 par exemple, qui offre le plus de possibilités. Il faut néanmoins veiller à ce que l'encodage déclaré corresponde effectivement à l'encodage réel du fichier sur le serveur. Ce dispositif vient en complément du paramétrage de l'entête HTTP délivré par le serveur lorsqu'il doit fournir le fichier au poste client.
Cette balise permet de spécifier les URLs de fichiers liés d'une manière ou d'une autre au document. Par exemple,
<link rel="stylesheet" type="text/css" href="cours.css">
<link media="print" title="Version PostScript" type="application/postscript" href="http://someplace.com/manual/postscript.ps" rel="alternate">
<link title="The manual in English" rel="alternate" hreflang="en" href="http://someplace.com/manual/english.html" type="text/html">

4. Le corps

Il contient tout ce qui apparaîtra dans la fenêtre du navigateur. Nous y reviendrons quand nous aborderons les éléments HTML.

5. Le prologue

On peut trouver, de manière facultative, à la toute première ligne du document, la déclaration suivante :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
La déclaration précédente fait référence au HTML strict ; le HTML dit "de transition" se déclare ainsi :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Cette seconde déclaration permet d'ajouter des balises de présentation en vue de conserver la compatibilité avec les "vieux" navigateurs.
Selon la norme SGML, la signification des balises du HTML, leurs syntaxes, leurs organisations sont résumées dans un document appelé DTD, (Document Type Definition). Cette ligne précise à quelle DTD fait référence le HTML utilisé.
Il s'agit donc ici d'une DTD publique écrite en anglais (EN) par le W3C correspondant à la version 4.01 du HTML. Cette déclaration est utile à des validateurs afin de déterminer si le code HTML du document est correct ou non.
Indiquer le type de document et l'encodage de caractères permet la validation du code, à l'aide du validateur HTML en ligne du W3C.

0 commentaires:

Enregistrer un commentaire