đ€ Gemini Dans Votre Terminal Avec Gemini CLI
Cet article est Ă©galement disponible en anglais âĄïž ici âŹ ïž .
đ CLI, Kezako?
Les Command Line Interface (CLI) sont des outils en ligne de commande qui permettent d’interagir avec une application en saisissant âdu texteâ formant des commandes. Ils existent depuis le dĂ©but de lâinformatique et sont toujours utilisĂ©s au quotidien par les dĂ©veloppeurs·euses, SRE/OPS et toute autre personne aimant passer du temps dans les terminaux đ.
Une Ă©volution, dans lâĂšre du temps, amĂšne Ă intĂ©grer lâIA dans les outils de CLI. Que ce soit Google, Amazon ou dâautres producteurs de modĂšle dâIA, les outils de CLI arrivent : Gemini CLI, Amazon Q, Claude code, etc.
â ïž Dans cet article, le focus sera mis sur la CLI de Google, Gemini CLI, que jâutilise Ă  la fois chez mon client et dans un contexte Zenika/personnel. Ce tour dâhorizon vous permettra de dĂ©couvrir le fonctionnement de cette CLI ainsi que les fonctionnalitĂ©s disponibles.
Je ne ferai pas de comparatif avec les autres solutions du marchĂ©, faute de les connaĂźtre et de les avoir testĂ© suffisamment. Je vous recommande cependant la confĂ©rence de Faye Ellis au DevFest Nantes sur la CLI dâAmazon (voir le replay)..
âïžGemini CLI
Gemini CLI est un projet open source publiĂ© en juin 2025 conçu pour accroĂźtre la productivitĂ© des Ă©quipes Ă lâaide de lâIA directement dans votre terminal.
Pour lâinstallation, vous devez avoir initiĂ© ou identifiĂ© un projet Google Cloud Platform avec lâAPI Gemini d’activĂ©e. Gemini CLI sâinstalle ensuite Ă lâaide de la commande npx https://github.com/google-gemini/gemini-cli ou bien avec brew brew install gemini-cli. Une fois la variable dâenvironnement GOOGLE_CLOUD_PROJECT configurĂ©e, lâouverture de Gemini se fait simplement avec la commande gemini.
đ FonctionnalitĂ©s offertes par Gemini CLI
La fonctionnalitĂ© principale de Gemini CLI est de permettre aux utilisateurs et utilisatrices de solliciter les modĂšles Gemini depuis le terminal, tout en intĂ©grant des outils capables d’interagir avec leur environnement.
Ces sollicitations peuvent prendre plusieurs formes : demander des informations sur un sujet, obtenir de l’aide sur la rĂ©solution dâune problĂ©matique, ou encore gĂ©nĂ©rer un contenu spĂ©cifique. Dans cet exemple, je lui ai demandĂ© de faire un tableau comparatif entre 2 frameworks Java du moment, Quarkus et Springbot.
Ce type de requĂȘte, identique Ă  celle que nous ferons sur un moteur de recherche, est possible grĂące Ă  un outil que Gemini CLI intĂšgre nativement : GoogleSearch. Cet outil nâest pas seul, je vous dĂ©taillerai cette partie par la suite de lâarticle.
Il y a quelques mois, lorsque nous utilisions des Large Langage Model (LLM), nous Ă©tions limitĂ©s dans la âfraĂźcheurâ des donnĂ©es. Avec cet outil, les recherches vont permettre dâavoir des rĂ©sultats Ă  jour.
Ce biais peut-ĂȘtre vĂ©rifiĂ© avec deux requĂȘtes simples telles que âdonne moi la date du jourâ et âdis moi si un ancien prĂ©sident français est en prison et si oui depuis quandâ (ce test a Ă©tĂ© fait le 23/10/2025 et ne me demandez pas pourquoi jâai eu cette question en tĂȘte en premier đ€·) :
 
 
Dans la seconde requĂȘte, Gemini CLI nous indique son raisonnement et les outils utilisĂ©s pour rĂ©pondre Ă nos questions. Dans ma requĂȘte spĂ©cifique, GoogleSearch est bien appelĂ©, nous donnant une explication et une premiĂšre justification sur la rĂ©ponse donnĂ©e.
đïž Les commandes
Gemini CLI intĂšgre plusieurs commandes permettant notamment de :
- configurer ou modifier son authentification Google,
 - régler ses préférences et options,
 - soumettre un bug,
 - copier le rĂ©sultat dâune requĂȘte dans le presse papier
 
 
 
