RousselTMLEARNING

Observabilité

Real User Monitoring (RUM) et Core Web Vitals : mesurer ce que vivent les utilisateurs

Pourquoi observer le front-end, ce que mesure le RUM, les Core Web Vitals (LCP, INP, CLS) et leurs seuils, et la différence entre RUM et monitoring synthétique.

1. L'angle mort du back-end #

Une API rapide ne fait pas une page rapide.

Pourquoi le RUM #

Les métriques serveur peuvent être parfaites alors que l'utilisateur attend 6 secondes : JavaScript trop lourd, image non optimisée, CDN lent dans un pays, erreur JavaScript qui bloque un bouton. Le Real User Monitoring mesure la performance et les erreurs dans le navigateur des vrais utilisateurs.

ApprocheMesureForcesLimites
RUMVrais utilisateurs, vrais appareilsRéalité terrain, toutes les pages, erreurs JavaScriptBesoin de trafic, données à protéger
SynthétiqueRobot à intervalle régulierDétecte une panne sans trafic, comparable dans le tempsUn seul appareil, quelques parcours
Bonne Pratique : Les deux sont complémentaires : le synthétique alerte la nuit sur une panne, le RUM dit ce que vit la majorité des utilisateurs (voir la formation k6 pour le synthétique).

2. Les Core Web Vitals #

Les indicateurs de Google.

Définitions et seuils #

Seuils des Core Web Vitals
Le CLS (sans unité) doit rester sous 0,1.
IndicateurMesureBonMauvais
LCP Largest Contentful PaintAffichage du plus grand élément visible≤ 2,5 s> 4 s
INP Interaction to Next PaintRéactivité aux clics et saisies≤ 200 ms> 500 ms
CLS Cumulative Layout ShiftStabilité visuelle (décalages)≤ 0,1> 0,25
FCP First Contentful PaintPremier contenu affiché≤ 1,8 s> 3 s
TTFB Time To First BytePremier octet reçu du serveur≤ 0,8 s> 1,8 s
À savoir : Les seuils s'apprécient au 75e percentile des visites : une page est « bonne » si 75 % des visites respectent le seuil. L'INP a remplacé le FID comme Core Web Vital en 2024.

3. Ce que collecte un outil de RUM #

Au-delà des Web Vitals.

Les signaux front-end #

SignalExemple
PerformanceWeb Vitals, temps de chargement des ressources
ErreursExceptions JavaScript avec pile d'appels, rejets de promesses
LogsMessages console
ÉvénementsAjout au panier, inscription, étape d'un tunnel
SessionsPages vues par session, navigateur, pays
TracesRequêtes fetch/XHR reliées aux traces du back-end

Articles liés

Tunnels de conversion en RUM : mesurer où les utilisateurs abandonnent

Construire et lire un tunnel de conversion (funnel) avec les données RUM : étapes, taux, ordre, pièges, et mi…

Monitoring de site web : disponibilité, surveillance HTTPS, certificats et performances

Mettre en place le monitoring d'un site web : surveillance de la disponibilité et du HTTPS, expiration des ce…

Grafana Faro : architecture et installation

Installer Grafana Faro : le SDK web (npm ou CDN), le récepteur faro.receiver d'Alloy, l'envoi vers Loki et Te…

Pour aller plus loin

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !