Guide de Test : Documentation Starlight & Microservice d'Authentification L3
Phase : Phase 0 — Composant 4
Cycle : DOC → SPEC → CODE → TEST → INTÉG
Fichier :GettingStarted/13-phase0-starlight-docs-auth-test.md
1. Vue d’ensemble du Composant
Section titled “1. Vue d’ensemble du Composant”Le Composant 4 implémente l’intégration du site de documentation Starlight sous Astro avec un mécanisme de contrôle d’accès fondé sur le niveau de visibilité (public vs private) et un microservice d’authentification Cloudflare Worker L3 (services/auth-handler).
2. Prérequis & Services à Démarrer
Section titled “2. Prérequis & Services à Démarrer”Pour tester l’ensemble du flux d’authentification et de consultation de la documentation :
# Terminal 1 : Démarrage du Microservice d'Authentification L3 (Port 8790)task dev:auth-handler
# Terminal 2 : Démarrage du Front-End Astro (Port 4321)task devIdentifiants de test par défaut :
- Email :
admin@example.com- Mot de passe :
password123
3. Scénarios de Test
Section titled “3. Scénarios de Test”Scénario 1 : Accès à un Document Public (/overview)
Section titled “Scénario 1 : Accès à un Document Public (/overview)”- Ouvrir un navigateur en mode privé ou sans cookie actif.
- Naviguer vers
http://localhost:4321/overview. - Résultat attendu :
- Le document s’affiche immédiatement (200 OK).
- Aucune redirection vers la page de connexion.
Scénario 2 : Tentative d’Accès à un Document Privé Sans Connexion (/docs/ ou /getting-started/)
Section titled “Scénario 2 : Tentative d’Accès à un Document Privé Sans Connexion (/docs/ ou /getting-started/)”- Sans être connecté, naviguer vers
http://localhost:4321/getting-started/01-setup(ou toute route sous/docs/marquéevisibility: privatepar défaut). - Résultat attendu :
- Le Middleware Astro bloque la requête.
- Redirection automatique vers
http://localhost:4321/login?redirectTo=%2Fgetting-started%2F01-setup. - Formulaire de connexion affiché avec le message “Connexion requise pour consulter cette documentation privée”.
Scénario 3 : Authentification Réussie & Accès Automatique
Section titled “Scénario 3 : Authentification Réussie & Accès Automatique”- Sur la page
/login?redirectTo=..., saisir les identifiants :- Email :
admin@example.com - Password :
password123
- Email :
- Cliquer sur Se connecter.
- Résultat attendu :
- Appel API POST
/api/auth/loginintercepté et transmis au Worker L3amn-auth-handler. - Création du cookie sécurisé
auth_session. - Redirection automatique vers la page privée demandée (
/getting-started/01-setup). - Le document privé s’affiche correctement (200 OK).
- Appel API POST
Scénario 4 : Déconnexion (/api/auth/logout)
Section titled “Scénario 4 : Déconnexion (/api/auth/logout)”- Une fois connecté, effectuer un appel POST ou accéder à la fonction de déconnexion.
- Résultat attendu :
- Suppression du cookie
auth_sessionet invalidation dans le Worker. - Toute tentative ultérieure d’accès à un document privé redirige à nouveau vers
/login.
- Suppression du cookie
4. Commandes de Validation Automatisée
Section titled “4. Commandes de Validation Automatisée”# 1. Vérification du typage sur l'ensemble du monorepo (0 erreurs)npx pnpm@12.3.4 typecheck
# 2. Build de production de la documentation et du Workernpx pnpm@12.3.4 --filter ./apps/web buildnpx pnpm@12.3.4 --filter amn-auth-handler build