Devenez un Maître de l'Automatisation Google Workspace

Un guide pour néophytes sur la création d'outils et l'automatisation avec Gemini CLI

Introduction : Votre Assistant Personnel sur Mesure

Imaginez pouvoir dire à votre ordinateur : "Fais-moi un résumé des emails importants de ce matin", "Range tous les fichiers de factures de ce mois-ci dans leurs dossiers clients respectifs" ou "Crée un rapport de performance à partir de ces données".

Ce n'est pas de la science-fiction. C'est ce que vous allez apprendre à faire dans ce tutoriel. Nous allons connecter la puissance conversationnelle de Gemini CLI avec le moteur d'automatisation de Google, Google Apps Script (GAS), pour transformer vos requêtes en actions concrètes sur votre Drive, Gmail, Sheets, et plus encore.

Le trio magique :
  • Vous : Le stratège qui donne les ordres en langage naturel.
  • Gemini CLI : L'interprète intelligent qui traduit vos ordres en code.
  • Google Apps Script (GAS) : L'exĂ©cutant qui effectue les tâches au sein de l'Ă©cosystème Google.

Ce guide est conçu pour les débutants. Aucune connaissance préalable en programmation n'est requise. Nous partirons de zéro pour construire votre compétence pas à pas.

Prérequis : Les Fondations

Avant de construire notre maison, il nous faut les fondations. Assurez-vous d'avoir complété la configuration initiale décrite dans le tutoriel précédent. Si ce n'est pas fait, suivez ce guide : Guide de Configuration Initiale.

Pour résumer, vous devez avoir :

  1. Un projet Google Cloud configuré.
  2. Les APIs Google Drive, Sheets, et Gmail activées.
  3. Le fichier credentials.json placé à la racine de votre projet.

Atelier 1 : Google Drive, Votre Archiviste Personnel

Commençons par des tâches simples de gestion de fichiers. Google Drive est géré par le "service" DriveApp en GAS.

Cas d'usage 1 : Retrouver un fichier et obtenir son lien

Objectif : Vous avez besoin de partager rapidement le lien d'un document sans avoir Ă  le chercher manuellement.

"Trouve le fichier nommé 'Présentation Marketing Q3' dans mon Google Drive et donne-moi son URL."

Ce qui se passe en coulisses :

Gemini va générer un script GAS qui utilise DriveApp.getFilesByName() pour rechercher le fichier, puis file.getUrl() pour extraire son lien.

// Script simplifié pour l'illustration
function findFileAndGetUrl() {
  const fileName = 'Présentation Marketing Q3';
  const files = DriveApp.getFilesByName(fileName);

  if (files.hasNext()) {
    const file = files.next();
    console.log(`Fichier trouvé ! Voici le lien : ${file.getUrl()}`);
  } else {
    console.log(`Désolé, le fichier '${fileName}' est introuvable.`);
  }
}
findFileAndGetUrl();

Cas d'usage 2 : Organiser les factures du mois

Objectif : Chaque fin de mois, vous voulez déplacer toutes les factures PDF de votre dossier "À trier" vers un dossier structuré par année et par mois.

"Dans mon Drive, regarde dans le dossier 'À trier'. Prends tous les fichiers PDF, et déplace-les dans le dossier 'Factures/2025/Octobre'. Si les dossiers n'existent pas, crée-les."

Ce qui se passe en coulisses :

C'est une tâche plus complexe. Gemini va devoir :

  1. Trouver le dossier source "Ă€ trier".
  2. Vérifier l'existence du chemin de destination ("Factures" -> "2025" -> "Octobre") et le créer si besoin (getFoldersByName, createFolder).
  3. Lister tous les fichiers PDF dans le dossier source (getFilesByType).
  4. Boucler sur chaque fichier et le déplacer (file.moveTo(destinationFolder)).

Atelier 2 : Gmail, Votre Assistant de Messagerie

Passons Ă  la gestion de vos emails avec le service GmailApp.

Cas d'usage 1 : Le briefing matinal

Objectif : Chaque matin, obtenir un résumé des emails non lus reçus depuis la veille, provenant de contacts importants.

"Fais-moi un résumé des emails non lus reçus depuis hier. Affiche uniquement l'expéditeur et l'objet pour chaque email."

Ce qui se passe en coulisses :

Gemini va utiliser une requĂŞte de recherche Gmail, exactement comme celle que vous pourriez taper dans la barre de recherche de Gmail.

// Script simplifié pour l'illustration
function getMorningBriefing() {
  // Construit une requête de recherche : non lu, et après la date d'hier
  const yesterday = new Date();
  yesterday.setDate(yesterday.getDate() - 1);
  const searchDate = `${yesterday.getFullYear()}/${yesterday.getMonth() + 1}/${yesterday.getDate()}`;
  const query = `is:unread after:${searchDate}`;

  const threads = GmailApp.search(query);

  console.log("--- Votre Briefing Matinal ---");
  threads.forEach(thread => {
    const message = thread.getMessages()[0]; // On prend le premier message du fil
    console.log(`De : ${message.getFrom()}`);
    console.log(`Sujet : ${message.getSubject()}`);
    console.log("--------------------");
  });
}
getMorningBriefing();

Cas d'usage 2 : Faire le ménage dans les newsletters

Objectif : Archiver automatiquement toutes les newsletters de plus d'un mois pour garder une boîte de réception propre.

"Trouve tous les emails provenant de 'newsletter@exemple.com' qui datent de plus de 30 jours et archive-les."

Ce qui se passe en coulisses :

Similaire au cas précédent, le script utilisera GmailApp.search() avec une requête plus spécifique, puis appliquera une action (thread.moveToArchive()) sur les résultats.

Partie 3 : De l'Automatisation à la Création d'Outils

Vous avez maintenant vu comment exécuter des tâches uniques. La véritable puissance se révèle lorsque vous transformez ces scripts en outils réutilisables.

Imaginez que vous utilisez souvent le script de "briefing matinal". Au lieu de retaper le prompt chaque jour, vous pouvez dire Ă  Gemini :

"Sauvegarde le dernier script de briefing matinal dans un fichier nommé 'briefing.js' et crée un outil permanent appelé 'briefingMatinal' qui exécute ce script."

Grâce à la configuration de l'environnement `gas-fakes-mcp`, Gemini peut modifier sa propre configuration pour ajouter ce nouvel outil. Dès lors, vous pourrez simplement taper :

briefingMatinal

...et la magie opérera. Vous venez de créer votre propre commande personnalisée, votre propre outil dynamique.

Votre parcours d'apprentissage :
  1. Expérimentez : Commencez par des prompts simples pour des tâches uniques.
  2. Identifiez les répétitions : Repérez les tâches que vous demandez souvent.
  3. Créez des outils : Transformez ces tâches répétitives en outils permanents.

Pour trouver l'inspiration, explorez les milliers d'exemples du dépôt de Kanshi Tanaike. Vous n'avez pas besoin de comprendre le code, mais simplement de voir ce qui est possible, puis de le demander à Gemini.

Ressource d'inspiration : Bibliothèque d'exemples Google Apps Script