# Schéma des projets BERKIOS

Source : https://docs.berkios.online/reference/schema-projet/ · Section : Référence · Documentation officielle BERKIOS (https://docs.berkios.online)


`berkios-project.schema.json` décrit le format courant **1.3** avec JSON Schema 2020-12.

## Nouveautés 1.3

- `dataModels` : modèles métier avec champs `string`, `number`, `boolean` ou `date`, et persistance déclarée `memory` ou `sqlite`. Un modèle `sqlite` peut porter `seed` : une liste d'enregistrements insérés une seule fois à la première création de la base locale.
- `widgets[].events` : plusieurs événements par composant, chacun avec une liste ordonnée d’actions.
- `layout` au niveau projet/interface : modes `absolute`, `flex` et `grid`, direction, gap, alignement, colonnes/lignes et seuils responsives.
- `widgets[].layout` : croissance, base, alignement propre et placement en grille.

## Compatibilité

Les formats 1.0, 1.1 et 1.2 restent acceptés par le Studio et normalisés vers 1.3 lors de l’ouverture. Le Bridge et le schéma Dart acceptent les quatre versions.

## Limite d’exécution

Le schéma est un contrat de données, pas une preuve de prise en charge runtime. Le Bridge avertit si des modèles métier, événements multiples ou layouts flex/grille sont déclarés sans prise en charge complète du runtime.

## Responsive (v0.7.71)
- Composant : `anchors` `{ left, right, top, bottom }` (booléens ; absent = haut + gauche). Utilisé en disposition `absolute`.
- Interface : `layout.breakpoints` `{ mobile, tablet }` est appliqué (ligne → colonne sous `mobile` ; grille à 1 colonne sous `mobile`, 2 colonnes max sous `tablet`). `layout.align`/`justify` s'appliquent au mode `flex`.
- Interface : `windowSettings.minWidth/minHeight` déclenchent un défilement dans l'application générée quand la fenêtre est plus petite.
