Ce billet fait partie dâune sĂ©rie dâune dizaine billets : #atelier-web.
Cet atelier nâest pas prĂ©vu pour fonctionner sur les smartphones, certain exemples peuvent sâafficher de maniĂšre inattendue sur ces appareils.
Merci de laisser un commentaire si vous avez essayé ou fini cet atelier. Le commentaire ne sera pas publié si vous en faite la demande.
Poursuivons l'atelier Web avec lâintroduction de nouvelles balises et des entitĂ©s HTML.
Le langage HTML permet de structurer votre texte.
Le langage HTML permet de hiĂ©rarchiser et typer votre contenu. Ceci vous aidera dans la mise ne place de lâaspect final, mais cela servira Ă©galement moteurs de recherches à « comprendre » votre contenu (au sens, oĂč le moteur de recherche sera capable dâen afficher un extrait correspondant Ă un thĂšme par exemple).
La structuration de votre contenu sera aussi trĂšs utile si vous souhaitez mettre en place votre propre programme pour modifier lâaffichage de maniĂšre dynamique (interaction avec le « visiteur » de la page) et ce dernier point nous correspond au besoin de notre atelier Web.
La norme HTML-5 embarque de nouvelle balises destinĂ©es uniquement Ă la structuration sĂ©mantique des documents. Ce nâest pas le sujet de cet atelier, mais je vous laisse le lien vers une documentation (en anglais) qui prĂ©cise la norme sur ce point.
La balise âșp
â» â paragraphe
Nous avons vu la balise p
qui permet de définir un paragraphe, regardons un peu comment elle fonctionne.
-
Exemple
Supposons le code suivant :
<p>Ceci est un paragraphe court</p><p>Ceci est un autre paragraphe court</p> <p>Ceci est un dernier paragraphe court</p>
Voici ce que ça donne Ă lâaffichage :
Ceci est un paragraphe court
Ceci est un autre paragraphe court
Ceci est un dernier paragraphe court
On notera que la prĂ©sentation du code source nâa pas dâimportance sur lâaffichage (on parle de rendu). Autant en profiter donc pour Ă©crire de maniĂšre lisible son code.
La balise p
ajoute de la sémantique à votre code, tout ce qui est entre <p>
et </p>
appartient au mĂȘme paragraphe.
Les retours à la ligne et les espaces présents dans le code ne sont pas rendus
Les plus curieux dâentre vous auront quâil est possible dâajouter autant de saut de ligne ou dâespaces que vous le voulez au sein dâun paragraphe ou dâun titre et quâils ne seront jamais affichĂ©s dans le navigateur.
Les retours Ă la ligne en HTML â Balise âșbr
â»
Pour effectuer un retour Ă la ligne en HTML nous allons devoir utiliser lâĂ©lĂ©ment br
qui est reprĂ©sentĂ© par une balise orpheline. Une balise orpheline est une balise quâil nâest pas nĂ©cessaire de refermĂ©e.
On pourra Ă©crire.
<p>Ligne 1<br />Ligne 2</p>
<p>ou encore</p>
<p>
Ligne 1<br />
Ligne 2
</p>
On obtiendra :
Ligne 1
Ligne 2
ou encore
Ligne 1
Ligne 2
Le nom de lâĂ©lĂ©ment br
est lâabrĂ©viation de « break », dans le sens de « casser une ligne ». En français on utilise plutĂŽt la notion de « saut de ligne » ou de « retour Ă la ligne ».
Les espaces en HTMLâŠ
Pour des raisons de sĂ©mantique, on essaiera tant que possible de se passer de cet Ă©lĂ©ment HTML qui ne possĂšde pas de sens en soi mais qui sert justement Ă conserver des mises en formeâŠ
On prĂ©fĂ©rera tant que possible utiliser le CSS pour ce genre dâopĂ©rations de mise en forme.
Il existe plusieurs solutions permettant dâajouter des espaces en HTML, ici nous nâĂ©voqueront quâune partie dâentre-eux : le cas des espaces insĂ©cables qui ont un sens (sĂ©mantique) en fonction de la langue.
Ce point permet dâintroduire les entitĂ©s du langage HTML.
Une entité HTML est une suite de caractÚre qui est utilisée pour afficher un caractÚre réservé en HTML.
Quâest-ce quâun caractĂšre rĂ©servĂ©Â ? Câest un caractĂšre qui possĂšde dĂ©jĂ une signification particuliĂšre en HTML. Par exemple, imaginons que lâon souhaite afficher le caractĂšre <
dans un texte.
On ne va pas pouvoir mentionner ce caractĂšre tel quel dans notre Ă©diteur, car le navigateur va interprĂ©ter cela comme lâouverture dâune balise dâun Ă©lĂ©ment. Il va donc falloir indiquer au navigateur quâon souhaite afficher le caractĂšre <
en tant que tel et non pas ouvrir une balise.
Pour cela, il va falloir Ă©chapper le sens de ce caractĂšre, et câest ce Ă quoi vont nous servir les entitĂ©s HTML.
Ici nous dĂ©tailleront que les entitĂ©s liĂ©es Ă la notion dâespaceâŠ
- LâentitĂ© HTML
(« non breaking space ») va nous permettre dâajouter une espace simple dit espace « insĂ©cable » ; - LâentitĂ© HTML
 
