Catégorie: Développement

L’usage des Webhooks dans les APIs

Auteur(s) de l'article

Gilles
Gilles
Une bonne partie de notre travail consiste à intégrer plusieurs applications entre elles. La majorité de ces applications n'ont pas d'intégration native prévue par leurs auteurs, mais expose ce que l'on appelle une API (Application Programming Interface) pour s'échanger des informations.
Imaginons que nous souhaitons synchroniser les données de notre application avec un CRM (application de gestion de contact et de la relation client). Si ce CRM expose une API, nous pouvons régulièrement lui faire un appel qui dit en substance "donne-moi tout les contacts qui ont été modifié ou créé depuis hier". Il s'agit de la stratégie API Polling.
“ Si vous avez déjà voyagé avec des enfants, c'est l'équivalent de "Est-ce que l'on est bientôt arrivé?" un million de fois. ”

Lu sur Internet (https://medium.com/swlh/an-alternative-strategy-to-api-polling-using-pub-sub-and-mqtt-40dc643dcf82)

Les APIs modernes proposent une stratégie alternative: pouvoir s'inscrire à des changements et être notifié rapidement. C'est la stratégie de Push et c'est la base des Webhooks.

Webhooks

Les Webhooks sont basés sur un système d'évenement et passe par le protocole HTTP pour transmettre les données. La nature des événements dépendent de la logique business chaque application. Pour un CRM, ils est possible de s'inscrire aux événements de type "création de nouveau contact", "modification de contact", "suppression de contact", etc.
Le format des Webhooks n'est pas normé et il n'y a pas de spécification établie. Toutefois la plupart des acteurs utilisent le format JSON pour les données et applique des mécanismes de sécurité ou des stratégies de rappels (en cas d'indisponibilité de notre application au moment de la communication).
Voici un site que j'aurais aimé découvrir il y a 4 ans. Il s'agit d'un recueil de bonne pratique en matière de Webhooks (sécurité, documentations, exemples, tests, opérationnels) tant pour l'émetteur que pour le client/consommateur:

Prochainement, les Webhooks dans Symfony?

Et c'est encore tout frais, mais à l'occasion de la SymfonyCon 2022, une discussion est ouverte pour créer un composant afin de simplifier et normaliser la gestion des Webhooks (plus génériquement des "Remote Events") dans Symfony.
Pour conclure, les webhooks permettent souvent d'avoir des intégrations plus fluide et rapide en générant souvent un code plus simple (du point de vue du client) et en consommant moins de données sur le réseau. Pratique!

Continuer ma lecture

Auteur(s) de l'article

Akira
Akira

Making of : “La nuit des Losers”

Le site de « La Nuit des Losers », fait en un temps record : wireframes papier, animations testées en direct avec Claude Code, un flipper abandonné, un tableau de réactions un peu triché, et deux-trois bugs qu’on garde précieusement. Ce que l’IA a vraiment changé ici, et là où elle a calé.
Le site de « La Nuit des Losers », fait en un temps record : wireframes papier, animations testées en direct avec Claude Code, un flipper abandonné, un tableau de réactions un peu triché, et deux-trois bugs qu’on garde précieusement. Ce que l’IA a vraiment changé ici, et là où elle a calé.
Making of : “La nuit des Losers”

Auteur(s) de l'article

Pierre
Pierre

Dark mode : nécessité ou effet de mode

Nous faisons le tri entre idées reçues, réalités techniques et bonnes pratiques de design.
Nous faisons le tri entre idées reçues, réalités techniques et bonnes pratiques de design.
Dark mode : nécessité ou effet de mode

Auteur(s) de l'article

Susana
Susana

L’IA pour la gestion de projet

En tant que chef·fe de projet en agence web, on entend beaucoup parler de l’IA et de ce fameux Claude, réputé pour accompagner efficacement les développeur·euses dans leur quotidien. Mais \[…\]
En tant que chef·fe de projet en agence web, on entend beaucoup parler de l’IA et de ce fameux Claude, réputé pour accompagner efficacement les développeur·euses dans leur quotidien. Mais \[…\]
L’IA pour la gestion de projet