Anatomie d’un site

Comment est construit un site web ?

Un site, c’est trois langages qui travaillent ensemble. Ici, on ne lit pas : on manipule. Chaque section est une expérience pour comprendre un concept et retenir son vocabulaire.

L’image à retenir

Une maison, trois métiers

HTML

Le squelette

Les murs, les pièces, les portes. HTML décrit ce qu’il y a : un titre, un paragraphe, une image, un bouton. Il n’a aucune apparence : juste du sens et de la structure.

« Il y a un titre, puis une liste de trois éléments, puis un bouton. »

CSS

La décoration

Peinture, meubles, éclairage, plan de la maison. CSS décrit à quoi ça ressemble et où ça se place : couleurs, tailles, espaces, disposition, animations simples.

« Le titre est grand et violet, les cartes sont en 3 colonnes. »

JavaScript

La domotique

L’électricité et les capteurs. JS décrit ce qui se passe quand on agit : clic, saisie, scroll, minuterie. Il peut modifier le HTML et le CSS en direct.

« Quand on clique sur le bouton, ouvre le menu. »

Expérience n°1

La même carte, empilée couche par couche

Faites avancer le curseur d’étage en étage et regardez la carte se transformer. Le code ci-dessous montre exactement ce qui a été ajouté.

Expérience n°2

Un seul fichier… ou toute une arborescence

HTML, CSS et JavaScript peuvent vivre ensemble dans une seule page, ou être répartis dans des fichiers séparés, rangés en dossiers, avec une page HTML par rubrique. Les deux marchent : c’est une question d’échelle. Basculez et cliquez sur les fichiers.

index.html

📄 Un seul fichier

  • Idéal pour : une démo, un test, une page unique (landing), un prototype, un e-mail.
  • Avantage : tout est au même endroit, on l’envoie ou on l’ouvre d’un double-clic.
  • Limite : devient illisible au-delà de quelques centaines de lignes ; impossible de partager le CSS entre plusieurs pages.

🗂 Plusieurs fichiers

  • Idéal pour : tout vrai site : plusieurs pages, du code qui grandit, un travail à plusieurs.
  • Avantage : un style et un script partagés par toutes les pages ; chaque fichier a un rôle clair ; le navigateur met le CSS en cache.
  • Limite : il faut bien relier les fichiers (chemins) et garder l’ordre.
vocabulaire

Arborescence

L’organisation en dossiers et fichiers du projet. « Propose une arborescence » = « montre-moi comment ranger les fichiers ».

vocabulaire

Chemin relatif

L’adresse d’un fichier depuis celui où l’on est : css/style.css, ou ../index.html pour remonter d’un dossier.

vocabulaire

Multi-pages / one-page

Multi-pages : un fichier HTML par page, reliés par des liens <a>. One-page : une longue page (ou une appli) qui change son contenu en JS.

🧭

Ce site est lui-même un exemple multi-fichiers. Son arborescence :

webcabulaire/
├─ index.html  anatomie.html  catalogue.html  demo.html …   ← une page HTML par rubrique
└─ assets/
   ├─ css/   site.css  pages.css  demos.css …                ← styles partagés
   ├─ js/    site.js  catalogue.js  quiz.js …                ← scripts partagés
   └─ js/data/  structure-navigation.js  glossaire.js …      ← données

Chaque page contient seulement son contenu propre, et appelle les mêmes site.css et site.js : changer une couleur dans un fichier la change partout.

À dire à l’IA

« Sépare le code en fichiers : index.html, css/style.css et js/main.js, reliés avec des chemins relatifs. Puis crée une page par rubrique (index, a-propos, contact) qui partagent le même CSS et JS. »

Expérience n°3

La carte d’une page

Survolez ou touchez chaque zone du schéma : découvrez son nom, sa balise HTML et la façon de la demander à l’IA.

◆ LOGO AccueilServicesContact Bouton
Titre principal Appel à l’action
Expérience n°4

L’arbre : parents, enfants, frères

Le navigateur transforme le HTML en un arbre appelé DOM. Chaque élément a un parent, des enfants et des frères. Survolez à gauche ou à droite : les deux vues sont liées.

Ce qu’on voit

Titre de la carte

Un paragraphe avec un lien dedans.

  • Premier
  • Deuxième

Survolez un élément pour voir ses relations.

L’arbre HTML (le DOM)
Expérience n°5

Le modèle de boîte

Chaque élément est une boîte. De l’intérieur vers l’extérieur : contenu, padding, border, margin. Déplacez les curseurs : c’est la clé de tous les problèmes d’espacement.

margin
borderpadding
contenu

Padding = l’air à l’intérieur. Margin = la distance avec les voisins. Dire « plus d’espace » est ambigu : précisez lequel !

Expérience n°6

Disposer les éléments : Flexbox & Grid

Deux outils CSS pour placer des éléments. Flexbox aligne sur un axe (une ligne ou une colonne). Grid dispose en lignes et colonnes. Testez les réglages et lisez le code produit.

123456
Expérience n°7

JavaScript : écouter, décider, changer

Tout comportement suit le même schéma : un événement se produit (clic, survol, frappe, scroll), JS vérifie une condition, puis modifie la page. Interagissez avec la zone et regardez le journal.

1. Événement—
→
2. Condition—
→
3. Action sur le DOM—
Survolez-moi
↓ Faites défiler cette zone ↓




…




Fin

Compteur de clics : 0 — c’est le DOM qui a changé !

Journal des événements
    Expérience n°8

    Responsive : un site, tous les écrans

    Redimensionnez la fenêtre simulée. Aux points de rupture (breakpoints), le CSS change la mise en page grâce aux media queries : menu → burger, 3 colonnes → 2 → 1.

    Vous avez les bases.

    Voyez maintenant les composants assemblés dans un vrai site, puis explorez-les un par un.

    Visiter le site de démo →Ouvrir le catalogue