(« en space ») va nous permettre de crĂ©er une espace double ; - LâentitĂ© HTML
 
(« em space ») va nous permettre de crĂ©er une espace quadruple ; - LâentitĂ© HTML
 
(« thin space ») va nous permettre de créer un espace trÚs fin (demi-espace).
đ„ Exercice đ§ âđ
Entraßnez-vous à écrire un texte dans un paragraphe qui contient des sauts de lignes et des espaces. Par exemple en français pour écrire le nombre 1 000 000
, les sĂ©quences de 3 chiffres doivent ĂȘtre sĂ©parĂ©es par un espace « insĂ©cable ». Mais câest aussi le cas des nombres et leur unitĂ©Â : 10 °C
.
Les balises âșh1
, h2
, h3
, h4
, h5
, h6
â»
Les balises Hâ servent Ă encadrer les titres, axes⊠des contenus. En effet, afin dâaugmenter la clartĂ© et la **comprĂ©hension **dâun document, il est prĂ©fĂ©rable de prĂ©senter votre texte maniĂšre aĂ©rer (Ă©viter les âpavĂ©sâ), hiĂ©rarchiser les arguments ou les points abordĂ©s.
-
Exemple
Supposons le code suivant :
<h1>Titre H1 trĂšs important</h1> <h2>Titre H2 moins important que H1</h2> <h3>Titre H3 moins important que H2</h3> <h4>Titre H4 moins important que H3</h4> <h5>Titre H5 moins important que H4</h5> <h6>Titre H6 moins important que H5</h6>
Voici ce que ça donne Ă lâaffichage :
Titre H1 trĂšs important
Titre H2 moins important que H1
Titre H3 moins important que H2
Titre H4 moins important que H3
Titre H5 moins important que H4
Titre H6 moins important que H5
Les balises Hâ dĂ©roge Ă la rĂšgle dâencapsulation, on pourrait sâattendre Ă ce que les balises H2 se trouvent Ă lâintĂ©rieur dâune balise H1 (et ainsi de suite). Ce nâest pas le cas, pour des raisons historiques. Dans les premiĂšres versions de HTML, les balises avec un sens plus prononcĂ© en termes de prĂ©sentation (aspect), alors quâaujourdâhui le code HTML a pour but de structurer la page, la prĂ©sentation Ă©tant prise en charge par un autre langage : le CSS.
đ„ Exercice đ§ âđ
Pour bien comprendre le fonctionnement des balises h1
, h2
, h3
, h4
, h5
, h6
, p
et br
Ă©crivez un texte utilisant certaine de ces balises.
-
Exemple de texte
Je vous propose les derniĂšres phrases de lâĆuvre de Victor HUGO: Les MisĂ©rables.
Victor HUGO
1802 â 1885
Ăpitaphe de Jean Valjean
Il dort. Quoique le sort fût pour lui bien étrange,
Il vivait. Il mourut quand il nâeut plus son ange ;
La chose simplement dâelle-mĂȘme arriva,
Comme la nuit se fait lorsque le jour sâen va.
Les balises gĂ©nĂ©riques âșdiv
â» et âșspan
â»
Ces deux balises sont des conteneurs sont destinés à structurer le contenu, mais elles ont un rÎle complémentaire et des rÚgles de rendu différentes. La balise span
permet surtout dâassocier un style Ă une partie dâun texte tandis que div
sert Ă agencer le contenu de la page.
Les deux balises doivent avoir une balise de dĂ©but et de fin, la forme rĂ©duite nâest pas reconnue.
La forme rĂ©duite dâune balise câest lorsque <balise></balise>
sâĂ©crit <balise />
mais il y a quelques exceptions.
Nâest pas valide par exemple ceci :
<div class="xxx" /><!-- non valide -->
Le format seul valide est celui-ci :
<div class="xxx"></div><!-- valide -->
La balise peut ĂȘtre vide, mais lâutilisation de la forme rĂ©duite nâest pas valide.
Regardons ce que ça donne :
Le code :
<div>ceci est dans une balise div</div><div>ceci est dans une autre balise div</div>
<span>ceci est dans une balise span</span><span>ceci est dans une autre balise span</span>
Produira le rendu (affichage) suivant :
La balise div
(on peut Ă©galement parler dâĂ©lĂ©ment div
) sert de conteneur pour dâautres Ă©lĂ©ments et permet ensuite dâappliquer facilement les mĂȘmes styles CSS Ă tous les Ă©lĂ©ments contenus dans notre div
par héritage ou pour les mettre en forme en appliquant un style
spécifique au div
.
Les termes balise, Ă©lĂ©ment et conteneur peuvent ĂȘtre considĂ©rĂ©s comme des synonymes ; vous trouverez ces termes dans la documentation en fonction de ce que lâon souhaite mettre en avant.
- Balise (en anglais « markup ») étant plutÎt le terme formel dans le cadre de la description du langage HTML.
- ĂlĂ©ment est le terme qui sera consacrĂ© dans une vue globale de la page, et est plutĂŽt liĂ© au langage JavaScript.
- Conteneur sert quant Ă lui Ă traiter la notion dâimbrication, et dâhĂ©ritage du comportement. Par exemple, si on change la couleur de fond dâun Ă©lĂ©ment cela sâapplique Ă©galement aux Ă©lĂ©ments quâil contient. Ce terme Ă©tant plutĂŽt liĂ© aux langages CSS et JavaScript.
Comme div
et span
sont des conteneurs plutĂŽt neutre en termes dâaffichage, pour mettre en Ă©vidence leur fonctionnement nous allons, maintenant, devoir nous intĂ©resser au langage CSS qui permet de modifier le comportement dâun Ă©lĂ©ment.
Références
- Apprendre Ă coder en HTML et CSS | Cours complet (2020).
- Premiers pas avec le Web, le cours de la fondation Mozilla : Getting started with the Web.
- Un excellant site de référence w3schools.
- HTML 5, plateforme de sites et applications en ligne.
- Les entités en HTML :
- CaractÚres spéciaux et entités HTML,
- Le langage HTML/Entités,
- MDN Web Docs Glossary: Definitions of Web-related terms Entity.
- W3Schools: HTML Entities
Lâatelier complet
- Liste des billets de l'atelier Web.
- Le billet suivant.
኿