Architecture : comment le socle est construit
Tout est calculé au build : une chaîne de scripts moissonne et fusionne les sources ouvertes, Next.js génère les pages à partir des JSON publiés, Pagefind indexe le HTML produit. Aucun service à superviser en dehors du serveur web.
📑 Sommaire de la section
Stack technique
Node 22, pnpm, Next.js 16, React 19, Mantine 7, Pagefind, Zod, Vitest, Playwright, Storybook. Les dossiers, les trois paquets autonomes, les commandes et leurs durées.
Chaîne de données
data:extract copie, data:build fusionne et publie, le site se génère. Règles de fusion par entité, volumes, et comment ajouter une source.
Marque blanche
Une instance = un fichier de configuration et deux logos. Créer une instance, brancher l'annuaire de l'établissement, les langues.
Recherche
Pagefind indexe les fiches au build, la recherche tourne dans le navigateur. Limites, options comparées, quand passer à Meilisearch.
🏷️ Une instance pilote tout
🔎 La recherche, sans serveur
Les deux pièges rencontrés en déployant pour de vrai (index non déployé, liens de résultats en 404) sont racontés dans Déploiement Vercel et ADR 009.
⚖️ Les décisions derrière l'architecture
| Décision | Ce qu'elle fixe |
|---|---|
| ADR 007 | Instances en marque blanche : un fichier de configuration, deux logos |
| ADR 008 | Chaîne de données sur sources ouvertes, brut conservé |
| ADR 009 | Recherche Pagefind en version 1, Meilisearch si le besoin apparaît |
| ADR 012 | Version anglaise sous /en, français sans préfixe |
| ADR 013 | L'annuaire de l'établissement comme liste officielle, parseur générique |