Skip to main content
Voir en Markdown

Modèles et exemples

La façon la plus rapide d'apprendre Sovrium est de partir d'une application fonctionnelle. Sovrium fournit un ensemble de configurations d'exemple — chacune étant un projet complet et exécutable qui compose de vraies fonctionnalités (tables, authentification, pages, thème, i18n, automatisations) en une seule arborescence de configuration. Ces mêmes exemples servent aussi de modèles sovrium init, vous pouvez donc échafauder n'importe lequel dans un nouveau répertoire et commencer à itérer immédiatement.

Chaque exemple est un répertoire avec un point d'entrée app.yaml. Tout ce qui dépasse le plus petit démarrage scinde sa configuration sur une sous-arborescence config/ à l'aide de $ref — un fichier par entité de collection, un fichier par singleton, les scalaires restant en ligne. Cela reflète la structure que sovrium init échafaude pour vous.

Modèles disponibles

Dix-huit modèles sont livrés avec le binaire. Les six premiers enseignent une capacité à la fois ; les autres sont des applications métier complètes, exécutables telles quelles.

Démarreurs — apprendre une capacité à la fois

Modèle Description
hello-world Démarrage minimal — une page, aucune collection. Le défaut de sovrium init. Reste un seul app.yaml pour montrer quand ne pas pré-scinder.
landing-page Site marketing bilingue avec i18n, un thème, des composants réutilisables et la page d'accueil scindée pour la taille.
blog Blog avec articles (rich-text), étiquettes, auteurs, et un index plus une route de détail dynamique /blog/:slug.
docs-site Site de documentation présentant la fonctionnalité de pages markdown : de vrais fichiers .md sous content/docs/, une collection contentDir, une barre latérale dérivée du frontmatter, une navigation précédent/suivant, une table des matières et du code coloré par Shiki. Aucune table, aucune authentification.
api-only Mode API sans interface, avec tables (projets, tâches) et authentification — aucune page. Démontre Sovrium en tant que backend.
mcp-server Serveur MCP sans interface exposant des tables à un client LLM via un aiAccess par entité — aucune page. Voir Intégration MCP.

Applications métier — des systèmes complets et exécutables

Modèle Description
crm Contacts, sociétés et un pipeline d'affaires, avec authentification e-mail/mot de passe et des pages tableau de bord + connexion.
projects Espace de travail projet — une chronologie Gantt, un kanban de tâches et un calendrier d'échéances : quatre vues sur les deux mêmes tables.
helpdesk Service d'assistance — un formulaire public de saisie qui alimente un kanban de tri et une grille de tickets, avec des automatisations qui accusent réception et annoncent les résolutions.
content-calendar Calendrier éditorial — une vue mensuelle, un kanban éditorial, briefs et ressources par contenu, et un cron du lundi qui envoie à l'équipe ce qui sort dans la semaine.
people Espace RH — un annuaire des employés avec protection du salaire au niveau du champ, un calendrier des congés et un circuit de demande qui se met en pause pour l'approbation d'un administrateur.
events Gestion d'événements — une page publique des événements, un formulaire d'inscription public, une confirmation par e-mail pour chaque participant, plus un calendrier et une grille des inscriptions.
assets Suivi de parc — du matériel codé-barres, photographié et valorisé, affecté à des personnes et regroupé par site, avec un cron de vérification d'inventaire trimestriel.
expenses Suivi des dépenses — les membres saisissent leurs dépenses avec justificatifs et ne voient que les leurs (permissions au niveau de la ligne) ; les administrateurs approuvent via une automatisation mise en pause.
intranet Pages marketing publiques plus une zone de portail protégée par authentification avec sections selon le rôle. Authentification lien magique + mot de passe.
knowledge-base Manuel interne — des articles markdown versionnés dans Git derrière une connexion, transformés en site privé à barre latérale par une seule page contentDir.
automation-recipes Livre de recettes d'automatisation — un webhook qui capte des prospects, un déclencheur d'enregistrement qui notifie et journalise, un cron de digest quotidien et un déclencheur d'échec qui alerte l'opérateur.
company-os Tout un système d'information en une seule configuration — CRM, gestion de projet, tickets d'assistance et annuaire RH, reliés entre eux par des automatisations inter-domaines et un assistant IA.

Chaque modèle embarque son propre bundle Claude Code — un CLAUDE.md rédigé pour le domaine du modèle, ainsi qu'un sous-agent app-editor de départ dans .claude/agents/app-editor.md. L'échafaudage est une simple copie d'arborescence : le bundle arrive donc avec la configuration, sans seconde étape d'installation. Voir la Référence CLI pour toutes les options d'init.

Échafauder un projet

sovrium init copie un modèle dans un nouveau répertoire (ou le répertoire courant). Sans --template, le démarrage minimal hello-world est utilisé.

>_ terminal
# Défaut (hello-world, aucun agent associé)
sovrium init my-app

# Choisir un modèle — installe aussi l'agent éditeur associé
sovrium init my-app --template crm
sovrium init my-app --template landing-page
sovrium init my-app --template helpdesk
sovrium init my-app --template company-os

# Ignorer l'installation de l'agent associé
sovrium init my-app --template crm --no-agent

Exécutez ensuite l'application échafaudée :

>_ terminal
sovrium start app.yaml          # Démarrer le serveur de développement
sovrium validate app.yaml       # Valider sans démarrer

Voir la Référence CLI pour toutes les options de init.

Anatomie d'un exemple

Un exemple non trivial ressemble à ceci (disposition abrégée de crm) :

code
crm/
├── app.yaml                 # Point d'entrée — référence tout via $ref
├── config/
│   ├── auth.yaml            # Singleton : stratégies d'auth, rôles
│   ├── theme.yaml           # Singleton : jetons de design
│   └── tables/
│       ├── companies.yaml   # Un fichier par table
│       └── contacts.yaml
└── public/                  # Ressources statiques (favicon, images)

Le point d'entrée app.yaml rassemble chaque partie avec $ref, gardant le fichier de premier niveau petit et chaque entité dans son propre fichier :

app.yaml
name: crm

auth:
  $ref: ./config/auth.yaml

theme:
  $ref: ./config/theme.yaml

tables:
  - $ref: ./config/tables/companies.yaml
  - $ref: ./config/tables/contacts.yaml

pages:
  - $ref: ./config/pages/dashboard.yaml
  - $ref: ./config/pages/sign-in.yaml

La résolution de $ref a lieu avant la validation : tout objet contenant exactement une clé — $ref dont la valeur est un chemin relatif — est remplacé par le contenu analysé de ce fichier. Un $ref peut lui-même contenir d'autres $ref, donc les configurations s'imbriquent à n'importe quelle profondeur. Les formes mono-fichier et multi-fichiers sont interchangeables ; choisissez celle qui garde le projet lisible.

Parcours d'apprentissage

Un ordre pratique pour parcourir les exemples :

  1. hello-world — comprendre la forme minimale d'une configuration et le tableau pages.
  2. landing-page — ajouter un thème, des composants réutilisables et l'i18n avec les clés de traduction $t:.
  3. blog / docs-site — routes dynamiques et collections de contenu markdown.
  4. crm — introduire les tables, l'authentification et les pages liées aux données (formulaires + tableaux de données).
  5. api-only / mcp-server — exécuter Sovrium sans interface : comme backend REST ou serveur MCP face à un LLM.
  6. helpdesk / expenses — automatisations, formulaires publics de saisie et permissions au niveau de la ligne.
  7. company-os — plusieurs domaines dans une seule configuration, reliés par des automatisations inter-domaines.

Pages associées

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