`header`, `nav`, `main` et `footer`
Structurez les principaux repères d’une page avec des balises sémantiques.
`header`, `nav`, `main` et `footer` est une leçon HTML Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage HTML Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours HTML Academy comprend 4 leçons au total.
Éléments repères de HTML5
HTML5 a introduit des éléments repères qui définissent les régions d’une page :
<header>— contenu introductif ou navigation<nav>— liens de navigation<main>— contenu principal propre à cette page<footer>— informations de pied de page
Ils remplacent les <div> génériques par une structure porteuse de sens.
L’élément header
L’élément <header> contient le contenu introductif :
<header>
<a href="/" class="logo">
<img src="logo.svg" alt="Company name">
</a>
<nav>...</nav>
<button>Sign In</button>
</header>
<!-- header can appear multiple times: page header, article header -->
<!-- But only one page-level header per page is recommended -->L’élément nav
L’élément <nav> regroupe les liens de navigation :
<nav aria-label="Main navigation">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/products">Products</a></li>
<li><a href="/about">About</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
<!-- Use aria-label to distinguish multiple navs -->
<!-- Not every group of links is a nav — only major navigation -->Plusieurs éléments nav
Une page peut contenir plusieurs éléments <nav> : identifiez chacun d’eux :
<nav aria-label="Main navigation">...</nav>
<nav aria-label="Breadcrumb">...</nav>
<nav aria-label="Footer links">...</nav>
<!-- aria-label tells screen reader users what each nav is for -->
<!-- Screen readers list landmarks — unique labels help navigation -->L’élément main
L’élément <main> identifie le contenu principal propre à cette page :
<main id="main-content">
<h1>HTML5 Landmark Elements</h1>
<p>Learn about semantic page structure...</p>
</main>
<!-- Rules:
- Only ONE main element per page
- Should not be a descendant of header, footer, aside, nav
- id="main-content" enables skip links -->
<!-- Assistive tech users jump directly to main -->L’élément footer
L’élément <footer> regroupe les informations de pied de page :
<footer>
<p>© 2025 CoddyKit. All rights reserved.</p>
<nav aria-label="Footer navigation">
<a href="/privacy">Privacy Policy</a>
<a href="/terms">Terms of Service</a>
</nav>
</footer>
<!-- footer can appear multiple times: page footer, article footer -->
<!-- Page footer typically has copyright, links, contact -->Squelette de page
Structure sémantique complète d’une page :
<body>
<header>
<a href="/"><img src="logo.svg" alt="Site name"></a>
<nav aria-label="Main">...</nav>
</header>
<main id="main-content">
<h1>Page Title</h1>
<p>Primary content here.</p>
</main>
<aside>Related content</aside>
<footer>
<p>© 2025 Company</p>
</footer>
</body>Lien pour ignorer la navigation
Ajoutez un lien permettant aux utilisateurs du clavier d’ignorer la navigation :
<a href="#main-content" class="skip-link">Skip to main content</a>
<header>... navigation ...</header>
<main id="main-content" tabindex="-1">
<h1>Page Heading</h1>
</main>
/* CSS: */
.skip-link {
position: absolute; top: -100%;
background: #0070f3; color: white; padding: 0.5rem;
}
.skip-link:focus { top: 0; }Rôles des éléments repères
Les éléments repères de HTML5 correspondent aux rôles repères d’ARIA :
<header>→role="banner"(au niveau de la page uniquement)<nav>→role="navigation"<main>→role="main"<footer>→role="contentinfo"(au niveau de la page uniquement)<aside>→role="complementary"
header et footer dans les sections
Les éléments header et footer peuvent apparaître à l’intérieur de <article> et de <section> :
<article>
<header>
<h2>Article Title</h2>
<p>By Jane Smith | March 2024</p>
</header>
<p>Article content...</p>
<footer>
<p>Tags: HTML, CSS</p>
</footer>
</article>
<!-- In this context, header/footer are NOT banner/contentinfo roles -->
<!-- They are generic sections within the article -->Erreurs courantes
Évitez ces erreurs sémantiques concernant les éléments repères :
- Utiliser
<nav>pour chaque groupe de liens - Placer plusieurs éléments
<main>sur une même page - Placer
<main>à l’intérieur de<header>ou de<nav> - Utiliser
<footer>pour du contenu qui n’est pas un pied de page
Vérification rapide
Combien d’éléments main une page doit-elle contenir ?
Récapitulatif : header, nav, main et footer
Points essentiels des éléments repères :
<header>— contenu introductif ; peut être répété dans chaque section<nav>— navigation principale ; utilisez aria-label s’il y en a plusieurs<main>— contenu principal unique ; exactement un par page<footer>— contenu de pied de page ; peut être répété dans chaque section- Ajoutez un lien d’accès direct ciblant
id="main-content"
Apprends HTML avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 40
- Leçons
- 159
Questions Fréquemment Posées
La leçon « `header`, `nav`, `main` et `footer` » est-elle gratuite ?
Oui — le texte complet de « `header`, `nav`, `main` et `footer` » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours HTML Academy, passe à CoddyKit PRO. Le cours HTML Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « `header`, `nav`, `main` et `footer` » ?
Structurez les principaux repères d’une page avec des balises sémantiques. Tu pratiques HTML Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer HTML Academy ?
Aucune expérience préalable n'est requise. HTML Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « `header`, `nav`, `main` et `footer` » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon HTML Academy ?
Oui. Chaque leçon HTML Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- `header`, `nav`, `main` et `footer`
- L’élément `article` : contenu autonome
- L’élément `section` ou `div`
- `time`, `address` et `mark`