Couverture de l'article PHP Tour : retour de conférence sur les webhooks !
Retour aux articles

L'agence

WanadevStudio

PHP Tour : retour de conférence sur les webhooks !

Wanadev s'est rendue au PHP Tour de Clermont-Ferrand les 23 et 24 mai 2016. En bons passionnés, nous avons décidé de faire quelques compte-rendus de ce que nous avons vu. Et nous avons vu des Webhook !

Pour ce retour, j'ai décidé de vous transcrire une synthèse de la présentation de Guillaume Potier qui était venu pour représenter son entreprise Wisembly et nous parler de WebHook.

Qu'est-ce qu'un webhook ?

Un webhook est un callback que l'on déclare sur une plateforme et qui appelle un server endpoint (comprenez une URL) lorsqu'un événement est déclenché.

Où trouve-t-on des webhooks ?

Les webhooks sont présents à peu près partout. Guillaume a souvent pris l'exemple de GitHub et de Google qui en utilisent beaucoup. Pour le premier, cela permet par exemple de communiquer avec des services comme Travis et Circle CI.

Un exemple d'utilisation ?

Vous déclarez un webhook chez GitHub via l'interface qu'ils ont mis à disposition. Vous indiquez que vous souhaitez être informé lorsqu'une Pull Request est envoyée, et que l'URL http://www.afup.org soit appelée. Et c'est à peu près tout ce qu'il faut savoir !

Mais comment je m'en sers de ce webhook ?

Quand les webhooks sont exécutés, ils appellent le server endpoint avec une méthode de type POST (dans la majorité des cas). À ce moment, le contexte est envoyé. Par exemple, dans le cas de GitHub, quand une Pull Request est envoyée, le contexte injecté en POST reprendra le nom du repository, son owner, le numéro de la PR, son URL et d'autres informations permettant de donner le contexte.

Voici la documentation du fonctionnement d'un Webhook à la sauce GitHub.

Ces informations doivent vous permettre de traiter l'événement selon vos cas d'utilisation.

Quel intérêt d'utiliser un webhook plutôt qu'un CRON associé à une requête sur une API ?

Les webhooks sont à privilégier lorsqu'on souhaite être informé du changement d'un état. L'avantage est que c'est le service tiers qui fait l'effort de vous prévenir.

Dans le cas d'un script contenant un appel à une API tierce (où on retrouverait les mêmes informations), c'est que notre script va être appelé régulièrement alors que ce n'est pas toujours nécessaire. Cela va entraîner un stress permanent de la machine distante (Flood).

Comment implémenter un service de webhook sur sa plateforme ?

On a tout simplement besoin de pouvoir définir des règles dans lesquelles on va donner une payload URL qui n'est autre que notre server endpoint, une liste d'événements qui vont entraîner l'exécution de notre webhook et éventuellement une secret key pour signer le contenu envoyé et attester que le service à l'origine de l'appel est bien celui attendu.

Au niveau du code métier, Wisembly prône l'utilisation d'un event dispatcher pour facilement lever des événements dans le code lorsque les webhooks doivent être exécutés.

L'event dispatcher envoie alors un message broker de type RabbitMQ. Un « consummer » écoute le RabbitMQ de manière asynchrone et réalise les appels vers les endpoints enregistrés pour l'événement levé.

Comment gérer ses webhooks ?

Guillaume a également abordé la question « Comment gérer ses webhooks ? ». Sa réponse a été simplement de miser sur une documentation complète, détaillée et à jour. What else ?

Retrouvez directement le support de présentation de Guillaume ici :

Commentaires

