🖥️web

Creer une page web interactive en HTML CSS JavaScript

30 mars 2026 5 min de lecture

Les Trois Piliers du Web : HTML, CSS et JavaScript

Pour créer une page web interactive, tu dois maîtriser trois langages complémentaires. Imagine une maison : HTML (HyperText Markup Language) en est la structure, les murs et les pièces. C'est lui qui définit le contenu de base (titres, paragraphes, images, boutons). CSS (Cascading Style Sheets) est la décoration, la peinture et l'agencement des meubles. Il s'occupe de l'apparence (couleurs, polices, mise en page). Enfin, JavaScript (souvent abrégé JS) est l'électricité, la plomberie et tout ce qui rend la maison "vivante" et réactive. C'est le langage de programmation qui permet d'ajouter de l'interactivité, comme réagir à un clic, modifier du contenu dynamiquement ou valider un formulaire.

Pour le programme de Numérique et Sciences Informatiques (NSI), comprendre cette séparation des rôles est fondamental. Cela s'appelle la séparation des préoccupations (separation of concerns), un principe clé en informatique qui rend le code plus clair, plus facile à maintenir et à faire évoluer.

Structure de Base d'un Fichier HTML

Commençons par le squelette, le fichier HTML. Voici le code minimal que tu dois connaître par cœur. Crée un fichier nommé index.html avec le contenu suivant :

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ma Première Page Interactive</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <h1 id="titre-principal">Bonjour le monde !</h1>
    <p class="description">Ceci est mon premier paragraphe.</p>
    <button id="mon-bouton">Clique-moi !</button>
    <script src="script.js"></script>
</body>
</html>

Décortiquons ce code :

  • <!DOCTYPE html> : Indique au navigateur qu'il s'agit d'un document HTML5.
  • <html lang="fr"> : Balise racine, avec l'attribut lang pour la langue.
  • <head> : Contient les métadonnées (non visibles) comme l'encodage, le titre de l'onglet et le lien vers la feuille de style CSS.
  • <body> : Contient tout le contenu visible de la page.
  • Les balises <h1>, <p> et <button> sont des éléments de contenu. Nous leur avons donné des attributs id et class pour pouvoir les cibler facilement avec CSS et JavaScript.
  • La balise <script> à la fin du body charge notre fichier JavaScript.

Les Sélecteurs CSS : ID et Classe

Tu as remarqué id="titre-principal" et class="description". En CSS et JS, on utilise ces sélecteurs pour cibler des éléments précis. Une classe (précédée d'un point . en CSS) peut être utilisée sur plusieurs éléments. Un ID (précédé d'un dièse # en CSS) doit être unique dans la page. C'est une convention importante à respecter.

Styliser la Page avec CSS

Maintenant, créons le fichier style.css. C'est ici que la magie visuelle opère. Voici un exemple pour styliser notre page :

/* style.css */
body {
    font-family: Arial, sans-serif;
    background-color: #f0f0f0;
    text-align: center;
    padding: 50px;
}

#titre-principal {
    color: #2c3e50;
    font-size: 2.5em;
    margin-bottom: 20px;
}

.description {
    color: #7f8c8d;
    font-size: 1.2em;
    line-height: 1.6;
}

#mon-bouton {
    background-color: #3498db;
    color: white;
    border: none;
    padding: 15px 30px;
    font-size: 1.1em;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

#mon-bouton:hover {
    background-color: #2980b9;
}

