Aller au contenu

Numérique et sciences informatiques (spécialité) · Première

HTML et CSS : cours de Première NSI

Publié le 7 novembre 2026 · Mis à jour le 7 novembre 2026 · Signaler une erreur

L'essentiel

  • HTML est un langage de balises : il décrit la structure d'une page (titres, paragraphes, liens, listes, sons, vidéos). 24
  • Une balise ouvrante contient un nom et des attributs de la forme attribut=valeur ; la balise fermante reprend le nom précédé d'une barre oblique. 4
  • Un document a une racine qui contient un head et un body ; l'attribut lang indique la langue principale. 4
  • Les éléments sont de deux catégories : bloc ou texte (en ligne). 4
  • CSS s'ajoute au HTML pour la mise en forme : le HTML dit ce qu'est un contenu, le CSS dit comment il s'affiche. 4

Introduction : à quoi servent HTML et CSS ?

Quand tu ouvres un site dans ton navigateur, tu vois des titres, des images, des boutons et des couleurs. Derrière cet affichage, il y a un fichier texte que le navigateur lit puis traduit en image à l'écran. Ce fichier est écrit dans un langage de balises appelé HTML. 2

Le HTML ne sert pas à calculer ni à décider : il décrit le contenu. Il dit « ceci est un titre », « ceci est un paragraphe », « ceci est un lien ». Pour l'aspect visuel (couleurs, polices, marges), on y ajoute un autre langage, le CSS. 4 Ensemble, ils forment la base de la création de sites Web. 4

Dans ce cours, tu vas apprendre à lire et à écrire une page simple. Tu verras :

  • comment est faite une balise ;
  • comment est organisé un document complet ;
  • la différence entre éléments de bloc et éléments de texte ;
  • comment habiller une page avec du CSS ;
  • les erreurs qui reviennent le plus souvent.

Anatomie d'une balise HTML

Un élément permet de signaler, par exemple, un en-tête, un paragraphe, un lien hypertexte, une liste, un son ou une vidéo. 4 Le contenu concerné est placé entre deux repères : une balise qui marque le début et une balise qui marque la fin. On parle de balise ouvrante et de balise fermante. 4

Les parties d'une balise
PartieRôleExemple
Balise ouvranteMarque le début de l'élément<p>
NomIndique le type d'élémentp
AttributPrécise une option sous la forme attribut=valeursrc="chat.png"
ContenuTexte ou éléments placés à l'intérieurBonjour
Balise fermanteMarque la fin de l'élément</p>
Les parties d'une balise · Chaque élément se lit de la même manière : ouverture, contenu, fermeture.

Structure d'un document HTML

Un document HTML complet n'est pas qu'une suite de paragraphes. Il possède un élément racine qui contient tous les autres. 4 Cette racine délimite le document. 4

Les éléments courants : de bloc ou de texte

Il existe beaucoup d'éléments, mais quelques-uns suffisent pour construire des pages complètes. Grâce à eux, on marque un titre, un paragraphe, un lien, une liste, et on peut aussi intégrer un son ou une vidéo. 4

En pratique, on retient l'idée suivante, que tu peux vérifier en testant :

  • un élément de bloc occupe sa propre ligne, comme un titre h1 ou un paragraphe p ;
  • un élément en ligne s'insère au milieu d'une phrase sans la couper, comme strong (mise en valeur) ou a (lien).
Besoin Élément Remarque
Titre principal h1 un seul par page, en général
Sous-titre h2 à h6 du plus important au moins important
Paragraphe p un bloc de texte
Lien a l'attribut href donne la destination
Liste à puces ul et li chaque entrée est un li
Liste numérotée ol et li chaque entrée est un li
Image img attributs src (fichier) et alt (description)

Le lien hypertexte est ce qui fait du Web un réseau de pages reliées entre elles. L'élément a reçoit un attribut href qui indique la destination. Un lien peut mener vers un autre site, vers une autre page du même site, ou rester sur la même page : un lien intra-page renvoie vers une autre partie du document déjà ouvert. 3

CSS : mettre en forme la page

Si tu affiches la page d'exemple précédente telle quelle, elle est sobre : texte noir sur fond blanc, titres plus gros. Le HTML s'occupe de la structure. Pour l'apparence, on utilise le langage de mise en forme CSS, qui accompagne le HTML dans la création de sites. 4

Cette séparation est précieuse : tu peux changer toutes les couleurs d'un site en modifiant un seul fichier de style, sans toucher au contenu.

