Objectifs pédagogiques
À l'issue de ce chapitre, l'étudiant sera capable de :
- Distinguer l'infrastructure réseau Internet des services applicatifs, notamment le Web.
- Analyser le cycle de vie d'une requête HTTP/HTTPS et comprendre l'architecture client–serveur.
- Décomposer une URL et expliquer le rôle du DNS.
- Identifier le rôle de HTML, CSS et JavaScript.
- Rédiger un document HTML5 valide, structuré et sémantique.
- Manipuler les balises fondamentales, les attributs
idetclass, ainsi que les formulaires.
Partie 0 — Pourquoi apprendre le Web à l'ère de l'Intelligence Artificielle ?
Question légitime : « Pourquoi apprendre à coder quand l'IA peut générer du code plus vite ? »
Les assistants d'IA sont d'excellents outils de génération et d'aide au développement. Mais générer du code n'est pas la même chose que comprendre, valider, sécuriser et faire évoluer une application.
1. L'illusion du « clic magique »
Contexte métier & UX
L'IA ne connaît pas automatiquement les besoins réels des utilisateurs, les contraintes ergonomiques ou l'identité visuelle du projet.
Sécurité
Un code généré doit être audité : validation des entrées, XSS, injection SQL, authentification, autorisation, CORS, etc.
Accessibilité & SEO
Une structure HTML sémantique est importante pour les lecteurs d'écran et les moteurs de recherche.
Fiabilité
Un modèle peut produire des API obsolètes, des attributs inexistants ou des bibliothèques inadaptées.
2. Le pilote et le copilote
Pour exploiter correctement une IA, le développeur doit comprendre le problème et le code produit.
- Prompt précis : utiliser le vocabulaire technique approprié — Flexbox, Grid, DOM, événements, attributs sémantiques...
- Audit : lire et comprendre le résultat généré.
- Débogage : identifier et corriger les erreurs.
- Optimisation : améliorer performance, sécurité, accessibilité et maintenabilité.
3. Le développeur devient architecte
Architecte système
Conçoit la structure globale et l'interconnexion des services.
Garant de la qualité
Valide les normes, la sécurité, l'accessibilité et les performances.
Décideur technique
Choisit les technologies adaptées aux contraintes techniques, économiques et humaines.
4. IA vs maîtrise humaine
| Axe | IA | Humain |
|---|---|---|
| Production initiale | Génération rapide de code répétitif. | Spécification précise du besoin et cadrage du projet. |
| Analyse critique | Produit une réponse à partir de ses modèles. | Détecte incohérences, bugs et mauvaises hypothèses. |
| Sécurité & conformité | Peut générer des motifs vulnérables. | Réalise les audits et applique les exigences de sécurité et d'accessibilité. |
| Évolutivité | Peut produire du code fragmenté ou difficile à maintenir. | Refactoring et vision architecturale globale. |
Partie 1 — Qu'est-ce que le Web ?
Le World Wide Web (WWW) est un système hypertexte public fonctionnant sur Internet. Il permet de consulter des ressources à l'aide d'un navigateur.
Internet
Infrastructure mondiale composée de réseaux interconnectés, de routeurs, de serveurs, de liens physiques et de protocoles réseau.
Web
Service applicatif fonctionnant au-dessus d'Internet, basé notamment sur HTTP/HTTPS, les URL, les navigateurs et les serveurs Web.
| Critère | Internet | Web |
|---|---|---|
| Nature | Infrastructure réseau | Service d'information hypertexte |
| Origines | ARPANET dans les années 1960 | 1989, Tim Berners-Lee, CERN |
| Protocoles | TCP/IP, UDP, IP | HTTP / HTTPS |
| Composants | Câbles, routeurs, serveurs, adresses IP | URL, HTML, navigateurs, serveurs Web |
Autres services utilisant Internet
Partie 2 — Le protocole HTTP / HTTPS
HTTP (HyperText Transfer Protocol) est un protocole de la couche application utilisé pour les échanges entre clients et serveurs Web.
HTTP est fondamentalement stateless : chaque requête/réponse est indépendante. Des mécanismes comme les cookies et les sessions permettent ensuite de conserver un état applicatif.
HTTP vs HTTPS
| Caractéristique | HTTP | HTTPS |
|---|---|---|
| Port par défaut | 80 | 443 |
| Chiffrement | Non | Oui, via TLS |
| Intégrité | Non garantie | Protégée par TLS |
| Authentification du serveur | Non | Certificat X.509 |
| Risque d'interception | Élevé sur un réseau non fiable | Fortement réduit grâce au chiffrement |
Méthodes HTTP principales
GET
Récupérer une représentation d'une ressource. Devrait être sans effet de bord.
POST
Soumettre des données à une ressource, par exemple pour créer une ressource ou traiter un formulaire.
PUT
Remplacer la représentation d'une ressource cible.
DELETE
Demander la suppression d'une ressource.
Exemple : une requête HTTP
GET /index.html HTTP/1.1 Host: www.exemple.com Accept: text/html User-Agent: Mozilla/5.0
HTTP/1.1 200 OK Content-Type: text/html <!doctype html> <html>...</html>
Partie 3 — Architecture Client / Serveur
Client — Front-end
- Envoie des requêtes à la demande de l'utilisateur.
- Interprète HTML, CSS et JavaScript.
- Construit l'interface et gère les interactions.
Serveur — Back-end
- Écoute les requêtes entrantes.
- Exécute la logique métier.
- Accède éventuellement aux bases de données.
- Retourne HTML, JSON, fichiers ou autres ressources.
Partie 4 — Anatomie d'une URL et cycle de vie d'une requête
Décomposition d'une URL
| Composant | Exemple | Rôle |
|---|---|---|
| Schéma | https:// | Protocole utilisé. |
| Sous-domaine | www. | Sous-domaine de l'hôte. |
| Domaine | exemple.com | Nom permettant d'identifier l'hôte. |
| Port | :8080 | Port d'écoute du service. |
| Path | /cours/html/index.html | Chemin vers la ressource. |
| Query string | ?section=1&lang=fr | Paramètres clé=valeur envoyés au serveur. |
| Fragment | #partie3 | Position dans le document ; non envoyé au serveur dans la requête HTTP. |
Les 6 étapes du cycle de vie
- Saisie & DNS : le navigateur transforme le nom de domaine en adresse IP.
- Connexion : connexion TCP ; en HTTPS, négociation TLS.
- Requête HTTP : méthode, URL, en-têtes, cookies éventuels, etc.
- Traitement serveur : logique métier, accès aux données et préparation de la réponse.
- Réponse HTTP : code de statut, en-têtes et corps de réponse.
- Rendu : le navigateur analyse le HTML, construit le DOM et charge CSS, JavaScript et images.
Partie 5 — Les trois piliers du Web moderne
| Technologie | Rôle | Analogie |
|---|---|---|
| HTML | Structure et contenu | Le squelette |
| CSS | Apparence et mise en page | La peau et les vêtements |
| JavaScript | Comportement et interactivité | Le système nerveux et les muscles |
<button id="btn">Cliquez-moi</button>
<style>
button { padding: 10px; }
</style>
<script>
document.querySelector("#btn")
.addEventListener("click", () => {
alert("Bonjour !");
});
</script>
Partie 6 — Introduction au langage HTML
HTML (HyperText Markup Language) est un langage de balisage, et non un langage de programmation.
Langage de programmation
Permet d'exprimer une logique : variables, conditions, boucles, fonctions, etc.
Langage de balisage
Utilise des balises pour donner une structure et une signification au contenu.
Partie 7 — Balises, éléments et attributs HTML
Structure générale
<p class="important"> Bonjour le Web ! </p>
Un élément HTML standard peut être composé d'une balise ouvrante, d'un contenu et d'une balise fermante.
Balises vides (void elements)
Certaines balises ne contiennent pas de contenu et n'ont pas de balise fermante.
<img src="photo.jpg" alt="Photo de profil"> <br> <hr> <input type="text" name="nom">
Les attributs
Les attributs fournissent des informations supplémentaires. Ils sont placés dans la balise ouvrante sous la forme nom="valeur".
<a href="https://example.com" target="_blank"> Visiter le site </a>
Attributs universels importants
| Attribut | Utilisation |
|---|---|
id | Identifie de manière unique un élément dans le document. |
class | Associe un ou plusieurs éléments à une classe, notamment pour le CSS et JavaScript. |
title | Fournit une information complémentaire. |
lang | Indique la langue du contenu. |
hidden | Indique qu'un élément n'est pas actuellement affiché. |
Balises HTML fréquemment utilisées
Partie 8 — Le squelette standard d'un document HTML5
Voici une structure minimale moderne pour démarrer une page HTML5.
<!doctype html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, initial-scale=1.0">
<title>Mon premier document HTML5</title>
</head>
<body>
<h1>Bienvenue sur mon premier document HTML5</h1>
<p>Ceci est un paragraphe de démonstration.</p>
</body>
</html>
Explication des éléments
| Élément | Rôle |
|---|---|
<!doctype html> | Déclare un document HTML5 et active le mode standard du navigateur. |
<html lang="fr"> | Élément racine ; lang indique la langue principale. |
<head> | Contient les métadonnées et ressources du document. |
<meta charset="UTF-8"> | Définit l'encodage des caractères. |
<meta name="viewport"...> | Permet une adaptation correcte de la page aux écrans mobiles. |
<title> | Définit le titre affiché dans l'onglet du navigateur. |
<body> | Contient le contenu visible de la page. |
HTML sémantique
<header>
<h1>Portail d'apprentissage du Web</h1>
</header>
<main>
<section>
<h2>Introduction à HTML5</h2>
<p>HTML5 structure le Web moderne.</p>
</section>
</main>
<footer>
© 2026 — Tous droits réservés.
</footer>
Partie 9 — Formulaires HTML
Un formulaire permet de recueillir des informations saisies par l'utilisateur.
<form>
<label for="nom">Nom :</label>
<input id="nom" name="nom" type="text">
<label for="email">E-mail :</label>
<input id="email" name="email" type="email">
<label for="message">Message :</label>
<textarea id="message"
name="message"></textarea>
<button type="submit">Envoyer</button>
</form>
Types d'input courants
| Type | Usage |
|---|---|
text | Texte court. |
email | Adresse e-mail. |
password | Mot de passe. |
number | Valeur numérique. |
date | Date. |
checkbox | Choix indépendant. |
radio | Choix exclusif dans un groupe. |
Partie 10 — Synthèse globale
Partie 11 — TP : Création d'un CV en ligne
Objectif : créer une première page Web personnelle valide en HTML5, accessible et sémantique.
Consignes
- Créer le dossier :
TP1_Web, puis créer le fichierindex.html. - Créer le squelette : utiliser HTML5,
lang="fr"et UTF-8. - En-tête : ajouter un
<h1>avec votre prénom et nom, une image avec un attributaltpertinent et un paragraphe de présentation. - Expériences : créer une section avec une liste non ordonnée et mettre les intitulés importants en évidence.
- Formations : créer une section contenant un tableau avec les colonnes Année, Diplôme et Établissement.
- Contact : créer un formulaire avec un champ nom, un champ e-mail, une zone de texte et un bouton d'envoi.
- Pied de page : ajouter un lien vers LinkedIn ou GitHub avec
target="_blank"et une mention de droits d'auteur. - Validation : valider le document avec le validateur HTML du W3C et corriger les éventuelles erreurs.
Structure attendue
<body>
<header>
<h1>Prénom NOM</h1>
<img src="photo.jpg" alt="Photo de Prénom NOM">
<p>Présentation...</p>
</header>
<main>
<section>
<h2>Expériences</h2>
<ul>...</ul>
</section>
<section>
<h2>Formations</h2>
<table>...</table>
</section>
<section>
<h2>Contact</h2>
<form>...</form>
</section>
</main>
<footer>...</footer>
</body>
À retenir
1. Internet ≠ Web
Internet est l'infrastructure ; le Web est un service qui fonctionne dessus.
2. HTTP
Le Web repose principalement sur un échange requête/réponse entre client et serveur.
3. HTML
HTML décrit la structure et le sens du contenu.
4. Sémantique
Utiliser les bonnes balises améliore lisibilité, accessibilité et compréhension du document.
5. Pratique
Le meilleur moyen d'apprendre HTML est d'écrire du code, l'ouvrir dans un navigateur et observer le résultat.
Quiz — Vérification des connaissances
Testez vos connaissances sur les notions étudiées dans ce chapitre. Une seule réponse est correcte pour chaque question.