Commentaires
fabien plessis
29/03/2022 à 19:34
( comment_t)
fabien plessis
29/03/2022 à 19:33
hello aurélien, juste une petite coquille sur les bases html 5 (un espace non désiré!) : Itérable ? Et en français ça se dit commen t?

Les balises de sectionnement



La plupart des nouvelles balises sémantiques sont des conteneurs principaux d'une page, que l'on appelle des balises de sectionnement, elles permettent de séparer les principales parties d'une page.

<header>


La balise header représente l'en-tête de la page, on y retrouve généralement le logo du site, ainsi que sa navigation.

Arthur, l'apprenti développeurEt on peut y mettre d'autres choses ?

Oui ce n'est pas fixé, mais généralement un site possède deux types de contenu, une partie statique, qui s'affichera quelle que soit la page sur laquelle on se trouve, et une partie dynamique, qui va changer selon la page.

Les informations statiques en haut de page sont à mettre dans le header, comme je l'ai dit, ce sera souvent le logo du site, la navigation, mais ça peut aussi être des boutons d'outils pour la connexion, la gestion du profil et beaucoup d'autres choses.



Arthur, l'apprenti développeurMais... Je croyais que tu me parlais du <head>, ce n'est pas la même chose ?

Pas du tout, on verra le <head> dans peu de temps, mais c'est très différent du <header>. Le header se place dans le <body> et affiche du contenu sur la page, contrairement au <head>.

Arthur, l'apprenti développeurOk, j'ai compris.

<main>



On a ensuite la balise <main>, elle représente le contenu principal de la page, la partie dynamique dont on parlait juste avant.



Arthur, l'apprenti développeurD'accord celle là me parait claire.

<footer>



Et enfin la balise footer, je te laisse deviner.

Arthur, l'apprenti développeurLe contenu statique en pied de page ?

C'est ça !



Arthur, l'apprenti développeurOk, donc <header>,<main> et <footer>. Si j'ai bien compris on devrait les retrouver dans toute page HTML

Effectivement dans l'idéal, ça devrait être le cas, il y a aussi d'autre balises de sectionnement qui sont à utiliser selon les besoins.

<aside>



On peut aussi utiliser une balise <aside>, elle permet de définir un contenu qui est "à côté" du contenu principal. Il faut l'utiliser avec précaution, et ne pas confondre un contenu de la page qui serait positionné sur la droite ou sur la gauche avec un <aside>. Celle-ci doit être utilisé pour un contenu complémentaire au contenu principal, par exemple pour une barre d'outils, ou un menu de navigation secondaire positionné à côté du <main>.



Arthur, l'apprenti développeurJ'ai peur de mal utiliser celle-ci.

Le meilleur moyen pour éviter de se tromper, c'est de se demander si le contenu que l'on veut afficher fait partie du main, c'est à dire, est ce que c'est une partie du contenu principal de cette page. Si oui, ce n'est probablement pas un <aside>, sinon c'en est probablement un. Un <aside> doit normalement toujours être en dehors du <main> et jamais à l'intérieur.

Arthur, l'apprenti développeurOk je retiens ça.

<nav>



On a déjà parlé de celle-là, elle permet de mettre en place la navigation du site. Elle va généralement contenir des liens. Tu penses la placer où ?

Arthur, l'apprenti développeurDans le <header> j'imagine, vu qu'il doit contenir la navigation.

En effet, ça ne sera pas toujours le cas, mais généralement oui.



<section>



Ensuite, on a la balise <section> celle ci représente un bloc de contenu qui est sur un thème et possède un titre.

Arthur, l'apprenti développeurJe ne comprends pas ce que tu veux dire.

Hé bien quand on crée une section, il faut que tout son contenu soit sur le même thème, c'est-à-dire que tous les éléments à l'intérieur doivent parler de la même chose. Et il faut qu'elle possède un titre, c'est à dire une balise <h[x]>.

Arthur, l'apprenti développeurAh oui, je me rappelle, la balise de titre !



Arthur, l'apprenti développeurTu as mis deux sections, on peut en mettre plusieurs ?

Oui, la <section> peut être utilisée autant de fois que nécessaire, mais sans en abuser pour autant, une page avec trop de section va perdre en cohérence et cela pourrait impacter le référencement. Elle doit être utilisée pour catégoriser et identifier les principales parties de la page.

Arthur, l'apprenti développeurDonc à utiliser avec modération.

Exactement !

<article>



On a aussi la balise <article>, elle représente un contenu itérable.

Arthur, l'apprenti développeurItérable ? Et en français ça se dit commen t?

C'est du français, un élément itérable est un élément qui peut être répété, par exemple si tu va sur un site e-commerce, tu auras une page avec la liste des produits proposés, bien que les produits soient différents en contenu, en apparence ils sont normalement tous construits de la même façon, avec une image, un nom, une description, un prix et d'autres informations. On peut donc dire que les produits sont itérables, leurs balises d'affichages se répètent avec la même mise en forme, et simplement un contenu textuel adapté.

Arthur, l'apprenti développeurOk, je vois ce que tu veux dire.

Hé bien dès qu'un contenu est itérable, on peut utiliser la balise <article> pour englober l'élément.



Arthur, l'apprenti développeurPfiou ça en fait du code !

Ce n'est pas grand chose pour le moment, les fichiers HTML peuvent vite comporter de nombreuses lignes, mais tu verras tu t'habitueras à force de pratiquer.

<address>



Et enfin, on a la balise <address>, elle permet de préciser des informations de contact, donc, contrairement à son nom, pas nécessairement une adresse postale, ça peut aussi être un numéro de téléphone ou de fax, une adresse e-mail, un lien vers un compte linkedin, ou un mélange de plusieurs informations de contact variées.



Pour l'exemple, je l'ai mis dans le footer, mais la balise <address> peut être positionnée n'importe où tant que c'est cohérent.

Arthur, l'apprenti développeurEt c'est tout pour les balises sémantiques ?

D'autres balises sémantiques



Non il en existe d'autres, celle que l'on vient de voir sont les principales, mais ils y en a d'autres, dont certaines que l'on a déjà vues auparavant.

Arthur, l'apprenti développeurAh bon ?

Oui, il y a par exemple <figure> qui permet de créer un élément à partir de plusieurs informations qu'elle contient, elle crée en fait un groupe sémantique pour du contenu.

Arthur, l'apprenti développeurMais oui ! Maintenant que tu me le dis.

La plupart des balises de contenu textuel sont aussi sémantiques, à l'exception du <span>, car elle apporte un sens spécifique à un élément.

Arthur, l'apprenti développeurEffectivement vu comme ça.

Et il y en a d'autres, mais tu auras l'occasion de les voir par toi même le jour où tu en auras besoin. N'hésites pas à consulter cette page, elle contient l'ensemble des balises autorisées en HTML.

Arthur, l'apprenti développeurOk, je mets le lien en favori, je pense que ça va me servir très souvent.
On a fini avec le HTML?


Presque, il reste un dernier groupe de balises dont je ne t'ai pas encore parlé ! J'ai terminé cette partie
Demander de l'assistance