JSON Schema

Le schéma applicatif Sovrium définit la structure complète de votre configuration. Publié en JSON Schema standard, il permet l’auto-complétion dans l’éditeur, la validation en temps réel et la vérification programmatique.

Explorateur interactif de schéma

Parcourez le schéma complet visuellement avec le JSON Schema Viewer. Développez les propriétés, consultez les types et explorez les structures imbriquées.

Ouvrir l’explorateur

Explorateur de schéma

Parcourez le schéma applicatif Sovrium de manière interactive. Développez les propriétés pour explorer les types, contraintes et structures imbriquées.

URL du schéma

Référencez le JSON Schema Sovrium par URL dans votre éditeur, pipeline CI ou scripts de validation.

Versionné (recommandé)

Épinglez une version spécifique pour la stabilité en production. L’URL du schéma inclut la version exacte du package.

Text
https://sovrium.com/schemas/0.2.0/app.schema.json

Dernière version

Pointe toujours vers la version la plus récente. Pratique pour le développement, mais peut introduire des changements incompatibles.

Text
https://sovrium.com/schemas/latest/app.schema.json

Intégration éditeur

Ajoutez le JSON Schema à votre éditeur pour l’auto-complétion, la documentation en ligne et la validation en temps réel de votre config Sovrium.

VS Code

VS Code supporte nativement le JSON Schema pour les fichiers JSON et YAML (avec l’extension YAML).

Option 1 : Ajouter $schema directement dans votre fichier de config

JSON
{
  "$schema": "https://sovrium.com/schemas/0.2.0/app.schema.json",
  "name": "my-app",
  "version": "1.0.0"
}

Option 2 : Configurer dans settings.json de VS Code

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

JetBrains

IntelliJ IDEA, WebStorm et les autres IDE JetBrains supportent nativement le mappage JSON Schema.

Allez dans Settings > Languages & Frameworks > Schemas and DTDs > JSON Schema Mappings. Cliquez + pour ajouter un mappage, collez l’URL du schéma ci-dessous et définissez le pattern de fichier correspondant à votre config (ex. app.yaml ou app.json).

Text
https://sovrium.com/schemas/0.2.0/app.schema.json

Versionnage

Le JSON Schema suit le versionnage sémantique aligné sur le package Sovrium.

Chaque version de Sovrium publie un JSON Schema correspondant. Les changements incompatibles ne surviennent que lors des montées de version majeure.

L’URL /schemas/latest/ est un alias qui redirige toujours vers la version la plus récente. Utilisez-le pour le développement.

En production, épinglez une version spécifique pour éviter les changements de validation inattendus lors des mises à jour.

Validation programmatique

Validez vos fichiers de configuration Sovrium contre le JSON Schema dans vos pipelines CI, hooks pre-commit ou scripts personnalisés.

Utilisez n’importe quelle bibliothèque de validation JSON Schema. L’exemple ci-dessous utilise Ajv, l’un des validateurs les plus populaires pour JavaScript/TypeScript.

TypeScript
import Ajv from "ajv"
import schema from "./app.schema.json"
import config from "./app.json"

const ajv = new Ajv({ allErrors: true })
const validate = ajv.compile(schema)

if (validate(config)) {
  console.log("Configuration is valid")
} else {
  console.error("Validation errors:", validate.errors)
}

Intégration CI

Ajoutez la validation de schéma à votre pipeline CI pour détecter les erreurs de configuration avant le déploiement. L’URL du schéma peut être récupérée au moment du build ou intégrée à votre projet.