Connecter Netlify
Vérifier le site dès que Netlify a fini de déployer, avec une notification créée pour vous ou un webhook signé à la main.
Plan Pro et au-delàMis à jour le 11 septembre 2026
Sur cette page
- En un clic (recommandé)
- Le repli : la notification à la main
- Ce que PostShip fait de l'événement
- Vérifier que ça marche
- Limites et plans
- Dépannage
- Pourquoi une preview a été vérifiée contre ma production ?
- Pourquoi « Invalid signature » après avoir régénéré le secret ?
- Pourquoi deux vérifications par déploiement ?
- Le bouton Connecter n'apparaît pas
Même principe que Vercel : la vérification part à la fin du déploiement au lieu d'attendre le prochain cycle, avec le commit et le contexte du déploiement. Une différence pratique sur le chemin manuel — le secret, c'est PostShip qui le génère, parce que Netlify vous demande d'en inventer un.
En un clic (recommandé)
- Ouvrez Projet → Intégrations, carte Déploiement, section Netlify.
- Cliquez sur Connecter Netlify et acceptez l'autorisation chez Netlify.
- Au retour, PostShip retrouve seul le site dont le domaine correspond à l'URL de production du projet. S'il y en a plusieurs ou aucun, il pose la question « Quel site Netlify correspond à celui-ci ? » : choisissez, puis Brancher.
- La carte affiche Débrancher Netlify. Rien à générer, rien à coller.
PostShip crée alors deux notifications sortantes sur le site : deploy_created (ce que l'interface de Netlify appelle « Deploy succeeded ») et deploy_failed. Débrancher les supprime chez Netlify en même temps que l'autorisation — une notification orpheline continuerait d'appeler une adresse que plus personne n'écoute.
Le repli : la notification à la main
Cette voie garde la signature du corps, la meilleure preuve.
- Sur la carte Netlify, cliquez sur Générer un secret. Il s'affiche une seule fois : copiez-le avant de quitter la page. Vous pourrez toujours cliquer sur Générer un nouveau secret, mais il faudra alors le mettre à jour côté Netlify.
- Sur app.netlify.com, ouvrez le site concerné, puis Project configuration → Notifications → Deploy notifications → Add notification → Outgoing webhook.
- Événement :
Deploy succeeded. - URL : L'URL du webhook copiée depuis la carte, de la forme
https://postship.fr/api/netlify/deploy/<id du projet>. - JWS secret token : le secret généré par PostShip.
- Enregistrez.
Ce que PostShip fait de l'événement
- La preuve est vérifiée en premier : soit la signature
X-Webhook-Signature(un JWS HS256 dont PostShip contrôle l'émetteurnetlifyet le condensat SHA-256 du corps), soit le jeton de l'URL, comparé en temps constant. Sans l'une des deux :401 Invalid signature. - Le champ
contextdu corps décide :deploy-previewetbranch-deploysont des previews ; tout le reste, y compris un corps vide ou illisible, est une production. Le doute penche vers la production parce qu'une production prise pour une preview ferait taire une alerte attendue. - Pour une preview, l'adresse vérifiée est
deploy_ssl_url— l'adresse HTTPS propre à ce déploiement, en*.netlify.app.ssl_urldésigne le site et pointerait sur la production. - Le commit vient de
commit_refet alimente le Check GitHub. - Une production déclenche tout ce que décrit Connecter votre hébergeur : vérification complète, dérive DNS, Ship Score, T+2 / T+8, archive, PageSpeed, Check GitHub.
Vérifier que ça marche
La carte passe à « Dernier webhook reçu il y a … » dès la première requête acceptée. Si elle reste sur « Aucun webhook reçu pour l'instant » après un déploiement, c'est le secret ou l'URL. Netlify garde l'historique des livraisons de chaque notification, avec le statut de réponse.
Limites et plans
| Free | Pro | Team | |
|---|---|---|---|
| Intégration en un clic et notification manuelle | Non | Oui | Oui |
| Previews (deploy-preview, branch-deploy) vérifiées | Non | Oui | Oui |
Sur Free, la carte est repliée derrière un lien vers les tarifs et le webhook répond 403 même correctement signé. Les tarifs détaillent le reste.
Dépannage
Pourquoi une preview a été vérifiée contre ma production ?
Ce n'est plus possible : le contexte du corps est lu, et une deploy-preview sans adresse *.netlify.app exploitable n'est simplement pas vérifiée (skipped: "invalid_preview_url") plutôt que rabattue sur la production. Si vous observez une ligne « production » pour un déploiement de branche, vérifiez que la notification manuelle n'a pas été créée sur un événement autre que « Deploy succeeded ».
Pourquoi « Invalid signature » après avoir régénéré le secret ?
Un nouveau secret invalide l'ancien immédiatement. Reportez-le dans le champ JWS secret token de la notification Netlify. Le chemin en un clic n'est pas concerné : il ne se sert pas de ce secret.
Pourquoi deux vérifications par déploiement ?
Le branchement en un clic et une notification manuelle coexistent : chacune appelle PostShip. Supprimez la notification manuelle côté Netlify, ou cliquez sur Débrancher Netlify.
Le bouton Connecter n'apparaît pas
L'intégration n'est proposée que si PostShip a ses clés Netlify en production. Le chemin manuel reste disponible dans tous les cas.