Temps de lecture : 3 min
Combien de fois avez-vous préparé une réunion, bloqué un créneau mentalement et temporellement, pour réaliser cinq minutes avant l’heure H que personne n’avait confirmé sa présence ?
Ces « réunions fantômes » sont une source majeure de pollution numérique. Elles fragmentent votre concentration et bloquent des créneaux qui pourraient être libérés pour du Deep Work.
En tant que développeur Google Workspace, j’ai constaté que l’interface native de Google Agenda ne nous alerte pas assez activement sur ces anomalies. J’ai donc développé une solution automatisée pour résoudre ce problème.
Le problème technique
Sur le papier, vérifier ses réunions semble simple. En pratique, c’est une charge cognitive supplémentaire. De plus, scripter cette vérification avec Google Apps Script présente un défi méconnu :
La classe standard CalendarApp génère souvent des liens d’événements incomplets ou brisés, rendant l’accès direct à l’événement difficile depuis un rapport automatisé.
La solution : un audit via l’API Advanced Calendar
J’ai conçu un script open-source (gas-calendar-audit-ghost-meetings) qui agit comme un assistant personnel silencieux.
Contrairement aux scripts basiques, celui-ci utilise l’API REST Calendar v3 (le service avancé) pour garantir une fiabilité totale des données et des liens.
Ce que fait le script :
- Analyse hebdomadaire : Il scanne vos 7 prochains jours.
- Filtrage intelligent : Il ne retient que les événements dont vous êtes l’organisateur.
- Détection de l’engagement : Il identifie les réunions où le taux de réponse positive (Accepté ou Peut-être) est de 0%.
- Rapport actionnable : Il vous envoie un email propre avec des liens directs pour annuler ou relancer en un clic.
Aperçu du code
Le cœur du système repose sur une méthode .reduce() optimisée (ES6+) qui filtre et formate les données en une seule passe, minimisant l’empreinte mémoire :
// Extrait de la logique de filtrage
const reunionsCritiques = items.reduce((acc, event) => {
// On vérifie si quelqu'un a accepté ou mis "Peut-être"
const aDesParticipantsConfirmes = event.attendees.some(invite => {
if (invite.self) return false;
return ['accepted', 'tentative'].includes(invite.responseStatus);
});
if (!aDesParticipantsConfirmes) {
// Ajout au rapport...
}
return acc;
}, []);
Téléchargement et installation
Le projet est disponible dès maintenant sur GitHub sous licence MIT. Il inclut le script d’audit, la gestion du déclencheur automatique (cron) et la documentation complète.
👉 Accéder au dépôt GitHub : gas-calendar-audit-ghost-meetings
Comment l’utiliser ?
- Copiez le code dans votre éditeur Apps Script (
script.google.com). - Activez le service avancé Google Calendar API.
- Lancez la fonction d’installation du trigger.
- Profitez d’un agenda plus propre chaque matin.
N’hésitez pas à faire des « Pull Requests » si vous souhaitez ajouter des fonctionnalités (comme la suppression automatique des événements périmés) !
Mots-clés : Google Apps Script, Google Calendar API, Productivité, Automation, JavaScript, Google Workspace.