Aller au contenu
Formation Claude

Tapez au moins deux lettres.

Commencer

Claude Code en équipe, en CI et dans le cloud

Passer d’un usage individuel à un usage d’équipe : configuration partagée, mode non interactif, intégration continue, agents en arrière-plan, et gouvernance.

9 min de lecturePartie 5 — Claude CodeTechnique

À la fin de ce chapitre, vous saurez

  • Partager une configuration sans imposer ses préférences personnelles
  • Utiliser le mode non interactif dans un script ou une chaîne d’intégration
  • Faire tourner Claude Code en intégration continue sans danger
  • Mettre en place une gouvernance qui ne bloque pas le travail
Dans ce chapitre
  1. Ce qui se partage, ce qui ne se partage pas
  2. Déployer progressivement
  3. Le mode non interactif
  4. En intégration continue
  5. Les agents en arrière-plan et le cloud
  6. Gouvernance
  7. Ce qu’il faut retenir

Tout ce qui précède décrivait un usage individuel. Ce chapitre traite du passage à l’équipe : ce qui se partage, ce qui reste personnel, et ce qu’on peut faire tourner sans personne devant l’écran.

Ce qui se partage, ce qui ne se partage pas

La règle est simple et elle évite les frictions.

ContenuOùVersionné
Conventions du projet, pièges, commandesCLAUDE.mdOui
Règles par domaine.claude/rules/Oui
Permissions et hooks de l’équipe.claude/settings.jsonOui
Commandes, sous-agents, compétences du projet.claude/commands/, agents/, skills/Oui
Serveurs MCP du projet.mcp.jsonOui
Vos préférences personnelles~/.claude/CLAUDE.md, ~/.claude/settings.jsonNon
Vos réglages sur ce projet.claude/settings.local.json, CLAUDE.local.mdNon, à ignorer dans git

Le .gitignore qui va avec :

text
.claude/settings.local.json
CLAUDE.local.md

Déployer progressivement

L’erreur classique est de préparer une configuration complète et de la livrer d’un coup. Personne ne l’adopte, parce que personne ne comprend d’où viennent les comportements.

L’ordre qui fonctionne, à raison d’une étape par semaine environ :

1. Le CLAUDE.md. /init, puis une demi-heure de rédaction sur ce que Claude ne pouvait pas deviner. Rien d’autre.

2. La commande de vérification unique. npm run verify ou son équivalent, inscrite dans le CLAUDE.md. C’est ce qui referme la boucle.

3. Les garde-fous. Trois règles deny sur ce qui ne doit jamais arriver. Pas quinze.

4. Une commande partagée. Celle que tout le monde retape.

5. Le reste. Sous-agents, hooks, plugin — quand le besoin est exprimé, pas avant.

Le mode non interactif

claude -p exécute une demande et écrit le résultat sur la sortie standard. C’est ce qui rend Claude Code scriptable.

bash
# Analyse simple
claude -p "Liste les endpoints HTTP exposés par ce projet, en CSV : méthode;chemin;fichier"

# Sortie structurée, exploitable par un script
claude -p "..." --output-format json | jq -r '.result'

# Permissions verrouillées pour l'exécution automatique
claude -p "..." \
  --allowedTools "Read,Grep,Glob" \
  --output-format json

Trois règles pour un usage sain.

Restreindre les outils explicitement. En non interactif, personne ne peut refuser une action. --allowedTools est votre seul garde-fou immédiat, en plus des fichiers de réglages.

Préférer la lecture. Un script qui analyse et rapporte est utile immédiatement et sans risque. Un script qui modifie demande une confiance qui se construit.

Traiter la sortie comme une donnée à valider. Le format JSON facilite l’analyse ; il ne garantit pas que le contenu soit juste. Le chapitre 4 s’applique intégralement.

En intégration continue

Le bon premier usage : une analyse qui commente, sans rien modifier.

yaml
name: Revue assistée

on:
  pull_request:
    types: [opened, synchronize]

jobs:
  revue:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Installer Claude Code
        run: npm install -g @anthropic-ai/claude-code

      - name: Analyser le diff
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          git diff origin/${{ github.base_ref }}...HEAD > /tmp/diff.patch
          claude -p "$(cat <<'EOF'
          Voici le diff d'une pull request. Analyse-le et produis un
          commentaire de revue en Markdown.

          Signale tout ce que tu trouves, y compris ce dont tu n'es pas
          sûr. Pour chaque point : fichier, ligne, ce qui cloche, un
          scénario concret où ça casse, et ton niveau de confiance.

          Termine par « Rien de bloquant » si c'est le cas. Ne remplis
          pas le commentaire pour donner l'impression d'avoir travaillé.
          EOF
          )" \
            --allowedTools "Read,Grep,Glob" \
            --output-format text > /tmp/revue.md

      - name: Publier le commentaire
        env:
          GH_TOKEN: ${{ github.token }}
        run: gh pr comment ${{ github.event.number }} --body-file /tmp/revue.md

Quatre points de sécurité dans ce fichier, et ils sont tous délibérés.

