Le langage HTML/Entités
Définition.
Le langage HTML utilise un jeu d'entités pour incorporer des "caractères spécifiques" dans le document. Plus simplement, vous tapez une séquence précise de caractères (oui c'est ça, un mot magique), et miraculeusement il se transforme en un caractère (accentué, spécial, de ponctuation,…) quand vous affichez la page dans un navigateur Web.
Ces entités sont introduites par une "esperluette" « codice_1 ».
La fin d'une entité est marquée par le caractère "point-virgule" « codice_2 ».
 &"nom_de_l_entité";
Il est possible de recourir à deux formes d'entités :
Ainsi il est possible d'écrire le signe euro (€) de trois manières :
On peut aussi taper l'entité numérique en hexadécimal, en mettant un « x » entre le croisillon et le nombre.
Par exemple, codice_7 est la même chose que codice_8, c'est-à-dire « Ä ».
Utilité.
Les entités permettent d'afficher des caractères qui ne sont pas accessibles depuis le clavier. C'est notamment utile lorsque l'on utilise des symboles mathématiques, ou que l'on veut écrire des mots d'une langue étrangère par rapport au clavier utilisé, ou pour certaines capitales accentuées (comme « É »).
Cela permet également d'utiliser un caractère qui se trouve en dehors du jeu de caractères déclaré en début de fichier (avec codice_9, voir le chapitre "L'en-tête").
Notons que l'entité numérique fait référence à l'adresse du caractère dans la table Unicode, tandis que l'entité caractère est redirigé vers la table selon la définition du type de document (DTD). Ainsi, il est plus simple de retenir l'entité caractère (mnémotechnique), mais l'entité numérique assure la compatibilité quelle que soit l'évolution des DTD.
Liste des entités.
<em>Dungeons &amp; Dragons</em>&trade;
est le premier jeu de rôle de l'histoire&nbsp;;
c'est aussi le plus joué.
Dungeons & Dragons™
est le premier jeu de rôle de l'histoire ;
c'est aussi le plus joué.
Applications.
Espaces.
On voit que le HTML propose plusieurs espaces : espace justifiante (espace « classique »), espace insécable et espace fine. On n'en utilise qu'une seule à la fois.
L'espace insécable permet de ne pas séparer deux objets, par exemple :
L'espace fine permet d'éloigner légèrement deux caractères pour faciliter la lisibilité, par exemple après de l'italique : comparer « ("l") » et « ("l" ) ». On peut aussi l'utiliser pour séparer les groupes de trois chiffres par une espace fine :
Le problème de ces deux applications est qu'une fin de ligne peut séparer les deux objets (bien que le caractère codice_11 soit considéré comme insécable par certains navigateurs, il devrait être sécable).
Pour une espace fine insécable, on utilisera codice_12.
Si l'on veut avoir une espace plus grande, comme pour une tabulation, on pourra utiliser :
Par exemple, le code CSS pour mettre une espace de 5 cadratins (5 lettres « M ») à gauche serait
<span style="margin-left:5em">"texte"</span>
Afficher du code HTML.
Imaginez que vous vouliez afficher du code HTML sur votre page. Vous voulez par exemple afficher le texte « <em> ». Seulement voilà, le navigateur va croire que c'est une balise, et ne rien afficher mais mettre le texte en italique. La solution est de ne pas utiliser les caractères codice_13 et codice_14 mais les entités correspondantes : respectivement codice_15 (de l'anglais "less than", « inférieur à ») et codice_16 (de l'anglais "greater than", « plus grand que »). C'est donc codice_17 qu'il faut taper.
À noter que pour afficher « C'est par là -> », même si le navigateur va en général faire ce qu'on a envie qu'il fasse à savoir afficher le symbole « > » (ou « < » le cas échéant) tel quel, il est de bon ton de remplacer quand même « > » et « < » par leurs entités, sous peine de se faire remonter les bretelles par le validateur.
De la même façon, si vous voulez afficher le texte « &euro; », eh bien il faudra ruser pour que le navigateur ne croit pas qu'on veut afficher le caractère €. On remplacera donc le caractère « & » par l'entité correspondante : codice_18.
Et pour afficher le texte "&amp;" on fait comment ? Je sens que vous avez deviné : codice_19.
Comme pour < et >, si vous voulez afficher le texte « &salut; » (qui n'existe pas comme entité hein, on a juste envie de mettre une esperluette et un point virgule où ça nous chante), « Hey, &salut ça va ? », ou « Machin & Compagnie », il est recommandé de remplacer « & » par codice_18.
Notez que les deux "ruses de sioux" exposées précédemment sont utilisées sur cette page, vous n'avez qu'à regarder le code source !
Il y a aussi d'autres utilisations des entités. Par exemple elle vous permettent d'utiliser des caractères que vous ne pouvez pas taper au clavier. Par exemple, je ne sais pas, tout le monde ne sait pas taper ∉ (le signe mathématique pour dire « n'appartient pas à ») alors qu'avec un petit codice_21, le tour est joué.