Skip to content

Guide de Test : Navigation Bimodale Starlight & Indexation Algolia

Guide de Test : Navigation Bimodale Starlight & Indexation Algolia

Étapes de validation pour l'architecture bimodale de la documentation Starlight et Algolia DocSearch

Guide de Test : Navigation Bimodale Starlight & Indexation Algolia

Ce document détaille les étapes de validation pour l’architecture bimodale de la documentation Starlight (Visiteur Public vs Membre Authentifié) et la séparation des index Algolia DocSearch.

1. Objectifs du Test1/2

Vérifier que :

  1. Visiteur Public (Non Authentifié) :
    • L’accès à http://localhost:8787/docs redirige vers un guide public valide (ex: /docs/gettingstarted/01-setup-local/) sans demander de mot de passe.
    • La barre latérale (Sidebar) n’affiche que les documents déclarés visibility: 'public'.
    • Les sections/groupes qui ne contiennent que des documents privés sont automatiquement masqués (pas de dossier vide).
    • Les boutons de pagination en bas de page (« Page précédente » / « Page suivante ») ne pointent jamais vers un document privé.
    • La recherche Algolia DocSearch interroge l’index public (docsearch_public) et ne fait remonter aucun titre ni contenu privé.

1. Objectifs du Test2/2

  1. Membre Authentifié (Connecté) :
    • Après connexion via /login, la barre latérale affiche tous les documents (publics et privés).
    • Les documents privés affichent un badge visuel distinct (« Privé »).
    • La recherche Algolia DocSearch interroge l’index complet (docsearch_all).

2. Procédure de Test Pas à Pas

Étape 1 : Vérification en tant que Visiteur Public (Fenêtre Privée / Non Connecté)1/3

  1. Ouvrir un navigateur en navigation privée (sans cookie de session).
  2. Naviguer vers : http://localhost:8787/docs
    • Résultat attendu : Redirection transparente vers la documentation publique (/docs/l1_contenu/sanity/visual-editing/astro-visual-editing-by-sanity/, Code HTTP 200).
  3. Examiner le Header en haut à droite :
    • Résultat attendu : Un bouton « Connexion » est visible à côté de la recherche et de l’icône GitHub.

Étape 1 : Vérification en tant que Visiteur Public (Fenêtre Privée / Non Connecté)2/3

  1. Examiner la barre latérale (Sidebar) :
    • Résultat attendu : Seuls les documents publics sont listés. Les spécifications internes (ex: SPEC-..., ADR-...) sont absentes et aucun groupe vide n’est affiché.
  2. Cliquer sur les liens de pagination en bas de page :
    • Résultat attendu : La navigation enchaîne uniquement les documents publics sans jamais tomber sur un document privé ni rediriger vers /login.

Étape 1 : Vérification en tant que Visiteur Public (Fenêtre Privée / Non Connecté)3/3

  1. Ouvrir la modal de recherche DocSearch (Ctrl + K) :
    • Taper un terme technique sensible (ex: SANITY_PROJECT_ID ou Better Auth Token).
    • Résultat attendu : Aucun résultat privé ne s’affiche. L’index utilisé est l’index public (PUBLIC_ALGOLIA_INDEX_NAME_PUBLIC).

Étape 2 : Vérification du Déclencheur et Connexion Membre1/3

  1. Cliquer sur le bouton « Connexion » dans le Header de la documentation.
    • Résultat attendu : Redirection vers http://localhost:8787/login?callbackURL=....
  2. Se connecter avec un compte valide (ex: admin@example.com ou compte de test).
    • Résultat attendu : Redirection automatique vers la documentation consultée précédemment.

Étape 2 : Vérification du Déclencheur et Connexion Membre2/3

  1. Examiner le Header :
    • Résultat attendu : Le bouton « Connexion » est remplacé par l’email de l’utilisateur et un bouton « Déconnexion ».
  2. Examiner la barre latérale :
    • Résultat attendu : L’ensemble des documents réapparaît (guides publics + documents privés).
    • Les documents privés affichent un badge « Privé ».

Étape 2 : Vérification du Déclencheur et Connexion Membre3/3

  1. Ouvrir la modal de recherche DocSearch (Ctrl + K) :
    • Taper un terme présent dans un document privé.
    • Résultat attendu : Les documents privés apparaissent dans les résultats (index PUBLIC_ALGOLIA_INDEX_NAME_ALL).
  2. Cliquer sur « Déconnexion » dans le Header :
    • Résultat attendu : La page se recharge instantanément en vue publique (sidebar épurée, bouton « Connexion » affiché).

3. Commandes de Validation Automatisée

Terminal window
# 1. Typecheck TypeScript (tous les projets)
task typecheck
# 2. Build de production Web & Starlight
task build:web
# 3. Tests unitaires (docVisibility, auth, utils)
task test

4. Indexation Algolia Manuelle (Exécutée par vos soins)

Conformément à la politique de gestion des tâches longues, l’indexation Algolia est prête et attend votre déclenchement manuel :

Terminal window
task index:algolia

Cette commande alimente automatiquement les deux indices :

  • PUBLIC_ALGOLIA_INDEX_NAME_PUBLIC (ou fallback ${INDEX}_public) : uniquement les documents visibility: 'public'.
  • PUBLIC_ALGOLIA_INDEX_NAME_ALL (ou fallback index principal) : tous les documents (publics + privés).
Switch to normal mode

Contents