Ce site pratique ce qu’il enseigne : l’observabilité. Chaque visite envoie une seule balise anonyme avec cinq mesures de performance ; elles sont agrégées en histogrammes dans Redis, exposées au format Prometheus sur /metrics et visualisables dans Grafana.
Ce qui est mesuré
Pas de cookie, pas d’adresse IP stockée, pas d’identifiant : uniquement le type de page (accueil, formation, leçon, article…) et des durées. Aucun consentement n’est requis pour ces mesures anonymes.
- LCP (Largest Contentful Paint)
- INP (Interaction to Next Paint)
- CLS (Cumulative Layout Shift)
- FCP (First Contentful Paint)
- TTFB (Time To First Byte)
État actuel (75ᵉ centile)
Pas encore de données : naviguez sur le site puis revenez ici.
Architecture
PerformanceObserver (navigateur) → sendBeacon → /rum.php → Redis (histogrammes) → /metrics → Grafana Alloy → Prometheus / Mimir → Grafana.
Comment la reproduire
// Grafana Alloy : scraper les métriques du site
prometheus.scrape "rtm" {
targets = [{"__address__" = "elearning.rousseltm.fr:443"}]
scheme = "https"
metrics_path = "/metrics"
forward_to = [prometheus.remote_write.cloud.receiver]
}
# PromQL : LCP p75 par type de page
histogram_quantile(0.75, sum by (le, page) (rate(rtm_rum_lcp_bucket[1h])))