← Retour au cours : HTML de Zéro à Héros
⚠️ Mode Visiteur : Vous lisez ce cours gratuitement.
Créez un compte
pour sauvegarder votre progression et obtenir des badges ! 🏆
HTML5 sémantique et bonnes pratiques
Structurer vos pages avec HTML5 sémantique
HTML5 introduit des balises sémantiques qui donnent du sens à la structure de vos pages.
Pourquoi la sémantique ?
- Accessibilité : Les lecteurs d'écran comprennent mieux
- SEO : Les moteurs de recherche indexent mieux
- Maintenabilité : Code plus clair et compréhensible
Structure HTML5 typique
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Mon Site</title>
</head>
<body>
<header>
<nav>
<!-- Menu de navigation -->
</nav>
</header>
<main>
<article>
<!-- Contenu principal -->
</article>
<aside>
<!-- Contenu secondaire -->
</aside>
</main>
<footer>
<!-- Pied de page -->
</footer>
</body>
</html>
Les balises sémantiques
<header> : En-tête de la page ou d'une section
<header>
<h1>Mon Site Web</h1>
<p>Slogan du site</p>
</header>
<nav> : Navigation principale
<nav>
<ul>
<li><a href="/">Accueil</a></li>
<li><a href="/about">À propos</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
<main> : Contenu principal (un seul par page)
<main>
<h1>Titre de la page</h1>
<p>Contenu principal...</p>
</main>
<article> : Contenu autonome (article de blog, produit)
<article>
<h2>Titre de l'article</h2>
<p>Publié le <time datetime="2024-02-08">8 février 2024</time></p>
<p>Contenu de l'article...</p>
</article>
<section> : Section thématique
<section>
<h2>Nos services</h2>
<p>Description des services...</p>
</section>
<aside> : Contenu annexe (sidebar, publicité)
<aside>
<h3>Articles reliés</h3>
<ul>
<li><a href="/article-1">Article 1</a></li>
<li><a href="/article-2">Article 2</a></li>
</ul>
</aside>
<footer> : Pied de page
<footer>
<p>© 2024 Mon Site. Tous droits réservés.</p>
<nav>
<a href="/mentions">Mentions légales</a>
<a href="/privacy">Confidentialité</a>
</nav>
</footer>
Balises de contenu HTML5
<!-- Détails dépliables -->
<details>
<summary>En savoir plus</summary>
<p>Contenu caché qui se déplie au clic.</p>
</details>
<!-- Barre de progression -->
<progress value="70" max="100">70%</progress>
<!-- Jauge -->
<meter value="6" min="0" max="10">6 sur 10</meter>
<!-- Date et heure -->
<time datetime="2024-02-08T14:30">8 février 2024 à 14h30</time>
Exemple de page blog complète
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Mon Blog</title>
</head>
<body>
<header>
<h1>Mon Blog Tech</h1>
<nav>
<a href="/">Accueil</a>
<a href="/articles">Articles</a>
<a href="/about">À propos</a>
</nav>
</header>
<main>
<article>
<header>
<h2>Apprendre HTML5 en 2024</h2>
<p>Par <strong>John Doe</strong> -
<time datetime="2024-02-08">8 février 2024</time>
</p>
</header>
<p>HTML5 apporte de nombreuses améliorations...</p>
<footer>
<p>Tags: HTML, Web, Tutoriel</p>
</footer>
</article>
<aside>
<h3>Articles populaires</h3>
<ul>
<li><a href="/css">CSS Moderne</a></li>
<li><a href="/js">JavaScript ES6</a></li>
</ul>
</aside>
</main>
<footer>
<p>© 2024 Mon Blog. Tous droits réservés.</p>
</footer>
</body>
</html>
Bonnes pratiques HTML
- Un seul <h1> par page
- Hiérarchie logique des titres (h1 → h2 → h3...)
- Un seul <main> par page
- Utiliser <article> pour du contenu réutilisable
- Valider votre HTML sur validator.w3.org
- Toujours spécifier l'attribut
lang - Utiliser des balises sémantiques plutôt que des <div>
Points clés
- HTML5 sémantique améliore SEO et accessibilité
- <header>, <nav>, <main>, <footer> structurent la page
- <article> pour contenu autonome
- <section> pour regrouper du contenu thématique
- Un seul <main> par page
📝 Vous avez terminé cette leçon ?
Créez un compte gratuit pour sauvegarder votre progression !
Créer un compte gratuit