SAÉ S2.03 Semestre 2 · mars 2026

Un serveur web, de la configuration à la trame

Installer un serveur web en local, le configurer, puis regarder ce qui circule vraiment entre le navigateur et le serveur. Le tout rédigé comme un manuel pas à pas, pour quelqu'un qui n'a jamais administré de serveur.

Compétence
C3 - Administrer des systèmes
Cadre
BUT Informatique - IUT Lyon 1
Binôme
avec Swan Gridel
Outils
Apache · Nginx · Wireshark · Telnet

Neuf étapes, du port 80 au formulaire

Sur une machine virtuelle Ubuntu, puis sous Windows. Chaque étape change un seul élément de la configuration et vérifie son effet.

ÉtapeCe qu'on faitCe que ça montre
1. Apache sur le port 80vérifier que le port est libre avec ss, lire ports.conf et l'hôte virtuel, déployer un siteoù Apache écoute et où il va chercher les pages
2. Capture Wiresharkécouter l'interface de bouclage et filtrer sur httpl'échange requête GET, réponse 200 OK
3. Passage au port 8080modifier Listen et <VirtualHost>, redémarrerseul le port TCP change dans les trames, pas le contenu HTTP
4. Configuration personnaliséecréer monsite.conf, basculer avec a2dissite et a2ensiteactiver un site sans toucher à la configuration par défaut
5. Principe du DNSajouter un nom de domaine dans /etc/hosts et un ServerNamecomment un nom devient une adresse IP
6. Nginx à côté d'Apacheinstaller Nginx et le déplacer sur le port 8088deux services ne peuvent pas partager un port
7. HTTP à la mainse connecter en Telnet et taper la requête soi-mêmele protocole est du texte : en-têtes, ligne vide, corps
8. Apache sous Windowsinstaller XAMPP et déployer le site dans htdocsle même principe sur un autre système
9. GET et POSTcréer un formulaire et capturer son envoioù voyagent les données saisies

Ce que montre Wireshark

L'étape 9, la plus parlante : la même page demandée, puis le formulaire envoyé. Cliquez sur une capture pour l'agrandir.

Requête GET

Demander une page

Le navigateur demande /formulaire.html au port 80. La requête ne contient que des en-têtes : l'hôte, le navigateur, les formats acceptés. Aucune donnée de l'utilisateur ne part vers le serveur.

Dans la liste, on voit aussi un 404 Not Found : une première demande de la page, avant sa création.

Capture Wireshark d'une requête GET vers formulaire.html
Requête POST

Envoyer des données

Une fois le formulaire rempli, le navigateur passe en POST. La saisie part dans le corps de la requête, encodée en application/x-www-form-urlencoded : Wireshark la montre en clair, prenom = "Walid".

C'est la limite du HTTP simple : les données ne sont pas dans l'adresse, mais rien ne les chiffre. Il faut HTTPS pour qu'elles deviennent illisibles sur le réseau.

Capture Wireshark d'une requête POST avec la donnée du formulaire en clair

Ce que ce projet m'a appris

  • Un serveur web n'est pas une boîte noire : un port d'écoute, un hôte virtuel et un dossier racine suffisent à expliquer ce qu'il fait.
  • Changer un paramètre à la fois, puis vérifier dans les trames, est le moyen le plus sûr de comprendre ce qu'il change.
  • HTTP se lit à l'œil nu : l'écrire à la main dans Telnet fait comprendre ce que le navigateur fait à notre place.
  • Un formulaire en HTTP transmet ses données en clair, ce qui montre concrètement l'intérêt du chiffrement.