Guide performance
Comment créer un budget de performance web réellement utilisé par les équipes
Un budget de performance n'est pas un chiffre dans un tableur. C'est un contrat de mise en production qui relie l'expérience utilisateur, les limites techniques, la responsabilité et une réponse sûre lorsque la limite est dépassée.
Un budget de performance utile répond à une question avant qu'une fonctionnalité ne soit livrée : que sommes-nous prêts à consacrer à cette expérience, et que retirerons-nous ou améliorerons-nous lorsque nous atteindrons la limite ? Le budget peut couvrir le poids de page, JavaScript, les images, les requêtes, les tiers, les temps et les métriques de terrain. Les valeurs exactes doivent venir de votre produit, de votre trafic, de vos appareils et de votre référence, et non d'un score universel.
L'approche la plus durable combine deux vues. Les budgets de laboratoire et de build protègent les éléments que les équipes contrôlent. Les budgets de terrain protègent l'expérience reçue par les utilisateurs réels. Google recommande d'évaluer les Core Web Vitals sur le terrain au 75e percentile : un LCP inférieur ou égal à 2,5 secondes, un INP inférieur ou égal à 200 millisecondes et un CLS inférieur ou égal à 0,1 pour une bonne expérience. Ces seuils sont des références utiles, mais une équipe produit peut choisir des objectifs plus stricts pour un parcours critique ou des garde-fous différents pour une page riche en médias.
Construire le budget en six étapes
1. Commencez par un parcours métier
Ne créez pas un budget unique pour l'ensemble du site. Une page d'atterrissage marketing, une fiche produit, une page de résultats de recherche, un article et un paiement ont des exigences différentes en matière de contenu et d'interaction. Choisissez d'abord deux ou trois archétypes de pages. Pour chacun, notez l'action utilisateur que la page doit permettre, la métrique métier qu'elle influence et l'expérience qui ne doit pas régresser.
Donnez à chaque budget un responsable désigné. Le produit décide de l'expérience qui mérite d'être protégée. Le design décide de ce qui est essentiel. L'ingénierie décide de la mise en œuvre. La plateforme ou les opérations sont responsables de la diffusion et du monitoring. Sans responsable, un dépassement de budget devient une observation plutôt qu'une décision.
2. Établissez une référence reproductible
Capturez une version représentative dans un environnement proche de la production. Mesurez un build propre et une page déployée. Enregistrez les tailles des ressources compressées et non compressées, le nombre de requêtes, les origines tierces, le temps de réponse, le LCP, le CLS et les proxys d'interaction de laboratoire tels que le TBT. Collectez ensuite les données de terrain par type de page, appareil, région et version.
Utilisez plusieurs exécutions et rapportez une plage plutôt qu'un résultat chanceux. Un test de laboratoire avec cache froid et la visite d'un utilisateur récurrent répondent à des questions différentes. Le guide RUM ou monitoring synthétique explique comment distinguer ces signaux tout en utilisant les deux.
3. Choisissez un petit ensemble de limites
Commencez par des limites qui correspondent à des décisions. Un exemple générique peut inclure :
| Dimension du budget | Limite de départ indicative | Responsable | Application |
|---|---|---|---|
| JavaScript compressé sur mobile | 200 KB | Frontend | Contrôle de build |
| Images critiques sur une fiche produit | 500 KB | Design et contenu | Contrôle des ressources |
| Origines tierces | 8 | Produit et marketing | Étape de revue |
| Transfert total de la page | 1.5 MB | Ingénierie | Contrôle de laboratoire |
| LCP au 75e percentile | 2.5 s ou moins | Plateforme | Tableau de bord RUM |
| INP au 75e percentile | 200 ms ou moins | Frontend | Tableau de bord RUM |
Ces valeurs sont données à titre indicatif, et ne constituent ni des objectifs Optimi ni une promesse pour chaque site. Fixez le premier budget suffisamment près de la référence pour que l'équipe puisse progresser, puis resserrez-le lorsque le processus de diffusion est stable. Séparez les limites de ressources des métriques centrées utilisateur : une page peut respecter une limite d'octets tout en affichant tardivement le contenu critique.
4. Placez les contrôles là où l'échec peut être corrigé
Les contrôles au moment du build sont rapides et précis pour les bundles, images, polices et HTML généré. Un contrôle de laboratoire sur une page déployée détecte les ressources dynamiques, les en-têtes CDN, le comportement du cache et le chemin réseau réel. Un contrôle RUM détecte les variations du monde réel après la mise en production. Utilisez chacun à la couche qu'il peut observer.
Lighthouse prend en charge des fichiers de budget pour les temps, tailles de ressources et nombres de ressources. Une structure générique ressemble à ceci :
[
{
"path": "/*",
"resourceSizes": [
{ "resourceType": "script", "budget": 200 },
{ "resourceType": "total", "budget": 1500 }
],
"resourceCounts": [
{ "resourceType": "third-party", "budget": 8 }
]
}
]
Traitez les unités et les noms de métriques pris en charge comme une configuration d'outil, pas comme une norme portable. Figez suffisamment le navigateur de test, l'ensemble d'URL, le profil réseau et la version de Lighthouse pour rendre les changements comparables. Conservez les rapports comme artefacts CI afin qu'un contrôle en échec indique quelle ressource ou quel temps a dépassé la limite.
5. Rendez les exceptions explicites
Les budgets ne doivent pas bloquer un travail légitime sans offrir de solution. Exigez un enregistrement d'exception avec la fonctionnalité, le coût, la raison, le responsable, la date d'expiration et la mesure d'atténuation. Par exemple, un nouveau prestataire de paiement peut ajouter un tiers, mais l'équipe peut le différer, le charger après une interaction et fixer une date de revue. Une exception sans expiration est simplement une augmentation permanente du budget.
Revoyez le budget lorsque l'archétype de page change, qu'un nouveau marché ou segment d'appareils devient important ou que les données de terrain montrent que la limite ne prédit plus l'expérience. Ne déplacez pas silencieusement la référence pour faire paraître une régression saine.
6. Reliez le budget aux opérations
Une version peut passer la CI et devenir lente après un changement de cache, un incident d'origine ou un problème de routage régional. Surveillez les métriques de terrain par version, modèle, zone géographique, appareil et chemin CDN. Suivez les erreurs de réponse et le comportement des cache hits avec les métriques navigateur. Pour la diffusion CDN managée, la politique de diffusion fait partie du budget. Pour le Multi CDN, comparez les fournisseurs plutôt que de les masquer dans un chiffre global unique.
Lorsqu'un budget en production est dépassé, définissez une échelle de retour arrière : désactiver le feature flag, restaurer la ressource ou la version précédente, annuler la règle de périphérie ou basculer le trafic vers un chemin de diffusion connu comme sain. Un budget est utile parce qu'il rend la décision de retour arrière plus précoce et moins politique.
Un budget est une règle de décision
La question importante n'est pas de savoir si une page dépasse d'un kilooctet. C'est de savoir si l'équipe sait qui est responsable du compromis, quelles preuves justifient l'exception et quelle action réversible restaure l'expérience.
Erreurs courantes
- Définir un chiffre unique pour tout le site alors que les pages ont des fonctions fondamentalement différentes.
- Mesurer uniquement Lighthouse sans jamais vérifier les utilisateurs réels.
- Utiliser un score de performance comme seul budget.
- Budgéter les octets totaux en ignorant l'ordre du chemin critique et le travail du thread principal.
- Autoriser des scripts tiers sans responsable désigné ni date de retrait.
- Mettre une pull request en échec sans artefact qui montre ce qui a changé.
- Relever la limite après chaque échec au lieu de corriger ou de documenter le compromis.
- Oublier le cache de périphérie, la latence d'origine et la diffusion régionale lors de la définition d'un budget navigateur.
Lisez le SEO/GEO technique lorsque le temps de réponse et l'efficacité du crawl font partie de l'objectif. Consultez le guide de migration CDN avant de modifier l'infrastructure de diffusion, et contactez Optimi lorsque vous devez transformer une référence de performance multirégion en modèle opérationnel.
There are only two hard things in Computer Science: cache invalidation and naming things.
Transformez vos objectifs de performance en contrat de mise en production
Échangez avec notre équipe sur les références, les budgets, l'observabilité et des décisions de diffusion plus sûres.
Contacter Optimi