# Isolation multi-groupe Statut: référence technique Public: mainteneurs, sysadmin Dernière révision: 2026-06-01 L'application peut servir plusieurs groupes sous une même instance. Les groupes ne doivent pas avoir de liens d'interdépendance métier. ## Principe Le groupe courant est déterminé par le membre authentifié et le `groupe_id` dans le jeton. Une requête authentifiée ne doit lire ou modifier que les données de ce groupe. ## Page publique La page de connexion liste les groupes sous forme de tuiles. Chaque tuile affiche l'horaire et les coordonnées du groupe, puis le formulaire de connexion. Le groupe de démonstration est toujours disponible sur une installation vanille. ## Données de groupe Doivent être isolés par groupe: - membres; - invitations; - postes; - affectations; - candidatures; - rotations; - rencontres; - assemblées; - présences; - PV; - propositions et décisions; - collectes; - dépenses; - opérations bancaires; - transactions comptables; - réserves; - mouvements de réserves; - destinataires; - contributions; - littérature; - ventes; - jetons; - événements; - rapports; - journal; - historique. ## Tables sans `groupe_id` direct Une table sans `groupe_id` direct est acceptable seulement si son parent isole strictement le groupe. Exemple: une présence peut être bornée par sa réunion. ## Routes Toute route qui reçoit un ID depuis le client doit: 1. charger l'objet; 2. vérifier son appartenance au groupe courant; 3. refuser si l'objet n'appartient pas au groupe. ## Permissions Les permissions de modules sont calculées depuis les postes du groupe courant. Un poste d'un groupe ne peut pas accorder d'accès dans un autre groupe. ## Sysadmin Sysadmin est transversal pour l'administration technique. Ses actions doivent être limitées aux opérations prévues: - gérer les groupes; - réinitialiser un groupe; - réinitialiser la démonstration; - impersonifier. ## Démonstration `Groupe Démonstration` est protégé et toujours placé en bas de la liste. Le bouton `Réinit` recrée ses données fictives sans toucher aux autres groupes. ## Tests à refaire lors de changements multi-groupe - Créer deux groupes. - Créer des membres dans chaque groupe. - Vérifier que les listes de membres ne se croisent pas. - Vérifier que les postes et permissions ne se croisent pas. - Vérifier les rencontres, assemblées, finances, rapports et journal par groupe. - Vérifier que l'impersonification reste dans le groupe du membre ciblé.