Les permissions du job sont minimales : lecture du dépôt, écriture des commentaires. Pas d’écriture de contenu.

Les outils sont restreints à la lecture.

Aucun secret de production n’est exposé : seule la clé d’API est présente.

La dernière consigne de l’invite évite le commentaire de complaisance qui rendrait la revue automatique inutile en trois semaines.

Les agents en arrière-plan et le cloud

Au-delà des exécutions ponctuelles, plusieurs sessions peuvent tourner en parallèle et être suivies depuis un seul endroit, y compris sur une infrastructure distante plutôt que sur votre machine.

Trois conséquences pratiques.

Votre machine n’est plus le goulot. Une migration longue tourne ailleurs pendant que vous travaillez.

L’isolation devient naturelle. Une session distante n’a pas accès à vos clés SSH, à vos autres dépôts ni à votre disque.

La supervision devient un vrai sujet. Cinq sessions autonomes demandent une méthode : le chapitre 21 l’a donnée — journal des décisions, points d’arrêt, critère de réussite annoncé. Elle s’applique identiquement ici.

Gouvernance

Pour une organisation qui déploie à grande échelle, quelques mécanismes existent au-delà des fichiers de projet.

Les réglages gérés. Déployés par l’informatique, non contournables par l’utilisateur. C’est là que vivent les interdictions non négociables : chemins de secrets, commandes réseau, fournisseur d’API imposé.

Un CLAUDE.md d’organisation. Déployé au niveau machine, chargé avant tous les autres. Pour les règles de conduite : rappels sur les données, standards de qualité.

La distinction à garder en tête. Les réglages gérés appliquent ; le CLAUDE.md d’organisation oriente. Ce qui doit être empêché va dans les réglages.

La télémétrie et les journaux. Configurables pour suivre l’usage et alimenter la revue de sécurité.

Déployer sur une équipe de quinze personnes

Semaine 1 — un seul dépôt, trois volontaires

/init, puis rédaction du CLAUDE.md. Mise en place de npm run verify. Rien d’autre. Les trois volontaires utilisent l’outil normalement et notent ce qui les gêne.

Semaine 2 — les garde-fous, écrits à partir des retours

Les retours ont montré deux choses : quelqu’un a failli laisser modifier une migration, et tout le monde retape la même demande de revue de branche.

json
{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Edit(./migrations/**)",
      "Bash(psql *)"
    ],
    "ask": ["Bash(git push *)"]
  }
}

Plus une commande .claude/commands/revue.md.

Semaine 3 — l’intégration continue, en lecture seule

Le commentaire de revue automatique sur les pull requests. Personne n’est obligé d’en tenir compte, et c’est volontaire : on mesure d’abord si c’est utile.

Semaine 4 — l’extension

Deux autres équipes reprennent la configuration. Ce qui est commun remonte dans un plugin d’organisation ; ce qui est spécifique reste dans chaque dépôt.

Le point de gouvernance

En parallèle, l’équipe sécurité reçoit une note d’une page : ce qui est interdit par les réglages gérés, ce qui est journalisé, et ce qui reste sous la responsabilité du développeur. La discussion prend vingt minutes au lieu de trois réunions.

Ce qui a fait que ça marche

Aucune étape n’a été sautée, et chaque ajout répondait à un problème constaté — pas à un problème imaginé.

Ce qu’il faut retenir

Vérifier que c’est passé

3 questions. Rien n’est enregistré, rien n’est envoyé : c’est pour vous.

Question 1

Quel fichier partage une configuration avec toute l’équipe ?

Voir la réponse

A — .claude/settings.json, versionné dans le dépôt

Le fichier de projet est versionné, donc partagé. Le fichier utilisateur vaut pour tous vos projets mais pour vous seul, et le fichier local est ignoré par git. Une préférence personnelle placée dans le fichier de projet s’impose à toute l’équipe.

Question 2

Quelle précaution est indispensable avant de faire tourner Claude Code en intégration continue ?

Voir la réponse

A — Restreindre les permissions et n’exposer aucun secret de production à la session

Une session non interactive n’a personne pour refuser une action. Les permissions doivent être verrouillées par la configuration, et l’environnement ne doit contenir que ce qui est nécessaire à la tâche.

Question 3

Quel est le meilleur premier usage de Claude Code en intégration continue ?

Voir la réponse

A — Produire une analyse en commentaire de pull request, sans rien modifier

Un usage en lecture seule qui produit un commentaire est immédiatement utile et sans risque. Les usages qui modifient du code demandent une confiance qui se construit, et devraient toujours passer par une pull request revue.

Le premier usage partagé

Écrivez le .claude/settings.json de votre équipe avec trois règles deny sur ce qui ne doit jamais arriver, et une commande personnalisée dans .claude/commands/ correspondant à la demande que tout le monde retape. Versionnez, faites lancer /status à chacun, et récoltez les retours au bout d’une semaine. Ne déployez rien d’autre avant.

Un indice, si vous bloquez

La bonne première commande est celle dont trois personnes vous ont déjà dit « ah, tu fais ça comment toi ? ».