Numericoach : synchronisation entre Dendreo et Google Agenda avec GCP

Numericoach est entre autres un organisme de formation certifié Qualiopi. Pour assurer une gestion efficace et professionnelle des formations, des clients, des participants et de la planification, nous utilisons l’outil Dendreo. Il s’agit d’une plateforme SaaS accessible par un navigateur web comme Gmail ou Google Workspace. Réel allié de gestion administrative, il nous permet une gestion collaborative et efficace des plus de 5000 sessions de formations que nous pouvons dispenser chaque année.

Google Cloud Platform

Le besoin : créer un événement Google Agenda pour une formation à distance créée sur Dendreo

Dans notre cas d’usage, nous créons sur Dendreo des sessions de formations en classe virtuelle (formation dispensée à distance sur Google Meet). Un client est associé, en plus d’une date, une session, un formateur, des participants et la classe virtuelle (élément Dendreo). Toutes les informations et processus nécessaires sont gérés par Dendreo, tous sauf un, la création de l’évènement d’une session de formation dans Google Agenda avec une visio Google Meet.

Il a donc été nécessaire de créer une synchronisation entre une session de formation dispensée à distance et créée sur Dendreo avec Google Agenda. Pour ce faire, nous avons développé une fonction Cloud Functions sur Google Cloud Platform (solution cloud computing de Google).

Le processus à automatiser

Développer une synchronisation entre ces 2 outils SaaS nous a permis d’automatiser un processus qui était jusqu’alors manuel.

Chaque session de formation à distance nécessitait l’intervention manuelle d’un collaborateur Numericoach pour : 

  • créer un événement dans Google Agenda ;
  • ajouter le titre de l’évènement : Nom Client – Nom Formation ;
  • ajouter la liste des participants : les étudiants + le ou les formateurs ;
  • ajouter en description le programme de la formation ;
  • activer le suivi de participation à la visio Google Meet.

Ces actions sont naturellement chronophages, répétitives et sans aucune valeur ajoutée pour le collaborateur Numericoach.

Le choix de l’outil pour le développement

Nous avons donc décidé d’automatiser ce processus. Le besoin technique était de créer un script qui se déclenche automatiquement et récupère les informations nécessaires sur Dendreo via l’API mise à disposition (accès aux données Numericoach par une autre machine informatique) pour créer un événement dans Google Agenda via son API.

Lors de nos réflexions de conception, nous avons étudiés les solutions suivantes :

  • Google Apps Script : cet outil d’automatisation est au cœur de l’activité d’accompagnement aux entreprises sur Google Workspace proposé par Numericoach. L’outil n’a pas été retenu car il ne permet pas encore de coder des scripts dits asynchrones (tâches déclenchées en parallèle et en simultané dans une même exécution) ;
  • Cloud Functions : outil puissant et dédié notamment à des cas d’usages de synchronisation d’APIs comme le nôtre. Il répond parfaitement à notre besoin technique, surtout grâce à la possibilité de créer des scripts asynchrones.

Les 3 Cloud Functions

Pour cette automatisation, il a été nécessaire de développer 3 Cloud Functions qui ont chacune un rôle différent :

  • syncDendreoCalendar : crée ou met à jour un événement Google Agenda en fonction d’une session de formation Dendreo. 

Déclenchement automatique : tous les jours de la semaine à 7h00, 13h00, et 19h00.

APIs utilisées : Dendreo, Calendar ;

  • cancelCalendarEvent : annule un événement Google Agenda si la session de formation est annulée sur Dendreo.

Déclenchement automatique : tous les jours de la semaine à 6h00.

APIs utilisées : Dendreo, Calendar ;

  • getMeetAttendanceReport : crée le rapport de participation d’une visio Google Meet (liée à un événement Google Agenda) et l’envoie aux personnes concernées.

Déclenchement automatique : tous les jours de la semaine à 23h00.

APIs utilisées : Calendar, Reports.

La phase de développement est la suivante : pour chaque Cloud Function un projet Node.js est créé en local sur l’ordinateur d’un développeur. Une fois testé et validé, on déploie la fonction sur Cloud Function.

Coûts

Depuis sa mise en production en février 2022, le coût associé aux exécutions des 3 Cloud Functions s’élève à 0,92 €.

En effet, presque tous les outils et services de GCP proposent un pallier gratuit. Pour Cloud Functions, vous disposez de 2 millions d’exécutions gratuites par mois. Le total des exécutions pour nos 3 fonctions par mois est d’environ 100. Nous avons de la marge avant d’être facturé sur ce service.

D’autres outils GCP sont utilisés et participent au coût d’environ 0,20€ / mois. Ci-dessous le détail des coûts mensuels pour cette synchronisation automatique.

  • Cloud Scheduler permet de déclencher l’exécution des fonctions aux fréquences définies ;
  • Tax : TVA ;
  • Cloud Storage stocke automatiquement le code associé aux 3 fonctions ;
  • Cloud Logging affiche les informations de logs générés par les 3 fonctions ;
  • Secret Manager stocke avec sécurité les informations sensibles utilisées par les 3 fonctions, comme la clef d’authentification de l’API Dendreo.

Conclusion

Pour un coût d’utilisation très faible, un temps de développement rapide, et un gain de productivité élevé, Numericoach bénéficie d’une synchronisation automatique entre Dendreo et Google Agenda. N’hésitez pas à nous contacter pour obtenir un retour d’expérience, ou bénéficier d’informations sur notre capacité à vous accompagner sur des projets similaires.

Vous avez aimé cet article ? Partagez-le !