PersonnelMoyen

Système d'enregistrements dynamiques

API Laravel permettant de définir des modèles de saisie à l'exécution, puis de collecter et valider des enregistrements sans écrire de code.

— Vue d'ensemble

Aperçu de l'architecture

erDiagram
    TEMPLATE ||--o{ FIELD : definit
    FIELD ||--o{ OPTION : propose
    TEMPLATE ||--o{ RECORD : produit
    RECORD ||--o{ VALUE : contient
    FIELD ||--o{ VALUE : type
    OPTION ||--o{ VALUE : contraint
    USER ||--o{ RECORD : cree

Un moteur de saisie générique. Plutôt que de modéliser un domaine, il modélise l'acte de modéliser : un administrateur définit un modèle, lui donne des champs d'un type choisi, et le système accepte, valide puis stocke les enregistrements correspondants. Ajouter un nouveau formulaire ne demande ni migration ni déploiement.

Le schéma sépare modèles, champs, options, enregistrements et valeurs : un champ de type liste, radio ou case à cocher tire ses réponses possibles d'un jeu d'options prédéfini, et chaque valeur stockée est contrôlée par rapport à ce jeu. Conçu à l'origine pour des dossiers médicaux, le modèle reste indépendant du domaine.

Fonctionnalités clés :

  • Création de modèles à l'exécution, champs nommés, ordonnés, requis ou non
  • Sept types de champ : texte, liste, radio, case à cocher, date, nombre, booléen
  • Jeux d'options adossés à chaque champ de choix, contrôlés à l'écriture
  • Validation automatique des champs requis et des valeurs autorisées
  • Enregistrements regroupés et interrogés par modèle
  • Rôles administrateur et utilisateur aux permissions distinctes
  • Conception API-first avec authentification par jeton via Laravel Sanctum

Stack technique :

  • Backend : Laravel, PHP, Sanctum
  • Vues : Blade
  • Base de données : MySQL
— Stack
PHPLaravelMySQLREST APIBlade