Le contenu texte
Encodage des caractère
Les document XHTML 1.0 doivent être encodés en UTF-8, l'UTF-8 est considéré comme un standard du fait de sa capacité à supporter une plage de caractère qui couvre (a priori) la totalité des tout les caractères/idéogrammes.
Cependant, beaucoup de site (souvent anciens) son codé en ISO-8859-15 ou son parent l'ISO-8859-1, voir pire voit cohabiter plusieurs encodage d'une page à l'autre
Beaucoup de sites ignorent ce qu'est l'encodage, et ça se voit, c'est l'effet "je connais pas les caract?res accentu?s" :D (il en existe de multiples variante).
http://french.joelonsoftware.com/Articles/Unicode.html : Mais d'où vient cette histoire d'encodage ?
Caractères spéciaux : les entitées
Le texte "brute" est affiché tel-quel dans le navigateur.
La majorité des caractères spéciaux sont affichés normalement dans les document encodés en UTF-8.
Pour afficher certains caractères spéciaux (ou si votre encodage n'est ni UTF-8 ou URF-16), vous pouvez avoir recourts au entités HTML
Une entité est un code de caractère qui s'écrit : &code; il en existe un très grand nombre (1 pour chaques caractères non ASCII), le code existe soit sous la forme d'un code numérique ou d'un code texte.
Voici les plus courants :
| code texte | code numérique | Description |
|---|---|---|
| |   | Espace insécable (n'est pas coupé en fin de ligne) |
| « | « | « guillemet ouvrant français |
| » | » | » guillemet fermant français |
| … | ̾ | … points de suspension |
| & | & | & Esperluette |
| © | © | © Copyright |
| € | € | € Symbole euro |
Voici la référence complète :
http://alexandre.alapetite.fr/doc-alex/alx_special.html : Entitées HTML version humaine
http://www.la-grange.net/w3c/html4.01/sgml/entities.html : Entitées HTML pour ceux qui lisent dans la matrice
Structurer son texte
Rappel
Le HTML ne sert pas à mettre en forme, mais structurer / hiérarchiser les informations d'un document.
Notion de bock et de line
Les balises "block" comme les titres ou les paragraphes on a particularité d'occuper toute la largeur d'affichage disponible.
Les balises inline quand à elles, ne rompent pas le flux de texte, même si l'on place des espaces/sauts de ligne dans le code.
Les balises "block"
| balise | description |
|---|---|
P |
Structure les paragraphes. <p>Je suis un paragraphe</p> On ne peut pas imbriquer un paragraphe dans un autre. Et la précence de balise "block" n'y est pas recommandée. |
H1, H2, H3, H4, H5, H6 |
Titre du plus important ( <h1>Titre de la page</h1> <h2>Titre d'une section</h2> <h3>Titre partie</h3> <h4>Titre sous-partie</h4> <!-- etc... --> Les titres, et principalement les H1, H2 voir H3 sont important pour le référencement des contenus |
BLOCKQUOTE |
Bloc de citation (citation de paragraphe entier, de texte, etc...) La balise supporte un attribut <blockquote cite="http://fr.wikipedia.org/wiki/Shining_%28film%29#Le_labyrinthe">
<h3>Le labyrinthe</h3>
<p>Le labyrinthe est un lieu important dans le film car c'est là que se
passe la scène finale durant laquelle Jack meurt congelé. Il est introduit
dès la première visite de l'hôtel et rappelé de manière insistante par
les motifs de ses moquettes où joue le petit Danny.</p>
<p>La symbolique du labyrinthe est donc très présente et se traduit
notamment à travers les décors.</p>
</blockquote>
La balise blockquote peut contenir des balises. |
PRE |
Balise de préformattage, le texte pésent dedans est redu tel que dans la source <pre>
Précédé de 3 espaces blancs
A la ligne et précédé de 6 espaces
</pre>
Cetta balise est très populaire dans des documentations / blogs qui proposent des sources à copier/coller pour les développeurs, certaines libraries Javascript permettent de colorer le code de cette balise (comme dans cette page). |
ADDRESS |
Balise purement sémantique déstinée à représenter une adresse. <address> Lieu dit "la clos", 14350 Le Reculey </address> |
Les balise "inline"
| balise | description |
|---|---|
EM |
Texte mis en évidence : <em>Texte en évidence</em> |
STRONG |
Texte important <strong>Texte important</strong> |
SUB, SUP |
Exposant et indice <p>texte en <sub>indice</sub></p> <p>texte en <sup>exposant</sub></p> |
ABBR et ACRONYM |
Affichage des abréviations et des acronymes <p>Acronyme : <acronym title="Hyper Text Markup Language">HTML</p> <p>Abréviation : <abbr title="Téléphone">Tél<abbr></p> L'attribut title est très important, d'une part il ajoute une info-bulle sur le texte balisé, et il sera lu par les logiciels de reconnaisance vocale. Attention, il n'est pas recommandé de séparer les lettres d'un acronyme par des points car les logiciels de reconnaissance vocales les lisent, il en va de même pour les abréviations. |
Q |
Citation en ligne (dans une phrase) La balise supporte un attribut <p>Comme le disait Jack Torrance : <q lang="en" cite="http://fr.wikipedia.org/wiki/Shining_%28film%29">All work and no play make jack a bull boy</q></p> |
CODE |
Permet d'afficher dans une ligne des fragments de code : <p>La balise <code>p</code> permet de définir un paragraphe</p> |
CITE |
Entoure une référence (Titre d'un livre ou d'un document de référence, nom d'une musique, album, etc...). A ne pas confondre avec la balise <p>Il a également réalisé <cite>Shinning</cite> et <cite>Full metal jacket</cite></p> |
VAR |
Représente une variable, ou un paramètre :
|
INS et DEL |
Normalise la représentation des modifications dans un document. Ce sont des balises un peu particulières car elles peuvent entourer des élements block ou inline. Cependant de par leur fonction, si elles sont utilisées comme un élément inline (correction d'un texte par exemple), elle ne doivent pas contenir d'élément inline. Ces balises ont 2 attributs recommandés :
Les données de type <p> La balise <code>a</code> <del>a un attribut <var>target</var>, vous pouvez utiliser la valeur <var>_blank</var> pour ouvrir la cible du lien dans une nouvelle fenêtre.</del> <ins> n'a plus d'attribut <var>target</var></ins> </p>
|
SAMP |
Représente un extrait (d'un programme / script ).
|
KBD |
Initialement pour représenter des saisies au clavier, est utiliser pour représenter une saisie de l'utilisateur (Saisie clavier, raccourcis, etc...) <p> Pour ouvrir la fenêtre d'information vous devez faire <kbd>Ctrl + i</kbd> ou passer par le menu <kbd>Fenêtre > Informations</kbd> </p> |
SMALL |
Utilisée pour représenter des notes de moindre importances (Disclamer,infos légales, copyright). |
http://www.la-grange.net/w3c/html4.01/struct/text.html : Référence officielle pour la structuration du texte avec HTML.
Les retour à la ligne
Pour forcer un retour à la ligne du texte (les fameux retour chariots), une balise spécial existe, la balise BR
<p>texte avec un <br/>retour à la ligne.</p>
Essayez au maxiumum de structurer vos textes avec des paragraphes plutôt qu'avec des retour-chariots, pour une question de lisibilité du code mais aussi pour des raisons sémantiques.
l'attribut lang
La majorité des balises disposent d'un attribut lang. Cette attribut doit être renseigné si le contenu texte de la balise est dans une langue différente de la langue du document, cela permet une meilleur lecture par les synthétiseurs vocaux et évite (dans une certaine mesure) une traduction malheureuse avec des outils de translation.
Cet attribut est aussi très utilisé pour indique la langue pour les liens. (CSS permettra par exemple d'afficher un drapeau pour préciser la langue de la page de destination).
<p>Comme le disait Jack Torrance : <q lang="en" cite="http://fr.wikipedia.org/wiki/Shining_%28film%29">All work and no play make jack a bull boy</q></p>
http://www.la-grange.net/w3c/html4.01/struct/dirlang.html#adef-lang : La doc sur l'attribut lang et la façon de renseigner le code lang
http://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-1 : La norme ISO-639-1 (les codes langue)