Modèle de données
Statut: référence technique
Public: mainteneurs, analystes, exploitants
Dernière révision: 2026-06-01
Ce document décrit les tables SQLAlchemy de l'application et leur rôle. Il ne remplace pas les modèles du code; il donne la carte fonctionnelle.
Principes
groupes est la racine métier.
- Les données d'un groupe doivent être isolées par
groupe_id.
- Les membres ne sont pas supprimés pour l'historique; le droit à l'oubli anonymise.
- Les propositions et décisions sont dans une seule table.
- Les finances s'appuient sur un registre comptable.
- Les mouvements de réserves sont historisés.
- Les rapports adoptés sont cristallisés.
Tables d'identité et groupes
| Table |
Rôle |
groupes |
Groupe AA, horaire, lieu, paramètres d'assemblée. |
membres |
Membres du groupe, identifiant, PIN haché, profil, statut, préférences. |
invitations |
Codes d'inscription et liens invités ciblés. |
push_subscriptions |
Abonnements navigateur aux notifications push. |
Tables de postes et accès
| Table |
Rôle |
postes |
Définition des postes d'un groupe. |
affectations |
Mandats actifs ou terminés entre membre et poste. |
rotations |
Planification et historique de rotations. |
candidatures |
Candidatures et propositions de candidature. |
postes_modules |
Permissions de modules accordées à un poste. |
Tables de rencontres et assemblées
| Table |
Rôle |
reunions |
Rencontres hebdomadaires et assemblées d'affaires. |
presences |
Présences rattachées à une réunion. |
pv_reunions |
Procès-verbaux préparés ou adoptés. |
rapport_rsg / rapports_rsg |
Rapports RSG. |
rapports_adoptes |
Rapports cristallisés après adoption. |
Tables de gouvernance
| Table |
Rôle |
propositions |
Propositions, rejets, résolutions, nominations et contributions adoptées. |
Champs conceptuels importants de propositions:
- proposition: objet, contenu, auteur, proposeur, secondeur, statut;
- rejet: statut rejeté et raison;
- décision: type, numéro, date d'adoption,
ÉTANT DONNÉ QUE, LE GROUPE A DÉCIDÉ DE.
Tables financières
| Table |
Rôle |
collectes |
Collectes de rencontres et réception par le trésorier. |
depenses |
Dépenses soumises, traitées, rejetées ou débitées. |
operations_bancaires |
Dépôts, retraits et opérations bancaires. |
transactions_comptables |
Source de vérité des soldes banque/encaisse. |
reserves |
Réserves nommées du groupe. |
mouvements_reserves |
Historique des virements entre disponible et réserves. |
destinataires_contributions |
Destinataires possibles des contributions. |
envois_contributions |
Contributions préparées et traitées. |
config_repartition |
Pourcentages de répartition suggérée. |
Tables d'inventaire
| Table |
Rôle |
litterature |
Catalogue et stock de littérature. |
ventes_litterature |
Ventes de littérature et remise au trésorier. |
jetons |
Remises statistiques de jetons/gâteaux. |
ventes_jetons |
Ventes de jetons affectant l'inventaire et l'encaisse à recevoir. |
Tables de calendrier et rapports
| Table |
Rôle |
evenements |
Événements affichés au calendrier. |
sync_log |
Trace technique de synchronisation ou usage historique. |
Tables de journalisation
| Table |
Rôle |
journal_actions |
Journal automatique des appels API modifiants. |
historique_modifications |
Historique métier détaillé des modifications, ancienne valeur, nouvelle valeur et raison automatique. |
Tables mortes supprimées au démarrage
Le démarrage supprime les anciennes tables devenues obsolètes:
votes;
options_sondage;
sondages;
decisions.
Points de vigilance
- Une relation 1:1 ne justifie pas à elle seule la fusion de deux tables. Il faut aussi vérifier le cycle de vie, le niveau d'accès, l'historisation, la fréquence d'usage et la signification métier.
- Les caches de montant ou de statut ne doivent pas remplacer les registres d'origine.
- Toute nouvelle table métier doit documenter son rattachement à un groupe.