Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Ce que protège HTTPS

La leçon entière est à lire ici. Créez un compte gratuit pour lancer ses commandes dans un laboratoire et passer ses quiz et ses exercices.

Leçon de 50 minAucune commande

Une commande passée depuis une gare

Un commercial passe une commande fournisseur depuis le Wi-Fi gratuit d'une gare. N'importe qui sur ce réseau peut écouter ce qui passe.

Le site commence par https et le navigateur affiche un cadenas. Que peut voir la personne qui écoute ? Et que ne peut-elle pas voir ? C'est une question que l'on pose souvent en entretien.

À la fin de cette leçon

Remarque

Je peux expliquer ce que HTTPS protège.

Mots clés

MotCe que ça veut direExemple
HTTPla langue des navigateurs et des serveurs web
Requêtele message que le navigateur envoieGET /panier
Code de statutle nombre qui résume la réponse404
Chiffrerrendre un message illisible sans la clé
TLSla couche qui chiffre et vérifie la connexion
Certificatla carte d'identité numérique d'un site

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

HTTP est un échange de textes

Le navigateur envoie une requête : une méthode, un chemin et quelques en-têtes. GET /panier demande la page du panier.

Le serveur répond avec un code de statut, puis le contenu. Les codes en 200 disent que tout va bien. Les codes en 400 disent que la demande pose problème. Les codes en 500 disent que le serveur a échoué.

Les codes que vous lirez dans les tickets

CodeSensExemple au travail
200RéussiLa page du panier s’affiche
301DéplacéL'ancienne adresse renvoie vers la nouvelle
403InterditUn salarié ouvre une page réservée aux managers
404IntrouvableUn lien vers un produit supprimé
500Erreur du serveurLe site plante pendant le paiement

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Essayez : lire un code de statut

Code: python
# Une requête HTTP est un simple texte
requete = "GET /panier HTTP/1.1\nHost: librairie-martin.example\n"
print(requete)

# La première ligne de la réponse donne un code
reponse = "HTTP/1.1 200 OK"
code = int(reponse.split(" ")[1])

if code < 400:
    print(code, ": tout va bien")
else:
    print(code, ": il y a une erreur")

# Remplacez 200 OK par 404 Not Found, puis cliquez sur Exécuter.

HTTPS, c’est HTTP dans un tunnel chiffré

HTTP seul voyage en clair : quiconque est sur le chemin peut le lire ou le modifier. HTTPS ajoute TLS autour de chaque échange.

TLS apporte trois protections. La confidentialité : personne ne lit le contenu. L'intégrité : personne ne le modifie en route sans être repéré. L'authentification : le site prouve son identité avec un certificat.

Wi-Fi de la gare : qui voit quoi ?

ÉlémentVisible par un espionPourquoi
Adresse IP du siteOuiIl faut bien acheminer les paquets
Nom du siteOui, en généralLe DNS et le début de TLS le montrent
Chemin de la pageNonIl voyage dans le tunnel chiffré
Mot de passe et cookiesNonIls sont chiffrés
Contenu de la commandeNonIl est chiffré

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Essayez : ce qui reste visible

Code: python
url = "https://librairie-martin.example/compte?commande=1042"

# On enlève "https://", puis on coupe au premier "/"
sans_schema = url.split("://")[1]
morceaux = sans_schema.split("/", 1)

domaine = morceaux[0]
chemin = "/" + morceaux[1]

print("Visible par le réseau :", domaine)
print("Chiffré par HTTPS     :", chemin)

# Remplacez /compte?commande=1042 par /paiement, puis cliquez sur Exécuter.

Une erreur fréquente

Attention

Beaucoup pensent que le cadenas prouve qu'un site est honnête. Le cadenas dit seulement que la connexion est chiffrée vers ce nom précis. Un faux site bancaire peut avoir un cadenas : vérifiez toujours le nom dans la barre d'adresse.

Le navigateur vérifie le certificat

Avant d'afficher le cadenas, le navigateur fait trois vérifications. Le nom du certificat doit correspondre au site demandé. La date du jour doit être dans la période de validité. Une autorité de confiance doit avoir signé le certificat.

Un certificat expiré est une panne classique en entreprise. Le site marche, mais tous les navigateurs affichent une alerte.

Vraie sortie de curl -v

Code: bash
$ curl -v https://librairie-martin.example/panier
*   Trying 203.0.113.25:443...
* Connected to librairie-martin.example (203.0.113.25) port 443
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* Server certificate:
*  subject: CN=librairie-martin.example
*  start date: Sep  1 00:00:00 2026 GMT
*  expire date: Nov 30 23:59:59 2026 GMT
*  issuer: C=US; O=Let's Encrypt; CN=R11
*  SSL certificate verify ok.
> GET /panier HTTP/2
> Host: librairie-martin.example
>
< HTTP/2 200
< content-type: text/html; charset=utf-8

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.