Rôles & permissions
Qui peut voir et faire quoi. Le modèle est simple : des permissions atomiques, regroupées en rôles, attribués aux comptes.
Le modèle en trois niveaux
Permission
ex. invoices.manage → Rôle
ex. Comptable → Compte
un ou plusieurs rôles
ex. invoices.manage → Rôle
ex. Comptable → Compte
un ou plusieurs rôles
- Une permission est une clé atomique
module.action(ex.clients.view). C'est la source de vérité, définie en code. - Un rôle est un paquet nommé de permissions (table
roles+role_permissions), géré dans l'écran Rôles. - Un compte reçoit un ou plusieurs rôles et hérite de l'union de leurs permissions.
- La clé spéciale
*accorde toutes les permissions — réservez-la aux administrateurs.
Union, jamais soustraction
Les rôles s'additionnent : il n'existe pas de permission « négative ». Pour retirer un droit, retirez le rôle qui le porte. Concevez des rôles ciblés plutôt qu'un rôle large amputé.
Convention view / manage
La plupart des modules exposent deux niveaux symétriques :
- module.view
- Lecture seule — consulter listes et fiches.
- module.manage
- Écriture — créer, modifier, supprimer.
Certains modules ajoutent des actions sensibles distinctes (envoi, approbation, transmission légale), accordées séparément pour un contrôle fin.
Catalogue des permissions
Liste de référence, telle que présentée dans l'écran de configuration des rôles. Chaque module actif contribue ses propres clés : un module éteint n'apparaît pas ici tant qu'il n'est pas réactivé.
Général
| Clé | Autorise |
|---|---|
dashboard.view | Voir le tableau de bord |
Clients & ventes
| Clé | Autorise |
|---|---|
clients.view | Consulter les clients |
clients.manage | Créer / modifier / supprimer des clients |
invoices.view | Consulter les factures |
invoices.manage | Créer / modifier / supprimer des factures |
invoices.send | Envoyer / changer le statut des factures |
efacture.send | Générer & transmettre les factures électroniques (PDP) |
quotes.view | Consulter les devis |
quotes.manage | Créer / modifier / supprimer des devis |
recurring.view | Consulter les paiements récurrents |
recurring.manage | Gérer les paiements récurrents |
Stock, achats & comptabilité
| Clé | Autorise |
|---|---|
stock.view | Consulter les articles et le stock |
stock.manage | Créer / modifier des articles et enregistrer des mouvements |
purchases.view | Consulter les fournisseurs, commandes et factures fournisseurs |
purchases.manage | Gérer fournisseurs, commandes (réceptions) et factures fournisseurs |
accounting.view | Consulter le plan comptable, le journal, le grand livre et la balance |
accounting.manage | Saisir des écritures comptables et gérer comptes / journaux |
Interne
| Clé | Autorise |
|---|---|
expenses.view | Consulter les notes de frais |
expenses.manage | Créer / modifier des notes de frais |
expenses.approve | Approuver / rembourser les notes de frais |
internal.view | Consulter les paiements internes |
internal.manage | Gérer les paiements internes (abonnements, achats) |
calendar.view | Consulter le calendrier partagé |
calendar.manage | Créer / modifier des événements & inviter |
demandes.view | Consulter les demandes de contact |
demandes.manage | Traiter / supprimer les demandes |
Administration
| Clé | Autorise |
|---|---|
accounts.manage | Gérer les comptes (employés & clients) |
roles.manage | Gérer les rôles & permissions |
settings.manage | Gérer les paramètres & le branding |
audit.view | Consulter le journal d'audit |
dataio.export | Exporter les données métier (CSV / FEC) |
dataio.import | Importer des données métier (CSV) |
connectors.view | Consulter les connecteurs & la documentation API |
connectors.manage | Régénérer les clés d'API des connecteurs |
integria.use | Discuter avec l'agent IA IntegrIA |
integria.configure | Configurer le connecteur IA (fournisseur, modèle, clé d'API) |
portal.access | Accéder à l'espace client |
Import et export sont séparés à dessein
dataio.export exfiltre des données, dataio.import en écrit — deux risques distincts. Accordez-les indépendamment.Créer et attribuer un rôle
- Ouvrez Administration → Rôles (route /roles, exige
roles.manage). - Nouveau rôle : donnez-lui un nom métier clair (ex. « Commercial », « Comptable »).
- Cochez les permissions par catégorie. Préférez
viewseul si la lecture suffit. - Attribuez le rôle aux comptes via Authentification → fiche du compte.
Exemples de rôles types
| Rôle | Permissions clés |
|---|---|
| Administrateur | * — tout |
| Commercial | clients.*, quotes.*, invoices.view, dashboard.view |
| Comptable | invoices.*, efacture.send, expenses.approve, dataio.export |
| Gestionnaire stock | stock.*, purchases.* (voir guides modules) |
| Lecture seule | tous les *.view utiles |
Principe du moindre privilège
Donnez le minimum nécessaire. Un compte sans la permission d'un module ne voit même pas son onglet : la barre latérale s'adapte aux droits.
Chaque module rappelle ses permissions précises dans son propre guide (bandeau « Permissions » en tête de page).