Commencez par les parcours, pas par une moyenne site‑entière
Listez trois à cinq parcours où le retard a un coût client ou opérationnel clair : arriver sur une page de campagne, trouver un produit, soumettre un formulaire de contact, se connecter ou compléter une demande de support. Pour chacun, rédigez le point de départ, le résultat utile, la classe d’appareil principale et la page ou interaction qui doit bien fonctionner.
Donnez à chaque parcours sa propre ligne de budget. Un tableau de bord peut embarquer plus de code qu’un article public, mais son action de filtrage a besoin d’un objectif de réactivité. Une page produit riche en médias peut accepter des images plus volumineuses, mais nécessite une limite pour l’image principale visible. Cela empêche qu’un chemin critique faible se dilue dans une moyenne d’origine.
Nommez ce que le visiteur peut voir ou faire, par exemple lire l’offre, voir un résultat ou recevoir la confirmation d’un formulaire.
La mise en cache peut changer sensiblement le coût des assets, indiquez donc si le budget couvre une première visite, une visite répétée ou les deux.
Choisissez des résultats et des entrées contrôlables
Utilisez à la fois des métriques de résultat et des limites d’entrée. Google décrit le Largest Contentful Paint (LCP) comme la performance de chargement ; Interaction to Next Paint (INP) comme la réactivité d’interaction ; et Cumulative Layout Shift (CLS) comme la stabilité visuelle. Ses seuils recommandés sont : LCP à 2,5 secondes ou moins, INP à 200 millisecondes ou moins, et CLS à 0,1 ou moins au 75e percentile, considérés séparément pour mobile et desktop.
Ajoutez des limites qui exposent une cause tôt : JavaScript initial, images nécessaires avant le contenu principal, transfert total pour le parcours, requêtes tierces et un widget connu pour être coûteux. Suivez les tailles de transfert compressées de façon cohérente. Un diagnostic comme le Time to First Byte peut aider à enquêter sur un chargement lent, mais ce n’est pas en lui‑même le résultat utilisateur.
Utilisez LCP quand le parcours dépend de l’affichage du contenu principal.
Utilisez INP issu du champ (field) pour la recherche, le filtrage, les menus et le paiement ; utilisez un proxy de laboratoire uniquement avant d’avoir des données de terrain.
Plafonnez la route initiale et les plus gros contributeurs afin que les responsables sachent ce qui doit changer après un dépassement.
Fixez des chiffres à partir de votre baseline
Capturez une baseline pour chaque parcours. Dans PageSpeed Insights, distinguez les données de terrain du Chrome User Experience Report (CrUX), qui agrègent les expériences réelles d’utilisateurs Chrome, des données de laboratoire de Lighthouse, qui sont un test contrôlé. Les données de terrain vérifient l’expérience livrée aux utilisateurs ; les tests de laboratoire rendent une modification répétable avant la mise en production.
Segmentez au moins par mobile et desktop et, si possible, par template critique ou URL. PageSpeed Insights peut retomber des données d’URL aux données d’origine (origin), et certaines pages n’ont pas de données CrUX. Étiquetez ce cas comme une baseline de laboratoire et ajoutez une mesure réelle‑utilisateur pour les parcours importants. Conservez l’URL de test, le profil d’appareil et de réseau, l’état du cache, la date et la version de l’outil avec chaque baseline.
Choisissez un objectif qui améliore la baseline par étapes planifiées, puis testez‑le dans des conditions représentatives. Un budget qui bloque les livraisons normales sera contourné ; un budget au‑dessus de l’expérience actuelle ne protège personne.
Le 75e percentile est la valeur en dessous de laquelle 75 % des expériences observées se situent ; ce n’est pas une moyenne.
Faites du budget une règle de livraison
Conservez le budget dans un endroit versionné et révocable à côté du code ou de la checklist de livraison. Chaque ligne a besoin du parcours, de la métrique, du profil de test ou de la population, du seuil d’avertissement, du seuil d’erreur, du propriétaire, de la méthode de mesure et d’une voie d’exception. MDN recommande des niveaux d’avertissement et d’erreur : l’avertissement sert la planification proactive, tandis que l’erreur est une borne supérieure avec un effet négatif perceptible.
Automatisez des contrôles fiables. Un bundler peut rejeter un asset trop volumineux ou un point d’entrée initial surdimensionné ; webpack prend en charge des limites maximales d’asset et de point d’entrée ainsi que des hints d’erreur en production. Exécutez des tests de laboratoire reproductibles pour le parcours affecté dans les pull requests ou les candidats de release. Conservez les métriques de terrain pour la vérification post‑release et la priorisation plutôt que comme une gate de build peu fiable.
Quand une limite échoue, réduisez un asset, différez du code non essentiel, modifiez l’expérience, scindez la livraison ou approuvez une exception. Ne relevez pas silencieusement le seuil pour faire passer la build.
Enregistrez un propriétaire produit et technique, l’impact client, une date d’expiration et une tâche de remédiation avant la mise en production.
Bloquez un seuil d’erreur reproductible sur un parcours protégé ; notifiez et investiguez les seuils d’avertissement.
Vérifiez et remédiez après le lancement
Le poids de la page ne prédit pas l’expérience complète. L’ordre des requêtes, le travail bloquant le rendu, la capacité de l’appareil, les conditions réseau, la mise en cache et les tiers comptent aussi. Conservez des limites d’entrée pour détecter la croissance et des mesures de résultat pour tester si le parcours est utilisable. L’interface Resource Timing du W3C expose les timings des ressources ainsi que les tailles de transfert, encodées et décodées pour un diagnostic approfondi. Le détail des timings cross‑origin peut être restreint par des permissions de timing, donc un waterfall incomplet ne prouve pas l’absence de coût tiers.
Passez en revue les résultats de terrain après une modification significative de template, de plateforme, d’un tag marketing ou du trafic. Si le LCP se dégrade, inspectez la réponse serveur, la ressource LCP et le travail bloquant le rendu. Si l’INP se dégrade, inspectez les interactions réelles ; Lighthouse ne peut pas mesurer l’INP parce qu’il n’y a pas d’entrée utilisateur, bien que le Total Blocking Time soit un proxy de laboratoire. Utilisez le workflow d’optimisation proactif de SIU pour trier un dépassement, stabiliser le chemin critique et vérifier la correction dans le même contexte de mesure.
Les exceptions expirées révèlent rapidement une dette de performance temporaire devenue permanente.