Il n'y a actuellement aucun commentaire. Soyez le premier !

  • Couverture de l'article Retour sur le Meet-up Python du 30 juin 2025
    Retour sur le Meet-up Python du 30 juin 2025

    Il y a 2 jours

    Ce lundi 30 juin 2025 nous accueillions la branche lyonnaise de l'AFPy dans nos locaux pour un meetup autour du langage Python. Malgré les fortes températures, une trentaine de personnes ont répondu présentes pour ce moment de convivialité et d'échange.

  • Couverture de l'article Figma Make : enfin une passerelle prometteuse entre design et code grâce à l'IA
    Figma Make : enfin une passerelle prometteuse entre design et code grâce à l'IA

    Il y a 3 semaines

    Depuis quelques années, les outils d'IA pour générer des intégrations d'interfaces à partir de maquettes fleurissent. On en a testé plusieurs chez WanadevDigital : de Locofy à Uizard, en passant par Framer AI. Tous ont leurs qualités, mais jusqu’ici, il manquait un vrai pont stable entre les intentions du designer et la réalité du code front.

    L’arrivée de Figma Make change la donne. Et si je devais résumer son impact en une phrase : ça fonctionne, et ça fonctionne pour tout le monde, designers, développeurs et intégrateurs !

  • Couverture de l'article Maîtriser la traduction (i18n) dans un projet web - Partie 2 : Conseils pour une localisation gérable et évolutive
    Maîtriser la traduction (i18n) dans un projet web - Partie 2 : Conseils pour une localisation gérable et évolutive

    Il y a 4 mois

    Dans la partie 1, nous nous sommes concentrés sur la mise en place d'une base solide pour la gestion des traductions dans un projet Vue. Maintenant que votre système de traduction est opérationnel, il est temps d'examiner de plus près comment structurer, gérer et faire évoluer vos fichiers de traduction de manière efficace.

    Cette partie couvrira les bonnes pratiques que nous utilisons chez Wanadev pour créer des clés de traduction maintenables, éviter les pièges courants et garantir que vos fichiers de traduction restent propres et évolutifs au fur et à mesure que votre projet grandit.

  • Couverture de l'article Maîtriser la traduction (i18n) dans un projet web - Partie 1 : Configurer proprement
    Maîtriser la traduction (i18n) dans un projet web - Partie 1 : Configurer proprement

    Il y a 4 mois

    Mettre en place l'internationalisation (i18n) dans un projet web peut sembler simple. Cependant, de nombreux projets se retrouvent avec des configurations de traduction mal gérées, difficiles à maintenir ou à faire évoluer à mesure que l'application grandit. Une stratégie i18n robuste est essentielle pour offrir une expérience utilisateur fluide dans plusieurs langues.

    Je vous décris ici, les pratiques que nous avons établies chez Wanadev au fil des années d'expérience pour mettre en œuvre et gérer les traductions dans les projets Vue. Bien que les exemples soient spécifiques à Vue, la plupart de ces pratiques peuvent être appliquées à n'importe quel framework.

  • Couverture de l'article Bien choisir sa typographie : quelques bases pour un message clair
    Bien choisir sa typographie : quelques bases pour un message clair
    Méthodologie

    Il y a 9 mois

    On n'écrit pas "Je t'aime" comme "Je te hais" ! Cette petite phrase résume bien ma problématique : quand on doit délivrer un message, la compréhension de ce dernier ne se fait pas uniquement par la lecture simple du texte, mais aussi par sa mise en forme. Et de cette mise en forme dépend la bonne compréhension du message. Dans cet article, nous allons nous pencher sur l’histoire et les familles de typographies dans le but de sensibiliser sur l’importance des choix de typographies dans la communication. Nous verrons ensuite quelques astuces pour bien sélectionner sa typographie et mettre en forme son message.

  • Couverture de l'article Les solutions CPQ sont-elles accessibles à toutes les entreprises ?
    Les solutions CPQ sont-elles accessibles à toutes les entreprises ?
    Méthodologie

    Il y a 9 mois

    Le CPQ (Configure, Price, Quote) est un outil essentiel pour les entreprises cherchant à optimiser leurs processus de vente. Il permet aux équipes commerciales de configurer rapidement et facilement des produits ou services complexes en fonction des besoins spécifiques des clients, tout en garantissant la cohérence des prix. Grâce au CPQ, les vendeurs peuvent établir des devis précis et personnalisés en temps réel, tout en tenant compte des remises, des promotions ou des ajustements spécifiques. Aujourd'hui les CPQ tirent majoritairement parti de la 3D pour proposer une visualisation de produit plus réaliste et complète.