Analytics de fréquentation enrichi (appareils, referrers), anonymisation IP partielle, et un bug de consentement cookies corrigé
Le système d'enregistrement des visites (visitor_logs, /api/analytics) gagne trois nouvelles dimensions — type d'appareil, source de trafic, langue — et une anonymisation basique de l'IP. En parallèle, un bug faisait que le bandeau cookies ne trackait jamais un visiteur ayant choisi "Personnaliser" avec Analytics activé.
Ce qui change côté analytics
- Trois colonnes ajoutées à
visitor_logs:referrer,screen_resolution,language. GET /api/analytics/statsrenvoie désormais aussi une répartition par appareil (Ordinateur/Tablette/Mobile) et un top 5 des referrers.- L'IP est anonymisée par zérotage du dernier octet (
192.168.1.123→192.168.1.0) — IPv4 uniquement, une IPv6 est stockée telle quelle.
Détail complet : Analytics de fréquentation (nouvelle page). Ce système n'a aucun rapport avec /api/tracking (suivi de dossier par ticket) malgré le nom proche.
Le bug cookies corrigé
Un visiteur choisissant "Personnaliser" puis activant seulement la catégorie Analytics n'était en fait jamais tracké — le code ne vérifiait que le cas "Tout accepter". Corrigé. Détail : Consentement cookies (nouvelle page, à ne pas confondre avec les consentements légaux du formulaire de prêt scolaire).
À garder en tête
GET /api/analytics/stats reste accessible sans authentification — le code le signale lui-même comme provisoire. Peu sensible (pas de données personnelles) mais à corriger si ces statistiques doivent rester internes.
Petit bug de code repéré au passage : le filtre du top 5 referrers (referrer: { not: null, not: '' }) a une clé JS dupliquée — seule la seconde survit, donc les visites sans referrer (null) ne sont en fait pas exclues du classement, contrairement à l'intention du code.
Pages de doc à jour
Analytics de fréquentation (nouvelle page), Consentement cookies (nouvelle page), Consentements légaux.