859 Mises à jour automatiques en arrière-plan859 Mises à jour automatiques en arrière-plan
860</h4>860</h4>
861 861
862Par défaut, l'actualisation en arrière-plan désactive les assistants de credentials git lorsqu'elle vérifie le dépôt distant de la place de marché pour les nouveaux commits, donc la vérification ne peut pas s'authentifier auprès des dépôts privés sur HTTPS même lorsqu'un assistant est configuré. Les remotes SSH ne sont pas affectées : une clé chargée dans `ssh-agent` authentifie la vérification en arrière-plan de la même manière que les commandes que vous exécutez.862La vérification d'actualisation en arrière-plan vérifie le dépôt distant de la place de marché pour les nouveaux commits avec vos assistants de credentials git configurés, de la même manière que les commandes que vous exécutez. Pour les remotes SSH, une clé chargée dans `ssh-agent` authentifie la vérification. Claude Code exécute la vérification de manière non-interactive : il désactive les invites de terminal de git et les programmes askpass, et indique aux assistants de credentials de ne pas inviter. Le fait que la vérification puisse s'authentifier auprès d'un dépôt privé sur HTTPS dépend de votre assistant :
863 863
864Lorsque la vérification trouve de nouveaux commits, ou échoue parce qu'elle ne peut pas atteindre ou s'authentifier auprès du dépôt distant, Claude Code clone la place de marché à nouveau et échange le nouveau clone. Si ce clone échoue, le checkout existant reste en place. Le re-clone utilise vos credentials git stockés, mais il peut [expirer sur les grands dépôts](#git-operations-time-out), donc les mises à jour automatiques de places de marché privées peuvent échouer par intermittence.864* Un assistant qui peut fournir une credential stockée sans inviter authentifie la vérification. Git Credential Manager, l'assistant Keychain macOS et `git-credential-store` fonctionnent de cette manière une fois qu'ils détiennent une credential pour l'hôte.
865* Un assistant qui a besoin de vous inviter ne peut pas répondre en arrière-plan. La mise à jour échoue silencieusement et le checkout existant reste en place, donc vos plugins continuent de fonctionner à partir du dernier état synchronisé. Exécutez `/plugin marketplace update <name>` pour actualiser la place de marché avec vos credentials.
866
867Lorsque la vérification trouve le checkout à jour, Claude Code le laisse tel quel. Lorsque la vérification trouve de nouveaux commits, ou échoue parce qu'elle ne peut pas atteindre ou s'authentifier auprès du dépôt distant, Claude Code clone la place de marché à nouveau et échange le nouveau clone. Si ce clone échoue, le checkout existant reste en place. Le re-clone peut [expirer sur les grands dépôts](#git-operations-time-out).
865 868
866Deux paramètres rendent les places de marché privées prévisibles :869Deux paramètres rendent les places de marché privées prévisibles :
867 870
868* Définissez `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` pour conserver le checkout existant sans tenter le re-clone lorsque la vérification en arrière-plan ne peut pas atteindre ou s'authentifier auprès du dépôt distant. Vos plugins continuent de fonctionner à partir du dernier état synchronisé, et les mises à jour manuelles avec `/plugin marketplace update` s'authentifient toujours avec vos credentials.871* Définissez `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` pour conserver le checkout existant sans tenter le re-clone lorsque la vérification en arrière-plan ne peut pas atteindre ou s'authentifier auprès du dépôt distant. Vos plugins continuent de fonctionner à partir du dernier état synchronisé, et les mises à jour manuelles avec `/plugin marketplace update` s'authentifient toujours avec vos credentials.
869* Configurez un assistant de credentials git, par exemple avec `gh auth setup-git` pour GitHub, afin que le re-clone puisse s'authentifier sans inviter.872* Configurez un assistant de credentials git, par exemple avec `gh auth setup-git` pour GitHub, afin que la vérification en arrière-plan et le re-clone puissent s'authentifier sans inviter.
870 873
871Définir un jeton de fournisseur tel que `GITHUB_TOKEN` dans votre environnement n'active pas par lui-même l'authentification en arrière-plan. Les jetons ne prennent effet que via un assistant de credentials configuré, par exemple l'assistant de l'CLI `gh`, qui lit `GH_TOKEN` et `GITHUB_TOKEN`.874Définir un jeton de fournisseur tel que `GITHUB_TOKEN` dans votre environnement n'active pas par lui-même l'authentification en arrière-plan. Les jetons ne prennent effet que via un assistant de credentials configuré, par exemple l'assistant de l'CLI `gh`, qui lit `GH_TOKEN` et `GITHUB_TOKEN`.
872 875
873Pour que la vérification en arrière-plan elle-même s'authentifie sur HTTPS, configurez une réécriture d'URL git globale. La réécriture intègre un jeton dans l'URL distante, donc elle prend effet même si la vérification en arrière-plan désactive les assistants de credentials. Lorsque la vérification trouve le checkout à jour, Claude Code ignore le re-clone. L'exemple suivant réécrit l'URL du dépôt de la place de marché pour inclure un jeton d'accès :
874
875```bash theme={null}
876git config --global url."https://x-access-token:YOUR_TOKEN@github.com/acme-corp/plugins".insteadOf "https://github.com/acme-corp/plugins"
877```
878
879Limitez la réécriture au dépôt de la place de marché ou au chemin de l'organisation. Une réécriture dont la base est uniquement l'hôte s'applique à chaque fetch et push vers cet hôte sur la machine et remplace vos credentials normaux, y compris les pushes vers vos propres dépôts.
880
881Chaque fournisseur attend un nom d'utilisateur différent dans l'URL réécrite, et la même limitation de chemin s'applique à chaque fournisseur. Pour les serveurs auto-hébergés, remplacez le nom d'hôte par le nom d'hôte de votre serveur :
882
883| Fournisseur | Forme d'URL réécrite |
884| :---------- | :---------------------------------------------------------------- |
885| GitHub | `https://x-access-token:YOUR_TOKEN@github.com/acme-corp/plugins` |
886| GitLab | `https://oauth2:YOUR_TOKEN@gitlab.com/acme-corp/plugins` |
887| Bitbucket | `https://x-token-auth:YOUR_TOKEN@bitbucket.org/acme-corp/plugins` |
888
889La réécriture stocke le jeton en texte brut dans votre gitconfig, donc utilisez un jeton avec accès en lecture seule au dépôt de la place de marché.
890
891<Note>876<Note>
892 Dans les environnements CI/CD, configurez un assistant de credentials git avant d'installer des plugins à partir de dépôts privés. Sur GitHub Actions, exportez un jeton avec accès en lecture au dépôt de la place de marché en tant que `GH_TOKEN`, puis exécutez `gh auth setup-git`. Le jeton de workflow par défaut ne peut accéder qu'au dépôt du workflow lui-même, donc une place de marché privée dans un autre dépôt a besoin d'un jeton d'accès personnel ou d'un jeton d'application.877 Dans les environnements CI/CD, configurez un assistant de credentials git avant d'installer des plugins à partir de dépôts privés. Sur GitHub Actions, exportez un jeton avec accès en lecture au dépôt de la place de marché en tant que `GH_TOKEN`, puis exécutez `gh auth setup-git`. Le jeton de workflow par défaut ne peut accéder qu'au dépôt du workflow lui-même, donc une place de marché privée dans un autre dépôt a besoin d'un jeton d'accès personnel ou d'un jeton d'application.
893
894 Si vous configurez une réécriture d'URL globale dans le pipeline, la réécriture authentifie également la vérification en arrière-plan directement.
895</Note>878</Note>
896 879
897<h3 id="distribute-through-organization-settings">880<h3 id="distribute-through-organization-settings">
976Pour les options de configuration complètes, consultez [Paramètres des plugins](/docs/fr/settings-reference#plugin-settings).959Pour les options de configuration complètes, consultez [Paramètres des plugins](/docs/fr/settings-reference#plugin-settings).
977 960
978<Note>961<Note>
979 Si vous utilisez une source `directory` ou `file` locale avec un chemin relatif, le chemin se résout par rapport au checkout principal de votre dépôt. Lorsque vous exécutez Claude Code à partir d'une worktree git, le chemin pointe toujours vers le checkout principal, donc toutes les worktrees partagent le même emplacement de place de marché. L'état de la place de marché est stocké une fois par utilisateur dans `~/.claude/plugins/known_marketplaces.json`, pas par projet.962 Si vous utilisez une source `directory` ou `file` locale avec un chemin relatif, le chemin se résout par rapport au checkout principal de votre dépôt. Lorsque vous exécutez Claude Code à partir d'une git worktree, le chemin pointe toujours vers le checkout principal, donc toutes les worktrees partagent le même emplacement de place de marché. L'état de la place de marché est stocké une fois par utilisateur dans `~/.claude/plugins/known_marketplaces.json`, pas par projet.
980</Note>963</Note>
981 964
982<h3 id="pre-populate-plugins-for-containers">965<h3 id="pre-populate-plugins-for-containers">
1620 1603
1621Pour les mises à jour automatiques en arrière-plan :1604Pour les mises à jour automatiques en arrière-plan :
1622 1605
1623* Par défaut, les actualisations en arrière-plan désactivent les assistants de credentials git lorsqu'ils vérifient le serveur distant pour les nouveaux commits, de sorte que la vérification ne peut pas s'authentifier via HTTPS. Les dépôts SSH avec une clé chargée dans `ssh-agent` s'authentifient toujours1606* La vérification en arrière-plan utilise vos assistants de credentials git configurés mais ne demande jamais, donc votre assistant doit pouvoir répondre avec une credential stockée. Les dépôts SSH avec une clé chargée dans `ssh-agent` s'authentifient également
1624* Lorsque la vérification ne peut pas s'authentifier, Claude Code re-clone la place de marché avec vos credentials stockés, mais le re-clone peut expirer sur les grands dépôts1607* Si votre assistant a besoin de vous demander, la mise à jour en arrière-plan échoue silencieusement et le clone existant reste en place. Connectez-vous à votre assistant d'abord pour qu'il détienne une credential pour l'hôte. Pour GitHub, exécutez `gh auth login`, puis `gh auth setup-git`
1608* Lorsque la vérification trouve de nouveaux commits, ou ne peut pas atteindre ou s'authentifier auprès du serveur distant, Claude Code re-clone la place de marché avec les mêmes credentials. Le re-clone peut expirer sur les grands dépôts
1625* Définissez `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` pour conserver le clone existant sans tenter le re-clone lorsque la vérification en arrière-plan ne peut pas atteindre ou s'authentifier auprès du serveur distant1609* Définissez `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` pour conserver le clone existant sans tenter le re-clone lorsque la vérification en arrière-plan ne peut pas atteindre ou s'authentifier auprès du serveur distant
1626* Configurez un assistant de credentials git, par exemple `gh auth setup-git`, de sorte que le re-clone puisse s'authentifier
1627* Si le re-clonage expire sur un grand dépôt, augmentez la limite avec [`CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS`](#git-operations-time-out)1610* Si le re-clonage expire sur un grand dépôt, augmentez la limite avec [`CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS`](#git-operations-time-out)
1628* Configurez une [réécriture d'URL git](#private-repositories) limitée au dépôt de la place de marché de sorte que la vérification en arrière-plan s'authentifie directement
1629* Ou mettez à jour les places de marché privées manuellement avec `/plugin marketplace update <name>`, qui utilise vos credentials1611* Ou mettez à jour les places de marché privées manuellement avec `/plugin marketplace update <name>`, qui utilise vos credentials
1630 1612
1613Avant v2.1.280, la vérification en arrière-plan s'exécutait sans vos assistants de credentials et ne pouvait pas s'authentifier auprès des dépôts privés via HTTPS.
1614
1631<h3 id="marketplace-updates-fail-in-offline-environments">1615<h3 id="marketplace-updates-fail-in-offline-environments">
1632 Les mises à jour de la place de marché échouent dans les environnements hors ligne1616 Les mises à jour de la place de marché échouent dans les environnements hors ligne
1633</h3>1617</h3>