Balises HTML sémantiques dans le développement web

CSSCSSBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), les participants exploreront les concepts fondamentaux des balises HTML sémantiques et leur rôle crucial dans le développement web moderne. Grâce à une approche pratique, les apprenants transformeront les structures HTML traditionnelles en mises en page de pages web significatives, accessibles et conviviales pour les moteurs de recherche (SEO) en utilisant des éléments sémantiques tels que <header>, <nav>, <main>, <article>, <section>, <aside> et <footer>.

Le laboratoire fournit un guide étape par étape pour comprendre comment le HTML sémantique améliore la lisibilité du code, renforce l'accessibilité du site web pour les lecteurs d'écran et crée un contenu web plus structuré et significatif. En construisant progressivement une mise en page complète de page HTML sémantique, les participants acquerront des compétences pratiques dans la mise en œuvre de balises sémantiques qui décrivent clairement le but et la structure des éléments de la page web.

Explore the Concept of Semantic HTML

Dans cette étape, vous allez apprendre ce qu'est le HTML sémantique et pourquoi il est important dans le développement web. Le HTML sémantique utilise des balises qui décrivent clairement le sens du contenu, rendant les pages web plus accessibles, plus lisibles et plus conviviales pour les moteurs de recherche (SEO).

Les balises HTML traditionnelles telles que <div> et <span> ne fournissent aucune information sur le contenu qu'elles contiennent. En revanche, les balises HTML sémantiques décrivent le but et la structure du contenu.

Créons un simple fichier HTML pour illustrer les concepts du HTML sémantique. Ouvrez le WebIDE et créez un nouveau fichier appelé semantic-example.html dans le répertoire ~/project.

touch ~/project/semantic-example.html
<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Semantic HTML Example</title>
  </head>
  <body>
    <div>Website Header</div>
    <div>Navigation Menu</div>
    <div>Main Content</div>
    <div>Sidebar</div>
    <div>Footer</div>
  </body>
</html>

Maintenant, transformons cet exemple en utilisant des balises HTML sémantiques :

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Semantic HTML Example</title>
  </head>
  <body>
    <header>Website Header</header>
    <nav>Navigation Menu</nav>
    <main>Main Content</main>
    <aside>Sidebar</aside>
    <footer>Footer</footer>
  </body>
</html>

Les principales balises HTML sémantiques incluent :

  • <header> : Représente le contenu d'introduction
  • <nav> : Définit les liens de navigation
  • <main> : Spécifie le contenu principal du document
  • <article> : Représente un élément de contenu indépendant et autonome
  • <section> : Définit une section dans un document
  • <aside> : Contient du contenu indirectement lié au contenu principal
  • <footer> : Représente le pied de page d'un document

Avantages du HTML sémantique :

  1. Amélioration de l'accessibilité pour les lecteurs d'écran
  2. Meilleure optimisation pour les moteurs de recherche (SEO)
  3. Code plus significatif et plus lisible
  4. Stylage et maintenance plus faciles

Lorsque vous prévisualisez le fichier HTML dans un navigateur, il n'y aura aucun changement visuel, mais la structure sous-jacente sera plus descriptive et plus significative.

Notes : En savoir plus sur How to preview HTML files in the WebIDE.

Dans cette étape, vous allez apprendre à utiliser les balises sémantiques <header> et <nav> pour créer un en-tête de site web et un menu de navigation significatifs et structurés. Ces balises contribuent à améliorer la structure sémantique de votre document HTML.

Ouvrez le WebIDE et modifiez le fichier semantic-example.html dans le répertoire ~/project pour implémenter les balises d'en-tête et de navigation :

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>My Semantic Website</title>
  </head>
  <body>
    <header>
      <h1>Welcome to My Website</h1>
      <nav>
        <ul>
          <li><a href="#home">Home</a></li>
          <li><a href="#about">About</a></li>
          <li><a href="#services">Services</a></li>
          <li><a href="#contact">Contact</a></li>
        </ul>
      </nav>
    </header>
  </body>
</html>

