Passer au contenu principal
Retour d’expérience

Mon atelier Claude Code de l’idée à la publication

Je développe des outils Google Workspace en Apps Script : automatisations, applications web, outils d’administration, dont certains agissent sur de vrais comptes. Voici comment je fais travailler Claude Code dessus : avec mes règles, des contrôles qu’il ne peut pas contourner, et huit agents qui se relaient sous ma validation.

Pourquoi un cadre

Une IA qui écrit du code vite écrit aussi ses erreurs vite. Quand un outil modifie des données, envoie des courriels ou touche à des comptes, une erreur ne se rattrape pas toujours.

Des erreurs qui coûtent cher

Certains de mes outils mettent à jour des fiches utilisateurs, révoquent des accès, envoient des courriels. J’ai géré des parcs jusqu’à 8 000 comptes : à cette échelle, une mauvaise colonne touche des milliers de personnes.

Une mémoire qui s’efface

D’une session à l’autre, l’IA oublie ce que j’ai appris à mes dépens. Le plafond de 6 minutes d’Apps Script, les dates que Sheets rend sous une autre forme, la constante déclarée deux fois qui rend tout le projet introuvable : chaque piège revient si on ne l’écrit pas.

Une décision qui reste humaine

Je veux que l’IA propose, vérifie et documente, mais que rien d’irréversible ne parte sans mon accord explicite : ni envoi, ni déploiement, ni publication du code.

Comment c’est construit : trois couches

L’ensemble tient dans un dépôt que j’appelle l’atelier, branché sur Claude Code sous forme de plugin.

01

Les règles

Un fichier de règles, chargé au début de chaque session. Chacune a été payée au moins une fois : écrire les dates en yyyy-MM-dd, rendre toute tâche longue reprenable, faire chaque opération irréversible en deux temps (le plan, puis l’application), demander les portées OAuth les plus étroites et dire ce que chacune permet.

02

Les contrôles

Un vérificateur passe le projet au crible avant chaque envoi vers Google : syntaxe, constantes en double, cibles des menus, types, version affichée, motifs interdits, secrets en clair, banc d’essai. Il est appelé par un hook de Claude Code, par un hook Git et par l’intégration continue : un projet refusé ne part pas.

03

La chaîne

Huit agents spécialisés, lancés par une seule commande, /chaine. Chacun écrit sa note dans un dossier de chantier et l’agent suivant part de là. Entre deux étapes, rien n’avance sans ma validation.

La chaîne, étape par étape

Entre chaque étape, une porte : je vois ce qui a été produit et je valide, je corrige ou j’arrête. Le losange orange marque ces portes.

NE PAS CONSTRUIRE → alternative 1 · idée Opus 2 · cadrage Opus 3 · conception Opus 4 · développement Sonnet 5 · essais Opus · agent neuf 6 · relecture Opus · agent neuf 7 · documentation Opus · agent neuf 8 · publication Sonnet · 2 temps constat d’interface, puis essais à nouveau REFUSÉ · 3 tours au plus constat bloquant, puis essais et relecture
porte : je valide avant l’étape suivante retour vers le développement
  1. Étape 1 Opus

    Idée

    Faut-il construire ? L’agent cherche ce que Google, les outils publiés et mes propres projets font déjà, compare les formes possibles et nomme ce qui pourrait tout faire échouer. Il peut conclure qu’il ne faut rien écrire.

  2. Étape 2 Opus

    Cadrage

    Pour qui, quel problème, quelles données et quel volume, quelles limites Google. Il pose les critères d’acceptation que les essais vérifieront.

  3. Étape 3 Opus

    Conception

    Fichiers, onglets et colonnes, reprise après 6 minutes, plan puis application, portées OAuth. Il réutilise mon socle commun plutôt que de le réinventer.

  4. Étape 4 Sonnet

    Développement

    Il écrit le code et ses cas de test, puis corrige ce que les étapes suivantes lui renvoient. Il ne publie rien.

  5. Étape 5 Opus

    Essais

    Un agent neuf, qui n’a pas écrit le code, éprouve l’outil hors de Google sur des données de la forme exacte que rendent les API. Trois allers-retours au plus avec le développement.

  6. Étape 6 Opus

    Relecture

    Il cherche ce que le code permet en trop : identité d’exécution, injection dans les pages HTML, portées trop larges, secrets.

  7. Étape 7 Opus

    Documentation

    Il découvre l’outil comme un nouveau venu et écrit le guide. Il vérifie que chaque menu et chaque message cité existe mot pour mot.

  8. Étape 8 Sonnet

    Publication

    D’abord un plan : commits, journal, numéro de version, ce qui sortira de la machine. Ensuite seulement, sur mon accord, il publie.

