Politique d’adoption de la recherche du site avec Pagefind
Décision
- Adopter Pagefind comme moteur de recherche global du site.
- Exposer les routes
/searchet/{lang}/search, avec des index linguistiques sélectionnés viahtml[lang]. - Rendre l’indexation Pagefind obligatoire après
astro builddans la pipeline de build. - Faire pointer la navigation de recherche dans le header vers la page de recherche de la locale active.
Contexte
Le site est entièrement statique et doit proposer une recherche plein texte sans ajouter d’infrastructure de recherche côté serveur. Le site publie déjà des URLs multilingues (ja/en/ko/fr/de/pt) ; le comportement de recherche doit donc rester borné par langue.
Options
- Option A : utiliser un service de recherche hébergé externe
- Option B : développer et maintenir une API de recherche personnalisée
- Option C : introduire Pagefind avec index statique (retenue)
Justification
- Pagefind s’exécute après la génération HTML statique et s’intègre bien au flux Astro.
- La sélection d’index par langue via
html[lang]est disponible nativement. - La recherche côté client limite les coûts d’exploitation et évite des dépendances d’infrastructure supplémentaires.
Conséquences
- Les builds de production doivent générer
dist/pagefind/. - L’implémentation UI initiale utilise
@pagefind/default-ui, avec possibilité d’évoluer vers une UI personnalisée. - Les optimisations de pertinence (sélecteurs d’exclusion, pondération, enrichissement des métadonnées) seront ajoutées après observation des usages réels.
hsb.horse