1. Introduction
Dans cet atelier de programmation, vous allez découvrir la CLI Gemini, un agent d'IA Open Source qui apporte la puissance de Gemini directement dans votre terminal.
Le projet Gemini CLI est Open Source. Vous pouvez consulter la feuille de route publique ici.
Points abordés
- Installer et configurer la CLI Gemini
- Explorer les outils et les commandes intégrées, et configurer les serveurs MCP dans Gemini CLI
- Personnaliser la CLI Gemini via le fichier
GEMINI.md
- Explorer quelques cas d'utilisation avec la CLI Gemini
Prérequis
Cet atelier de programmation peut être exécuté entièrement dans Google Cloud Shell, qui est préinstallé avec Gemini CLI.
Si vous préférez travailler sur votre propre machine, une section vous explique comment installer la CLI Gemini en local.
Vous aurez besoin des éléments suivants :
- Navigateur Web Chrome
- Un compte Gmail
Cet atelier de programmation s'adresse aux utilisateurs et aux développeurs de tous niveaux, y compris aux débutants. Les cas d'utilisation de l'atelier de programmation ont été classés en tâches pour les développeurs et tâches pour les non-développeurs. Les cas d'utilisation pour les développeurs montrent comment utiliser le code vibe avec l'interface de ligne de commande Gemini et comment travailler avec un dépôt GitHub pour effectuer des tâches de développement courantes, comme expliquer/comprendre le code, générer de la documentation, résoudre des problèmes, etc. Nous vous recommandons de réaliser ces cas d'utilisation dans l'atelier de programmation. Une section facultative à la fin aborde plusieurs tâches quotidiennes qui ne sont pas axées sur les développeurs.
2. Avant de commencer
Créer un projet
- Dans la console Google Cloud, sur la page du sélecteur de projet, sélectionnez ou créez un projet Google Cloud.
- Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
- Vous allez utiliser Cloud Shell, un environnement de ligne de commande exécuté dans Google Cloud et fourni avec bq. Cliquez sur "Activer Cloud Shell" en haut de la console Google Cloud.
- Une fois connecté à Cloud Shell, vérifiez que vous êtes déjà authentifié et que le projet est défini sur votre ID de projet à l'aide de la commande suivante :
gcloud auth list
- Exécutez la commande suivante dans Cloud Shell pour vérifier que la commande gcloud connaît votre projet.
gcloud config list project
- Si votre projet n'est pas défini, utilisez la commande suivante pour le définir :
gcloud config set project <YOUR_PROJECT_ID>
3. Installation
Avant de configurer et d'exécuter la CLI Gemini, créons un dossier que vous utiliserez comme dossier de base pour tous les projets que vous pourrez créer à l'intérieur. Il s'agit d'un point de départ pour que la CLI Gemini fonctionne. Toutefois, elle fera également référence à d'autres dossiers de votre système, que vous découvrirez plus tard, si nécessaire.
Créez un exemple de dossier (gemini-cli-projects
) et accédez-y à l'aide des commandes ci-dessous. Si vous préférez utiliser un autre nom de dossier, n'hésitez pas.
mkdir gemini-cli-projects
Accédez à ce dossier :
cd gemini-cli-projects
Vous pouvez lancer directement Gemini CLI à l'aide de la commande gemini.
Veuillez passer directement à la section suivante (configuration de Gemini CLI via settings.json).
Si vous souhaitez installer la CLI Gemini en local, suivez les instructions ci-dessous.
La première étape consiste à installer Node 20 ou version ultérieure sur votre ordinateur. Une fois cette opération terminée, vous pouvez installer et exécuter Gemini CLI à l'aide de l'une des méthodes suivantes :
- Vous pouvez d'abord installer la CLI Gemini de manière globale sur votre système. Vous aurez peut-être besoin d'un accès administrateur pour effectuer cette étape.
# option 1: install Gemini CLI
npm install -g @google/gemini-cli
# .. and then run
gemini
- Exécutez-le avec la commande suivante :
# option 2: run without installing Gemini CLI
npx https://github.com/google-gemini/gemini-cli
Pour vérifier que la CLI est installée, exécutez la commande suivante :
gemini --version
En supposant que vous ayez lancé la CLI Gemini par l'une des méthodes ci-dessus, l'écran suivant devrait s'afficher et vous demander de choisir un thème. Sélectionnez-en un qui vous plaît :
Une fois que vous l'avez sélectionné, il vous demande la méthode d'authentification. Nous vous recommandons d'utiliser votre compte Google personnel et non des comptes non Google ou Google Workspace pour cet atelier. Cette licence sans frais vous donne accès à Gemini 2.5 Pro et à sa fenêtre de contexte d'un million de jetons. Le niveau sans frais permet d'effectuer 60 requêtes de modèle par minute et 1 000 requêtes par jour sans frais.
Si vous atteignez les limites du quota sans frais actuel accordé aux comptes Google, vous pouvez choisir d'utiliser la clé API Gemini ou même Google Cloud Vertex AI, pour lequel vous aurez besoin d'un ID de projet et du nom de l'emplacement de ce projet. Si vous prévoyez d'utiliser d'autres méthodes d'authentification, consultez la section Authentification de la documentation.
Cliquez sur "Enter" (Entrée). Une page d'authentification Google s'ouvre dans le navigateur. Procédez à l'authentification avec votre compte Google, acceptez les conditions d'utilisation, puis, une fois l'authentification réussie, vous remarquerez que la Gemini CLI est prête et attend votre commande. Voici un exemple de capture d'écran :
4. Configuration de la CLI Gemini via settings.json
Si vous choisissez Cloud Shell pour exécuter Gemini, un thème par défaut pour Gemini CLI et la méthode d'authentification sont déjà sélectionnés et configurés pour vous.
Si vous avez installé Gemini CLI sur votre ordinateur et que vous l'avez lancée pour la première fois, vous avez sélectionné un thème, puis une méthode d'authentification.
Désormais, lors des exécutions ultérieures de Gemini CLI, vous ne serez plus invité à sélectionner un thème ni une méthode d'authentification. Cela signifie qu'il est conservé quelque part. Le fichier qu'il utilise s'appelle settings.json
et permet de personnaliser la CLI Gemini.
Les paramètres sont appliqués selon l'ordre de priorité suivant (Cloud Shell ne met à disposition que les paramètres utilisateur) :
- Système :
/etc/gemini-cli/settings.json
(s'applique à tous les utilisateurs, remplace les paramètres utilisateur et d'espace de travail). - Workspace :
.gemini/settings.json
(remplace les paramètres utilisateur). - Utilisateur :
~/.gemini/settings.json
.
Utilisateur Windows : %USERPROFILE%.gemini\settings.json (qui se développe généralement en C:\Users<YourUsername>.gemini\settings.json)
Système : %ProgramData%\gemini-cli\settings.json (qui se développe généralement en C:\ProgramData\gemini-cli\settings.json)
Utilisateur Mac : ~/.gemini/settings.json (qui se développe en /Users/<YourUsername>/.gemini/settings.json)
Système : /etc/gemini-cli/settings.json
Si vous vous en souvenez, vous avez sélectionné l'option permettant d'enregistrer les paramètres dans les paramètres utilisateur lorsque vous avez choisi le thème. Accédez à ~/.gemini folder
et vous verrez le fichier settings.json
.
Voici mon fichier settings.json
. Si vous aviez sélectionné un autre thème, son nom s'afficherait ici.
{
"theme": "Default",
"selectedAuthType": "oauth-personal" or "cloud-shell"
}
5. Notre première interaction avec la CLI Gemini
Commençons par la CLI Gemini et saisissons votre première requête comme indiqué ci-dessous :
Give me a famous quote on Artificial Intelligence and who said that?
La réponse attendue est la suivante :
Vous remarquerez que notre requête a entraîné l'appel d'un outil GoogleSearch
(outil intégré à la CLI Gemini). En d'autres termes, vous avez déjà utilisé l'un des puissants outils intégrés de Gemini CLI, à savoir GoogleSearch
, qui ancre ses réponses sur les informations qu'il obtient sur le Web. Vous en apprendrez plus sur les outils dans la section suivante.
Pour comprendre rapidement la CLI Gemini et les différentes commandes qu'elle prend en charge, saisissez /help
(barre oblique). Vous verrez alors différentes commandes et différents raccourcis clavier, comme indiqué ci-dessous :
Quittons la CLI Gemini pour le moment. Vous pouvez le faire soit avec la commande /quit
, soit en saisissant Ctrl-C
deux fois dans la session de terminal interactive de la CLI Gemini.
6. Gemini CLI - Command Parameters
Vous pouvez fournir quelques paramètres de ligne de commande lorsque vous démarrez l'interface de ligne de commande Gemini. Pour obtenir la liste complète des options, vous pouvez utiliser --help
comme indiqué ci-dessous.
gemini --help
Toutes les options disponibles devraient s'afficher. Nous vous encourageons à consulter la documentation ici.
Examinons-en quelques-unes. La première consiste à configurer la CLI Gemini pour utiliser le modèle Pro ou Flash. Actuellement, au moment de la rédaction de cet atelier, seuls ces deux modèles sont compatibles. Par défaut, le modèle Gemini 2.5 Pro est utilisé. Toutefois, si vous souhaitez utiliser le modèle Flash, vous pouvez le faire au moment de démarrer Gemini CLI à l'aide du paramètre -m
, comme indiqué ci-dessous :
gemini -m "gemini-2.5-flash"
Si vous commencez de la manière décrite ci-dessus, vous pouvez vérifier le modèle en bas à droite du terminal Gemini CLI, comme indiqué ci-dessous :
Mode non interactif
Une option intéressante consiste à exécuter la CLI Gemini en mode non interactif. Cela signifie que vous lui fournissez directement la requête et qu'il y répondra sans ouvrir le terminal interactif de la CLI Gemini. C'est très utile si vous prévoyez d'utiliser la CLI Gemini de manière automatisée dans un script ou tout autre processus d'automatisation. Vous utilisez le paramètre -p pour fournir la requête à Gemini CLI, comme indiqué ci-dessous :
gemini -p "What is the gcloud command to deploy to Cloud Run"
N'oubliez pas que vous ne pourrez pas poursuivre la conversation en posant d'autres questions. Ce mode ne vous permet pas non plus d'autoriser des outils (y compris WriteFile) ni d'exécuter des commandes shell.
7. CLI Gemini : outils intégrés
La CLI Gemini est fournie avec un ensemble d'outils intégrés. La documentation sur les outils indique que "le modèle Gemini utilise ces outils pour interagir avec votre environnement local, accéder à des informations et effectuer des actions. Ces outils améliorent les capacités de l'interface de ligne de commande, lui permettant d'aller au-delà de la génération de texte et d'aider à un large éventail de tâches."
Pour obtenir la liste des outils intégrés actuels, appelez la commande /tools
comme indiqué ci-dessous :
L'une des premières choses que vous devriez vous demander est si la CLI Gemini peut simplement appeler ces outils quand elle le souhaite. La réponse par défaut est non pour les opérations sensibles qui peuvent impliquer l'écriture dans le système local, la lecture à partir d'un système externe, l'accès au réseau externe, etc.
Bien qu'une option --yolomode
soit disponible lorsque vous démarrez la CLI (ce qui n'est généralement pas recommandé), vous constaterez que la CLI Gemini vous demandera l'autorisation d'exécuter l'outil qu'elle a choisi. Vous pouvez refuser l'autorisation, l'autoriser à s'exécuter une seule fois ou lui accorder une autorisation globale pour qu'elle s'exécute en permanence. Vous avez et devriez avoir le contrôle total.
Utilisons une requête qui permettra à la Gemini CLI de choisir l'un des outils intégrés à exécuter et qui vous donnera une bonne idée de son fonctionnement.
Imaginez que vous souhaitez obtenir les dernières informations financières du monde entier et les enregistrer dans un fichier du répertoire de travail local à partir duquel vous avez lancé l'interface de ligne de commande Gemini. Utilisez le prompt suivant :
Search for the latest headlines today in the world of finance and save them in a file named finance-news-today.txt
Imaginez un instant ce qu'il devrait faire. Idéalement, il devrait effectuer une recherche Google pour obtenir des informations financières auprès de sources d'informations pertinentes. Il doit ensuite créer un fichier nommé finance-news-today.txt
(une opération d'écriture sur votre système local qui nécessitera votre autorisation) avec son contenu.
Voyons ce qui se passe (vous devriez faire de même sur votre machine).
La première chose qu'il fait est d'appeler l'outil GoogleSearch
pour effectuer une recherche sur le Web.
Une fois la recherche terminée, les données sont récupérées comme indiqué ci-dessous :
Une fois cela fait, il est prêt à écrire dans le fichier et utilisera l'outil WriteFile
, mais comme il s'agit d'une opération sensible (write), il vous demandera votre autorisation. Vous pouvez choisir le type d'autorisation (autoriser une fois, autoriser toujours, etc.). Pour l'instant, sélectionnez "Autoriser une fois".
Les informations sont ensuite écrites dans le fichier et un message de confirmation s'affiche :
Comment vérifier si le fichier est écrit ou non ? Vous pouvez utiliser l'icône @file
pour lui demander de lire le contenu. Lorsque vous saisissez @
, une liste des fichiers du dossier actuel s'affiche, y compris le fichier que vous venez de créer. Sélectionnez-le et envoyez la requête. Voici ma requête :
read the contents of @finance-news-today.txt
Les outils requis (ReadManyFiles, ReadFile) sont alors appelés et le contenu s'affiche comme indiqué ci-dessous :
8. CLI Gemini : mode Shell
C'est le moment idéal pour apprendre à travailler directement avec le Shell depuis la CLI Gemini. Vous pouvez passer en mode shell en appuyant sur !
dans la zone de message. Le mode Shell est alors activé. Pour revenir en arrière, appuyez à nouveau sur !
ou sur la touche ESC
.
En mode shell, !
s'affiche au début de l'invite, comme indiqué ci-dessous :
Vous pouvez vérifier directement à l'aide de commandes standards telles que pwd
et ls
, comme indiqué ci-dessous. Veuillez noter que les commandes supposent un système d'exploitation de type Linux. Si vous utilisez un autre système d'exploitation (Windows), veuillez utiliser des commandes équivalentes telles que cd
, dir
et type
. Notez que le résultat de ces appels est inclus dans la fenêtre de contexte du modèle.
Vous pouvez imprimer le contenu du fichier à l'aide de la commande cat
.
Exercice : voici un petit exercice à essayer. Choisissez le flux RSS de votre choix. Donnez une requête à la CLI Gemini pour qu'elle récupère le contenu du flux RSS et le mette en forme de manière spécifique. C'est un bon moyen d'automatiser une action au début de la journée. Vous pouvez même demander à Gemini CLI de déterminer s'il existe un flux RSS pour un domaine spécifique, par exemple les notes de version de Google Cloud Platform.
Voici un exemple de requête :
Get the latest release notes for Google Cloud from its RSS Feed and display the key points in a well-formatted list.
Idéalement, cette requête doit d'abord appeler l'outil GoogleSearch pour trouver le flux RSS de Google Cloud Platform, puis utiliser l'outil WebFetch pour obtenir le contenu du flux RSS et l'afficher.
9. Configurer des serveurs MCP (Model Context Protocol)
Un serveur MCP est une application qui expose des outils et des ressources à la CLI Gemini via le protocole MCP (Model Context Protocol), ce qui lui permet d'interagir avec des systèmes et des sources de données externes. Les serveurs MCP servent de passerelle entre le modèle Gemini et votre environnement local ou d'autres services tels que les API.
Un serveur MCP permet à la CLI Gemini de découvrir et d'exécuter des outils, ce qui étend ses capacités à effectuer des actions au-delà de ses fonctionnalités intégrées, comme interagir avec des bases de données, des API, des scripts personnalisés ou des workflows spécialisés.
La CLI Gemini permet de configurer des serveurs MCP pour découvrir et utiliser des outils personnalisés. Si Gemini CLI est lancé, vous pouvez vérifier les serveurs MCP configurés à l'aide de la commande /mcp
, comme indiqué ci-dessous :
Si vous n'avez configuré aucun serveur MCP, la documentation sur les serveurs MCP de l'interface de ligne de commande Gemini s'ouvrira.
Vous pouvez configurer les serveurs MCP au niveau mondial dans le fichier ~/.gemini/settings.json
ou dans le répertoire racine de votre projet. Créez ou ouvrez le fichier .gemini/settings.json
. Dans le fichier, vous devrez ajouter le bloc de configuration mcpServers
, comme indiqué ci-dessous :
"mcpServers": {
"server_name_1": {},
"server_name_2": {},
"server_name_n": {}
}
Chaque configuration de serveur accepte les propriétés suivantes ( documentation de référence) :
Obligatoire (l'un des éléments suivants)
- command (string) : chemin d'accès à l'exécutable pour le transport Stdio
- url (string) : URL du point de terminaison SSE (par exemple, "http://localhost:8080/sse")
- httpUrl (string) : URL du point de terminaison de streaming HTTP
Facultatif
- args (string[]) : arguments de ligne de commande pour le transport Stdio
- headers (objet) : en-têtes HTTP personnalisés lorsque vous utilisez url ou httpUrl
- env (objet) : variables d'environnement pour le processus du serveur. Les valeurs peuvent faire référence à des variables d'environnement à l'aide de la syntaxe $VAR_NAME ou ${VAR_NAME}.
- cwd (string) : répertoire de travail pour le transport Stdio
- timeout (nombre) : délai avant expiration de la requête en millisecondes (par défaut : 600 000 ms = 10 minutes)
- trust (booléen) : si la valeur est "true", ignore toutes les confirmations d'appel d'outil pour ce serveur (par défaut : "false").
- includeTools (string[]) : liste des noms d'outils à inclure à partir de ce serveur MCP. Si cette option est spécifiée, seuls les outils listés ici seront disponibles à partir de ce serveur (comportement de liste blanche). Si aucune n'est spécifiée, tous les outils du serveur sont activés par défaut.
- excludeTools (string[]) : liste des noms d'outils à exclure de ce serveur MCP. Les outils listés ici ne seront pas disponibles pour le modèle, même s'ils sont exposés par le serveur. Remarque : excludeTools est prioritaire sur includeTools. Si un outil figure dans les deux listes, il sera exclu.
Nous allons maintenant configurer l'un des principaux serveurs MCP dont vous pourriez avoir besoin si vous travaillez avec GitHub. Vous vous demandez peut-être si vous avez encore besoin du serveur MCP GitHub si vous avez déjà configuré Git et d'autres outils associés sur votre système.
Gemini CLI invoquera les outils Git dont vous disposez sur votre système. Vous pouvez également demander à Gemini CLI de les utiliser. N'oubliez pas que la CLI Gemini vous aidera à traduire vos requêtes en langage naturel en outils équivalents que vous pouvez avoir sur votre système. Vous devrez peut-être l'indiquer explicitement dans votre requête.
Vous n'aurez peut-être pas besoin de la section suivante pour configurer un serveur MCP GitHub si les éléments suivants sont déjà configurés sur votre système :
- Outils Git (vous pouvez donc exécuter des commandes telles que
git init
,git add
, etc. sur votre système) gh
: il s'agit de GitHub en ligne de commande. Il apporte les requêtes d'extraction, les problèmes et d'autres concepts GitHub au terminal, à côté de l'endroit où vous travaillez déjà avec Git et votre code. Installez-le à partir de ce lien et validez sa configuration à l'aide de quelques commandes, en particulier concernant l'authentification auprès de GitHub depuis votre machine.
Si vous souhaitez tout de même essayer le serveur MCP GitHub, veuillez consulter la section suivante ou l'ignorer.
Serveur MCP GitHub
Le serveur MCP officiel de GitHub fournit une documentation suffisante sur les outils qu'il expose et sur la manière de les configurer. Vous pouvez choisir de l'exécuter localement ou à distance, car la CLI Gemini est également compatible avec les serveurs MCP distants.
Ce tutoriel présente l'option de serveur MCP à distance dans GitHub. Pour ce faire, vous devez d'abord obtenir un jeton d'accès personnel (PAT) depuis GitHub.
Une fois que vous l'avez, vous devez ajouter l'objet MCP Server dans le fichier settings.json
. Le fichier settings.json complet de mon système est affiché ci-dessous. Vous pouvez avoir des paramètres supplémentaires, mais l'objet mcpServers
doit être celui indiqué ci-dessous :
{
"theme": "Default",
"selectedAuthType": "oauth-personal",
"mcpServers": {
"github": {
"httpUrl": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "GITHUB_PAT"
},
"timeout": 5000
}
}
}
Vous pouvez redémarrer Gemini CLI ou exécuter la commande /mcp refresh
une fois que vous avez mis à jour settings.json
avec la configuration du serveur MCP GitHub. La capture d'écran ci-dessous met en évidence le serveur MCP GitHub configuré sur ma machine et les différents outils désormais disponibles pour l'interface de ligne de commande Gemini afin de fonctionner avec MCP.
Commençons par une requête qui invoquera l'un des outils du serveur MCP GitHub. Saisissez la requête suivante :
Notez qu'il sélectionnera l'outil approprié à partir du serveur MCP GitHub, mais comme pour les autres outils intégrés, vous devrez également accorder une autorisation explicite pour l'appeler. Exécutez le code et observez le résultat.
Vous devez maintenant travailler avec l'un de vos projets GitHub. Posez vos questions en langage naturel, par exemple :
- Décris-moi <repo-name>.
- Clonez <repo-name> sur mon ordinateur local.
- Décris @<nom de fichier> ou @<nom de répertoire>/
- Quels sont les différents composants de ce dépôt ?
- J'ai apporté les modifications nécessaires. Peux-tu transférer les modifications vers GitHub et utiliser les outils du serveur GitHub MCP pour ce faire ?
Vous trouverez un exercice pour travailler en détail avec le serveur MCP GitHub plus loin dans l'atelier.
Serveur MCP Context7
Context7 fournit une documentation à jour pour les LLM et les éditeurs de code d'IA. Si vous souhaitez fournir le contexte au LLM avec la documentation la plus récente pour le framework de votre choix, le serveur MCP Context7 est un bon choix à configurer.
Assurez-vous que votre bibliothèque figure sur la page d'accueil de Context7.
Voici le serveur MCP que vous devez ajouter au fichier settings.json
.
"context7": {
"httpUrl": "https://mcp.context7.com/mcp"
}
Une fois le serveur MCP configuré et la CLI Gemini chargée avec succès, vous devriez pouvoir afficher les outils Context7 comme indiqué ci-dessous :
Vous pouvez désormais être plus précis dans votre requête et demander à Gemini CLI d'utiliser Context7
pour la documentation la plus récente lors de la génération de votre application ou de votre extrait de code à l'aide d'un framework XYZ spécifique.
Voici un exemple de requête dans laquelle je souhaite écrire un agent à l'aide de l'Agent Development Kit (ADK) de Google. Dans ma requête, je demande à l'IA de rechercher la documentation correspondante via le serveur MCP Context7.
I am working on coding an Agent using the Agent Development Kit (ADK) from Google. I would like to know how to create the LLMAgent in Python. Use Context7 for the latest documentation on ADK and specifically use /google/adk-python, /google/adk-docs and adk.wiki
Voici le résultat reçu :
Serveur MCP Google Slides
Le projet GitHub https://github.com/matteoantoci/google-slides-mcp fournit un serveur MCP pour interagir avec l'API Google Slides. Elle vous permet de créer, de lire et de modifier des présentations Google Slides par programmation.
Les étapes de configuration du serveur MCP sont indiquées dans le projet. Vous aurez besoin d'un environnement Node.js pour créer le serveur, configurer un projet Google Cloud et des jetons OAuth 2.0, puis configurer le serveur MCP dans le fichier settings.json.
Une fois la configuration terminée, vous pouvez exécuter des requêtes telles que :
- Extrais les dernières informations de "web_url", résume-les en points clés et crée une présentation nommée "my_presentation".
Faites le test !
Autres serveurs MCP
Voici une liste supplémentaire de serveurs MCP qui pourraient vous intéresser :
- Serveur MCP Firebase
- Services Google d'IA générative pour les contenus multimédias (Imagen, Veo, Lyria)
- Boîte à outils MCP pour les bases de données (fonctionne avec Firestore, BigQuery et les bases de données Google Cloud)
- Serveur MCP Google Workspace (fonctionne avec Docs, Sheets, Agenda et Gmail)
Les instructions pour configurer les serveurs MCP ci-dessus sont publiées dans cet article de blog.
10. Personnaliser la CLI Gemini avec GEMINI.md
Si vous avez remarqué votre utilisation de Gemini CLI jusqu'à présent, vous avez peut-être constaté que nous nous contentions de donner la requête et d'attendre que Gemini CLI l'exécute, parfois avec des résultats qui ne correspondaient pas à nos attentes. Dans certaines requêtes, vous avez été un peu spécifique en termes d'actions à effectuer et vous avez inclus ces instructions dans la requête.
Cela peut fonctionner correctement en fonction de ce que vous demandez à la CLI Gemini de faire et des résultats que vous obtenez. Mais dans de nombreux cas, vous souhaitez vous assurer qu'il respecte des règles. Ces règles peuvent concerner des langages de programmation ou des frameworks spécifiques à utiliser. Il peut également s'agir d'outils spécifiques. Il peut s'agir de styles de programmation. Il ne s'agit pas seulement de génération. Vous pouvez également souhaiter que l'interface de ligne de commande Gemini soit strictement en mode "planification" et qu'elle se contente de présenter un plan sans générer de code ni modifier de fichiers sur le système.
Saisissez GEMINI.md
. Il s'agit du fichier de contexte (GEMINI.md
par défaut, mais configurable via la propriété contextFileName
dans le fichier settings.json
) qui est essentiel pour configurer le contexte pédagogique (également appelé "mémoire") fourni au modèle Gemini. Ce fichier vous permet de fournir à l'IA des instructions spécifiques au projet, des guides de style de programmation ou toute information contextuelle pertinente, ce qui rend ses réponses plus adaptées et précises à vos besoins.
Le fichier GEMINI.md
est au format Markdown et se charge de manière hiérarchique, à partir de plusieurs emplacements.
L'ordre de chargement est le suivant :
- Contexte global : **
~/.gemini/GEMINI.md
** (pour les instructions qui s'appliquent à tous vos projets). - Contexte du projet/ancêtre : la CLI recherche les fichiers
GEMINI.md
à partir de votre répertoire actuel jusqu'à la racine du projet. - Contexte des sous-répertoires : la CLI analyse également les sous-répertoires à la recherche de fichiers
GEMINI.md
, ce qui permet d'obtenir des instructions spécifiques aux composants.
Vous pouvez utiliser /memory show
pour afficher le contexte combiné final envoyé au modèle.
À quoi ressemble un GEMINI.md
? Nous en avons créé un à partir de la documentation officielle :
# Project: My Awesome TypeScript Library
## General Instructions:
- When generating new TypeScript code, please follow the existing coding style.
- Ensure all new functions and classes have JSDoc comments.
- Prefer functional programming paradigms where appropriate.
- All code should be compatible with TypeScript 5.0 and Node.js 20+.
## Coding Style:
- Use 2 spaces for indentation.
- Interface names should be prefixed with `I` (e.g., `IUserService`).
- Private class members should be prefixed with an underscore (`_`).
- Always use strict equality (`===` and `!==`).
## Specific Component: `src/api/client.ts`
- This file handles all outbound API requests.
- When adding new API call functions, ensure they include robust error handling and logging.
- Use the existing `fetchWithRetry` utility for all GET requests.
## Regarding Dependencies:
- Avoid introducing new external dependencies unless absolutely necessary.
- If a new dependency is required, please state the reason.
Vous remarquerez qu'il fournit des instructions générales, ainsi que des instructions très spécifiques pour le style de codage, la gestion des dépendances et plus encore. Bien qu'il s'agisse d'un exemple de fichier GEMINI.md
pour les projets TypeScript, vous pouvez écrire le vôtre en fonction de votre langage de programmation, de votre framework, de votre style de programmation et d'autres préférences.
Vous pouvez essayer un fichier GEMINI.md
personnalisé. Extrait publié montrant comment utiliser Gemini CLI en mode Planifier uniquement. Le fichier est reproduit ci-dessous :
# Gemini CLI Plan Mode
You are Gemini CLI, an expert AI assistant operating in a special 'Plan Mode'. Your sole purpose is to research, analyze, and create detailed implementation plans. You must operate in a strict read-only capacity.
Gemini CLI's primary goal is to act like a senior engineer: understand the request, investigate the codebase and relevant resources, formulate a robust strategy, and then present a clear, step-by-step plan for approval. You are forbidden from making any modifications. You are also forbidden from implementing the plan.
## Core Principles of Plan Mode
* **Strictly Read-Only:** You can inspect files, navigate code repositories, evaluate project structure, search the web, and examine documentation.
* **Absolutely No Modifications:** You are prohibited from performing any action that alters the state of the system. This includes:
* Editing, creating, or deleting files.
* Running shell commands that make changes (e.g., `git commit`, `npm install`, `mkdir`).
* Altering system configurations or installing packages.
## Steps
1. **Acknowledge and Analyze:** Confirm you are in Plan Mode. Begin by thoroughly analyzing the user's request and the existing codebase to build context.
2. **Reasoning First:** Before presenting the plan, you must first output your analysis and reasoning. Explain what you've learned from your investigation (e.g., "I've inspected the following files...", "The current architecture uses...", "Based on the documentation for [library], the best approach is..."). This reasoning section must come **before** the final plan.
3. **Create the Plan:** Formulate a detailed, step-by-step implementation plan. Each step should be a clear, actionable instruction.
4. **Present for Approval:** The final step of every plan must be to present it to the user for review and approval. Do not proceed with the plan until you have received approval.
## Output Format
Your output must be a well-formatted markdown response containing two distinct sections in the following order:
1. **Analysis:** A paragraph or bulleted list detailing your findings and the reasoning behind your proposed strategy.
2. **Plan:** A numbered list of the precise steps to be taken for implementation. The final step must always be presenting the plan for approval.
NOTE: If in plan mode, do not implement the plan. You are only allowed to plan. Confirmation comes from a user message.
Enregistrez le contenu ci-dessus dans un fichier nommé GEMINI.md, puis enregistrez-le dans ~/.gemini/GEMINI.md
. Il s'agit du même dossier dans lequel vous avez créé le fichier settings.json. Vous pouvez également conserver le fichier GEMINI.md
dans votre dossier <current project folder>/.gemini
, ou même avoir plusieurs fichiers GEMINI.md
dans vos sous-répertoires si vous avez des instructions différentes.
Donnez une requête pour générer une application et voyez comment elle réagit.
Voici un autre fichier GEMINI.md
( mode Expliquer de Gemini) que vous pouvez étudier, puis réutiliser pour vos besoins. L'accent est mis sur la CLI Gemini en tant que guide interactif, qui aide les utilisateurs à comprendre les bases de code complexes grâce à un processus de découverte conversationnel.
Le fichier GEMINI.md
est essentiel pour que la CLI Gemini suive vos préférences. Nous vous suggérons de consulter la série pratique Practical Gemini CLI, qui aborde ce sujet, explique comment générer automatiquement un fichier pour votre projet, comment personnaliser même l'invite système et plus encore.
Notez que vous pouvez également créer le fichier GEMINI.md
à mesure que vous interagissez avec la CLI Gemini. À tout moment, vous pouvez utiliser la commande /memory add <some instruction/rule>. La Gemini CLI l'ajoutera au fichier GEMINI.md
. Vous pouvez même utiliser le langage naturel pour demander à Gemini CLI d'ajouter des informations à sa mémoire, par exemple GEMINI.md
avec des requêtes telles que Mémorise <une instruction/règle> ou Ajoute à la mémoire <une instruction/règle>.
11. Gemini CLI : commandes à barre oblique personnalisées
Vous venez de voir comment personnaliser GEMINI.md
pour créer un mode Plan. La section précédente vous a également fourni des liens vers un mode Explication.
Que se passe-t-il si vous souhaitez configurer ces deux modes et demander à la CLI Gemini de passer à l'un de ces modes à l'aide des commandes slash /plan
ou /explain
? C'est exactement ce que permettent les commandes slash personnalisées de la CLI Gemini.
Comme indiqué dans la documentation, "les commandes personnalisées vous permettent d'enregistrer et de réutiliser vos requêtes préférées ou les plus fréquentes sous forme de raccourcis personnels dans la CLI Gemini. Vous pouvez créer des commandes spécifiques à un seul projet ou des commandes disponibles globalement dans tous vos projets, ce qui simplifie votre workflow et assure la cohérence."
Créons quelques commandes Slash personnalisées : /plan
et /explain
.
L'étape suivante consiste à comprendre d'où Gemini CLI récupère les commandes personnalisées. Comme indiqué dans la documentation, il détecte les commandes à partir de deux emplacements, chargées dans un ordre spécifique :
- Commandes utilisateur (globales) : disponibles dans
~/.gemini/commands/
. Ces commandes sont disponibles dans tous les projets sur lesquels vous travaillez. - Commandes de projet (local) : disponibles dans
<your-project-root>/.gemini/commands/
. Ces commandes sont spécifiques au projet actuel et peuvent être enregistrées dans le contrôle des versions pour être partagées avec votre équipe.
Sélectionnons le dossier du projet actuel à partir duquel vous avez lancé la CLI Gemini. Il s'agit donc du dossier <your-project-root>/.gemini/commands/
. Créez la structure de dossiers.
Que devons-nous créer dans ce dossier ? Nous avons besoin de deux fichiers TOML (plan.toml
et explain.toml
). Pour en savoir plus sur les espaces de noms et les conventions de dénomination, cliquez ici.
Chaque fichier TOML doit comporter deux champs : description
et prompt
. Assurez-vous que la description est courte et concise, car elle sera affichée à côté de la commande dans l'interface de ligne de commande Gemini. L'exemple de fichier TOML ci-dessous est tiré de l'article de blog officiel sur les commandes slash personnalisées.
Vous trouverez ci-dessous un exemple de fichier plan.toml. Notez que la requête contient un espace réservé spécial {{args}}
. La CLI remplacera cet espace réservé exact par tout le texte saisi par l'utilisateur après le nom de la commande.
description="Investigates and creates a strategic plan to accomplish a task."
prompt = """
Your primary role is that of a strategist, not an implementer.
Your task is to stop, think deeply, and devise a comprehensive strategic plan to accomplish the following goal: {{args}}
You MUST NOT write, modify, or execute any code. Your sole function is to investigate the current state and formulate a plan.
Use your available "read" and "search" tools to research and analyze the codebase. Gather all necessary context before presenting your strategy.
Present your strategic plan in markdown. It should be the direct result of your investigation and thinking process. Structure your response with the following sections:
1. **Understanding the Goal:** Re-state the objective to confirm your understanding.
2. **Investigation & Analysis:** Describe the investigative steps you would take. What files would you need to read? What would you search for? What critical questions need to be answered before any work begins?
3. **Proposed Strategic Approach:** Outline the high-level strategy. Break the approach down into logical phases and describe the work that should happen in each.
4. **Verification Strategy:** Explain how the success of this plan would be measured. What should be tested to ensure the goal is met without introducing regressions?
5. **Anticipated Challenges & Considerations:** Based on your analysis, what potential risks, dependencies, or trade-offs do you foresee?
Your final output should be ONLY this strategic plan.
"""
Essayez également de créer un fichier explain.toml. Vous pouvez vous référer au mode Expliquer de Gemini pour choisir du contenu.
Redémarrez la CLI Gemini. Vous constaterez qu'il comporte désormais une commande à barre oblique (/plan
), comme indiqué ci-dessous :
12. Cas d'utilisation à tester
La CLI Gemini peut être appliquée à un large éventail de cas d'utilisation, aussi bien pour les développeurs que pour les non-développeurs. Vous trouverez ci-dessous quelques scénarios. En fonction de votre domaine d'intérêt, vous pouvez en essayer un ou plusieurs.
Dans chacun de ces cas, la requête est fournie. Vous pouvez essayer ce paramètre en mode interactif ou non interactif dans la CLI Gemini à l'aide du paramètre -p
au moment du lancement de la CLI Gemini.
Vibe coding avec la CLI Gemini
Utilisons la CLI Gemini pour coder une application. Dans cette tâche, vous allez demander à Gemini CLI de générer une application, puis transférer la version initiale vers un dépôt GitHub.
Conditions préalables
Pour effectuer les tâches de cette section, vous devez remplir quelques conditions préalables :
- Git
- Gemini CLI avec le serveur GitHub MCP (que nous avons fait précédemment) ou si vous avez configuré
gh
( outil GitHub CLI), cela fonctionnera également. - Connaissances de base de Git et quelques connaissances en programmation
Nous partons du principe que vous avez lancé la CLI Gemini dans un dossier spécifique de votre choix. Assurez-vous que les serveurs MCP ont bien démarré, en particulier le serveur GitHub MCP.
Commencez par une requête initiale. N'hésitez pas à le modifier comme vous le souhaitez. N'oubliez pas que tout au long de la session avec l'interface de ligne de commande Gemini, vous serez invité à autoriser la création de fichiers, etc. Accordez les autorisations requises.
Dans cette tâche, nous ne demandons pas à Gemini CLI d'exécuter l'application ni de la tester pour nous, car nous souhaitons avoir un peu plus de contrôle. Mais c'est à vous de décider comment vous souhaitez procéder.
Generate a website for a 1-day event filled with technical talks. There are going to be 6 talks in a single track of 1 hour each. Each talk has the following information: title, 1 or maximum of 2 speakers, category (1 or maximum of 3 keywords), duration and a description. The website has a single page where users can see the schedule for the entire day with the timings. There will be one lunch break of an hour and the event starts at 10:00 AM. Keep a 10 minute transition between talks. I would like to use Node.js on the server side and standard HTML, JavaScript and CSS on the front-end. The users should be able to search the talks based on category.
I would like you to proceed in the following way:
1. Plan out how you would design and code this application.
2. Ask me for any clarifications along the way.
3. Once I am fine with it, do generate the code and provide me instructions to run and test locally.
Les requêtes et réponses suivantes sont un exemple de flux observé. Vous obtiendrez peut-être une réponse complètement différente. Parcourez donc le plan et interagissez avec Gemini CLI si nécessaire.
Nous avons observé que Gemini CLI essaie parfois d'en faire plus et peut même vous donner les commandes qu'il aimerait exécuter. Pour cet exercice, il est conseillé de ne pas le faire, afin d'avoir plus de contrôle sur la façon dont il exécute la tâche et sur ce que vous souhaitez valider vous-même en premier.
Par exemple, s'il propose d'exécuter les commandes, vous pouvez simplement les ignorer et envoyer un message comme indiqué ci-dessous :
En suivant les instructions pour démarrer le serveur et accéder à la page d'accueil, nous avons obtenu un exemple de site comme celui ci-dessous (vous devriez voir une variante d'un site similaire si vous avez utilisé la même requête) :
Vous pouvez continuer à apporter d'autres modifications à l'aide de la CLI Gemini. Une fois que vous êtes satisfait des modifications, vous pouvez les transférer vers un dépôt GitHub.
Commençons par créer un fichier .gitignore. Vous pouvez vous faire aider par Gemini CLI.
Create a .gitignore file for this project.
L'étape suivante consiste à donner des instructions à Gemini CLI pour transférer ce dépôt vers notre compte GitHub. Cela devrait exécuter les outils du serveur MCP GitHub en arrière-plan.
Saisissez une requête semblable à celle ci-dessous :
Great! I would now like to push all of this to a new repository in my Github account. I would like to name this repository <Your-Name>-event-talks-app
Il va passer en revue un certain nombre de commandes :
- Créez le dépôt.
- Il utilisera plusieurs commandes Git (init, add, commit) pour gérer le dépôt Git local.
- Il configurera ensuite le dépôt Git distant et effectuera un push.
Remarque : Il peut arriver que la CLI Gemini expire ou utilise un nom d'utilisateur incorrect, etc. Interagissez avec elle et suggérez les corrections.
Si tout se passe bien, vous devriez avoir un dépôt GitHub en place. Voici un exemple de capture d'écran :
Notez que vous n'avez pas généré de README.md
pour ce projet. C'est un bon exercice pour la section suivante, où nous allons maintenant travailler avec le dépôt que vous venez de créer.
Utiliser Gemini CLI pour travailler sur un dépôt GitHub
Dans ce cas d'utilisation, vous allez utiliser Gemini CLI pour travailler avec un dépôt GitHub. Vous allez effectuer plusieurs tâches, dont les suivantes :
- Comprendre la base de code
- Générer de la documentation
- Implémenter une nouvelle fonctionnalité
- Validez et transférez à nouveau les modifications dans le dépôt.
- Travailler sur un problème GitHub et implémenter les modifications proposées
Vous devriez ainsi obtenir une bonne base pour travailler avec vos dépôts et utiliser la CLI Gemini comme assistant pour ces tâches spécifiques aux développeurs.
Conditions préalables
Pour effectuer les tâches de cette section, vous aurez besoin des éléments suivants :
- Git
- Gemini CLI avec le serveur GitHub MCP (que nous avons fait précédemment) ou si vous avez configuré
gh
( outil GitHub CLI), cela fonctionnera également. - Vous devez connaître les bases de Git et avoir quelques connaissances en programmation (nous utiliserons Node.js dans cet exemple, car vous avez peut-être déjà l'environnement prêt sur votre machine, du fait que vous avez installé Gemini CLI). Vous pourrez choisir ultérieurement le dépôt de votre choix avec un langage de programmation et un framework différents.
- Vous devez avoir terminé la section précédente et avoir le dépôt à portée de main, où nous avons créé un site Web Event Talks.
Continuons à utiliser la CLI Gemini à partir du dossier/répertoire que vous avez utilisé pour générer l'application Event Talks. Si nécessaire, vous pouvez cloner le dépôt sur votre ordinateur local, puis démarrer la CLI Gemini à partir de ce répertoire. Essayez les scénarios suivants :
Comprendre la base de code
- J'aimerais en savoir plus sur ce projet. Aide-moi à comprendre les principales fonctionnalités, puis à les décomposer côté serveur et côté client. Prends un exemple de flux et montre-moi comment fonctionnent la requête et la réponse.
- Explique-moi @server.js
Générer un fichier README
- Générez un fichier
README
pour ce projet.
Dans ce cas, l'interface de ligne de commande Gemini a non seulement généré le fichier README
, mais elle a également voulu exécuter les commandes pour l'ajouter au dépôt Git et envoyer les modifications au dépôt distant. Si vous constatez qu'elle le fait, vous pouvez l'y autoriser.
Dans certains cas, il peut même vous proposer de générer le fichier LICENSE
. Vous pouvez décider de le faire ou non. En fonction du résultat, les fichiers README
et/ou LICENSE
seront générés et les modifications seront envoyées à GitHub.
Implémenter une nouvelle fonctionnalité
- Je souhaite implémenter une nouvelle fonctionnalité qui permet à l'utilisateur de rechercher également par orateur spécifique. Montre-moi d'abord un plan pour implémenter ce changement, puis nous pourrons générer le code.
Un plan devrait vous être proposé. Vous pourrez l'approuver. Une fois que vous aurez approuvé les modifications, Gemini CLI les appliquera. Testez vos modifications et, en cas de bugs (ce qui est probable), demandez à Gemini CLI de les corriger.
Une fois les modifications effectuées, vous pouvez suivre les mêmes étapes pour les valider et les transférer vers le dépôt distant.
Générer des problèmes en fonction des fonctionnalités suggérées
Essayons quelque chose d'intéressant. Vous allez demander à Gemini CLI comment améliorer l'expérience utilisateur de cette application. En fonction de son évaluation, il peut créer ces suggestions sous forme de problèmes dans le même dépôt GitHub. Il utilisera l'outil create_issue du serveur MCP GitHub.
Essayez le prompt suivant :
- J'aimerais que vous évaluiez l'application du point de vue de l'expérience utilisateur. Facilité d'utilisation, réactivité, messages utiles et plus encore. Veuillez établir une liste d'améliorations, puis les créer en tant que problèmes dans le dépôt GitHub.
Idéalement, il partagera d'abord les améliorations avec vous, puis, avec votre autorisation, créera les problèmes dans le dépôt GitHub. Voici un exemple de capture d'écran de notre exécution :
Travailler sur un problème GitHub et implémenter les modifications proposées
Vous pouvez maintenant choisir l'un des problèmes générés précédemment et demander à la CLI Gemini de le résoudre et de l'implémenter.
Voici un exemple de problème généré :
Copiez l'URL du problème dans son intégralité et fournissez une requête comme celle-ci :
- Veuillez consulter le problème :
<YOUR_ISSUE_URL>
et comprendre les modifications à apporter. Commence par discuter du plan, puis montre les modifications proposées dans le code.
N'hésitez pas à approuver les modifications et à les transférer vers le dépôt. Vous pouvez même lui demander de fermer le problème.
(Facultatif) Tâches quotidiennes
Les cas d'utilisation ci-dessous correspondent à des tâches que vous pourriez être amené à effectuer régulièrement. Cela inclut l'organisation des fichiers dans des dossiers, l'extraction et la synthèse de contenu Web, le traitement des fichiers image et l'extraction de leur contenu, l'utilisation de bases de données, etc.
N'hésitez pas à explorer les cas d'utilisation qui vous intéressent.
Organiser les fichiers/dossiers
Vous pouvez utiliser la Gemini CLI pour organiser les fichiers par type dans différents dossiers, selon vos besoins. Accédez à un dossier sur votre ordinateur contenant plusieurs fichiers .txt, .png, .jpg, .pdf, .mp4, etc. Il s'agit probablement de votre bureau ou de votre dossier "Téléchargements".
Voici un exemple de dossier et de son contenu (vous pouvez avoir d'autres fichiers) :
Accédez à ce dossier et démarrez la CLI Gemini. Vous allez d'abord demander à la CLI Gemini de créer des dossiers (Images, Documents et Vidéos), puis de les organiser.
L'interface de ligne de commande Gemini vous demandera souvent votre autorisation avant d'exécuter des commandes, en particulier celles qui modifient votre système de fichiers (comme l'écriture, le déplacement ou la suppression de fichiers). Examinez toujours attentivement ces invites avant d'accorder l'autorisation. Il s'agit de votre filet de sécurité.
Create the following folders "Images","Documents","Videos"
Saisissez ensuite la requête suivante :
Go through all the files in this folder and then organize them by moving all the files ending with .jpg, .jpeg, .gif into the "Images" folder. Move all ".txt" files into the "Documents" folder. Move all the ".mp4" files in the "Videos" folder.
Vous trouverez ci-dessous un exemple de l'état final du dossier. De nouveaux sous-dossiers devraient être créés et les fichiers déplacés dans les sous-dossiers correspondants en fonction de leur type.
Voici quelques autres scénarios d'organisation (les requêtes sont indiquées à côté de chaque scénario) :
- Résumés : pour chaque document du dossier "Documents", créez un fichier .txt dans le même dossier, nommé "summary_NOM_DU_FICHIER_ORIGINAL.txt", qui contient un résumé en trois phrases des principaux points du document.
- Catégorisation par type : analysez tous les fichiers PDF et DOCX de ce répertoire. Déplacez tous les fichiers dont le nom ou le contenu incluent le terme "facture" dans le dossier "Finances/Factures". Déplacez les fichiers avec le mot "reçu" dans le dossier "Finances/Reçus". Tous les autres fichiers .docx sont placés dans "Rapports".
- Extraction d'informations clés (et "taggage") : pour chaque fichier PDF du dossier "Financial/Invoices" (Finances/Factures), lisez son contenu. Si vous trouvez une date, renommez le fichier pour l'inclure au format AAAA-MM-JJ, par exemple : ‘invoice_2025-07-26_original_name.pdf'.
Organiser les images
Voyons comment organiser les contenus d'images sur votre ordinateur.
Pour tester cette fonctionnalité :
- Vous aurez besoin d'un répertoire/dossier contenant différents fichiers image (.jpg, .png, etc.). Incluez-en certaines avec des données EXIF (la plupart des photos prises avec des appareils photo ou des téléphones en contiennent).
- Accédez à ce répertoire.
- Lancez la CLI Gemini.
Essayez l'un des scénarios suivants (les requêtes sont indiquées à côté de chaque scénario) :
- Renommer par date (données EXIF) : renommez tous les fichiers .jpg et .png de ce répertoire pour inclure leur date de création à partir des données EXIF au format "AAAAMMJJ_HHMMSS_nom_original.jpg". Si aucune date EXIF n'est trouvée, utilisez la date de dernière modification du fichier.
- Créer des descriptions d'images : pour chaque image de ce dossier, décrivez son contenu et enregistrez cette description dans un fichier texte nommé "description_NOM_DE_FICHIER_ORIGINAL.txt" dans le même répertoire.
- Identifier les doublons (conceptuel, nécessite une logique plus avancée) : trouvez les images en double dans ce dossier en fonction de leur contenu visuel et listez leurs noms de fichiers. Ne les supprimez pas encore.
Résumer des articles (fichiers locaux ou Web)
Pour chacun des scénarios ci-dessous, n'hésitez pas à modifier l'URL, le thème d'intérêt et les noms de fichiers locaux, le cas échéant. Les noms de fichiers fournis sont des exemples. Vous pouvez les remplacer par les noms de fichiers présents sur votre système.
Essayez l'un des scénarios suivants (les requêtes sont indiquées à côté de chaque scénario) :
- Résumer un article Web (URL unique) : accédez à https://medium.com/google-cloud/getting-started-with-gemini-cli-8cc4674a1371 et résumez les trois principaux points à retenir de cet article.
- Résumer plusieurs articles Web (par exemple, à partir d'une recherche) : trouvez les derniers articles d'actualité sur "Gemini CLI" à l'aide de la recherche Google. Pour les cinq articles les plus pertinents, résume chacun d'eux en deux ou trois phrases et liste leurs URL.
- Résumer un fichier texte local : résume les principaux points de l'article dans "my_research_paper.txt". Concentrez-vous sur la méthodologie et les conclusions.
- Résumer un PDF local : lis "financial_report_Q2_2025.pdf". Résume les performances financières et les principaux défis mentionnés.
Extraire des informations spécifiques (fichiers locaux ou Web)
Pour chacun des scénarios ci-dessous, n'hésitez pas à modifier l'URL, le thème d'intérêt et les noms de fichiers locaux, le cas échéant. Les noms de fichiers fournis sont des exemples. Vous pouvez les remplacer par les noms de fichiers présents sur votre système.
Essayez l'un des scénarios suivants (les requêtes sont indiquées à côté de chaque scénario) :
- Extraire des entités d'un article local : à partir de "biography.txt", listez toutes les personnes nommées et les dates importantes qui leur sont associées.
- Extrais les données d'un tableau dans un PDF : dans "quarterly_sales.pdf", extrais les données du tableau de la page 3 qui indique les "ventes de produits par région" et présente-les sous forme de tableau Markdown.
- Extraire les titres et les sources d'un site d'actualités : accédez à https://news.google.com/ (ou à un site d'actualités similaire). Extrais les principaux titres de la page d'accueil et les sources d'actualités correspondantes. Présente-les sous forme de liste à puces.
- Trouver les caractéristiques d'un produit sur une page d'e-commerce : accédez à "https://www.amazon.in/Google-Cloud-Certified-Associate-Engineer/dp/1119871441" (exemple pour un livre). Extrayez le titre du livre, l'auteur et d'autres informations. Présentez-le au format JSON structuré.
- Extrais la durée d'une vidéo dans un format spécifique (par exemple, "2h37m42s").
Répondre à des questions en fonction du contenu (comportement de type RAG)
Pour chacun des scénarios ci-dessous, n'hésitez pas à modifier l'URL, le thème d'intérêt et les noms de fichiers locaux, le cas échéant. Les noms de fichiers fournis sont des exemples. Vous pouvez les remplacer par les noms de fichiers présents sur votre système.
Essayez l'un des scénarios suivants (les requêtes sont indiquées à côté de chaque scénario) :
- Questions/Réponses sur un document local : je joins le fichier "user_manual.pdf". Quelles sont les étapes à suivre pour résoudre les problèmes de connectivité réseau ?
- Questions/réponses sur une page Web : en utilisant le contenu de la page "https://www.who.int/news-room/fact-sheets/detail/climate-change-and-health", quels sont les principaux risques pour la santé associés au changement climatique selon l'OMS ?
- Compare les informations de plusieurs sources : j'ai deux articles de presse, "article1.txt" et "article2.txt", qui traitent tous les deux des récents changements de politique économique. Comparez et opposez leurs points de vue sur l'impact potentiel sur les petites entreprises.
Génération de contenu basée sur les informations extraites
Pour chacun des scénarios ci-dessous, n'hésitez pas à modifier l'URL, le thème d'intérêt et les noms de fichiers locaux, le cas échéant.
Essayez l'un des scénarios suivants (les requêtes sont indiquées à côté de chaque scénario) :
- Générer un résumé d'article : lis @tech_innovation_article.txt. Rédige un bref bulletin d'actualités (environ 150 mots) adapté à une newsletter d'entreprise, en mettant en avant la nouvelle technologie et son potentiel.
- Rédige un e-mail résumant la transcription d'une réunion : Voici le fichier de transcription de la réunion : @meeting_transcript.txt. Rédige un e-mail à l'équipe résumant les décisions clés prises et les tâches attribuées, y compris les responsables de chacune d'elles.
Compatibilité multimode de la CLI Gemini
La CLI Gemini est compatible avec plusieurs modèles via Gemini. Vous pouvez lui demander de traiter des fichiers de différents formats de contenu selon vos besoins.
Vous allez traiter un ensemble d'images de factures avec la CLI Gemini et en extraire des informations clés. Suivez les étapes ci-dessous :
- Créez un dossier sur votre ordinateur et téléchargez-y des factures à partir du dépôt GitHub suivant.
- Lancez la CLI Gemini depuis ce dossier.
Donnez la requête suivante pour extraire les informations des factures sous forme de tableau.
The current folder contains a list of invoice files in Image format. Go through all the files in this folder and extract the following invoice information in the form of a table: Invoice No, Invoice Date, Invoice Sent By, Due Date, Due Amount.
Idéalement, le résultat devrait ressembler à ceci :
Voici un autre scénario dans lequel vous pouvez demander des colonnes dérivées supplémentaires. Supposons que vous souhaitiez afficher un emoji croix rouge pour toutes les dates d'échéance de facture passées. Vous pouvez formuler une requête comme suit :
list all files with .png extension in this folder. Extract the invoice information from it by reading them locally and display it in a table format containing the following column headers: : Invoice No, Invoice Date, Invoice Sent By, Due Date, Due Amount. Add a column at the end of the table that shows a red cross emoji in case the due date is in the past.
Vous obtenez le résultat suivant :
Appliquez cette méthode à tous vos fichiers qui ne sont pas au format texte.
Utiliser la CLI Gemini pour travailler avec des bases de données
Vous pouvez utiliser la CLI Gemini pour travailler plus efficacement avec différentes bases de données. Vous pouvez l'utiliser pour plusieurs scénarios : interroger des données en langage naturel, exporter des données, concevoir des schémas de base de données, générer des données de test réalistes et plus encore.
Pour ce faire, vous utiliserez SQLite3
. Vous devrez installer SQLite3 et disposer de l'exemple de base de données Chinook.
Voici de brèves instructions pour configurer SQLite3 :
- macOS : SQLite3 est préinstallé. Validez avec
sqlite3 --version
. Si nécessaire, installez-le avec Homebrew :brew install sqlite3
. - Windows : téléchargez les fichiers binaires précompilés sur le site Web de SQLite. Extrayez les fichiers dans un répertoire (par exemple,
C:\sqlite
). Ajoutez ce répertoire à la variable d'environnement PATH de votre système. - Linux : Debian/Ubuntu :
sudo apt update && sudo apt install sqlite3
Téléchargez l'exemple de base de données Chinook (cliquez ici pour le télécharger directement).
Pour exécuter ces invites, nous vous suggérons de créer un dossier (database-tasks
) dans le répertoire gemini-cli-projects
. Copiez le fichier de base de données Chinook dans ce dossier. Assurez-vous que l'outil sqlite3 est configuré sur votre système et disponible dans le chemin d'accès, afin que Gemini CLI puisse l'utiliser. Lancez la CLI Gemini.
Le schéma de base de données est illustré ci-dessous :
Supposons que vous vous trouviez dans un dossier nommé database-tasks
et que le fichier de base de données Chinook soit nommé chinook.db
.
Vous trouverez ci-dessous plusieurs requêtes qui peuvent vous aider à travailler avec des bases de données. Nous allons aborder brièvement la première pour vous montrer l'autorisation qui sera demandée.
Commencez par demander à l'IA de lister les tables présentes dans la base de données. Pour cela, saisissez la requête suivante :
What tables are present in the file: chinook.db
Il utilise l'outil pour lire le fichier, puis souhaite utiliser l'utilitaire sqlite3
présent sur votre système pour effectuer les opérations nécessaires :
Accordez l'autorisation de l'exécuter une fois pour obtenir le résultat attendu :
Essayez les requêtes suivantes ou toute autre requête de votre choix :
- Combien d'employés compte votre entreprise ?
- Quel est le schéma de la table "factures" ?
- Quelles sont les trois factures les plus élevées et quels sont les clients qui les ont émises ?
Vous remarquerez que Gemini CLI s'occupe de deux choses : générer l'instruction SQL appropriée pour répondre à vos besoins et fournir la commande sqlite3
correcte.
Utiliser la CLI Gemini pour générer des données
Vous pouvez demander à la CLI Gemini de générer des données dans différents formats. Il peut s'agir de contenus ou de données JSON que vous devez simuler. Concentrons-nous ici sur les scénarios applicables aux développeurs/testeurs.
Voici quelques requêtes à tester :
Générer des données JSON d'exemples d'avis clients
Generate a JSON array of 3 synthetic customer reviews for a new smartphone. Each review should have 'reviewId' (string, UUID-like), 'productId' (string, e.g., 'SMARTPHONE_X'), 'rating' (integer, 1-5), 'reviewText' (string, 20-50 words), and 'reviewDate' (string, YYYY-MM-DD format).
Générer des réponses d'API fictives (JSON)
Generate a JSON array representing 7 daily sales records for a mock API endpoint. Each record should include 'date' (YYYY-MM-DD, chronologically increasing), 'revenue' (float, between 5000.00 and 20000.00), 'unitsSold' (integer, between 100 and 500), and 'region' (string, either 'North', 'South', 'East', 'West').
Générer des instructions d'insertion d'une base de données exemple (SQL)
Generate 5 SQL INSERT statements for a table named 'users' with columns: 'id' (INTEGER, primary key), 'username' (VARCHAR(50), unique), 'email' (VARCHAR(100)), 'password_hash' (VARCHAR(255)), 'created_at' (DATETIME, current timestamp). Ensure the password_hash is a placeholder string like 'hashed_password_X'.
Générer des données CSV pour le chargement/l'analyse des données
Generate 10 lines of CSV data, including a header row, for customer transactions. Columns should be: 'TransactionID' (unique string), 'CustomerID' (integer), 'ItemPurchased' (string, e.g., 'Laptop', 'Monitor', 'Keyboard'), 'Quantity' (integer, 1-3), 'UnitPrice' (float, between 100.00 and 1500.00), 'TransactionDate' (YYYY-MM-DD).
Générer un fichier de configuration (YAML)
Generate a sample YAML configuration for a 'user_service'. Include sections for 'database' with 'host', 'port', 'username', 'password', 'database_name'. Also include a 'api_keys' section with 'payment_gateway' and 'email_service' placeholders. Use realistic default values.
Générer des données de test pour les cas extrêmes/la validation
Generate a JSON array of 8 email addresses for testing purposes. Include a mix of: 2 valid standard emails, 2 with missing '@', 2 with invalid domains (e.g., '.com1'), and 2 with special characters in the local part that are usually invalid (e.g., spaces or multiple dots).
13. Félicitations
Félicitations, vous avez exploré Gemini CLI, ses capacités et l'avez appliqué à quelques cas d'utilisation.