Lesson 2/8 8 min

HTML page structure

Learn the 4 essential tags that make up every web page: doctype, html, head and body.

FR EN

Les 4 balises indispensables

Dans la leçon précédente, on a écrit du HTML brut. En réalité, chaque page web a besoin d'une structure complète pour fonctionner correctement dans tous les navigateurs.

Voici les 4 éléments obligatoires :

  • <!DOCTYPE html> : dit au navigateur « cette page est en HTML5 » (toujours en première ligne)
  • <html> : contient tout le reste de la page
  • <head> : les informations invisibles (titre, métadonnées, liens CSS)
  • <body> : le contenu visible par vos visiteurs
Arbre d'un document HTML : html contient head et body ; head contient title et meta ; body contient h1 et p. html head invisible body visible title le titre meta métadonnées h1 un titre p un paragraphe
Chaque page HTML est un arbre : <html> contient <head> et <body>.

Head vs Body : invisible vs visible

Le <head> est comme les coulisses d'un théâtre. Le public (vos visiteurs) ne les voit pas, mais elles sont essentielles. On y met :

  • <title> : le texte qui apparaît dans l'onglet du navigateur
  • <meta charset="UTF-8"> : pour que les accents s'affichent correctement (é, è, à, ç)
  • <meta name="description"> : la description qui apparaît dans Google

Le <body>, c'est la scène. Tout ce que vos visiteurs voient (texte, images, boutons) va ici.

Pourquoi charset UTF-8 ?

Vous avez déjà vu des pages avec des caractères bizarres à la place des accents ? Des « é » au lieu de « é » ? C'est parce que la page n'a pas déclaré son encodage.

<meta charset="UTF-8"> dit au navigateur : « ce fichier utilise l'encodage universel qui gère les accents français, les kanji japonais, les emojis... tout. » Mettez-le toujours en première ligne du <head>.

La balise <title>

La balise <title> définit le texte dans l'onglet de votre navigateur. C'est aussi ce que Google affiche en gros dans ses résultats de recherche. Un bon titre est court, descriptif et unique pour chaque page.

The 4 essential tags

In the previous lesson, we wrote raw HTML. In reality, every web page needs a complete structure to work properly across all browsers.

Here are the 4 mandatory elements:

  • <!DOCTYPE html> — tells the browser "this page is HTML5" (always the first line)
  • <html> — contains everything else on the page
  • <head>invisible information (title, metadata, CSS links)
  • <body> — the content visible to your visitors
HTML document tree: html contains head and body; head contains title and meta; body contains h1 and p. html head invisible body visible title the title meta metadata h1 a heading p a paragraph
Every HTML page is a tree: <html> contains <head> and <body>.

Head vs Body: invisible vs visible

The <head> is like the backstage of a theater. The audience (your visitors) doesn't see it, but it's essential. It contains:

  • <title> — the text that appears in the browser tab
  • <meta charset="UTF-8"> — so accented characters display correctly (é, è, à, ç)
  • <meta name="description"> — the description shown in Google results

The <body> is the stage. Everything your visitors see — text, images, buttons — goes here.

Why charset UTF-8?

Have you ever seen pages with weird characters instead of accents? "é" instead of "é"? That's because the page didn't declare its encoding.

<meta charset="UTF-8"> tells the browser: "this file uses the universal encoding that handles French accents, Japanese kanji, emojis... everything." Always put it on the first line of the <head>.

The <title> tag

The <title> tag defines the text in your browser tab. It's also what Google displays prominently in search results. A good title is short, descriptive, and unique for each page.

Essayez vous-même
Avec l'IA

Copiez ce prompt dans Claude ou ChatGPT :

Génère-moi une page HTML complète minimale avec un titre, une description meta, et un paragraphe de contenu. Explique chaque ligne.
Ré-explique sans regarder

Sans relire la page générée par l'IA : à quoi sert la ligne <meta charset="UTF-8"> et pourquoi la mettre en premier dans le <head> ?

Une bonne explication dit : <meta charset="UTF-8"> déclare l'encodage des caractères, pour que les accents (é, è, ç) et caractères spéciaux s'affichent au lieu de « é ». On le place en premier dans le <head> car le navigateur doit connaître l'encodage avant de lire le moindre texte de la page.
Exercice : Corrigez le code de l'IA

L'IA a généré cette page, mais elle a placé le <body> à l'intérieur du <head>. Ce n'est pas la bonne structure. Déplacez le <body> pour qu'il soit au même niveau que le <head>, à l'intérieur du <html>.

Corrigez le code
Accepter ou rejeter le code de l'IA

L'IA te propose cette page « minimale ». Ton rôle de relecteur : l'accepter telle quelle ou la rejeter, et dire pourquoi.

<!DOCTYPE html>
<html>
<head>
    <title>Café du coin</title>
</head>
<body>
    <h1>Bientôt ouvert</h1>
</body>
</html>
À rejeter et corriger. La structure est valide, mais il manque <meta charset="UTF-8"> : le « é » de « Café » risque de s'afficher en « é ». Il manque aussi lang="fr" sur <html> (utile pour les lecteurs d'écran et le SEO). Le réflexe pro : charset en première ligne du <head> et l'attribut lang dès le départ, même sur une page minimale.
Rappel libre

Sans remonter dans la leçon : cite les 4 balises indispensables d'une page, et dis ce qui distingue le <head> du <body>.

Les 4 balises : <!DOCTYPE html> (déclare le HTML5), <html> (contient tout), <head> et <body>. Le <head> regroupe les infos invisibles (title, meta charset, description) que le visiteur ne voit pas directement ; le <body> contient le contenu visible (titres, paragraphes, images, boutons).
La balise <title> se place dans...
À quoi sert <meta charset="UTF-8"> ?
Que se passe-t-il si on oublie le <!DOCTYPE html> ?
Next step

Your page skeleton is ready. Now we fill the body: headings and paragraphs, the first tags that give readable text and a clear hierarchy to your content.

Lesson 3: Headings and paragraphs →
Besoin d'un développeur pour votre projet ?

Réponse sous 24h · Sans engagement