Un guide pour néophytes sur la création d'outils et l'automatisation avec Gemini CLI
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.
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.
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 :
credentials.json placé à la racine de votre projet.Commençons par des tâches simples de gestion de fichiers. Google Drive est géré par le "service" DriveApp en GAS.
Objectif : Vous avez besoin de partager rapidement le lien d'un document sans avoir Ă le chercher manuellement.
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();
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.
C'est une tâche plus complexe. Gemini va devoir :
getFoldersByName, createFolder).getFilesByType).file.moveTo(destinationFolder)).Passons Ă la gestion de vos emails avec le service GmailApp.
Objectif : Chaque matin, obtenir un résumé des emails non lus reçus depuis la veille, provenant de contacts importants.
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();
Objectif : Archiver automatiquement toutes les newsletters de plus d'un mois pour garder une boîte de réception propre.
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.
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 :
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.
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