- Task #6: WebSocket /ws/dashboard + Kafka events (5 topics) * Backend: KafkaEventProducer, KafkaEventConsumer * Mobile: WebSocketService (reconnection, heartbeat, typed events) * DashboardBloc: Auto-refresh depuis WebSocket events - Finance Workflow: approbations + budgets (backend + mobile) * Backend: entities, services, resources, migrations Flyway V6 * Mobile: features finance_workflow complète avec BLoC - Corrections DI: interfaces IRepository partout * IProfileRepository, IOrganizationRepository, IMembreRepository * GetIt configuré avec @injectable - Spec-Kit: constitution + templates mis à jour * .specify/memory/constitution.md enrichie * Templates agent, plan, spec, tasks, checklist - Nettoyage: fichiers temporaires supprimés Signed-off-by: lions dev Team
13 KiB
13 KiB
Matrice de Permissions UnionFlow - Pages Web
Dernière mise à jour : 2026-03-02 Cette matrice définit les rôles autorisés pour chaque page de l'application UnionFlow.
Légende des Rôles
| Rôle | Code | Description |
|---|---|---|
| Super Admin | SUPER_ADMIN |
Accès total système |
| Admin Organisation | ADMIN |
Administrateur d'une organisation |
| Trésorier | TRESORIER |
Gestion financière |
| Secrétaire | SECRETAIRE |
Gestion administrative |
| Responsable Social | RESPONSABLE_SOCIAL |
Gestion des aides sociales |
| Responsable Événements | RESPONSABLE_EVENEMENTS |
Gestion des événements |
| Responsable Crédit | RESPONSABLE_CREDIT |
Gestion épargne/crédit |
| Membre Bureau | MEMBRE_BUREAU |
Membre du bureau exécutif |
| Membre Actif | MEMBRE_ACTIF |
Membre actif avec cotisations à jour |
| Membre Simple | MEMBRE_SIMPLE |
Membre avec accès limité |
1. Pages d'Administration (Super Admin uniquement)
| Page | Rôles Autorisés | Description |
|---|---|---|
/super-admin/dashboard.xhtml |
SUPER_ADMIN |
Dashboard super-admin |
/super-admin/dashboard-enhanced.xhtml |
SUPER_ADMIN |
Dashboard enrichi super-admin |
/super-admin/entites/gestion-enhanced.xhtml |
SUPER_ADMIN |
Gestion des entités système |
/super-admin/roles/gestion.xhtml |
SUPER_ADMIN |
Gestion des rôles système |
/super-admin/types/organisations.xhtml |
SUPER_ADMIN |
Configuration types d'organisations |
2. Pages d'Administration d'Organisation
| Page | Rôles Autorisés | Description |
|---|---|---|
/admin/audit.xhtml |
ADMIN,SUPER_ADMIN |
Journal d'audit |
/admin/backup.xhtml |
ADMIN,SUPER_ADMIN |
Sauvegardes et restaurations |
/admin/settings.xhtml |
ADMIN,SUPER_ADMIN |
Paramètres organisation |
/admin/users.xhtml |
ADMIN,SUPER_ADMIN |
Gestion utilisateurs |
/secure/admin/utilisateurs.xhtml |
ADMIN,SUPER_ADMIN |
Liste utilisateurs |
/secure/admin/audit.xhtml |
ADMIN,SUPER_ADMIN |
Audit système |
/secure/admin/parametres.xhtml |
ADMIN,SUPER_ADMIN |
Paramètres avancés |
/secure/admin/roles.xhtml |
ADMIN,SUPER_ADMIN |
Gestion rôles organisation |
/admin/audit/journal.xhtml |
ADMIN,SUPER_ADMIN |
Journal détaillé |
3. Pages de Gestion des Membres
| Page | Rôles Autorisés | Description |
|---|---|---|
/secure/membre/inscription.xhtml |
SECRETAIRE,ADMIN |
Inscription nouveau membre |
/secure/membre/recherche.xhtml |
SECRETAIRE,TRESORIER,RESPONSABLE_SOCIAL,RESPONSABLE_EVENEMENTS,ADMIN |
Recherche membres |
/secure/membre/profil.xhtml |
SECRETAIRE,ADMIN |
Modification profil membre |
/secure/membre/import.xhtml |
SECRETAIRE,ADMIN |
Import membres (CSV/Excel) |
/secure/membre/export.xhtml |
SECRETAIRE,TRESORIER,ADMIN |
Export membres |
/secure/membre/cotisations.xhtml |
TRESORIER,SECRETAIRE,ADMIN |
Suivi cotisations membres |
4. Pages de Gestion Financière
| Page | Rôles Autorisés | Description |
|---|---|---|
/admin/finance/caisse.xhtml |
TRESORIER,ADMIN |
Gestion de caisse |
/secure/finance/tresorerie.xhtml |
TRESORIER,ADMIN |
Trésorerie organisation |
/secure/finance/budgets.xhtml |
TRESORIER,ADMIN |
Gestion budgets |
/secure/finance/bilans.xhtml |
TRESORIER,ADMIN |
Bilans financiers |
/secure/comptabilite/gestion.xhtml |
TRESORIER,ADMIN |
Comptabilité générale |
/admin/cotisations/gestion.xhtml |
TRESORIER,SECRETAIRE,ADMIN |
Gestion cotisations |
/secure/cotisation/collect.xhtml |
TRESORIER,ADMIN |
Collection cotisations |
/secure/cotisation/paiement.xhtml |
TRESORIER,SECRETAIRE,ADMIN |
Paiement cotisations |
/secure/cotisation/reminders.xhtml |
TRESORIER,SECRETAIRE,ADMIN |
Relances cotisations |
/secure/cotisation/report.xhtml |
TRESORIER,ADMIN |
Rapports cotisations |
/secure/cotisation/rapports.xhtml |
TRESORIER,ADMIN |
Rapports détaillés |
5. Pages de Gestion des Événements
| Page | Rôles Autorisés | Description |
|---|---|---|
/admin/evenements/liste.xhtml |
RESPONSABLE_EVENEMENTS,SECRETAIRE,ADMIN |
Liste événements |
/admin/evenements/creation.xhtml |
RESPONSABLE_EVENEMENTS,SECRETAIRE,ADMIN |
Création événement |
/admin/evenements/gestion.xhtml |
RESPONSABLE_EVENEMENTS,SECRETAIRE,ADMIN |
Gestion événements |
/admin/evenements/participants.xhtml |
RESPONSABLE_EVENEMENTS,SECRETAIRE,ADMIN |
Gestion participants |
/secure/evenement/creation.xhtml |
RESPONSABLE_EVENEMENTS,SECRETAIRE,ADMIN |
Créer événement |
/secure/evenement/gestion.xhtml |
RESPONSABLE_EVENEMENTS,SECRETAIRE,ADMIN |
Gérer événements |
/secure/evenement/create.xhtml |
RESPONSABLE_EVENEMENTS,SECRETAIRE,ADMIN |
Formulaire création |
/secure/evenement/planification.xhtml |
RESPONSABLE_EVENEMENTS,ADMIN |
Planification événements |
/secure/evenement/logistique.xhtml |
RESPONSABLE_EVENEMENTS,ADMIN |
Logistique événements |
/secure/evenement/bilan.xhtml |
RESPONSABLE_EVENEMENTS,SECRETAIRE,ADMIN |
Bilans événements |
/secure/evenement/reservations.xhtml |
RESPONSABLE_EVENEMENTS,ADMIN |
Gestion réservations |
/secure/evenement/participants.xhtml |
RESPONSABLE_EVENEMENTS,SECRETAIRE,ADMIN |
Liste participants |
/secure/evenement/calendar.xhtml |
ALL |
Calendrier public événements |
/secure/evenement/calendrier.xhtml |
ALL |
Calendrier événements |
/secure/evenement/participation.xhtml |
ALL |
Mes participations |
6. Pages de Gestion des Aides Sociales
| Page | Rôles Autorisés | Description |
|---|---|---|
/admin/aides/gestion.xhtml |
RESPONSABLE_SOCIAL,ADMIN |
Gestion aides sociales |
/admin/demandes/gestion.xhtml |
RESPONSABLE_SOCIAL,ADMIN |
Gestion demandes |
/admin/demandes/gestion-old.xhtml |
RESPONSABLE_SOCIAL,ADMIN |
Ancienne interface (deprecated) |
/admin/demandes/aide-sociale.xhtml |
RESPONSABLE_SOCIAL,ADMIN |
Demandes aide sociale |
/secure/aide/demande.xhtml |
ALL |
Formulaire demande aide |
/secure/aide/statistiques.xhtml |
RESPONSABLE_SOCIAL,ADMIN |
Statistiques aides |
/secure/aide/historique.xhtml |
ALL |
Mon historique d'aides |
7. Pages d'Adhésion
| Page | Rôles Autorisés | Description |
|---|---|---|
/secure/adhesion/liste.xhtml |
SECRETAIRE,ADMIN |
Liste adhésions |
/secure/adhesion/demande.xhtml |
ALL |
Formulaire demande adhésion |
/secure/adhesion/new.xhtml |
SECRETAIRE,ADMIN |
Nouvelle adhésion |
/secure/adhesion/renouvellement.xhtml |
ALL |
Renouvellement adhésion |
/secure/adhesion/validation.xhtml |
SECRETAIRE,ADMIN |
Validation adhésions |
/secure/adhesion/history.xhtml |
SECRETAIRE,ADMIN |
Historique adhésions |
/secure/adhesion/historique.xhtml |
ALL |
Mon historique adhésions |
/secure/adhesion/pending.xhtml |
SECRETAIRE,ADMIN |
Adhésions en attente |
/secure/adhesion/cartes-membres.xhtml |
SECRETAIRE,ADMIN |
Impression cartes membres |
8. Pages de Rapports
| Page | Rôles Autorisés | Description |
|---|---|---|
/secure/reports.xhtml |
TRESORIER,SECRETAIRE,ADMIN |
Rapports généraux |
/secure/rapport/details.xhtml |
TRESORIER,SECRETAIRE,ADMIN |
Détails rapports |
/secure/rapport/export.xhtml |
TRESORIER,SECRETAIRE,ADMIN |
Export rapports |
/secure/rapport/activites.xhtml |
SECRETAIRE,ADMIN |
Rapport activités |
/secure/rapport/finances.xhtml |
TRESORIER,ADMIN |
Rapport financier |
/secure/rapport/membres.xhtml |
SECRETAIRE,ADMIN |
Rapport membres |
/secure/rapport/tableaux-bord.xhtml |
TRESORIER,SECRETAIRE,ADMIN |
Tableaux de bord |
/admin/rapports/finances.xhtml |
TRESORIER,ADMIN |
Rapports finances |
/admin/rapports/statistiques.xhtml |
ADMIN |
Statistiques globales |
9. Pages Personnelles (Tous les membres authentifiés)
| Page | Rôles Autorisés | Description |
|---|---|---|
/secure/profile.xhtml |
ALL |
Mon profil |
/secure/personnel/profil.xhtml |
ALL |
Mon profil détaillé |
/secure/personnel/activites.xhtml |
ALL |
Mes activités |
/secure/personnel/agenda.xhtml |
ALL |
Mon agenda |
/secure/personnel/documents.xhtml |
ALL |
Mes documents |
/secure/personnel/notifications.xhtml |
ALL |
Mes notifications |
/secure/personnel/preferences.xhtml |
ALL |
Mes préférences |
/secure/personnel/favoris.xhtml |
ALL |
Mes favoris |
/secure/personnel/parametres.xhtml |
ALL |
Mes paramètres |
/membre/cotisations.xhtml |
ALL |
Mes cotisations |
/membre/dashboard.xhtml |
MEMBRE_ACTIF |
Dashboard membre |
10. Pages d'Aide et Support (Tous)
| Page | Rôles Autorisés | Description |
|---|---|---|
/secure/aide/faq.xhtml |
ALL |
FAQ |
/secure/aide/guide.xhtml |
ALL |
Guide utilisateur |
/secure/aide/support.xhtml |
ALL |
Support technique |
/secure/aide/tutoriels.xhtml |
ALL |
Tutoriels vidéo |
/secure/aide/nouveautes.xhtml |
ALL |
Nouveautés |
/secure/aide/apropos.xhtml |
ALL |
À propos |
/secure/aide/documentation.xhtml |
ALL |
Documentation |
/secure/aide/suggestions.xhtml |
ALL |
Boîte à suggestions |
/secure/aide/tickets.xhtml |
ALL |
Mes tickets support |
11. Pages de Communication
| Page | Rôles Autorisés | Description |
|---|---|---|
/secure/communication/notifications.xhtml |
SECRETAIRE,ADMIN |
Envoi notifications masse |
12. Pages de Documents
| Page | Rôles Autorisés | Description |
|---|---|---|
/admin/documents/gestion.xhtml |
SECRETAIRE,ADMIN |
Gestion documents |
/secure/documents/mes-documents.xhtml |
ALL |
Mes documents personnels |
13. Pages Utilitaires
| Page | Rôles Autorisés | Description |
|---|---|---|
/secure/outils/exports-masse.xhtml |
TRESORIER,SECRETAIRE,ADMIN |
Exports en masse |
/secure/stats.xhtml |
ADMIN |
Statistiques système |
/secure/souscription/dashboard.xhtml |
ADMIN |
Dashboard souscriptions |
14. Pages Publiques (Accès libre)
| Page | Rôles Autorisés | Description |
|---|---|---|
/public/home.xhtml |
Aucune auth requise | Page d'accueil |
/public/formulaires.xhtml |
Aucune auth requise | Formulaires publics |
15. Pages Système
| Page | Rôles Autorisés | Description |
|---|---|---|
/secure/access-denied.xhtml |
Tous (page erreur) | Accès refusé |
Règles de Sécurité
Hiérarchie des Rôles
Les rôles suivent une hiérarchie où les rôles supérieurs héritent des permissions des rôles inférieurs :
SUPER_ADMIN
└─ ADMIN_ORGANISATION
├─ TRESORIER
├─ SECRETAIRE
├─ RESPONSABLE_SOCIAL
├─ RESPONSABLE_EVENEMENTS
├─ RESPONSABLE_CREDIT
└─ MEMBRE_BUREAU
└─ MEMBRE_ACTIF
└─ MEMBRE_SIMPLE
Principes de Sécurité
- Least Privilege : Chaque utilisateur n'a accès qu'aux pages nécessaires à son rôle
- Defense in Depth : Sécurité à 3 niveaux :
- Niveau 1 : Composant
page-access-control.xhtmldans chaque page - Niveau 2 : Vérification dans les beans backing (
@PostConstruct) - Niveau 3 : Sécurité backend (API REST)
- Niveau 1 : Composant
- Deny by Default : Si aucun rôle n'est spécifié, l'accès est refusé
- Audit Trail : Tous les refus d'accès sont loggés
Implémentation dans les Pages
Chaque page sécurisée doit inclure le composant de contrôle d'accès :
<ui:composition template="/templates/layout/main.xhtml">
<!-- Sécurisation de la page -->
<ui:include src="/templates/components/security/page-access-control.xhtml">
<ui:param name="allowedRoles" value="TRESORIER,ADMIN" />
</ui:include>
<ui:define name="content">
<!-- Contenu de la page -->
</ui:define>
</ui:composition>
Code Helper pour Vérifications Rapides
// Dans un bean backing
@Inject
PageSecurityBean pageSecurityBean;
// Vérifications
if (pageSecurityBean.canManageFinances()) {
// Action autorisée pour trésoriers
}
if (pageSecurityBean.isSimpleMember()) {
// Membre actif sans rôle administratif
}
Maintenance
Cette matrice doit être mise à jour lorsque :
- Une nouvelle page est créée
- Un nouveau rôle est ajouté au système
- Les permissions d'une page existante changent
Responsable : Équipe Architecture Revue : Trimestrielle ou à chaque release majeure