> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration système

> Verrouillez les paramètres de connexion et de proxy de Devin CLI sur les appareils gérés à l’aide d’une politique system.json distribuée par MDM

<div id="overview">
  ## Vue d’ensemble
</div>

`system.json` est un fichier de politique facultatif, applicable à l’ensemble de la machine, que les administrateurs déploient sur les appareils gérés (généralement via une solution MDM). Il est stocké dans un répertoire système auquel seul un administrateur peut écrire. Ainsi, contrairement à la configuration utilisateur située dans `~/.config/devin/config.json`, les paramètres qu’il contient ne peuvent pas être modifiés ni supprimés par l’utilisateur.

Utilisez-le pour :

* **Verrouiller l’authentification** sur votre hôte Devin Enterprise et/ou votre compte, afin que `devin auth login` ignore le menu de sélection de la méthode de connexion et refuse tout compte extérieur à votre organisation.
* **Imposer un proxy HTTP sortant** pour la CLI et son programme de mise à jour. Le paramètre Enterprise prévaut sur la configuration utilisateur. Un utilisateur ayant également une section `proxy` dans sa propre configuration doit la supprimer avant de pouvoir démarrer la CLI — consultez [proxy](#proxy) avant de déployer cette configuration.

Le fichier est facultatif et cumulatif : lorsqu’il est absent, Devin CLI se comporte exactement comme sur un appareil non géré.

<div id="file-location">
  ## Emplacement du fichier
</div>

| Plateforme | Chemin                                           |
| ---------- | ------------------------------------------------ |
| macOS      | `/Library/Application Support/Devin/system.json` |
| Linux      | `/etc/devin/system.json`                         |
| Windows    | `C:\ProgramData\Devin\system.json`               |

<Note>
  Il s'agit des mêmes répertoires à l'échelle de la machine, accessibles en écriture par les administrateurs, que Devin Desktop utilise pour les [règles](/fr/desktop/cascade/memories) et les [hooks](/fr/desktop/cascade/hooks) au niveau du système. Déployez le fichier en le faisant appartenir à root/Administrator et en accordant aux utilisateurs standard des autorisations en lecture seule : la CLI le lit partout où elle le trouve, donc un emplacement accessible en écriture aux utilisateurs compromet l'objectif de la politique.
</Note>

<div id="example">
  ## Exemple
</div>

```json theme={null}
// /Library/Application Support/Devin/system.json
{
  "enterprise_host": "acme.devinenterprise.com",
  "account_id": "acct-acme",
  "proxy": {
    "mode": "manual",
    "url": "http://proxy.corp.example.com:8080",
    "no_proxy": "localhost,127.0.0.1,.internal.corp"
  }
}
```

<Warning>
  `system.json` est analysé en tant que JSON strict : les commentaires et les virgules finales ne sont **pas** pris en charge ici, contrairement au fichier `config.json` de l’utilisateur, qui utilise du JSON avec commentaires. Le commentaire ci-dessus est affiché uniquement pour indiquer le chemin du fichier.
</Warning>

<div id="options-reference">
  ## Référence des options
</div>

| Option            | Type   | Par défaut | Description                                                                                                                                          |
| ----------------- | ------ | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `enterprise_host` | chaîne | non défini | Hôte Devin Enterprise auquel les utilisateurs doivent s’authentifier, par ex. `"acme.devinenterprise.com"`. Accepte un hôte seul ou une URL complète |
| `account_id`      | chaîne | non défini | Identifiant du compte Devin auquel doit appartenir le compte authentifié                                                                             |
| `proxy`           | objet  | non défini | Paramètres du proxy HTTP sortant pour l’interface CLI et le programme de mise à jour (`mode`, `url`, `no_proxy`)                                     |

Chaque champ est indépendant : définissez uniquement ceux dont vous avez besoin. Les champs inconnus sont ignorés ; ainsi, une politique écrite pour une version plus récente de l’interface CLI applique toujours les paramètres qu’elle connaît à une version antérieure.

<div id="enterprise_host">
  ### enterprise\_host
</div>

Lorsqu’il est défini, `devin auth login` :

1. Ignore le menu des méthodes de connexion et l’invite de saisie du sous-domaine, puis effectue l’authentification directement auprès de l’hôte configuré.
2. Rejette toute connexion lorsque le compte associé appartient à un autre hôte (ou à aucune entreprise Devin) et affiche un message indiquant à l’utilisateur l’hôte approprié.
3. Refuse entièrement l’ancien parcours de [connexion à Windsurf](/fr/cli/enterprise/windsurf-auth).

La valeur est comparée sans tenir compte de la casse et du schéma. Ainsi, `acme.devinenterprise.com`, `ACME.DevinEnterprise.com` et `https://acme.devinenterprise.com/` sont équivalents. Un schéma `http://` explicite est conservé lors de la connexion (utile uniquement pour les tests) ; sinon, `https://` est utilisé par défaut.

<div id="account_id">
  ### account\_id
</div>

Lorsqu’il est défini, le compte authentifié doit correspondre à cet identifiant de compte, même si l’hôte correspond déjà. Utilisez-le pour épingler un tenant spécifique sur un hôte partagé. Toute connexion associée à un autre compte, ou à aucun compte, est refusée après vérification du compte.

Contactez l’équipe en charge de votre compte Cognition si vous ne savez pas quel identifiant de compte utiliser. La définition de `account_id` bloque également le parcours de connexion ancien Windsurf, car un compte Windsurf ne peut pas respecter une politique de compte Devin.

<div id="proxy">
  ### proxy
</div>

Configure la manière dont la CLI achemine son propre trafic HTTP/HTTPS sortant (appels d’API, mises à jour, serveurs MCP). Cette configuration reprend la même structure que la section `proxy` du [fichier de configuration utilisateur](/fr/cli/reference/configuration/config-file#proxy) :

| Option     | Type        | Par défaut | Description                                                                                                                                                   |
| ---------- | ----------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `mode`     | chaîne      | `"system"` | `"system"` (respecte `HTTP_PROXY`/`HTTPS_PROXY`/`ALL_PROXY` et le PAC de la plateforme), `"manual"` (achemine via `url`) ou `"off"` (se connecte directement) |
| `url`      | chaîne/null | `null`     | URL du proxy. Obligatoire lorsque `mode` est défini sur `"manual"`. Prend en charge `http://`, `https://` et `socks5://`                                      |
| `no_proxy` | chaîne/null | `null`     | Liste d’exclusion séparée par des virgules, utilisant la même syntaxe que la variable d’environnement `NO_PROXY`. S’applique dans tous les modes              |

Le binaire `devin-updater` lit le même paramètre. Les mises à jour en arrière-plan passent donc par le même proxy que la CLI.

<Warning>
  Le proxy Enterprise prévaut sur la configuration utilisateur, et il est impossible de configurer un proxy dans les deux fichiers. Si un utilisateur possède également une section `proxy` dans son `config.json`, la CLI s’arrête au démarrage et lui demande de la supprimer, plutôt que d’ignorer silencieusement ce paramètre. Demandez à vos utilisateurs de supprimer toute section locale `proxy` avant de déployer la politique.
</Warning>

<div id="behavior-and-failure-modes">
  ## Comportement et modes de défaillance
</div>

Un fichier de politique corrompu ou partiellement interprété ne désactive jamais la CLI : aucune règle n’est appliquée. En revanche, une politique valide est toujours appliquée :

| Situation                                   | Résultat                                                                                               |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| Fichier absent                              | Aucune règle n’est appliquée ; la CLI se comporte comme sur un appareil non géré                       |
| Fichier illisible ou JSON mal formé         | Traité comme absent, avec un avertissement dans les logs                                               |
| Présence de champs inconnus                 | Ignorés ; les champs reconnus continuent de s’appliquer                                                |
| Section `proxy` mal formée                  | La section `proxy` est ignorée ; les règles `enterprise_host` / `account_id` continuent de s’appliquer |
| `enterprise_host` / `account_id` mal formés | Les règles de connexion ne sont pas appliquées ; une section `proxy` valide continue de s’appliquer    |
| Valeur vide ou ne contenant que des espaces | Traitée comme non définie                                                                              |

Les règles de connexion sont appliquées lors de l’exécution de `devin auth login`. Les identifiants déjà stockés sur un appareil qui s’est connecté avant le déploiement de la politique ne sont pas revalidés. Déployez donc `system.json` avant de déployer la CLI, ou demandez aux utilisateurs concernés d’exécuter `devin auth logout` puis de se reconnecter.

Le chemin vers `system.json` ne peut pas être redirigé par une variable d’environnement dans les builds stable, next ou Enterprise. Les utilisateurs ne peuvent donc pas configurer la CLI pour qu’elle utilise leur propre politique.

<div id="verifying-the-policy">
  ## Vérifier la politique
</div>

Sur un appareil géré :

```bash theme={null}
devin auth logout
devin auth login
```

Avec `enterprise_host` défini, le menu des méthodes de connexion ne doit pas s’afficher et l’URL de connexion affichée doit utiliser l’hôte que vous avez configuré. Vérifiez ensuite la session obtenue :

```bash theme={null}
devin auth status
```

Une tentative de connexion avec un compte non conforme à la politique échoue et affiche un message explicite indiquant l’hôte ou le compte exigé par votre organisation.

<div id="related-settings">
  ## Paramètres associés
</div>

`system.json` définit les politiques au niveau de l’appareil qui doivent être en place avant ou pendant la connexion. La plupart des autres contrôles à l’échelle de l’organisation — modèles, serveurs MCP et registres, autorisations du terminal, application du sandbox, Web Search — sont gérés côté serveur dans les [Team Settings](/fr/cli/enterprise/team-settings) et s’appliquent automatiquement dès qu’un utilisateur se connecte.

<div id="further-reading">
  ## Pour aller plus loin
</div>

* [Devin Auth](/fr/cli/enterprise/devin-auth)
* [Team Settings](/fr/cli/enterprise/team-settings)
* [Fichier de configuration](/fr/cli/reference/configuration/config-file)
* [Controls](/fr/cli/enterprise/controls)

- [Politiques Enterprise de Devin Desktop](/fr/desktop/enterprise-policies) — l’interface de politiques équivalente distribuée via MDM pour l’éditeur
