Lesson 31 — Scripts

Les scripts du projet 09 : lequel sert à quoi

6 min read

This content is not translated yet. Showing the original version.

Chaque script commence par un en-tête détaillé : ce qu'il fait, quand l'utiliser, ses prérequis, toutes ses options avec un exemple, ce qu'il crée ou supprime, le résultat attendu, les erreurs fréquentes. Cette page en donne la carte. Sans argument (ou avec --help pour les scripts Python à options), la plupart affichent leur mode d'emploi.

Avant tout : deux règles

  1. Lancer depuis le dossier du projet, Python du projet activé :
    cd ~/Desktop/09-agents-multi-projets-gemini-enterprise && source .venv/bin/activate
  2. Charger la configuration (pour tous les scripts qui touchent Google Cloud). Dans chaque nouveau terminal, et toujours avec source, jamais derrière un | :
    source scripts/config.sh config/12-1-agents-dans-projet-exp.env      # ou config/12-2-agents-dans-projet-app.env
    Les scripts lisent alors $PROJET_AGENTS, $REGION, $AGENTS_LISTE, $GE_SA…, sans rien retaper.

Légende du tableau :

  • 👁 = lecture seule, ne change rien ;
  • ♻ = se relance sans danger (ce qui existe est gardé) ;
  • ⚠ = crée ou supprime des ressources dans Google Cloud.

La carte des scripts

Configuration et vérifications

ScriptIl sert àExemple
config.shCharger le fichier de configuration dans le terminal : variables pour gcloud, les scripts et Terraform (TF_VAR_…, espace de travail), vérification des valeurs, résumésource scripts/config.sh config/12-1-agents-dans-projet-exp.env👁
verifier_droits.shVérifier vos droits sur le projet des agents, étape par étape (OK / MANQUANT + rôle à demander), rôles de groupe compris./scripts/verifier_droits.sh👁
verifier_api.shVérifier des API sur un projet et activer seulement celles qui manquent./scripts/verifier_api.sh $PROJET_AGENTS run.googleapis.com cloudbuild.googleapis.com♻

Déployer les agents (sans Terraform)

ScriptIl sert àExemple
deployer_shell.shMéthode shell sans rien taper : préparer (filtres, dépôt, compte de construction), déployer sur Cloud Run (image par Cloud Build), sur Agent Runtime, déclarer au registre, tester ; oauth (API Google des agents OAuth) ; carte (la fiche à coller dans Gemini Enterprise). Agents lus dans AGENTS./scripts/deployer_shell.sh cloudrun · … runtime taille⚠ ♻
deployer_agent_runtime.pyDéployer un agent sur Agent Runtime par l'API (ou en supprimer un)python scripts/deployer_agent_runtime.py --projet $PROJET_AGENTS --agent meteo_agent --nom meteo-shell --compte-service …⚠ ♻ (refuse un doublon)
carte_a2a.pyÉcrire la carte A2A d'un agent (à coller dans Gemini Enterprise), ou les variables d'environnement de son service Cloud Runpython3 scripts/carte_a2a.py meteo https://meteo-a2a-shell-NUM.europe-west1.run.app > carte-meteo.json👁

Tester

ScriptIl sert àExemple
test_trio.pyTests hors ligne des agents de agents/trio (outils, Model Armor, catalogue)python scripts/test_trio.py → tests trio OK (9 scénarios, 6 agents)👁
test_agents.pyTests hors ligne des agents du dossier terraform/ racine (stock, orchestrateur, appel entre agents)python scripts/test_agents.py👁
query.pyPoser une question à un agent Agent Runtime déployé (voir les outils appelés)AGENT_NAME=projects/…/reasoningEngines/ID python scripts/query.py - "question"👁
simuler_gemini_enterprise.shAppeler les agents comme le fera Gemini Enterprise, avant de toucher à l'app : preparer, droits, tout (bilan ACCEPTÉ / REFUSÉ), oauth (avec / --sans-jeton), retirer-droits ; ou un agent : a2a URL, runtime NOM (docs/12-1-5)./scripts/simuler_gemini_enterprise.sh tout⚠ (simulateur et ses droits seulement)

Les tests des agents déployés sur Cloud Run sont dans 01-bis-cloud-run-a2a/test.sh ; ceux d'Agent Runtime (Terraform) dans 02-bis-agent-runtime/test.sh ; Dialogflow : 04-bis-dialogflow/test.sh.

Agent Registry

ScriptIl sert àExemple
registry.pyExplorer le registre d'un projet (le vôtre ou celui d'une autre équipe) : agents, serveurs MCP, et comment les ajouterpython scripts/registry.py $PROJET_AGENTS europe-west1👁
autoriser_passerelle.shMode « Agents depuis Agent Registry » : donner (ou retirer) au compte de l'app le droit de passer la passerelle vers une entrée du registre./scripts/autoriser_passerelle.sh meteo-a2a-shell · … retirer⚠ ♻

