La structure d'un document HTML

Première leçon du cours HTML fondamentaux, en accès libre : environ 15 minutes, 3 exercices et 3 questions de quiz. C'est la leçon de base du catalogue ; dans l'espace étudiant, elle est réécrite pour ton profil.

Objectifs

  • Écrire le squelette minimal d'une page HTML valide
  • Distinguer le rôle de <head> et de <body>
  • Comprendre la notion de balise, d'élément et d'attribut

Squelette d'un document HTMLBalises, éléments et attributs

HTML (HyperText Markup Language) est le langage qui décrit le contenu et le sens d’une page web : ceci est un titre, ceci est un paragraphe, ceci est un lien. L’apparence (couleurs, mise en page) viendra plus tard avec CSS, et les interactions avec JavaScript.

Balises, éléments et attributs

Un élément HTML s’écrit généralement avec une balise ouvrante, un contenu et une balise fermante :

<!-- balise ouvrante, contenu, balise fermante -->
<p>Bonjour tout le monde</p>

<!-- un attribut précise l'élément : nom="valeur" -->
<a href="contact.html">Nous contacter</a>

Certains éléments sont vides : ils n’ont ni contenu ni balise fermante, par exemple <meta>, <img>, <br> ou <input>.

Les éléments s’imbriquent comme des poupées russes : on ferme toujours en premier ce qu’on a ouvert en dernier.

<p>Un mot <strong>important</strong> ici.</p>   <!-- correct -->
<p>Un mot <strong>important</p></strong>        <!-- incorrect -->

Le squelette minimal

Voici la base de toute page moderne :

<!DOCTYPE html>                 <!-- mode standard du navigateur -->
<html lang="fr">                <!-- langue principale de la page -->
  <head>
    <meta charset="UTF-8">      <!-- encodage : accents corrects -->
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Mon premier site</title>  <!-- texte de l'onglet et des moteurs de recherche -->
  </head>
  <body>
    <h1>Bienvenue</h1>
    <p>Ceci est ma première page.</p>
  </body>
</html>

Ligne par ligne :

  • <!DOCTYPE html> n’est pas une balise mais une déclaration : elle indique au navigateur d’utiliser le mode standard.
  • <html lang="fr"> est la racine du document. L’attribut lang aide les lecteurs d’écran à choisir la bonne prononciation et les moteurs de recherche à classer la page.
  • <head> regroupe les métadonnées, invisibles dans la page : encodage, réglage d’affichage mobile (viewport), titre de l’onglet, plus tard les liens vers les feuilles CSS.
  • <body> contient tout ce que l’utilisateur voit.

L’arbre du document

Le navigateur transforme ce texte en un arbre (le DOM) : html a deux enfants, head et body, qui ont eux-mêmes des enfants. Retenir cette image vous aidera beaucoup en CSS et en JavaScript.

Bonnes habitudes

  • Indentez le code : chaque niveau d’imbrication est décalé de deux espaces.
  • Écrivez les balises et attributs en minuscules et entourez les valeurs de guillemets.
  • Ajoutez des commentaires avec <!-- ... --> ; ils ne s’affichent pas.
  • Enregistrez le fichier en UTF-8 avec l’extension .html, puis ouvrez-le dans votre navigateur.

HTML est tolérant : une erreur ne fait pas planter la page, le navigateur devine. C’est pratique, mais cela cache les erreurs. Prenez l’habitude d’écrire un code propre dès le départ.

Exercices

Les solutions et les tests restent sur le serveur. Dans l'espace étudiant, ton code est exécuté et corrigé, et le tuteur donne des indices avant la solution.

  1. CodeDifficulté 1Page HTML dans le navigateur2 indices

    Compléter le squelette

    Complétez la page : ajoutez l’attribut lang="fr" sur <html>, une balise <meta charset="UTF-8"> et un <title> contenant Ma page.

    <!DOCTYPE html>
    <html>
      <head>
        <!-- ajoutez l'encodage et le titre -->
      </head>
      <body>
        <p>Bonjour</p>
      </body>
    </html>
  2. CodeDifficulté 2Page HTML dans le navigateur2 indices

    Une page complète

    Écrivez une page complète depuis zéro : doctype, <html lang="fr">, <head> avec charset UTF-8, meta viewport et titre Portfolio, puis un <body> contenant un <h1> « Bonjour, je suis Alex » et un paragraphe de présentation.

    <!-- écrivez toute la page ici -->
  3. QCMDifficulté 11 indice

    Où va le titre de l'onglet ?

    Dans quel élément doit-on placer la balise <title> ?

    • Dans <body>
    • Dans <head>
    • Juste après <!DOCTYPE html>, hors de <html>

Quiz de fin de leçon

  1. À quoi sert ?

    • À afficher le titre
    • À activer le mode standard du navigateur
    • À importer du CSS
  2. Lequel de ces éléments est un élément vide (sans balise fermante) ?

    • <p>
    • <title>
    • <meta>
  3. Pourquoi ajouter lang=“fr” à ?

    • Pour traduire automatiquement la page
    • Pour aider lecteurs d'écran et moteurs de recherche à connaître la langue
    • C'est obligatoire pour que la page s'affiche

La suite du cours

  1. Titres, paragraphes et listes15 min
  2. Liens et images15 min
  3. Structurer une page avec le HTML sémantique15 min
  4. Les tableaux de données15 min
  5. Les formulaires20 min

HTML fondamentaux · Débutant · 3 h 05