Ship Score
La note sur 100 de chaque déploiement de production, catégorie par catégorie, et ce qu'elle devient.
Mis à jour le 11 septembre 2026
Sur cette page
Chaque déploiement de production part de 100 et perd des points selon ce qui a échoué. Une seule note à la place d'un pass / fail, parce qu'un ship qui a cassé le checkout et un ship qui a perdu sa carte sociale ne sont pas la même nouvelle. Le calcul est déterministe : aucun modèle, aucune pondération cachée, le barème ci-dessous et rien d'autre.
Le barème
| Catégorie | Points retirés | Ce qui compte dedans |
|---|---|---|
| Page argent | 40 par page | Une URL du pack argent en échec (assertions Stripe.js, formulaire de connexion, jeton de prix), ou un parcours d'argent qui casse |
| Site non indexable | 30 | Le contrôle d'indexabilité en échec : un site que personne ne peut explorer répond 200 partout, et la facture arrive des semaines plus tard |
| Invisible pour les moteurs de réponse | 25 | Le contrôle de visibilité IA en échec |
| Asset manquant | 25 par page | Un fichier JS ou CSS de la page absent (HTTP & assets) |
| Dérive DNS | 20 | Le domaine a changé d'hébergeur pendant le ship (Domaine & DNS) |
| Budget de performance dépassé | 15 | Score PageSpeed sous le minimum ou LCP au-dessus du maximum (budget), une seule fois quel que soit le nombre de pages |
| Rendu modifié au-delà du seuil | 15 | Le diff visuel au-dessus du seuil choisi, une seule fois |
| Carte OG | 15 par page | Une vérification Open Graph en échec |
| SSL bientôt expiré | 10 | Le certificat expire dans moins de 14 jours, même si la vérification SSL passe encore |
| Hygiène du site | 10 au total | Sécurité, accessibilité, cookies, redirections, email DNS, SEO, poids, fuites, fichiers exposés, certificats, intégrité des scripts — plafonné à 10 quel que soit le nombre de contrôles en échec |
| URL en échec | 10 par URL | Toute autre URL en fail ou error |
Les catégories s'additionnent : deux pages argent en échec coûtent 80. Seule l'hygiène du site est plafonnée — quatre hygiènes manquantes ne doivent pas coûter quarante points à un site qui vend très bien ; une note que tout le monde rate ne dit rien. La note ne descend jamais sous 0.
Ce que vous voyez
- Sur l'Aperçu du projet : le score du dernier ship, et une ligne d'explication qui nomme la catégorie qui a le plus coûté, avec ce qu'elle a réellement retiré —
−15 carte OG,−40 page argent. Rien quand le score est 100. - Sur la page du ship (diff de ship) : « Ship Score · −15 carte OG », à côté du commit et des passages T+0 / T+2 / T+8.
- Dans le titre du Check GitHub :
PostShip · 85. - Sur la carte de ship publique et via l'outil
last_shipdu serveur MCP.
Quand il est calculé
Une fois, à T+0, pour chaque déploiement de production connu (webhook ou empreinte). Les reprises T+2 et T+8 alertent mais ne renotent pas. Une preview n'a pas de note : la moitié de ce qui la compose — certificat, indexabilité, dérive DNS — n'a pas de sens sur un hôte de preview.
Le score est d'abord calculé sur les vérifications et la dérive DNS, puis, quand PageSpeed a répondu, recalculé avec les catégories « budget » et « rendu ». C'est ce second score qui part dans le Check GitHub.
Ce qui déclenche une alerte
Le score lui-même n'alerte pas : ce sont les vérifications qui le composent qui ouvrent des incidents, aux conditions habituelles (règles). Deux exceptions le rendent bloquant :
- En Team, le score plancher fait passer le Check GitHub au rouge sous le seuil (80 par défaut), même sans échec franc.
- Un gel de déploiement fait rougir le Check quel que soit le score.
Limites et plans
| Free | Pro | Team | |
|---|---|---|---|
| Score calculé sur chaque déploiement de production | Oui | Oui | Oui |
| Catégories budget et rendu (mesure PageSpeed) | Non | Oui | Oui |
| Score plancher sur le Check GitHub | Non | Non | Oui |
Sur Free, les déploiements ne sont connus que par l'empreinte de build, et la mesure PageSpeed n'est pas rattachée. Voir les plans.
Dépannage
Pourquoi la ligne d'explication ne fait pas le compte avec le score ?
Elle ne nomme que la catégorie qui a le plus coûté, avec ce qu'elle a retiré. Un score de 55 avec « −25 asset manquant » a perdu 20 points ailleurs : la page du ship liste chaque URL et son verdict.
Pourquoi le score est à 90 alors que tout est vert ?
Le certificat expire dans moins de 14 jours. La vérification SSL passe encore ; la catégorie « SSL bientôt expiré » est indépendante du verdict, parce qu'un certificat à dix jours de la fin est une information même quand tout marche. Voir Sitemap & SSL.
Pourquoi le score du dernier ship vaut « — » ?
Le déploiement n'a pas été noté : la fonction a été interrompue avant la fin, ou la ligne date d'avant l'existence du score. Le déploiement suivant en aura une.