PostgreSQL
Statut
Document de cadrage data — version initiale.
Rôle
PostgreSQL est la base relationnelle principale de DMV.
Il doit porter les données structurées de l'écosystème : communes, acteurs, utilisateurs, publications, contributeurs, groupes, abonnements, boosts, statistiques, PlayLoop, AssoSuite, Mairie, chat et documents.
État actuel visible
Les migrations Laravel créent notamment :
- profils et rôles ;
- communes et informations communales ;
- acteurs, tags, documents, revendications ;
- publications et signalements ;
- contributeurs, favoris et groupes ;
- plans, abonnements, boosts et usages ;
- feature flags et paramètres ;
- PlayLoop ;
- AssoSuite ;
- chat ;
- alertes et services mairie ;
- cache, jobs et personal access tokens.
Des migrations Supabase historiques existent aussi et doivent être prises en compte dans la gouvernance data.
Principes PostgreSQL
- Modéliser explicitement les relations fortes.
- Préférer les contraintes base quand elles protègent une règle durable.
- Indexer les colonnes utilisées pour recherche, filtres et jointures.
- Garder les données sensibles identifiables et contrôlées.
- Éviter les duplications non justifiées.
- Prévoir l'évolution sans casser les applications connectées.
Accès aux données
La cible est :
- mutations métier via API Laravel ;
- lectures publiques contrôlées ;
- accès administrateurs via services backend ;
- RPC seulement pour des requêtes contrôlées et justifiées ;
- aucun accès direct IA.
Performance
Les domaines à surveiller :
- listes d'acteurs par commune ;
- mur de la ville ;
- publications par acteur ou commune ;
- favoris ;
- statistiques ;
- recherches ;
- données PlayLoop ;
- modération.
Points à clarifier
- Configuration PostgreSQL réelle par environnement.
- Politique d'indexation.
- Usage futur de vues matérialisées.
- Gouvernance des accès Supabase historiques.
- Stratégie de migration vers une source canonique.