Décortiquons les balises sémantiques utilisées :

  1. Balise <header> :

    • Représente le contenu d'introduction d'une page
    • Peut inclure des titres, des logos, une navigation
    • Utilisée pour regrouper le contenu de niveau supérieur d'une page ou d'une section
  2. Balise <nav> :

    • Définit une section de liens de navigation
    • Contient généralement des menus, des tableaux des matières
    • Améliore l'accessibilité et le référencement (SEO)
  3. Balises <ul> et <li> :

    • Créent une liste non ordonnée d'éléments de navigation
    • Les balises <a> à l'intérieur créent des liens cliquables

Points clés à retenir :

  • <header> peut contenir plusieurs éléments
  • <nav> est spécifiquement destinée aux blocs de navigation principaux
  • Utilisez un texte de lien significatif pour une meilleure accessibilité

Exemple de rendu lorsqu'il est consulté dans un navigateur :

Semantic header and navigation example

Create Article and Section Semantic Structures

Dans cette étape, vous allez apprendre à utiliser les balises sémantiques <article> et <section> pour créer un contenu plus significatif et structuré dans votre document HTML. Ces balises vous aident à organiser et à décrire le but des différentes parties de votre page web.

Ouvrez le fichier semantic-example.html dans le répertoire ~/project et mettez-le à jour avec le code suivant :

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Semantic HTML Article and Section Example</title>
  </head>
  <body>
    <header>
      <h1>My Blog</h1>
      <nav>
        <ul>
          <li><a href="#home">Home</a></li>
          <li><a href="#blog">Blog</a></li>
        </ul>
      </nav>
    </header>

    <main>
      <article>
        <h2>Learning Web Development</h2>
        <section>
          <h3>HTML Basics</h3>
          <p>
            HTML is the foundation of web development. It provides structure to
            web content.
          </p>
        </section>

        <section>
          <h3>Semantic HTML</h3>
          <p>
            Semantic HTML uses tags that describe the meaning of the content,
            making web pages more accessible and meaningful.
          </p>
        </section>
      </article>
    </main>
  </body>
</html>

Décortiquons les balises sémantiques :

  1. Balise <article> :

    • Représente une composition autonome
    • Peut être distribuée ou réutilisée indépendamment
    • Utilisée généralement pour les articles de blog, les articles d'actualité, les messages de forum
  2. Balise <section> :

    • Définit un regroupement thématique de contenu
    • Contient généralement un titre
    • Aide à diviser le contenu en parties logiques
  3. Balise <main> :

    • Spécifie le contenu principal du document
    • Doit être unique au document
    • Contient le sujet central ou la fonctionnalité principale

Exemple de rendu lorsqu'il est consulté dans un navigateur :

Browser view of semantic HTML example

Points clés à retenir :

  • <article> est destiné au contenu autonome
  • <section> regroupe le contenu lié
  • Chaque section a généralement un titre
  • Utilisez ces balises pour améliorer la structure et la lisibilité du document

Dans cette étape, vous allez apprendre à utiliser les balises sémantiques <aside> et <footer> pour améliorer la structure et le sens de votre page web. Ces balises vous aident à organiser le contenu supplémentaire et à fournir des informations supplémentaires sur la page.

Ouvrez le fichier semantic-example.html dans le répertoire ~/project et mettez-le à jour avec le code suivant :

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Semantic HTML Aside and Footer Example</title>
  </head>
  <body>
    <header>
      <h1>My Web Development Blog</h1>
      <nav>
        <ul>
          <li><a href="#home">Home</a></li>
          <li><a href="#blog">Blog</a></li>
        </ul>
      </nav>
    </header>

    <main>
      <article>
        <h2>Learning Web Development</h2>
        <section>
          <h3>HTML Basics</h3>
          <p>
            HTML is the foundation of web development. It provides structure to
            web content.
          </p>
        </section>

        <aside>
          <h3>Related Resources</h3>
          <ul>
            <li><a href="#">HTML Tutorial</a></li>
            <li><a href="#">CSS Guide</a></li>
            <li><a href="#">JavaScript Basics</a></li>
          </ul>
        </aside>
      </article>
    </main>

    <footer>
      <p>&copy; 2023 Web Development Blog</p>
      <p>Contact: [email protected]</p>
    </footer>
  </body>
</html>

Explorons les nouvelles balises sémantiques :

  1. Balise <aside> :

    • Représente le contenu indirectement lié au contenu principal
    • Utilisée souvent pour les barres latérales, les citations mises en évidence ou des informations supplémentaires
    • Aide à séparer le contenu supplémentaire de l'article principal
  2. Balise <footer> :

    • Représente le pied de page d'un document ou d'une section
    • Contient généralement des informations sur le droit d'auteur, des coordonnées de contact ou des liens connexes
    • Peut apparaître plusieurs fois dans un document