Gemini Enterprise (l'app)

ScriptIl sert àExemple
connecter_app.shConnecter les agents déployés à l'app : apps (trouver APP_ID), verifier (lecture seule), droits (projet des agents), ajouter (dans l'app), lister, retirer ; liste + confirmation avant tout changement (docs/12-1-4)./scripts/connecter_app.sh verifier · … droits · … ajouter meteo👁 / ⚠ ♻
add_agent_to_ge.shAjouter à l'app un agent déjà déployé (Agent Runtime ou A2A), avec le droit nécessaire ; lister ; retirer./scripts/add_agent_to_ge.sh a2a carte-meteo.json "Météo (A2A)" · … list · … delete "Météo (A2A)"⚠ ♻ (pas de doublon)
register_agent.shAppelé par Terraform (PUBLIER=oui) pour ajouter / retirer un agent de l'app ; remplace sans doublon(automatique)⚠ ♻
autorisation_oauth.shCréer / renommer / lister / supprimer une autorisation OAuth dans l'app (agents qui agissent avec le compte de l'utilisateur) ; nom affiché dans l'encadré « Autoriser »./scripts/autorisation_oauth.sh create acces-gmail client_secret.json "…/gmail.readonly" "Gmail (lecture seule)" · … renommer acces-gmail "Gmail"⚠
personnaliser_agent.shSoigner un agent déjà dans l'app : nom, questions proposées, texte de saisie, langue, icône (valeurs du catalogue) ; avant/après, confirmation, retour arrièreGE_PROJECT=… GE_APP=… ./scripts/personnaliser_agent.sh "Nom actuel" courriels · … --annuler avant-<ID>.json⚠ (modifie seulement l'agent dans l'app, retour arrière possible)
fiche_ge.pyLa fiche d'un agent pour la console Gemini Enterprise (appelé par deployer_shell.sh carte)./scripts/deployer_shell.sh carte courriels👁

Créer, nettoyer

ScriptIl sert àExemple
nouvel_agent.pyCréer le squelette d'un nouvel agent (dossier, agent.py, entrée du catalogue)python scripts/nouvel_agent.py velo "Atelier vélo" "…"⚠ (fichiers locaux)
nettoyer.pyInventaire de ce que les guides ont créé dans le projet, puis suppression après confirmationpython scripts/nettoyer.py (inventaire) · --agent meteo · --supprimer👁 / ⚠

Utilisés par Terraform (rien à lancer)

ScriptIl sert à
pack.pyEmpaqueter le code d'un agent (son dossier + le code commun) pour Agent Runtime, toujours avec les mêmes octets : même code = rien à redéployer
register_agent.shVoir plus haut

Générer les documents (PDF, PowerPoint)

ScriptIl produit
build_pdf_tuto.pyGemini-Enterprise-Agents-Tutoriel-Pas-a-Pas.pdf (tutoriel pas à pas)
build_pdf.pyGemini-Enterprise-Agents-Guide-Equipes.pdf (guide pour les équipes, PM, RH)
pdf_style.pyLe style commun des deux PDF (polices, couleurs, tableaux) : n'est pas lancé seul
build_pptx.jsGemini-Enterprise-Agents-Guide-Equipes.pptx (présentation)

Commandes (depuis le dossier du projet) :

python3 scripts/build_pdf_tuto.py            # le python3 du SYSTÈME (reportlab), pas celui du .venv
python3 scripts/build_pdf.py
npm install --prefix ~/pptx-deps pptxgenjs react react-dom sharp react-icons     # une fois
NODE_PATH=~/pptx-deps/node_modules node scripts/build_pptx.js Gemini-Enterprise-Agents-Guide-Equipes.pptx

Les polices nécessaires, les chemins propres à ce poste et les erreurs fréquentes sont dans l'en-tête de chacun.

Quel script à quelle étape (méthode shell, docs/12-1-1)

 1. source scripts/config.sh config/…env                  configuration
 2. ./scripts/verifier_api.sh $PROJET_AGENTS …            API
 3. ./scripts/deployer_shell.sh preparer                  filtres, dépôt, compte de construction
 4. ./scripts/deployer_shell.sh cloudrun | runtime        déployer
 5. ./scripts/deployer_shell.sh registre                  catalogue
 6. ./scripts/deployer_shell.sh tester                    tester
 7. ./scripts/deployer_shell.sh carte [clé]               la fiche pour Gemini Enterprise (carte-<clé>.json, chemin…)
    (agents OAuth, docs/12-1-8 : « oauth » avant, CLIENT_ID=… devant « carte », personnaliser_agent.sh après l'ajout)
 8. ./scripts/simuler_gemini_enterprise.sh tout          simuler l'appel de l'app (docs/12-1-5)
 9. ./scripts/connecter_app.sh verifier | droits | ajouter  connecter à l'app (docs/12-1-4)
10. python scripts/nettoyer.py [--supprimer]              inventaire / nettoyage

Avec Terraform (docs/12-1-2), seuls config.sh et verifier_api.sh se lancent à la main. Terraform appelle pack.py et register_agent.sh tout seul.