La commande /init est intéressante. Elle permet de générer un fichier GEMINI.MD à votre projet.
Ce fichier Markdown (vous lâavez devinĂ© avec son extension .md đ) contient le contexte de votre projet. Gemini CLI va parcourir les fichiers de votre projet et rassembler les informations nĂ©cessaires pour adapter ses futures rĂ©ponses de Gemini CLI en fonction de votre contexte.
Il est Ă©galement possible de crĂ©er vos propres commandes personnalisĂ©es. Il suffit de crĂ©er un rĂ©pertoire âcommandsâ soit dans le rĂ©pertoire .gemini de votre session ou de votre projet concernĂ© par cette commande.
Le nom du fichier .toml correspond au nom de la commande et doit posséder au minimum une description de prompt pour expliquer son raisonnement.
Par exemple, la commande /translate peut ĂȘtre configurĂ©e en ajoutant le fichier translate.toml dans le rĂ©pertoire .gemini.
 
Dans Gemini CLI, la commande est disponible et permet dâavoir rapidement une traduction français -> anglais.
 
 
đ€ Un assistant de code âagenticâ
En tant que dĂ©veloppeur, jâai intĂ©grĂ© dans mes IDEs du moment, VsCode et Intellij, le plugin Gemini, mâaccompagnant dans la rĂ©daction de documentation, lâexplication du code et lâaide pour rĂ©soudre des problĂšmes. LâarrivĂ©e du monde âagenticâ a permis de renforcer la partie âassistantâ de code en permettant aux outils de proposer des mises Ă jour des fichiers dans les projets. Le plugin Gemini dispose depuis plusieurs mois la possibilitĂ© dâactiver le mode âAgentâ :
Gemini CLI peut ĂȘtre ouvert dans un terminal, comme celui par dĂ©faut disponible sur Mac, dans des applications de terminaux comme Ghostty (celle que jâutilise) ou bien directement dans le terminal de votre IDE.
Gemini CLi, en plus de pouvoir modifier vos fichiers, peut exĂ©cuter les commandes disponibles sur votre poste. Par exemple, lors de la demande dâaide de crĂ©ation dâun nouveau projet en Go, Gemini CLI va interagir avec votre environnement, en vĂ©rifiant pour commencer si Go est installĂ© sur votre poste.
Une autre commande Ă connaĂźtre, câest /ide qui permet de connecter Gemini CLI Ă votre IDE. Les propositions de code sâouvriront dans votre IDE, ce qui facilite leur relecture.. Dans cet exemple jâai demandĂ© Ă Gemini de me gĂ©nĂ©rer des tests et la premiĂšre Ă©tape est bien dâajouter Junit dans mon projet Java
Une fois (pour mon exemple) la proposition de Gemini validĂ©, il continue son traitement et me propose de crĂ©er une classe de Test pour le code non testĂ© (Oui je sais ce nâest pas bien đ)
La sous commande /ide status permet de voir lâĂ©tat de cet intĂ©gration
đ§© Les extensions
Au-delĂ des fonctionnalitĂ©s citĂ©es prĂ©cĂ©demment, Gemini CLI possĂšde son systĂšme dâextensions qui permet dâaccroĂźtre notre productivitĂ©.
Une commande /extensions est disponible. Accompagnée des sous-commandes list et update, vous allez pouvoir visualiser les extensions que vous avez et de les mettre à jour.
Pour le moment, jâai installĂ© ces deux extensions qui sont trĂšs pratiques pour faire une revue et faire un audit de sĂ©curitĂ© sur la branche sur laquelle on dĂ©veloppe. Il existe dĂ©jĂ une liste trĂšs intĂ©ressante dâextensions disponible sur ce site : https://geminicli.com/extensions/.
Si la gĂ©nĂ©ration dâimage est quelque chose que vous faites rĂ©guliĂšrement, je vous recommande lâextension nanobanana (modĂšle de gĂ©nĂ©ration dâimage de Google).
Pour les personnes qui se demanderaient pourquoi je nâai pas installĂ© cette extension que jâannonce ĂȘtre intĂ©ressante, la raison est assez simple, jâutilise ce modĂšle de gĂ©nĂ©ration dâimage dans dâautres contextes đ.
đ MCP
Les MCP (Model Context Protocol) permettent de faciliter les appels Ă des APIs. Gemini CLI offre la possibilitĂ© de configurer les MCP que vous avez dĂ©veloppĂ©s et/ou ceux dĂ©jĂ disponibles. Et ça câest vraiment intĂ©ressant. Pour ma part, jâai intĂ©grĂ© les MCP GitHub, GitLab et Atlassian chez mon client. Cela fait quelques semaines que jâessaye dâen utiliser rĂ©guliĂšrement et cela peut trĂšs vite ĂȘtre un gain de temps. Envie de crĂ©er une issue GitHub ou GitLab ? Ăcris le Ă Gemini CLI et passe rapidement Ă autre chose. De la mĂȘme façon, la crĂ©ation dâun ticket Jira se fait en quelques mots dans le terminal, pratique.
Comment cela fonctionne? Gemini CLI gĂšre sa configuration dans le fichier .gemini/settings.json Ă la racine de votre compte. Ce fichier contient lâensemble des configurations liĂ©es Ă lâutilisation dans votre IDE, les thĂšmes graphiques appliquĂ©s mais aussi la configuration des MCP.
La configuration du serveur MCP de GItHub se fait avec cette configuration :
 "github": {  
     "httpUrl": "https://api.githubcopilot.com/mcp/",  
     "headers": {  
       "Authorization": "Bearer xxxxxx"  
     },  
     "timeout": 5000
 }