Exemple de rendu lorsqu'il est consulté dans un navigateur :

Browser view of semantic HTML example

Points clés à retenir :

  • <aside> contient du contenu lié, mais non central, au contenu principal
  • <footer> fournit des informations supplémentaires sur le document ou la section
  • Ces balises améliorent la structure sémantique de votre HTML

Build a Complete Semantic HTML Page Layout

Dans cette étape, vous allez combiner toutes les balises HTML sémantiques que vous avez apprises pour créer une page web complète et bien structurée. Nous allons créer une mise en page complète qui démontre le pouvoir du HTML sémantique.

Créez un nouveau fichier appelé semantic-website.html dans le répertoire ~/project avec le code suivant :

touch ~/project/semantic-website.html
<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Web Development Learning Hub</title>
  </head>
  <body>
    <header>
      <h1>Web Development Learning Hub</h1>
      <nav>
        <ul>
          <li><a href="#home">Home</a></li>
          <li><a href="#tutorials">Tutorials</a></li>
          <li><a href="#resources">Resources</a></li>
          <li><a href="#contact">Contact</a></li>
        </ul>
      </nav>
    </header>

    <main>
      <article>
        <h2>Getting Started with Web Development</h2>

        <section>
          <h3>HTML Fundamentals</h3>
          <p>
            Learn the basics of HTML and how to create structured web pages
            using semantic tags.
          </p>
        </section>

        <section>
          <h3>CSS Styling</h3>
          <p>
            Explore how to style your HTML documents and create visually
            appealing websites.
          </p>
        </section>

        <aside>
          <h3>Recommended Learning Path</h3>
          <ul>
            <li>HTML Basics</li>
            <li>CSS Styling</li>
            <li>JavaScript Fundamentals</li>
            <li>Responsive Web Design</li>
          </ul>
        </aside>
      </article>

      <article>
        <h2>Latest Tutorials</h2>
        <section>
          <h3>Semantic HTML Deep Dive</h3>
          <p>
            Understand the importance of semantic tags in modern web
            development.
          </p>
        </section>
      </article>
    </main>

    <footer>
      <p>&copy; 2023 Web Development Learning Hub</p>
      <nav>
        <ul>
          <li><a href="#privacy">Privacy Policy</a></li>
          <li><a href="#terms">Terms of Service</a></li>
        </ul>
      </nav>
      <p>Contact: [email protected]</p>
    </footer>
  </body>
</html>

Revoyons la structure sémantique :

  1. <header> : Contient le titre du site et la navigation principale
  2. <nav> : Fournit des liens de navigation à deux endroits
  3. <main> : Enveloppe le contenu principal de la page
  4. <article> : Représente un contenu indépendant et autonome
  5. <section> : Divise le contenu en groupes thématiques
  6. <aside> : Affiche des informations supplémentaires
  7. <footer> : Fournit des informations supplémentaires sur le site et des liens

Exemple de rendu lorsqu'il est consulté dans un navigateur :

Semantic HTML page layout example

Points clés à retenir :

  • Le HTML sémantique améliore la structure du document
  • Chaque balise a un sens et un but spécifiques
  • Les balises sémantiques rendent votre code plus lisible et plus accessible

Summary

Dans ce laboratoire (lab), les participants explorent les concepts fondamentaux du HTML sémantique et son importance dans le développement web. En passant des balises <div> traditionnelles non descriptives aux éléments sémantiques significatifs tels que <header>, <nav>, <main>, <article>, <section>, <aside> et <footer>, les apprenants acquièrent des connaissances sur la création de pages web plus accessibles, lisibles et favorables au référencement (SEO).

Le laboratoire guide les participants à travers la mise en œuvre pratique du HTML sémantique, en montrant comment ces balises spécialisées fournissent un contexte structurel clair au contenu web. En comprenant et en appliquant les principes du HTML sémantique, les développeurs peuvent améliorer l'accessibilité des sites web pour les lecteurs d'écran, optimiser le référencement dans les moteurs de recherche et créer des structures de code plus faciles à maintenir et plus significatives.