Ce code CSS fait plusieurs choses :

  • Il définit une police et un fond gris clair pour toute la page (body).
  • Il stylise le titre principal (#titre-principal) en bleu foncé et plus grand.
  • Il donne une couleur grise au paragraphe de la classe .description.
  • Il crée un beau bouton bleu avec des coins arrondis. La propriété transition et la pseudo-classe :hover ajoutent une animation fluide au survol de la souris. C'est déjà une première forme d'interactivité purement visuelle gérée par CSS !

Donner Vie à la Page avec JavaScript

Passons à l'interactivité "intelligente". Crée le fichier script.js. Notre objectif : faire en sorte que lorsque l'utilisateur clique sur le bouton, le titre change et un message s'affiche.

// script.js

// 1. On "attrape" les éléments HTML dont on a besoin
const bouton = document.getElementById('mon-bouton');
const titre = document.getElementById('titre-principal');

// 2. On définit une fonction qui sera exécutée au clic
function reagirAuClic() {
    // On change le texte du titre
    titre.textContent = "Super ! Tu as cliqué !";
    // On change la couleur du titre
    titre.style.color = "#e74c3c";
    // On affiche une alerte (pop-up)
    alert("Interaction réussie ! Bienvenue en NSI !");
    // Bonus : on ajoute un paragraphe dynamiquement
    const nouveauParagraphe = document.createElement('p');
    nouveauParagraphe.textContent = "Ce paragraphe a été ajouté par JavaScript !";
    nouveauParagraphe.className = "description"; // On lui donne une classe existante
    document.body.appendChild(nouveauParagraphe);
}

// 3. On dit au bouton d'appeler notre fonction quand on clique dessus
// C'est ce qu'on appelle "attacher un écouteur d'événement" (event listener)
bouton.addEventListener('click', reagirAuClic);

Analysons ce script étape par étape :

  • Ligne 4-5 : On utilise document.getElementById() pour stocker des références vers nos éléments HTML dans des variables. C'est comme mettre un signet sur une page.
  • Ligne 8 : On déclare une fonction nommée reagirAuClic. Une fonction est un bloc de code réutilisable qui s'exécute quand on l'appelle.
  • À l'intérieur de la fonction : On modifie le contenu texte (textContent) et le style (style.color) du titre. On utilise alert() pour une pop-up simple. Enfin, on montre comment créer un élément HTML (<p>) à partir de rien avec document.createElement(), le configurer, et l'ajouter à la page avec appendChild(). C'est très puissant !
  • Ligne 23 : C'est la ligne clé. On ajoute un "écouteur d'événement" (event listener) sur le bouton. On lui dit : "Quand ('click') tu détectes un clic sur ce bouton, exécute la fonction reagirAuClic."

Projet NSI : Crée un Compteur de Clics

Pour aller plus loin et valider tes compétences, voici un mini-projet parfait pour NSI : un compteur de clics. Modifie ton index.html pour ajouter un affichage :

<p>Nombre de clics : <span id="compteur">0</span></p>

Puis, modifie ton script.js :

const compteurAffichage = document.getElementById('compteur');
let nombreDeClics = 0; // Variable d'état

function reagirAuClic() {
    nombreDeClics++; // Incrémente le compteur
    compteurAffichage.textContent = nombreDeClics; // Met à jour l'affichage
    titre.textContent = `Clics : ${nombreDeClics}`;
    // Change la couleur en fonction du nombre
    if (nombreDeClics > 10) {
        titre.style.color = "#2ecc71"; // Vert
    } else if (nombreDeClics > 5) {
        titre.style.color = "#f39c12"; // Orange
    }
}

bouton.addEventListener('click', reagirAuClic);

Ce projet introduit des concepts algorithmiques essentiels en NSI :

  • Variable d'état (nombreDeClics) : Elle garde en mémoire l'état courant de l'application.
  • Incrimination (++) : Modifier la valeur d'une variable.
  • Structure conditionnelle (if...else if) : Exécuter du code différent selon une condition.
  • Template literal (les backticks ``) : Pour insérer une variable dans une chaîne de caractères.

Tu as maintenant une page web pleinement interactive ! Le code complet est à toi. N'hésite pas à expérimenter : change les couleurs, ajoute d'autres boutons avec des fonctions différentes, ou crée un petit jeu. C'est en pratiquant que l'on comprend et retient.

📚 Pour aller plus loin

Questions fréquentes

Dois-je installer un logiciel spécial pour coder en HTML/CSS/JS ?

Non, tu peux commencer avec un simple éditeur de texte comme Notepad (Windows) ou TextEdit (Mac). Pour plus de confort, je te recommande un éditeur gratuit comme Visual Studio Code, qui colore le code et t'aide à repérer les erreurs. Pour exécuter le code, il suffit d'ouvrir ton fichier .html avec ton navigateur web (Chrome, Firefox, Edge).

Pourquoi mon code JavaScript ne fonctionne pas ? Vérifications à faire.

1. Vérifie la console d'erreur de ton navigateur (F12 > onglet Console). C'est ton meilleur ami pour le débogage. 2. Assure-toi que ton fichier .js est bien lié dans le HTML et que le chemin (<code>src</code>) est correct. 3. Vérifie que ton code JavaScript est chargé APRÈS les éléments HTML qu'il doit manipuler (c'est pourquoi on place souvent la balise <code>&lt;script&gt;</code> à la fin du <code>&lt;body&gt;</code>). 4. Attention aux fautes de frappe dans les noms de variables ou de fonctions.

Quelle est la différence entre un framework (React, Vue) et le JavaScript "pur" ?

Le JavaScript "pur" (ou vanilla JS) que tu apprends ici est le langage de base. Les frameworks comme React ou Vue sont des bibliothèques construites avec ce même JavaScript. Ils fournissent des structures et des outils pour construire des applications web très complexes et dynamiques plus facilement. Pour débuter en NSI et bien comprendre les fondamentaux, il est essentiel de maîtriser d'abord le JavaScript pur avant de se tourner vers un framework.

Bravo ! Tu as lu cet article
Inscris-toi pour sauvegarder ta progression et gagner des XP
Creer mon compte
HTML CSS JSweb NSI
Pixel