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
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 }{
"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 :
sovrium start app.yaml
sovrium start app.jsonDé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 :
Error: Unsupported file format: .toml
Supported formats: .json, .yaml, .yml, .tsParce 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.
Les tabulations sont l'échec YAML classique. L'indentation YAML doit utiliser des espaces. Une tabulation produit Error: Failed to parse YAML file: suivi d'une ligne Details: pointant la position fautive.
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
- Configurations TypeScript — le même objet avec l'autocomplétion.
- Configurations multi-fichiers — scinder une configuration devenue trop grosse.
- Concepts fondamentaux — l'anatomie de l'objet de configuration.
- Vue d'ensemble du schéma — la référence complète des propriétés racine.
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.