Skip to main content
Voir en Markdown

Fichiers de configuration : YAML et JSON

Une application Sovrium est un seul objet de configuration. Cette page couvre son écriture sous forme de fichier YAML ou JSON — les deux formats que vous pouvez passer à n'importe quelle commande.

Le même objet, deux écritures

Le YAML est le choix par défaut pour la rédaction manuelle : il accepte les commentaires, exige moins de ponctuation et se relit bien en diff. Le JSON est la meilleure cible lorsque la configuration est générée par un autre outil.

app.yaml
# app.yaml
name: my-app
version: 1.0.0
description: A simple todo list

tables:
  - id: 1
    name: tasks
    fields:
      - { id: 1, name: title, type: single-line-text, required: true }
      - { id: 2, name: done, type: checkbox, default: false }
app.json
{
  "name": "my-app",
  "version": "1.0.0",
  "description": "A simple todo list",
  "tables": [
    {
      "id": 1,
      "name": "tasks",
      "fields": [
        { "id": 1, "name": "title", "type": "single-line-text", "required": true },
        { "id": 2, "name": "done", "type": "checkbox", "default": false }
      ]
    }
  ]
}

L'un comme l'autre s'exécutent de la même façon :

>_ terminal
sovrium start app.yaml
sovrium start app.json

Détection du format

Le format vient de l'extension du fichier, jamais du contenu. .yaml et .yml passent par l'analyseur YAML, .json par l'analyseur JSON, .ts et .mts sont importés comme des modules. Tout le reste est refusé d'emblée :

code
Error: Unsupported file format: .toml

Supported formats: .json, .yaml, .yml, .ts

Parce que la détection se fait par extension, chaque exemple de cette documentation se transcrit tel quel entre YAML et JSON : l'objet obtenu est identique.

Ordre de résolution

Une commande prend sa configuration de la première source qui répond :

Ordre Source Forme
1 Argument de chemin sovrium start app.yaml
2 APP_SCHEMA_FILE Un chemin, pour les configurations trop volumineuses
3 APP_SCHEMA JSON en ligne, YAML en ligne, ou une URL http(s)
4 (aucune) Error: No configuration provided

Un chemin de fichier l'emporte toujours sur l'environnement : un conteneur peut donc embarquer un APP_SCHEMA par défaut qu'une exécution locale surcharge en nommant un fichier.

Charger sans fichier

APP_SCHEMA contient la configuration elle-même plutôt qu'un chemin — pratique pour les conteneurs et les exécutions ponctuelles où monter un fichier coûte plus qu'il ne rapporte. Voir Aperçu du CLI.

TypeScript avec defineConfig

Déplacé vers Configurations TypeScript.

Configurations multi-fichiers avec $ref

Déplacé vers Configurations multi-fichiers avec $ref.

Valider une configuration

Déplacé vers Valider une configuration.

Étapes suivantes

Dernière mise à jour 11 août 2026

Cette documentation a été rédigée avec de l'IA : des erreurs ou du contenu obsolète sont donc possibles. Sovrium est en bêta. Les contributions et corrections sont les bienvenues.

Construit avec Sovrium