# INFRASACCESS

Interdit à des utilisateurs ou à des groupes les documents de certains tiers, sans leur retirer l'accès aux tiers.

# 01. PRÉSENTATION DU MODULE

# Présentation du module

InfrasAccess permet d'interdire à certains utilisateurs ou à certains groupes d'utilisateurs (par exemple des sous-traitants) la consultation et le traitement des documents de certains tiers, **sans leur retirer l’accès aux tiers eux-mêmes**.

##### **Exemple d'usage**

Les factures d'un fournisseur sensible ne doivent être vues que par la direction et la comptabilité. Un sous-traitant, qui a pourtant besoin de consulter la fiche de ce fournisseur (coordonnées, contacts, contrats), ne doit voir ni ses factures, ni leurs paiements, ni les écritures bancaires correspondantes.

#### **Périmètre de la version 1**

Dans sa version 1, le module gère un seul type de document :

- les factures fournisseurs,
- ainsi que leurs paiements et les écritures bancaires de ces paiements.

<p class="callout info">Le module fonctionne par **« LISTE BLANCHE »** : chaque règle est une **AUTORISATION**. Dès qu'un tiers a au moins une règle pour un type de document, seuls les utilisateurs et les groupes de ses règles voient ces documents ; tous les autres utilisateurs en sont privés. Un tiers sans aucune règle reste visible par tous, selon les droits ***Dolibarr*** habituels.</p>

#### **Informations générales**

<table id="bkmrk-%C3%89l%C3%A9mentvaleurmodulei" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 265px;"></col><col></col></colgroup><tbody><tr><th style="background-color: rgb(22, 145, 121); color: rgb(255, 255, 255); border: 1px solid rgb(22, 145, 121); padding: 6px;">Élément

</th><th style="background-color: rgb(22, 145, 121); color: rgb(255, 255, 255); border: 1px solid rgb(22, 145, 121); padding: 6px;">Valeur

</th></tr><tr><td style="border: 1px solid rgb(206, 212, 217); padding: 6px;">Module

</td><td style="border: 1px solid rgb(206, 212, 217); padding: 6px;">InfrasAccess (numéro 550097)

</td></tr><tr style="height: 10px;"><td style="border: 1px solid rgb(206, 212, 217); padding: 6px;">Version du manuel

</td><td style="border: 1px solid rgb(206, 212, 217); padding: 6px;">22.0.0 (octobre 2026)

</td></tr><tr><td style="border: 1px solid rgb(206, 212, 217); padding: 6px;">Éditeur

