SHIFT >_CODE
← Journal

Webhooks ou polling : comment les systèmes doivent communiquer

Quand un système doit être informé des événements d’un autre, il existe deux approches de base. Nous expliquons la différence simplement et comment fiabiliser l’une comme l’autre.

Une boutique en ligne doit savoir quand un paiement est validé. Un CRM doit savoir quand une nouvelle demande arrive depuis le site. Il existe deux façons de base pour qu’un système apprenne ce qui se passe dans un autre : demander régulièrement, ou être prévenu.

Le polling : demander régulièrement

Avec le polling, votre système demande à l’autre toutes les quelques minutes : « Y a-t-il du nouveau ? ». C’est simple à mettre en place et compatible avec presque tout service disposant d’une API. Les inconvénients sont le délai - on n’apprend l’événement qu’à la vérification suivante - et le gaspillage : la plupart des requêtes ne renvoient rien, mais consomment quand même quotas et ressources.

Les webhooks : être prévenu

Avec un webhook, l’autre système envoie un message à votre adresse dès qu’il se passe quelque chose. L’information arrive presque instantanément et il n’y a pas de requêtes inutiles. La contrepartie est la responsabilité : votre point d’accès doit être disponible, vérifier que le message vient bien du partenaire et le traiter correctement même s’il arrive deux fois.

Fiabiliser les webhooks

Vérifiez la signature ou le secret que le fournisseur joint à chaque message, pour que personne ne puisse vous envoyer de faux événements. Répondez vite et faites le traitement lourd en arrière-plan, sinon le fournisseur peut considérer la livraison comme échouée et la répéter. Conservez l’identifiant de chaque événement traité et ignorez les doublons. Tenez un journal des messages reçus pour pouvoir analyser les problèmes.

La combinaison pratique

En pratique, les intégrations les plus robustes combinent les deux approches. Les webhooks livrent les événements en temps réel, et une vérification périodique - par exemple toutes les heures ou chaque nuit - compare l’état des deux côtés et rattrape ce qui a été manqué pendant une mise à jour du serveur ou une panne du fournisseur.

En résumé

Le polling est simple mais plus lent et coûteux ; les webhooks sont rapides mais demandent de la rigueur. Utilisez les webhooks pour la rapidité, protégez-les par des signatures et un contrôle des doublons, et ajoutez une réconciliation périodique pour ne perdre aucun événement.