# 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é 1. **Least Privilege** : Chaque utilisateur n'a accès qu'aux pages nécessaires à son rôle 2. **Defense in Depth** : Sécurité à 3 niveaux : - Niveau 1 : Composant `page-access-control.xhtml` dans chaque page - Niveau 2 : Vérification dans les beans backing (`@PostConstruct`) - Niveau 3 : Sécurité backend (API REST) 3. **Deny by Default** : Si aucun rôle n'est spécifié, l'accès est refusé 4. **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 : ```xml ``` ### Code Helper pour Vérifications Rapides ```java // 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