CĂŽtĂ© GitLab, cela peut se faire Ă  lâaide de commande npx. Certains MCP peuvent se configurer avec la modification de ce fichier settings.json, alors que pour dâautres, ils nĂ©cessitent de les installer une seule fois sur votre poste, avec de ce que jâai vu pour la plupart du temps, des commandes npx.
  "GitLab": {  
    "command": "npx",  
    "args": \[  
      "mcp-remote",  
      "https://gitlab.com/api/v4/mcp",  
      "--static-oauth-client-metadata",  
      "{\\"scope\\": \\"mcp\\"}"  
    \]
  }  
Une fois configuré, il sera possible de récupérer des informations directement dans Gemini CLI à partir des ressources mises à disposition. Dans cet exemple, je veux récupérer les issues de mon projet. Gemini CLI les affiche de maniÚre brute en json mais termine par un affichage plus lisible.
Concernant ma demande sur les PR ouvertes, Gemini CLi me les (enfin la dans mon exemple) restitue
đ Les stats
A la fermeture de Gemini CLI, des statistiques de notre session sont restituĂ©es, notamment le nombre dâappels, le pourcentage de succĂšs et les tokens consommĂ©s. Ces donnĂ©es sont Ă  tout moment disponibles avec la commande /stats.
đ Un outil du quotidien ?
Clairement oui ! Bien que jâapprĂ©cie beaucoup GitLab Duo et leur plateforme agentique (https://dev.to/zenika/vibe-coding-with-gitlab-duo-agentic-power-in-action-1p47), lâutilisation de Gemini CLI est trĂšs apprĂ©ciable. Mon terminal Ghostty, que je dĂ©die Ă Gemini CLI, me permet de faire toute les activitĂ©s qui gravitent autour du dĂ©veloppement.
LâintĂ©gration des extensions et des MCP est un rĂ©el atout pour trouver une information rapidement. Bien sĂ»r, pour des actions plus consĂ©quentes sur GitHub, GitLab ou toute autre application configurable avec MCP, vous serez plus productifs·ves Ă aller sur lâapplication en question. Mais pour toute action rapide, lâutilisation des MCP est trĂšs intĂ©ressante et pertinente.
Voici quelques articles autour de la CLI et des MCP :
- Un code lab maintenu par Romin Iranin Developer Advocate chez Google https://medium.com/google-cloud/gemini-cli-hands-on-codelab-2f9e04d464e5
 - Une sĂ©rie dâastuces / tutoriels par Romin Iranin : https://medium.com/google-cloud/gemini-cli-tutorial-series-77da7d494718
 - https://medium.com/google-cloud/simplified-google-workspace-automation-with-gemini-cli-extensions-cbd86bcd7948
 - https://medium.com/google-cloud/a-developers-guide-to-building-gemini-cli-extensions-5f72dcff4d29