Sélecteur Écriture CSS Ce qu'il vise
Par nom d'élément h1 { ... } tous les h1
Par classe .alerte { ... } tous les éléments portant class="alerte"
Par identifiant #entete { ... } l'élément portant id="entete"

Une classe peut être donnée à plusieurs éléments ; un identifiant doit être unique dans la page.

  • color : couleur du texte ;
  • background-color : couleur de fond ;
  • font-size : taille du texte ;
  • text-align : alignement (left, center, right) ;
  • margin : espace à l'extérieur d'un élément ;
  • padding : espace à l'intérieur, entre le contenu et la bordure ;
  • border : bordure.

Plusieurs règles peuvent viser le même élément. Si elles se contredisent sur une propriété, c'est en général la règle la plus précise qui l'emporte, ou, à précision égale, la plus récente dans le fichier.

Méthode : construire une page de A à Z

Exercices corrigés

Exercice 1 Décortiquer une balise

★☆☆Environ 5 min

Un lien est écrit ainsi : une balise ouvrante dont l'intérieur (entre les signes < et >) est a href="contact.html", puis le texte « Nous écrire », puis une balise fermante.

  1. Donne le nom de la balise.
  2. Écris ce qu'il y a entre < et > pour la balise ouvrante, puis pour la balise fermante.
  3. Quel est l'attribut ? Quelle est sa valeur ?
  4. Quel texte l'utilisateur voit-il à l'écran ?
Indice 1

Le nom est le premier mot après le signe <.

Indice 2

Un attribut s'écrit nom=valeur.

Voir la correction pas à pas
  1. Le nom de la balise est a, car c'est le premier mot après le signe <.

  2. La balise ouvrante contient a href="contact.html" ; la balise fermante contient /a, avec une barre oblique et le même nom.

  3. L'attribut est href ; sa valeur est "contact.html", la destination du lien.

  4. Le contenu placé entre les deux balises est « Nous écrire » : c'est ce que l'utilisateur voit, sous forme de lien cliquable.

Toute balise se lit de la même façon : nom, attributs éventuels, contenu, fermeture. Le texte visible est toujours le contenu entre les deux balises, jamais les attributs.

Exercice 2 Corriger une page défectueuse

★★☆Environ 10 min

Voici une page mal construite :

<html>
  <head>
    <h1>Mes recettes</h1>
  </head>
  <body>
    <p>Un gâteau <strong>facile</p></strong>
    <ul>
      <li>Farine
      <li>Sucre</li>
    </ul>
  </body>
</html>

Repère au moins trois erreurs, explique-les, puis réécris la page corrigée. On veut une page en français.

Indice 1

Cherche ce qui est placé au mauvais endroit, puis les balises mal fermées.

Indice 2

Pense à l'attribut qui indique la langue sur la racine.

Voir la correction pas à pas
  1. Le titre h1 est placé dans le head, alors que le contenu visible doit se trouver dans le body. Le navigateur corrige souvent ce genre d'erreur tout seul, mais la page n'est plus valide. On déplace donc le titre dans le body.

  2. L'imbrication est incorrecte dans <strong>facile</p></strong> : strong ouvert en dernier doit se fermer en premier, donc <strong>facile</strong></p>.

  3. Le premier li n'est pas fermé : on ajoute </li> après « Farine ».

  4. La racine n'indique pas la langue : on ajoute lang="fr" sur html.

  5. On peut aussi ajouter un title dans le head, qui reste vide sinon.

  6. Version corrigée :

    <html lang="fr">
      <head>
        <title>Mes recettes</title>
      </head>
      <body>
        <h1>Mes recettes</h1>
        <p>Un gâteau <strong>facile</strong></p>
        <ul>
          <li>Farine</li>
          <li>Sucre</li>
        </ul>
      </body>
    </html>
    

Les trois erreurs principales sont un contenu visible placé dans le head, une imbrication croisée et une balise non fermée. Quand une page se comporte bizarrement, vérifie d'abord ces points.

Exercice 3 Écrire une règle CSS

★★★Environ 15 min

Une page contient deux paragraphes :

<p>Texte ordinaire.</p>
<p class="astuce">Pense à enregistrer ton fichier.</p>

Écris le CSS qui :

  1. met en bleu le texte de tous les paragraphes ;
  2. met un fond jaune clair (lightyellow) et du gras uniquement sur le paragraphe de classe astuce.

Explique ensuite ce qui s'affiche pour chaque paragraphe.

