Aller au contenu
Échap
  • Tapez ce que vous cherchez avec vos mots : « Slack », « 503 », « prix ».

Budget de performance

Mesurer trois pages avec PageSpeed Insights après chaque déploiement, et faire perdre des points au ship qui ralentit le site.

Plan Pro et au-delàMis à jour le 11 septembre 2026

Sur cette page

Un déploiement qui double le poids du bundle ne casse rien : toutes les pages répondent 200. Après chaque déploiement de production, PostShip demande à PageSpeed Insights de charger jusqu'à trois de vos pages dans un vrai navigateur, garde le score Lighthouse et les métriques, et les compare au déploiement précédent. Si vous posez un budget, le franchir coûte 15 points au Ship Score et se voit dans le Check GitHub.

Ce que PostShip mesure

Pour chaque déploiement de production reçu par webhook, une fois les vérifications passées :

  • Quelles pages : les trois premières URL surveillées dont la vérification a relevé un title, dans l'ordre des cibles du projet (celui de leur ajout). Un title prouve que c'est une page HTML — mesurer un sitemap n'aurait pas de sens — et l'ordre fixe permet de comparer d'un déploiement à l'autre. Trois et pas cinquante : chaque appel fait tourner un Chrome chez Google pendant une dizaine de secondes.
  • Comment : l'API PageSpeed Insights v5, stratégie mobile, catégorie performance. Mobile parce que c'est là que Google juge, et là où un déploiement lourd se voit ; mesurer en desktop rassurerait à tort.
  • Quoi : le score de performance (0–100), le LCP, le CLS, le TBT et le FCP. Une seule métrique manquante et la mesure entière est ignorée — un écart calculé sur une valeur absente lue comme zéro annoncerait une amélioration spectaculaire à chaque panne de mesure.
  • En prime : la capture d'écran de fin de chargement rendue par Lighthouse, qui alimente la régression visuelle.

Pourquoi PageSpeed et pas les données de terrain de Chrome : celles-ci sont fenêtrées sur 28 jours et demandent un millier de visites par mois. Un déploiement qui casse la performance ce matin n'y apparaîtrait pas avant un mois, et jamais sur un site jeune. Les vitals de vos vrais visiteurs, eux, sont sur Vitals réels.

Régler

Projet → Paramètres → Règles, carte Budget de performance, deux champs indépendants et facultatifs :

ChampCe qu'il exigeBornes
Score minimum (0–100)Le score Lighthouse ne descend pas sous cette valeur0 à 100
LCP maximum (ms)Le Largest Contentful Paint ne dépasse pas cette durée200 à 60 000

Laissez les deux vides (« aucun ») pour mesurer sans jamais alerter : les chiffres restent visibles sur la page du déploiement. Un projet peut n'exiger qu'un LCP, ou qu'un score. Un budget est un seuil que vous avez posé vous-même : le franchir est un fait, pas une opinion.

Ce que vous voyez

Sur la page du ship (diff de ship), une section par page mesurée : score, LCP, CLS, TBT, et l'écart avec le déploiement précédent quand il a été mesuré lui aussi. « Non mesuré » quand PageSpeed n'a pas répondu — et jamais un zéro inventé.

Ce qui déclenche une alerte

Le budget n'envoie pas de message sur vos canaux. Ce qu'il fait quand une des pages mesurées le franchit :

  • Le Ship Score perd 15 points, une seule fois quel que soit le nombre de pages en dépassement — le budget est une décision du projet, pas une par URL, et le retirer trois fois ferait tomber la note à zéro pour un site simplement lent. La raison affichée est « budget de performance dépassé ».
  • Le Check GitHub reçoit ce score recalculé : en Team, un score plancher fait alors rougir le commit.

Un dépassement isolé sur une preview ne compte pas : une preview est mesurée et comparée à la production, sans budget ni note.

Limites et plans

FreeProTeam
Mesure PageSpeed après un déploiementNonOuiOui
Budget (score minimum, LCP maximum)NonOuiOui
Pages mesurées par déploiement33

La carte est repliée sur Free avec un lien vers les tarifs. Les déploiements détectés par empreinte ne sont pas mesurés : seuls les webhooks le sont. Voir les plans.

Dépannage

Pourquoi « non mesuré » sur toutes mes pages ?

PageSpeed n'a pas répondu dans les 45 secondes, a refusé l'URL, ou son quota est épuisé pour l'heure. PostShip ne retente pas : le déploiement suivant remesurera. Une page protégée par un en-tête privé n'est pas mesurable non plus — PageSpeed ne l'envoie pas.

Pourquoi mon score varie de dix points entre deux déploiements identiques ?

Lighthouse charge la page pour de vrai, sur une machine partagée : la variance est connue et normale. Posez un budget avec de la marge (un score minimum à 60 plutôt qu'à 89), et lisez la tendance sur plusieurs ships plutôt qu'un écart isolé.

Pourquoi la page mesurée n'est pas celle que je voulais ?

Ce sont les trois premières pages HTML dans l'ordre des URL du projet, c'est-à-dire en pratique l'ordre dans lequel elles ont été ajoutées. Il n'y a pas de réordonnancement : si une page décorative passe devant la page produit, supprimez-la et ajoutez-la de nouveau pour qu'elle passe derrière.

Pourquoi le budget a fait baisser le score sans que le Check GitHub rougisse ?

Sous Team, le score n'est qu'informatif dans le Check ; seul un échec de vérification le fait rougir. Le plancher de score est une promesse Team.