Documentation du schéma

Définissez l’intégralité de votre application — modèles de données, authentification, pages, thèmes, analytiques — dans un seul fichier YAML ou JSON. Voici la référence complète du schéma applicatif Sovrium.

Vue d’ensemble

Une application Sovrium est un objet de configuration déclaratif avec 10 propriétés racine. Seul name est requis — tout le reste est optionnel, permettant une complexité progressive, d’un simple identifiant d’application à une application full-stack.

name: my-app # App identifier (required) version: 1.0.0 # SemVer version description: My application # One-line description tables: [...] # Data models with 41 field types theme: {...} # Design tokens (colors, fonts, etc.) pages: [...] # Server-rendered pages (63 component types) auth: {...} # Authentication & authorization languages: {...} # Multi-language support ($t: syntax) components: [...] # Reusable UI templates ($ref, $variable) analytics: {...} # Privacy-friendly, cookie-free analytics

Les fichiers de configuration peuvent être écrits en YAML ou JSON. Exécutez sovrium start app.yaml pour lancer un serveur de développement, ou sovrium static app.yaml pour générer un site statique.

Démarrage rapide

Créez un fichier app.yaml et commencez à construire. Voici un exemple minimal qui évolue de la config valide la plus simple à une petite application complète :

# 1. The simplest valid config — just a name name: my-app # 2. Add a table with fields tables: - id: 1 name: tasks fields: - id: 1 name: title type: single-line-text required: true - id: 2 name: status type: single-select options: - label: To Do color: gray - label: In Progress color: blue - label: Done color: green - id: 3 name: due-date type: date - id: 4 name: assignee type: user # 3. Add a theme and authentication theme: colors: primary: "#3b82f6" background: "#0f172a" auth: strategies: - type: email-password defaultRole: member

Puis lancez le serveur de développement :

sovrium start app.yaml

Propriétés racine

Le schéma applicatif a 10 propriétés racine. Seul name est requis.

namestringrequired

Identifiant d’application suivant les conventions de nommage npm. Minuscules, max 214 caractères, supporte le format à portée (@scope/name).

versionstring

Chaîne de versionnement sémantique 2.0.0 (ex. : 1.0.0, 2.0.0-beta.1). Supporte les pré-versions et les métadonnées de build.

descriptionstring

Description d’application sur une seule ligne. Pas de retour à la ligne autorisé. Unicode et emojis supportés.

tablesarray

Modèles de données avec 41 types de champs, relations, index, permissions et vues.

themeobject

Jetons de design : couleurs, polices, espacement, ombres, animations, points de rupture et rayons de bordure.

pagesarray

Pages rendues côté serveur avec 63 types de composants, métadonnées SEO et support i18n.

authobject

Stratégies d’authentification (email/mot de passe, lien magique, OAuth), rôles et authentification à deux facteurs.

languagesobject

Support multilingue avec syntaxe de traduction $t:, détection du navigateur et persistance de la langue.

componentsarray

Templates UI réutilisables avec référencement $ref et substitution de $variable.

analyticsobject | boolean

Analytiques respectueux de la vie privée, sans cookies, en première partie. Activez avec true par défaut ou configurez avec des options.