Indice 1

Un sélecteur de classe commence par un point.

Indice 2

La couleur bleue du texte s'applique aussi au paragraphe de classe astuce, qui reste un paragraphe.

Voir la correction pas à pas
  1. Pour viser tous les paragraphes, on utilise le sélecteur d'élément p avec la déclaration color: blue;.

  2. Pour viser le seul paragraphe signalé, on utilise le sélecteur de classe .astuce : le point indique qu'il s'agit d'une classe.

  3. On y place deux déclarations : background-color: lightyellow; et font-weight: bold;.

  4. Le CSS complet est :

    p {
      color: blue;
    }
    .astuce {
      background-color: lightyellow;
      font-weight: bold;
    }
    
  5. Le premier paragraphe s'affiche en bleu, sur fond blanc, en graisse normale. Le second est aussi en bleu (il est un p), mais avec un fond jaune clair et en gras, grâce à la classe.

Une règle large (par élément) pose le style commun, et une règle de classe ajoute des particularités. Le second paragraphe cumule les deux règles car elles ne se contredisent pas.

Quiz

8 questions · correction immédiate · ton score reste sur ton appareil.

  1. Comment appelle-t-on le langage dans lequel sont écrites les pages Web, composé de balises ?

  2. Laquelle de ces écritures est une balise fermante correcte pour un paragraphe ?

  3. Une balise ouvrante d'image contient img src="chat.png" entre les signes < et >. Que représente src ?

  4. Quels éléments la racine d'un document HTML classique contient-elle ?

  5. Quel attribut permet d'indiquer la langue principale d'un document HTML ?

  6. Un élément HTML peut être de deux catégories. Lesquelles ?

  7. Le CSS sert à décrire la structure du contenu (titres, paragraphes, listes).

  8. Quel sélecteur CSS vise tous les éléments portant class="alerte" ?

Les questions qu'on se pose

Quelle est la différence entre une balise et un élément ?

Dans le langage courant, les deux mots sont employés l'un pour l'autre : un élément HTML s'appelle aussi balise ou tag. 4 Si l'on veut être précis, l'élément est l'ensemble « balise ouvrante + contenu + balise fermante », alors que la balise désigne chacun des deux repères.

Pourquoi séparer le HTML et le CSS au lieu de tout écrire au même endroit ?

Parce que ce ne sont pas les mêmes rôles : le HTML décrit le contenu, le CSS son aspect. 4 En les séparant, tu modifies le style de dix pages en changeant un seul fichier, et tu peux relire le contenu sans être gêné par des détails de couleur.

Que se passe-t-il si j'oublie de fermer une balise ?

Le navigateur ne plante pas : il essaie de deviner où ton élément s'arrête. Le résultat peut donc être inattendu, par exemple un texte entier en gras. Prends l'habitude de fermer chaque balise tout de suite après l'avoir ouverte, puis de remplir son contenu.

Comment savoir si un élément est de bloc ou en ligne ?

Teste-le : place-le entre deux phrases dans une page. S'il passe à la ligne et occupe toute la largeur, c'est un bloc ; s'il reste dans le fil de la phrase, il est en ligne. Les deux catégories existent en HTML. 4 Un titre h1 ou un paragraphe p sont des blocs ; strong et a sont en ligne.

Faut-il apprendre toutes les balises par cœur ?

Non. Retiens la structure d'une balise, la structure d'un document et une dizaine d'éléments courants (titres, paragraphe, liste, lien, image). Pour le reste, une page de référence suffit. L'important est de comprendre la logique : un élément, des attributs, un contenu.

Sources

  1. Ressources libres sur la science informatique - programmation, réseau, codage de l'information, Éduscol STI. Consulté le 7 novembre 2026.
  2. Ressource pédagogique NSI — HTML & CSS, Éduscol. Consulté le 7 novembre 2026.
  3. HTML & CSS en NSI — Cours et exercices, Académie de Lyon. Consulté le 7 novembre 2026.
  4. Élément HTML, Wikipédia. Consulté le 7 novembre 2026.

Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.

Signaler une erreur sur cette page

Je suis en…

Primaire

  • CP Bientôt
  • CE1 Bientôt
  • CE2 Bientôt
  • CM1 Bientôt
  • CM2 Bientôt

Collège

Lycée

Supérieur

  • BTS Bientôt
  • BUT Bientôt
  • Licence Bientôt
  • Prépas Bientôt

Sur cette page