
Dolibarr ERP & CRM est devenu l'une des solutions de gestion open-source les plus populaires pour les entreprises de toutes tailles. Son architecture modulaire, sa facilité de personnalisation et sa communauté active en font un choix attrayant pour les entreprises souhaitant rationaliser leurs opérations sans les coûts et la complexité des ERP propriétaires. Toutefois, l’un des défis plus subtils auxquels sont confrontés de nombreux utilisateurs de Dolibarr concerne les permissions utilisateurs — en particulier, est-il possible d’assigner et de contrôler les accès utilisateurs à chaque entrepôt individuellement ?
Dans cet article, nous explorerons ce sujet en profondeur. Nous passerons en revue la gestion des rôles et permissions dans Dolibarr, le fonctionnement du module entrepôt, et dans quelle mesure un contrôle fin des accès est envisageable. Nous aborderons également des solutions alternatives, y compris les modules communautaires et les stratégies de développement personnalisé. Cette discussion complète vise à aider les administrateurs Dolibarr à comprendre leurs options en matière de sécurité et de segmentation des données d’entrepôt par utilisateur.
-
Comprendre le modèle de permissions de Dolibarr
Dolibarr met en œuvre un modèle de contrôle d'accès basé sur les rôles (RBAC). Les administrateurs assignent les utilisateurs à des groupes, et ces groupes se voient accorder des permissions pour accéder à certains modules et fonctionnalités. Les permissions peuvent être configurées de manière granulaire — par exemple, accès en lecture seule ou écriture sur les données clients.
Les permissions sont configurées depuis l’interface utilisateur ou groupe, et chaque module (Produits, Factures, Entrepôts, etc.) offre ses propres options de permissions. Toutefois, le modèle de permissions de Dolibarr est principalement conçu pour un accès au niveau des modules, et non des données.
-
Fonctionnement de la gestion des entrepôts dans Dolibarr
Dolibarr intègre un module dédié à la gestion des entrepôts, permettant de gérer plusieurs lieux de stockage, d’effectuer des transferts de stock, et de suivre les niveaux d’inventaire par entrepôt. Les fonctionnalités clés incluent :
-
Création de plusieurs entrepôts
-
Affectation de produits aux entrepôts
-
Suivi des stocks par entrepôt
-
Historique des mouvements de stock
Tous les utilisateurs disposant de l’accès au module entrepôt peuvent en général voir tous les entrepôts configurés, sauf si des filtres ou personnalisations sont ajoutés.
-
Le problème : absence de permissions natives par entrepôt
Par défaut, Dolibarr ne permet pas de restreindre l’accès des utilisateurs à des entrepôts spécifiques. Cela signifie :
-
Un utilisateur ayant accès au module entrepôt voit tous les entrepôts
-
Aucune fonctionnalité standard ne permet de limiter l’accès à certains entrepôts
-
Risque de surexposition des données, notamment dans les structures décentralisées
Cette limitation est particulièrement problématique pour les entreprises avec plusieurs responsables logistiques ou équipes régionales qui ne devraient accéder qu’aux stocks locaux.
-
Pourquoi restreindre l’accès par entrepôt est important
Plusieurs scénarios justifient la restriction d’accès :
-
Entreprises multi-sites : chaque équipe ne doit voir que son stock local
-
Prestataires logistiques : chaque client doit accéder uniquement à ses données
-
Conformité et sécurité : certaines données de stock peuvent être sensibles
-
Ergonomie : simplifier l’interface utilisateur en masquant les entrepôts non pertinents
-
Contournements possibles dans Dolibarr
Malgré cette limitation, certains contournements peuvent être mis en œuvre :
-
Utilisation de groupes distincts : segmenter les utilisateurs en groupes avec des permissions limitées par module. Cela ne permet pas de restreindre par entrepôt.
-
Nommage explicite des entrepôts : préfixer les noms d’entrepôts par région ou département. Cela n’est qu’une aide visuelle.
-
Filtres dans les rapports : former les utilisateurs à filtrer manuellement les données selon leur périmètre.
Ces approches ne fournissent pas de réelle séparation de droits.
-
Utiliser le module Multisociété comme solution partielle
Le module Multisociété permet de gérer plusieurs entités dans une seule instance Dolibarr. Chaque société peut avoir ses propres utilisateurs, tiers et entrepôts.
En créant une société par entrepôt, il devient possible de :
-
Isoler les utilisateurs par société
-
Restreindre l’accès aux entrepôts de leur entité
-
Éviter les conflits de visibilité inter-sites
Limites :
-
Configuration plus lourde
-
Rapports consolidés plus complexes
-
Peu adapté si l’on souhaite une gestion centralisée des entrepôts
-
Recours aux modules communautaires et extensions
Plusieurs modules tiers étendent les capacités de Dolibarr :
-
Module Permissions Avancées : contrôle plus fin sur les fiches produits et documents
-
Extensions Entrepôt : ajout de tags ou métadonnées utilisables comme filtres d’accès
-
Hooks personnalisés : des développeurs insèrent des hooks dans les vues pour afficher ou masquer selon l’ID utilisateur
Ces modules sont disponibles sur Dolistore, GitHub ou auprès de partenaires Dolibarr. Leur niveau de maturité varie.
-
Développement sur mesure
Pour les entreprises disposant de ressources techniques, une solution personnalisée est souvent la plus efficace. Cela peut inclure :
-
Ajout d’une table de correspondance entre utilisateurs et entrepôts
-
Filtrage des listes et rapports de stock selon les droits
-
Création d’une couche intermédiaire via API pour restreindre l’exposition
Ce type de développement exige une bonne connaissance du code Dolibarr et de son cycle de mises à jour.
-
Points à considérer avant un développement personnalisé
Avant de se lancer :
-
Compatibilité future : les évolutions de Dolibarr peuvent casser du code personnalisé
-
Performance : des filtres complexes peuvent ralentir l’interface
-
Maintenance : code à documenter et transférable à d’autres développeurs
-
Sécurité : filtrer côté back-end, jamais uniquement en interface
Un développement personnalisé apporte un fort contrôle mais à un coût élevé.
-
Perspectives futures et demandes communautaires
La communauté Dolibarr a déjà exprimé ce besoin :
-
Demandes GitHub ouvertes pour des permissions par entrepôt
-
Discussions sur les forums Dolibarr
Des pistes envisageables :
-
Intégrer les permissions par entrepôt dans le module de base
-
Améliorer Multisociété avec filtrage inter-sociétés
-
Créer une gestion de listes de contrôle d’accès (ACL) pour le stock
Les entreprises concernées peuvent sponsoriser le développement de cette fonctionnalité.
-
Bonnes pratiques actuelles
En l’absence de fonction native, on recommande :
-
Former les utilisateurs aux filtres manuels
-
Nommer clairement les entrepôts
-
Définir les responsabilités par processus métier plutôt que par lieu
-
Surveiller les accès via journaux d’activité
Cela ne remplace pas une vraie restriction d’accès, mais en limite les effets indésirables.
-
Conclusion
Dolibarr propose un module complet de gestion des entrepôts, mais ne permet pas de gérer les permissions utilisateurs par entrepôt en standard. Les structures souhaitant cette fonctionnalité doivent recourir à des contournements, des modules externes ou un développement sur mesure.
Pour certaines, le module Multisociété permet une séparation partielle. Pour d’autres, un développement dédié ou un module communautaire sera plus pertinent.
En définitive, tout dépend de l’organisation, des exigences de sécurité et des capacités techniques internes. Connaître les limites actuelles et les solutions disponibles permet d’adopter une stratégie adaptée pour sécuriser et rationaliser la gestion des entrepôts sous Dolibarr.