
# Configuration de l'éditeur

Branchez votre éditeur sur le [schéma JSON](/fr/docs/json-schema) et un fichier de configuration gagne l'autocomplétion, la documentation au survol et les erreurs soulignées au fil de la frappe — les mêmes vérifications que `sovrium validate`, sans l'aller-retour vers un terminal.

## VS Code

VS Code gère nativement JSON Schema pour `.json`. Pour `.yaml` et `.yml`, il lui faut l'extension **YAML** (`redhat.vscode-yaml`).

### Option 1 : déclarer le schéma dans le fichier

L'option la plus portable — l'association voyage avec la configuration : un collègue qui clone le dépôt en bénéficie sans modifier aucun réglage.

```yaml
# yaml-language-server: $schema=https://sovrium.com/schema/app.json
name: my-app
```

Faites-la pointer vers un fichier généré localement pour travailler hors ligne, ou pour épingler la version exacte que vous déployez :

```yaml
# yaml-language-server: $schema=./app.schema.json
name: my-app
```

Générez ce fichier avec `sovrium schema --output app.schema.json` et commitez-le. Régénérez-le à chaque montée de version de Sovrium.

### Option 2 : le mapper dans `settings.json`

Préférable lorsque plusieurs fichiers d'un même espace de travail partagent le schéma.

```json
{
  "yaml.schemas": {
    "https://sovrium.com/schema/app.json": ["app.yaml", "*.sovrium.yaml"]
  },
  "json.schemas": [
    {
      "fileMatch": ["app.json", "*.sovrium.json"],
      "url": "https://sovrium.com/schema/app.json"
    }
  ]
}
```

## JetBrains

IntelliJ IDEA, WebStorm et les autres IDE JetBrains mappent les schémas JSON nativement — aucun plugin requis, et le même mappage couvre YAML et JSON.

Allez dans **Settings → Languages & Frameworks → Schemas and DTDs → JSON Schema Mappings**, cliquez sur **+**, collez l'URL du schéma (ou le chemin vers un `app.schema.json` généré), et définissez le motif de fichier correspondant à votre configuration — `app.yaml`, `app.json`, ou un glob.

## Ce que le schéma ne couvre pas

La validation par l'éditeur est structurelle. Elle attrape une propriété mal orthographiée, une valeur du mauvais type, un membre d'énumération qui n'existe pas. Elle n'attrape pas les erreurs inter-sections — une automatisation nommant une table jamais déclarée, un `$ref` pointant un fichier absent — car celles-là exigent que l'application entière soit d'abord résolue.

C'est le rôle de [`sovrium validate`](/fr/docs/config-validation), et de son exécution en CI. Les soulignements verts sont une première passe rapide, pas la barrière.

:::callout
**Vous rédigez en TypeScript ?** `app.ts` n'a besoin d'aucun mappage de schéma — `@sovrium/types` donne à l'éditeur la même information via le système de types. Voir [Configurations TypeScript](/fr/docs/configuration-typescript).
:::

## Pages associées

- [Schéma JSON](/fr/docs/json-schema) — générer le schéma et les URLs hébergées.
- [Valider une configuration](/fr/docs/config-validation) — la vérification que l'éditeur ne peut pas faire.
- [Fichiers de configuration : YAML et JSON](/fr/docs/configuration-files) — les formats en cours d'édition.