Les essais, la relecture et la documentation sont confiés à des agents qui n’ont pas vu le raisonnement du développeur. Celui qui a écrit le code partage ses angles morts : il teste ce qu’il a voulu faire, et documente ce qu’il sait déjà.

Un cas réel

Une séance de travail sur un outil qui met à jour en masse l’annuaire Google Workspace à partir d’un classeur Sheets.

Un correctif qui réveillait du code dormant

Une correction rendait enfin visibles des colonnes avancées qui n’avaient jamais été exportées. Le code qui les traite n’avait donc jamais servi. Avant tout usage réel, Claude l’a rejoué de bout en bout hors de Google : lecture, calcul des différences, corps de la requête envoyée à l’annuaire.

Un vérificateur qui disait non

Le projet était refusé : pas de numéro de version, banc d’essai mal placé, seize signalements de types. Chacun a été examiné ; les faux positifs ont été figés en le disant, le reste corrigé. Une correction s’accompagne toujours du test qui l’aurait attrapée, et l’on vérifie que ce test échoue si l’on réintroduit le défaut.

Ce que l’IA a laissé à ma décision

La licence du projet n’était pas celle de mes autres outils, par accident. Claude ne l’a pas changée de lui-même : il m’a exposé ce que chaque licence permet et ce que le changement ne pouvait pas effacer, puis a attendu mon choix.

Ce que ça ne fait pas

Pourquoi Claude Code

Ce cadre repose sur des fonctions que Claude Code fournit telles quelles. Je n’ai rien eu à contourner.

Des agents spécialisés

Chaque agent a son rôle, ses outils autorisés et son propre modèle : Opus pour juger, Sonnet pour exécuter.

Des hooks

Un contrôle se déclenche avant chaque envoi vers Google et après chaque fichier modifié. Il bloque, il ne se contente pas de prévenir.

Des skills et des plugins

La chaîne, la vérification et la publication s’installent en un plugin, et se lancent par une commande.

Des serveurs MCP

Claude consulte la documentation Google Workspace à jour plutôt que de citer un quota de mémoire.

Construire le vôtre

Mon atelier reste privé : il est taillé pour mes conventions. Tout ce qu’il utilise est en revanche documenté par Anthropic, et un premier cadre tient en quelques fichiers. Voici par où commencer, dans l’ordre où je l’ai construit.

  1. 1. Écrire ses règles

    Un fichier CLAUDE.md à la racine du projet, ou dans ~/.claude pour tous les projets. Claude le lit au début de chaque session. N’y mettez que ce qui vous a déjà coûté une fois : une règle par erreur payée.

    CLAUDE.md
    # Règles de mes projets Apps Script
    - Jamais de clasp push direct : d'abord la vérification.
    - Toute date lue dans Sheets passe par normaliserDate_().
    - Toute correction s'accompagne du test qui l'aurait attrapée.
  2. 2. Un agent par rôle

    Un fichier Markdown dans .claude/agents/. L’en-tête fixe son nom, quand l’employer, son modèle et les outils qui lui sont interdits ; le corps dit son travail. Ici, l’agent d’essais ne peut pas modifier le code : il ne peut que constater.

    .claude/agents/essais.md
    ---
    name: essais
    description: Éprouve l'outil contre ses critères d'acceptation, sans avoir écrit le code.
    model: opus
    disallowedTools: Edit
    ---
    Tu n'as pas écrit ce code. Lance le banc d'essai, confronte chaque
    critère au résultat, et rends ACCEPTÉ ou REFUSÉ avec les défauts.
  3. 3. Un contrôle qui bloque

    Un hook lance votre script avant chaque commande. Le script reçoit la commande, et s’il sort avec le code 2, Claude Code la refuse et montre le message à Claude, qui doit corriger. C’est la différence entre une consigne et une garde.

    .claude/settings.json
    {
      "hooks": {
        "PreToolUse": [{
          "matcher": "Bash",
          "hooks": [{ "type": "command", "command": "node .claude/garde.js" }]
        }]
      }
    }
    
    // .claude/garde.js : le code de sortie 2 refuse la commande
    const { tool_input } = JSON.parse(require('fs').readFileSync(0, 'utf8'));
    if (/clasp (push|deploy)/.test(tool_input.command ?? '')) {
      console.error('Envoi bloqué : lancez d’abord la vérification.');
      process.exit(2);
    }
  4. 4. La chaîne en une commande

    Une skill dans .claude/skills/chaine/ : Claude la lance quand vous tapez /chaine. C’est elle qui enchaîne les agents et tient les portes, car les agents ne peuvent pas vous parler directement.

    .claude/skills/chaine/SKILL.md
    ---
    name: chaine
    description: Mène un outil de l'idée à la publication, agent par agent.
    ---
    Lance les agents dans l'ordre : idee, cadrage, conception,
    developpement, essais, relecture, documentation, publication.
    Après chacun, montre-moi son verdict et attends mon accord.
    Si les essais refusent, renvoie les défauts au développement.
  5. 5. Tout regrouper

    Quand le cadre fonctionne, un plugin le rend réutilisable : les mêmes agents, skills et hooks dans chaque nouveau projet, ou pour toute une équipe, sans recopier de fichiers.

    plugin
    mon-atelier/
    ├── .claude-plugin/plugin.json
    ├── agents/        essais.md, relecture.md…
    ├── skills/        chaine/SKILL.md
    └── hooks/         hooks.json

