Créer un rôle personnalisé avec permissions fines
Comment définir un rôle métier sur mesure avec un ensemble précis de permissions
Prérequis
- Rôle Administrateur (system_admin).
- Connaître les permissions disponibles (voir tableau ci-dessous).
Permissions disponibles
| Groupe (module) | Exemples de permissions |
|---|---|
| Profil personnel | profile.view.own, profile.edit.own |
| Employés | users.view, users.create, users.edit, users.delete, users.invite, users.assign_role |
| Organisation | org.departments.manage, org.teams.manage, org.sites.manage, org.positions.manage |
| Temps & pointage | time.view, time.create, time.validate, time.admin |
| Planning | schedules.view, schedules.edit, schedules.publish |
| Congés & absences | leave.view, leave.request, leave.approve, leave.reject, leave.admin |
| Paie | payroll.view, payroll.manage, payroll.payslips, payroll.dsn |
| Notes de frais | expenses.view, expenses.submit, expenses.approve, expenses.admin |
| Documents & coffre-fort | documents.view, documents.manage, documents.sign, documents.vault |
Liste indicative : le catalogue complet (une quinzaine de modules, dont Rapports, Paramètres, Support…) est présenté par groupe dans l'écran Admin > Sécurité & Rôles. Les clés suivent la convention module.action (ex. .view, .edit, .manage, .admin, .view.own). Cochez les permissions voulues directement dans l'UI.
Étapes
- Aller sur Admin > Sécurité & Rôles (
/dashboard/admin/security). - Cliquer + Créer un rôle.
- Dans le modal Nouveau rôle :
- Nom (obligatoire) : libellé affiché dans l'UI (ex Responsable atelier).
- Code (obligatoire) : identifiant unique en majuscules (ex
WORKSHOP_MANAGER). - Description : explication du périmètre.
- Niveau hiérarchique : entier entre 0 (faible) et 100 (élevé). Détermine la priorité par défaut dans les workflows.
- 0-9 : Employé / Stagiaire.
- 10-39 : Manager d'équipe.
- 40-79 : Directeur / RH.
- 80-100 : Administrateur.
- Onglet Permissions :
- Cocher les permissions souhaitées dans chaque groupe.
- Les groupes décochés intégralement masquent les pages correspondantes.
- Cliquer Enregistrer.
- Le rôle apparaît dans la liste et devient sélectionnable depuis la page Rôles pour assignation aux utilisateurs.
Modifier un rôle existant
- Sur Admin > Sécurité & Rôles, cliquer sur l'icône crayon de la ligne du rôle.
- Modifier nom, description, niveau ou permissions.
- Enregistrer. Les utilisateurs ayant ce rôle voient leur accès se mettre à jour à leur prochaine action.
Supprimer un rôle
- Cliquer sur l'icône poubelle.
- Confirmation requise.
- Le rôle est désactivé plutôt que vraiment supprimé (préservation audit). Les utilisateurs concernés bascule sur Employé par défaut.
Pièges courants
- Les rôles système (
system_admin,hr, etc.) ne peuvent pas être supprimés ni renommés. - Modifier les permissions d'un rôle impacte tous les utilisateurs qui le portent. Tester sur un compte de test avant prod.
- Le code du rôle doit être unique. Une fois créé, il ne peut plus être modifié.
- Le niveau hiérarchique détermine la priorité d'approbation : si deux personnes peuvent valider, celui au niveau supérieur est notifié en priorité.
- Donner à un rôle non-admin la permission de gérer les rôles / la sécurité lui permet de créer d'autres rôles — privilège sensible, à donner avec parcimonie.
- Les permissions sont en mode whitelist : décocher une permission supprime l'accès. Aucune permission cochée = rôle sans accès.
- Les changements de rôle nécessitent parfois une reconnexion pour être pris en compte côté frontend (cache JWT).
Cet article fait partie du Guide de l'administrateur — version PDF complète