Analytics et observabilité auto-hébergées

POC répondant au cahier des charges self_hosted_analayctics_observability.md : mesurer l'audience et observer l'application sans qu'aucune donnée sorte vers un tiers, avec des paquets réutilisables hors du projet.

Ne pas activer en production

Rien ne part tant que rien n'est activé, et rien ne doit être activé avant la validation de la DPO (Vie privée). L'auto-hébergement ne vaut pas conformité.


📑 Sommaire de la section


🧭 Deux chaînes qui ne se mélangent pas

Audience d'un côté, observabilité de l'autre
Un événement métier ne part pas dans les traces, un span ne part pas chez un fournisseur d'audience. Seuls traceId et spanId circulent dans les journaux, comme identifiants de corrélation.

📍 État mesuré au 28 octobre 2026

Ce qui est faitÉtat
Quatre services en local, données interrogeables (pnpm telemetry:test)15 / 15
Site construit, navigateur réel, vues de page retrouvées (pnpm telemetry:test:app)12 / 12
Formatage, lint, typage, tests (make check)au vert
Bannière de consentementen place
Tableaux de bord, alertes, déploiement distant, HTTPS, sauvegardes, IaC, essais de chargenon fait

Ce qui est branché, exactement : les vues de page et les recherches (Matomo trackSiteSearch, compteur Prometheus). Les autres événements du catalogue ne sont émis par aucun composant du site. Détail et conséquences dans la revue du branchement.

La leçon de cette étape, écrite dans le journal : chaque échec se présentait comme un succès. Un code HTTP 2xx ne prouve rien, seule l'interrogation des données après coup compte.