Aller au contenu

Exécuter les tests finaux

Tester l’infrastructure et le parcours utilisateur comme un évaluateur.

Dans ce chapitre : 2 étapes et 12 preuves de validation.

Étape 108 — Faire l’inventaire technique final

Section intitulée « Étape 108 — Faire l’inventaire technique final »

Objectif. Tu vérifieras ce que Docker exécute réellement, pas seulement les fichiers.

État du projet avant cette étape. Le projet et sa documentation sont terminés. La soutenance commence par des faits observables sur la VM.

ps prouve les services et les ports ; images prouve les images locales ; inspect prouve les montages, le réseau, les redémarrages et les PID 1.

Relance avec make puis rassemble les sorties utiles. Pour chaque ligne, prépare une phrase qui explique ce qu’elle prouve.

À EXÉCUTER DANS🖥️ Dans la VM · 📁 racine du repository
docker compose -f srcs/docker-compose.yml ps
docker compose -f srcs/docker-compose.yml images
docker network inspect inception
for service in mariadb wordpress nginx; do docker inspect "$(docker compose -f srcs/docker-compose.yml ps -q "$service")" --format '{{.Name}} | image={{.Config.Image}} | restart={{.HostConfig.RestartPolicy.Name}} | ports={{json .NetworkSettings.Ports}}'; done
Ce que fait chaque partie
  1. ps : état et ports.
  2. images : association service/image.
  3. network inspect : membres du réseau.
  4. inspect format : image, restart et ports de chaque container.
Résultat attendu

Trois Up ; trois images aux mêmes noms que services ; trois membres réseau ; restart configuré ; seul NGINX mappe 443.

Si cela échoue

Un nom réel préfixé par Compose peut nécessiter docker compose ps -q <service> au lieu d’un nom fixe dans docker inspect.

À EXÉCUTER DANS🖥️ Client pour curl/OpenSSL · VM pour Compose

Avant de copier : remplacez <login></dev/null 2> par vos valeurs.

curl -kI https://<login>.42.fr
curl -kI https://<login>.42.fr/wp-admin/
openssl s_client -connect <login>.42.fr:443 -tls1_2 </dev/null 2>/dev/null | grep -E 'Protocol|Cipher'
openssl s_client -connect <login>.42.fr:443 -tls1_3 </dev/null 2>/dev/null | grep -E 'Protocol|Cipher'
docker compose -f srcs/docker-compose.yml exec wordpress wp user list --allow-root --path=/var/www/html
Ce que fait chaque partie
  1. curl -I : vérifie les statuts sans télécharger la page.
  2. OpenSSL : prouve chaque protocole.
  3. wp user list : vérifie rôles et noms dans la base réelle.
Résultat attendu

Site et /wp-admin répondent ; TLS 1.2/1.3 négocient ; deux comptes au minimum apparaissent.

Si cela échoue

502 = liaison NGINX/PHP-FPM ; Error DB = WordPress/MariaDB ; redirection vers mauvais domaine = DOMAIN_NAME ou options WordPress.

Preuves de validation 0 / 6

Une case correspond à une preuve observée ou expliquée, pas simplement à une commande copiée.

Question de soutenance — Pourquoi ps ne suffit-il pas ?

Un container Up peut encore servir une mauvaise configuration ou ne pas préserver les données.

Étape 109 — Rejouer les tests visibles de l’application

Section intitulée « Étape 109 — Rejouer les tests visibles de l’application »

Objectif. Tu vérifieras l’expérience que l’évaluateur reproduira.

État du projet avant cette étape. L’inventaire Docker est cohérent. Il reste à refaire les tests fonctionnels depuis la machine cliente.

Une stack Up n’est pas forcément correcte : le domaine, le certificat, les versions TLS, WordPress, les comptes et la persistance doivent tous être observés.

Teste le site et wp-admin, les deux comptes, TLS positif et négatif, l’absence du port 80, puis refais un cycle down/up sans perte de contenu.

À EXÉCUTER DANS🖥️ Dans la VM · 📁 racine du repository
git status --short
git ls-files | sort
git check-ignore -v secrets/db_password.txt
test -f Makefile && test -f README.md && test -f USER_DOC.md && test -f DEV_DOC.md && test -f srcs/docker-compose.yml
make down
make
Ce que fait chaque partie
  1. ls-files : inventaire exact rendu.
  2. check-ignore : prouve la règle qui protège le secret.
  3. test -f : vérifie les cinq fichiers critiques.
  4. make : valide le chemin officiel après arrêt.
Résultat attendu

Tous les fichiers obligatoires sont suivis, secrets ignorés, aucune donnée/VM committée, make relance tout.

Si cela échoue

Un fichier untracked obligatoire ne sera pas rendu. Un secret tracked doit être révoqué et retiré de l’historique, pas seulement ignoré.

Preuves de validation 0 / 6

Une case correspond à une preuve observée ou expliquée, pas simplement à une commande copiée.

Question de soutenance — Pourquoi ps ne suffit-il pas ?

Un container Up peut encore servir une mauvaise configuration ou ne pas préserver les données.