Comment fonctionne la synchronisation de calendriers par webhook

« Webhook » a une consonance technique, mais le concept est on ne peut plus quotidien : c'est une sonnette pour logiciels. Au lieu qu'un service de synchronisation de calendriers frappe sans cesse à la porte de Google ou de Microsoft en demandant « du nouveau ? », c'est le fournisseur qui sonne à la porte du service dès qu'un changement survient. Cette inversion - le fournisseur prévient le service, plutôt que le service interroge le fournisseur - est le fondement même de la synchronisation de calendriers rapide et moderne.

Cette page explique ce qu'est un webhook, comment Google et Microsoft les implémentent pour les calendriers, et comment un service de synchronisation transforme un flux de signaux « quelque chose a changé » en une synchronisation bidirectionnelle fiable.

Un webhook est un rappel vers une URL

Un webhook n'est qu'un accord : « Quand X se produit, envoie un message à cette adresse web. » Le service de synchronisation enregistre une URL auprès du fournisseur de calendrier et lui dit, en somme, appelle ce point d'accès chaque fois que ce calendrier change. À partir de là, c'est le fournisseur qui appelle. Le service n'a plus besoin d'interroger, puisqu'on le prévient.

La notification elle-même est généralement légère - souvent à peine plus que « le calendrier A a changé ». C'est un déclencheur, pas une charge utile. Ce détail compte autant pour la rapidité que pour la confidentialité : les véritables données de l'événement ne voyagent pas dans le webhook ; elles sont récupérées séparément via l'API authentifiée, uniquement en cas de besoin.

Comment les deux fournisseurs s'y prennent

Les mécanismes diffèrent légèrement, mais la forme est la même :

  • Google Agenda - canaux de notification push. Le service appelle la méthode watch de Google sur un calendrier pour ouvrir un canal. Google envoie ensuite une notification HTTP au point d'accès enregistré dès que ce calendrier change. Les canaux expirent, le service les renouvelle donc selon un calendrier régulier.
  • Microsoft Graph - abonnements aux notifications de changement. Le service crée un abonnement au calendrier d'un utilisateur. Microsoft envoie une notification de changement au point d'accès lorsque des événements sont ajoutés, modifiés ou supprimés. Les abonnements expirent eux aussi et sont renouvelés automatiquement.

Dans les deux cas, le fournisseur est la partie active. Calendar Family enregistre et renouvelle ces abonnements pour vous en arrière-plan - il n'y a rien à configurer.

De « quelque chose a changé » à un événement synchronisé

Un webhook indique au service *qu'*un changement s'est produit, pas lequel. Le déroulement est donc le suivant :

  1. La notification arrive au point d'accès du service : le calendrier A a changé.
  2. Le service récupère le delta auprès du fournisseur A à l'aide d'un jeton de synchronisation - un signet qui lui permet de ne demander que les nouveautés depuis la dernière fois, au lieu de relire tout le calendrier.
  3. Le service convertit le changement - événement, règle de récurrence, fuseau horaire - au format du fournisseur B.
  4. Il écrit le changement dans le calendrier B via l'API authentifiée de B.
  5. Le changement apparaît dans le calendrier B, généralement en une minute environ.

Comme l'étape 2 utilise un jeton de synchronisation, le service déplace le minimum de données et n'a jamais à parcourir un calendrier entier pour retrouver une seule modification.

Conçu pour tolérer les signaux manqués

Les réseaux perdent des messages ; les abonnements expirent parfois. Une bonne synchronisation par webhook ne présume pas de la perfection. Le jeton de synchronisation est le filet de sécurité : à tout moment, le service peut demander au fournisseur « qu'est-ce qui a changé depuis ce signet ? » et réconcilier. Une notification manquée ne provoque donc pas de dérive silencieuse - elle est rattrapée et corrigée à la synchronisation suivante. C'est cette combinaison de notifications push pour la rapidité et de jetons de synchronisation pour l'exactitude qui rend le résultat à la fois rapide et fiable.

Pourquoi c'est bon pour la confidentialité aussi

Comme le webhook n'est qu'un déclencheur et que les données sont récupérées via l'API officielle authentifiée, le contenu de vos événements ne se retrouve pas disséminé dans des charges utiles de notification. Calendar Family s'appuie sur ce mécanisme : un accès via l'API officielle que vous accordez et pouvez révoquer, en ne récupérant que ce qui a changé. Voir la synchronisation de calendriers est-elle sûre et confidentielle ? pour le traitement complet, et temps réel contre interrogation pour comprendre pourquoi l'approche par webhook l'emporte. La vue d'ensemble de la synchronisation en temps réel relie le tout.

Calendar Family est gratuit.

Commencer gratuitement

Questions fréquentes

Qu'est-ce qu'un webhook de calendrier ?
Un webhook est un message qu'un fournisseur de calendrier envoie à une adresse web pré-enregistrée dès qu'un changement survient. Au lieu qu'un service de synchronisation demande sans cesse « du nouveau ? », le fournisseur le prévient de manière proactive, ce qui rend la synchronisation quasi instantanée.
Google et Microsoft prennent-ils tous les deux en charge les webhooks pour les calendriers ?
Oui. Google Agenda utilise des canaux de notification push (« watch »), et Microsoft Graph utilise des abonnements aux notifications de changement. Tous deux appellent un point d'accès enregistré lorsqu'un calendrier change, et tous deux exigent que l'abonnement soit renouvelé périodiquement, ce qu'un service de synchronisation gère automatiquement.
Le webhook contient-il les détails de mon événement ?
En général, non. La notification dit le plus souvent simplement « ce calendrier a changé » - c'est un déclencheur, pas la donnée. Le service de synchronisation effectue ensuite une requête authentifiée distincte pour récupérer uniquement ce qui a changé, de sorte que le contenu de l'événement transite par l'API sécurisée plutôt que dans le webhook lui-même.
Que se passe-t-il si un webhook est manqué ?
La synchronisation ne repose pas sur le fait de n'en jamais manquer un seul. Grâce aux jetons de synchronisation, le service peut demander au fournisseur « qu'est-ce qui a changé depuis ma dernière vérification ? » et réconcilier, de sorte qu'une notification perdue se répare d'elle-même à la synchronisation suivante au lieu de provoquer une dérive permanente.

Guides associés