</td><td style="border: 1px solid rgb(206, 212, 217); padding: 6px;">InfraS - [https://www.infras.fr](https://www.infras.fr) - <support@infras.fr>

</td></tr><tr><td style="border: 1px solid rgb(206, 212, 217); padding: 6px;">Compatibilité

</td><td style="border: 1px solid rgb(206, 212, 217); padding: 6px;">Dolibarr 22 (standard et LTS by InfraS), 23 et 24

PHP 7.1 à 8.4, avec ou sans le module Multi-société

</td></tr></tbody></table>

# **Principes de fonctionnement**

#### **Composition d’une règle**

Une **règle** associe trois éléments :

1. un **tiers** (fournisseur) ;
2. un **type de document** (version 1 : « Factures fournisseurs ») ;
3. une cible autorisée : soit un utilisateur, soit un groupe d'utilisateurs (jamais les deux à la fois)

#### **Effets d’une règle**

- **TIERS SANS RÈGLE :** ses documents sont visibles par tous ceux qui en ont le droit dans ***Dolibarr***. Le module n'intervient pas.
- **TIERS AVEC AU MOINS UNE RÈGLE :** ses documents sont RÉSERVÉS. Seuls les utilisateurs autorisés (directement ou par l'un de leurs groupes) peuvent voir et traiter les factures fournisseurs de ce tiers, leurs paiements et les écritures bancaires de ces paiements. Tous les autres utilisateurs en sont privés, quels que soient leurs droits ***Dolibarr***.
- Dans tous les cas, le tiers lui-même reste visible et modifiable par tous, selon les droits ***Dolibarr*** de chacun. Les autres documents du tiers (commandes, propositions, contrats, etc.) ne sont pas concernés par la version 1 du module.

#### **Utilisateur restreint et cumul des règles**

Un utilisateur est dit **« restreint »** dès qu'il existe au moins un tiers avec des règles sur lequel il n'est pas autorisé (ni directement, ni par un de ses groupes). Les autorisations personnelles et celles des groupes se cumulent.

**POINT D'ATTENTION IMPORTANT :** dès qu'un tiers reçoit sa première règle, tous les utilisateurs non cités deviennent restreints sur ce tiers, y compris le personnel interne (comptabilité, direction) et les comptes techniques (tâches planifiées, imports, réception des factures électroniques). Pensez à les autoriser sur chaque tiers réservé, par exemple en créant un groupe « Interne » autorisé sur tous les tiers réservés. Il n'existe pas de réglage « toujours autorisé » dans le module.

Les règles d'un utilisateur et celles de ses groupes se cumulent : l'ensemble des tiers interdits à un utilisateur est la réunion des tiers visés par ses règles personnelles et par les règles de tous ses groupes.

<p class="callout success">Le module **ne modifie aucun fichier du cœur de** ***Dolibarr*** ni d'un module tiers : il agit uniquement par ses propres pages, ses hooks et son trigger. Il reste donc compatible avec les mises à jour de Dolibarr.</p>

# 02. PRÉREQUIS ET INSTALLATION

# Installation et mise en service

### **Prérequis**

- Dolibarr version : 22, 23 ou 24 ;
- Le module « Tiers » (Sociétés) doit être actif (dépendance obligatoire) ;
- L'extension PHP « XML » est recommandée (lecture du changelog du module).

## **Étapes**

1. Déposez le dossier « infrasaccess » dans le répertoire `<span class="editor-theme-code">htdocs/custom/</span>` de votre ***Dolibarr***.
2. Activez le module dans **Accueil &gt; Configuration &gt; Modules/Applications**, famille « Modules InfraS » nom : **« Restrictions d’accès par tiers »**. À l'activation, le module crée sa table de règles. Si cette création échoue, le module refuse de s'activer.
3. Attribuez le droit **« Gérer les restrictions d’accès** (créer et supprimer les règles) **»** aux personnes chargées de saisir les règles.
4. Préparez les autorisations : identifiez les utilisateurs et les groupes qui doivent conserver l'accès aux documents des tiers que vous allez réserver (personnel interne, comptes techniques). Un groupe dédié simplifie la saisie.
5. Saisissez les règles :
6. - - - soit dans l'onglet **« Restrictions d'accès »** de la fiche de chaque tiers à réserver
            - soit dans l'onglet **« Règles »** des paramètres du module, qui liste toutes les règles de l'entité.
7. Pour chaque tiers réservé, créez d'abord les règles des utilisateurs et des groupes autorisés AVANT de considérer le tiers comme protégé : dès la première règle, les autres utilisateurs perdent l'accès.
8. Vérifiez le réglage de l'option **« Masquer les widgets et tableaux de bord des factures fournisseurs »** (activée par défaut).

<p class="callout info">Aucune autre configuration n'est nécessaire : les restrictions s'appliquent immédiatement après la création d'une règle.</p>

# 03. DROITS D'ACCÈS

# 04. GESTION DES RÈGLES

# Règles

### **Créer et supprimer une règle**

##### **Depuis la fiche du tiers (onglet « Restrictions d’accès »)**

[![w1.png](https://wiki.infras.fr/uploads/images/gallery/2026-10/scaled-1680-/x30OMhnrrXTtJCm4-w1.png)](https://wiki.infras.fr/uploads/images/gallery/2026-10/scaled-1680-/x30OMhnrrXTtJCm4-w1.png)

C'est la méthode la plus naturelle quand on travaille tiers par tiers.

1. Ouvrez la fiche du tiers (Tiers &gt; liste des tiers ou des fournisseurs).
2. Cliquez sur l'onglet « Restrictions d’accès ».
3. Dans le bloc « Nouvelle règle », choisissez :
    - **« Documents interdits »** : le type de document (version 1 : « Factures fournisseurs ») ;
    - **« Utilisateur »** : l'utilisateur à restreindre, **ou**
    - **« ou groupe »** : le groupe à restreindre.
    
    Ne renseignez qu'une seule cible : un utilisateur OU un groupe.
4. Cliquez sur « Ajouter ».

Un message « Règle ajoutée » confirme la création. La règle apparaît dans le tableau « Règles de ce tiers », avec :

- Le type de document interdit
- L'utilisateur ou le groupe visé (lien vers sa fiche)
- La date et l'heure de création
- Une icône de suppression.

<p class="callout info">Si aucune règle n'existe, le tableau affiche : **« Aucune règle : les documents de ce tiers sont visibles par tous ceux qui en ont le droit. »**</p>

#### **Depuis les paramètres du module (onglet « Règles »)**

[![w2.png](https://wiki.infras.fr/uploads/images/gallery/2026-10/scaled-1680-/CyVbFvKo5Qq5Vubl-w2.png)](https://wiki.infras.fr/uploads/images/gallery/2026-10/scaled-1680-/CyVbFvKo5Qq5Vubl-w2.png)

Cette page offre une vue d'ensemble de toutes les règles de l'entité en cours et permet de les créer et de les supprimer sans passer par chaque fiche tiers.

Accès : **Outils &gt; InfraS &gt; InfrasAccess &gt; Règles**, ou onglet « Règles » de la configuration du module.

### **Création d’une règle**

[![w4.png](https://wiki.infras.fr/uploads/images/gallery/2026-10/scaled-1680-/GzSnUYIqWo76wALx-w4.png)](https://wiki.infras.fr/uploads/images/gallery/2026-10/scaled-1680-/GzSnUYIqWo76wALx-w4.png)

Le bloc « Nouvelle règle » contient un champ supplémentaire par rapport à l'onglet tiers : le sélecteur « Tiers ». Choisissez le tiers, le type de document et un utilisateur OU un groupe, puis cliquez sur « Ajouter ». En cas de refus, les valeurs saisies sont conservées dans le formulaire pour ne pas avoir à tout ressaisir.

#### **Liste des règles**

Le tableau présente, pour chaque règle :

- Le tiers (lien vers sa fiche)
- Les documents interdits
- L'utilisateur ou le groupe visé
- La date de création
- Une icône de suppression.

Les colonnes Tiers, Documents interdits, Utilisateur ou groupe et Date de création sont triables (clic sur l'en-tête). La liste est paginée selon le nombre de lignes par page défini dans ***Dolibarr***.

#### **Filtres**

Ligne de filtre au-dessus des en-têtes :

- par tiers ;
- par type de document ;
- par utilisateur ;
- par groupe.

Cliquez sur la loupe pour appliquer les filtres, sur la croix pour les effacer.

Particularité du filtre « Utilisateur » : il affiche les règles qui visent directement l'utilisateur **et** les règles qui visent l'un de ses groupes. La liste montre donc tout ce qui est réellement interdit à cet utilisateur. Une colonne « Origine » apparaît alors :

<table id="bkmrk-mentionsignification" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 321px;"></col><col></col></colgroup><tbody><tr><th style="background-color: rgb(234, 88, 12); color: rgb(255, 255, 255); border: 1px solid rgb(251, 146, 60); padding: 6px;">Mention

</th><th style="background-color: rgb(234, 88, 12); color: rgb(255, 255, 255); border: 1px solid rgb(251, 146, 60); padding: 6px;">Signification

</th></tr><tr><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">Règle de l’utilisateur

</td><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">Règle qui le vise directement

</td></tr><tr><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">Par le groupe &lt;nom du groupe&gt;

</td><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">Règle héritée d’un de ses groupes

</td></tr></tbody></table>

<p class="callout warning">Si un tiers visé par une règle a été supprimé par un autre moyen que l'interface ***Dolibarr*** (par exemple directement en base), la ligne affiche « Tiers supprimé (n° xx) ». La règle peut alors être supprimée.</p>

#### **Contrôles effectués à la création**

Le module refuse une règle dans les cas suivants :

<table id="bkmrk-casd%C3%A9tailmessager%C3%A8gl" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 121px;"></col><col></col><col></col></colgroup><tbody><tr><th style="background-color: rgb(234, 88, 12); color: rgb(255, 255, 255); border: 1px solid rgb(251, 146, 60); padding: 6px;">Cas

</th><th style="background-color: rgb(234, 88, 12); color: rgb(255, 255, 255); border: 1px solid rgb(251, 146, 60); padding: 6px;">Détail

</th><th style="background-color: rgb(234, 88, 12); color: rgb(255, 255, 255); border: 1px solid rgb(251, 146, 60); padding: 6px;">Message

</th></tr><tr><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">Règle incomplète

</td><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">Tiers manquant, type de document inconnu, aucune cible choisie, ou utilisateur ET groupe choisis en même temps.

</td><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">« Règle incomplète : choisissez un tiers, un type de document et soit un utilisateur, soit un groupe (pas les deux). »

</td></tr><tr><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">Cible inexistante

</td><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">Le tiers, l'utilisateur ou le groupe n'existe pas ou n'est pas accessible dans l'entité en cours.

</td><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">« Le tiers, l’utilisateur ou le groupe choisi n’existe pas. »

</td></tr><tr><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">Doublon

</td><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">Une règle identique (même tiers, même type, même cible) existe déjà dans l'entité.

</td><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">« Cette règle existe déjà. » (avertissement, pas d'erreur)

</td></tr></tbody></table>

<p class="callout warning">Si la règle vise un administrateur jamais restreint (voir chapitre 9), elle est tout de même créée, mais un avertissement s'affiche : « Cet utilisateur est un administrateur jamais restreint : la règle n’aura aucun effet tant qu’il gardera ce statut. » Dans les listes, le nom de cet utilisateur est suivi de la mention « (administrateur jamais restreint : sans effet) ». La règle prendra effet automatiquement si l'utilisateur perd son statut d'administrateur.</p>

## **Suppression d’une règle**

[![w3.png](https://wiki.infras.fr/uploads/images/gallery/2026-10/scaled-1680-/R4ePHll3ypxNhaSy-w3.png)](https://wiki.infras.fr/uploads/images/gallery/2026-10/scaled-1680-/R4ePHll3ypxNhaSy-w3.png)

1. Dans l'onglet « Restrictions d’accès » du tiers ou dans l'onglet « Règles » des paramètres, cliquez sur l'icône de suppression (poubelle) de la ligne concernée.
2. Une boîte de confirmation s'affiche : « Supprimer cette règle ? Les documents concernés redeviendront visibles. »
3. Confirmez par « Oui ».

Un message « Règle supprimée » confirme l'opération. Les documents du tiers redeviennent immédiatement accessibles à l'utilisateur ou au groupe visé (sous réserve de ses droits ***Dolibarr*** habituels et d'autres règles éventuelles).

<p class="callout info">Depuis l'onglet d'un tiers, seules les règles de ce tiers peuvent être supprimées. Si la règle n'existe plus (déjà supprimée par un autre utilisateur), le message « Cette règle n’existe plus. » s'affiche.</p>

## **Suppression automatique des règles**

Le module supprime automatiquement les règles devenues sans objet :

<table id="bkmrk-suppression-de%E2%80%A6r%C3%A8gle" style="border-collapse: collapse; width: 100%;"><colgroup><col></col><col></col></colgroup><tbody><tr><th style="background-color: rgb(234, 88, 12); color: rgb(255, 255, 255); border: 1px solid rgb(251, 146, 60); padding: 6px;">Suppression de…

</th><th style="background-color: rgb(234, 88, 12); color: rgb(255, 255, 255); border: 1px solid rgb(251, 146, 60); padding: 6px;">Règles supprimées

</th></tr><tr><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">Un tiers

</td><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">Toutes les règles de ce tiers

</td></tr><tr><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">Un utilisateur

</td><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">Toutes les règles qui le visent

</td></tr><tr><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">Un groupe

</td><td style="border: 1px solid rgb(253, 186, 116); padding: 6px;">Toutes les règles qui le visent

</td></tr></tbody></table>

<p class="callout info">Aucune intervention n'est nécessaire. En revanche, le retrait d'un utilisateur d'un groupe ne supprime aucune règle : la règle de groupe reste en place et ne s'applique plus à cet utilisateur, simplement parce qu'il n'en est plus membre.</p>

# 05. CONFIGURATION DU MODULE

# Paramètres du module

[![w5.png](https://wiki.infras.fr/uploads/images/gallery/2026-10/scaled-1680-/ZsNAI5gR9b8x9wLn-w5.png)](https://wiki.infras.fr/uploads/images/gallery/2026-10/scaled-1680-/ZsNAI5gR9b8x9wLn-w5.png)

Accès : **Outils &gt; InfraS &gt; InfrasAccess &gt; Paramètres**, ou onglet « Paramètres » de la configuration du module. Droit requis : « Modifier les paramètres du module » (ou administrateur).

## **Option « Masquer les widgets et tableaux de bord des factures fournisseurs »**

Groupe « Affichage pour les utilisateurs restreints ». Valeur par défaut : **activée**.

Certains blocs de ***Dolibarr*** affichent des listes de factures fournisseurs qui ne peuvent pas être filtrées ligne par ligne par le module :

- les widgets de la page d'accueil (dernières factures fournisseurs, factures impayées, etc.) ;
- les blocs de l'espace Fournisseurs (Fournisseurs &gt; Accueil) ;
- les blocs de l'espace Facturation (Facturation &gt; Accueil) ;
- l'espace Factures fournisseurs (page d'accueil de la rubrique).

#### **Comportement selon le réglage**

Pour tout utilisateur qui a au moins une règle :

<table id="bkmrk-r%C3%A9glagecomportementa" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 234px;"></col><col></col></colgroup><tbody><tr><th style="background-color: rgb(121, 68, 30); color: rgb(255, 255, 255); border: 1px solid rgb(180, 130, 95); padding: 6px;">Réglage

</th><th style="background-color: rgb(121, 68, 30); color: rgb(255, 255, 255); border: 1px solid rgb(180, 130, 95); padding: 6px;">Comportement

</th></tr><tr style="background-color: rgb(249, 238, 231);"><td style="border: 1px solid rgb(180, 130, 95); padding: 6px;">**Activée**

</td><td style="border: 1px solid rgb(180, 130, 95); padding: 6px;">Ces blocs et widgets sont masqués. L'espace Factures fournisseurs renvoie automatiquement vers la liste des factures fournisseurs, qui est, elle, filtrée.

</td></tr><tr><td style="border: 1px solid rgb(180, 130, 95); padding: 6px;">**Désactivée**

</td><td style="border: 1px solid rgb(180, 130, 95); padding: 6px;">Ces blocs restent visibles et **peuvent montrer** des factures de tiers interdits (référence, montant, fournisseur). L'ouverture de ces factures reste refusée.

</td></tr></tbody></table>

<p class="callout warning">N'utilisez le réglage désactivé que si l'affichage de ces informations est acceptable.</p>

Les utilisateurs sans aucune règle ne sont jamais concernés par cette option : ils voient tous les blocs normalement. Le bloc « Informations » de la page rappelle la règle d'exemption des administrateurs (chapitre 9).

## **Sauvegarde et restauration des paramètres**

Droit requis : « Sauvegarder et restaurer les paramètres du module » (ou administrateur). En haut de l'onglet « Paramètres », deux boutons :

<table id="bkmrk-boutonaction%C2%AB-sauveg" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 141px;"></col><col></col></colgroup><tbody><tr><th style="background-color: rgb(121, 68, 30); color: rgb(255, 255, 255); border: 1px solid rgb(180, 130, 95); padding: 6px;">Bouton

</th><th style="background-color: rgb(121, 68, 30); color: rgb(255, 255, 255); border: 1px solid rgb(180, 130, 95); padding: 6px;">Action

</th></tr><tr style="background-color: rgb(249, 238, 231);"><td style="border: 1px solid rgb(180, 130, 95); padding: 6px;">**« Sauvegarder »**

</td><td style="border: 1px solid rgb(180, 130, 95); padding: 6px;">Enregistre les options du module (constantes `<span class="editor-theme-code">INFRASACCESS_*</span>`) dans un fichier SQL du répertoire des documents (`<span class="editor-theme-code">documents/infrasaccess/sql/update.<entité></span>`), avec une copie horodatée dans `<span class="editor-theme-code">documents/admin/</span>`

</td></tr><tr><td style="border: 1px solid rgb(180, 130, 95); padding: 6px;">**« Restaurer »**

</td><td style="border: 1px solid rgb(180, 130, 95); padding: 6px;">Recharge les options depuis la dernière sauvegarde. Après une restauration, rafraîchissez la page (touche F5) pour voir le résultat.

</td></tr></tbody></table>

<p class="callout danger">**Important**<span style="color: rgb(224, 62, 45);"> </span>: seules les **options**<span style="color: rgb(224, 62, 45);"> </span>sont sauvegardées ; les **règles**<span style="color: rgb(224, 62, 45);"> </span>elles-mêmes sont conservées en base et ne sont pas concernées.</p>

Cette sauvegarde est aussi utilisée automatiquement par le module à sa désactivation et à sa réactivation.