Commencez petit : des règles et un hook suffisent à éviter les erreurs que vous connaissez déjà. Les agents et la chaîne viennent quand un projet le justifie. Les noms et les champs exacts sont décrits dans la documentation de Claude Code.

Essayer Claude

Si vous voulez tester ce type de méthode, je peux vous offrir un pass invité : une semaine pour découvrir Claude et Claude Code avec les modèles des abonnés payants. Réservé aux nouveaux abonnés.

Chaque pass ne sert qu’une fois. S’il a déjà été utilisé, demandez-en un nouveau via le formulaire de contact : je vous l’envoie en privé.

Transparence : le bouton « Utiliser mon pass invité » est un lien de parrainage. Si vous vous abonnez par ce biais, je peux recevoir une contrepartie (crédit d’utilisation), sans aucun surcoût pour vous. Les conditions sont fixées par Anthropic et peuvent changer. Cette page reste mon avis d’utilisateur : Anthropic ne l’a ni commandée ni relue.

Vous voulez mettre en place un cadre de ce genre pour vos propres outils Google Workspace ? Parlons-en.

Me contacter

Questions fréquentes

Faut-il savoir programmer pour travailler ainsi ?

Pour lancer la chaîne, non. Pour valider honnêtement chaque porte, il faut savoir lire ce qu’on valide : un cadrage, une liste de portées OAuth, un plan de publication. Plus le projet est sensible, plus cette lecture compte.

Claude voit-il mes données ?

Non dans ce fonctionnement : Claude travaille sur le code, sur ma machine, et le teste avec des données fictives de la même forme que celles de Google. Ni l’annuaire, ni les classeurs, ni les courriels ne lui sont transmis. L’outil s’exécute ensuite dans Google, sous l’identité de la personne qui le lance.

Pourquoi Claude Code plutôt que l’application claude.ai ?

Claude Code travaille directement dans les fichiers du projet, lance les contrôles et les tests, et accepte des hooks et des agents. L’application claude.ai convient très bien pour réfléchir, rédiger ou relire un script ; pour un cadre outillé comme celui-ci, il faut Claude Code.

Puis-je récupérer votre atelier ?

Non : il est lié à mes conventions et à mon outillage, et reste privé. La section « Construire le vôtre » montre comment en monter un ; si vous voulez être accompagné pour vos propres projets Google Workspace, contactez-moi.

Combien cela coûte-t-il ?

Claude Code demande un abonnement payant. Les offres et leurs limites d’utilisation changent régulièrement : référez-vous à la page des tarifs d’Anthropic plutôt qu’à un chiffre cité ici.

FF

Fabrice Faucheux

Expert Google Workspace & Apps Script, Bretagne

Développeur freelance spécialisé dans l'optimisation des flux de travail professionnels, le développement d'add-ons sur-mesure (Google Sheets, Docs, Gmail) et l'intégration de modèles IA (Gemini).