PERMISSIONS-README

Fichier: PERMISSIONS-README.md | Taille: 5.53 KB | Modifié: 25/10/2025 09:21

🔐 Système de Permissions par Rôle

🎯 Rôles disponibles

Votre système dispose maintenant de 3 nôles avec des permissions différentes :

| Rôle | Description | Icône |

|------|-------------|-------|

| Administrateur | Accès complet à tout le système | 👑 |

| Gestionnaire | Peut gérer factures, clients et produits | 💼 |

| Lecteur | Peut uniquement consulter (lecture seule) | 👁️ |

---

📋 Permissions par rôle

👑 Administrateur

Tout - Accès complet

  • ✅ Voir, créer, modifier, supprimer les factures
  • ✅ Voir, créer, modifier, supprimer les clients
  • ✅ Voir, créer, modifier, supprimer les produits
  • ✅ Voir, créer, modifier, supprimer les utilisateurs
  • ✅ Modifier les paramètres
  • ✅ Envoyer des emails

💼 Gestionnaire

Gestion quotidienne

  • ✅ Voir, créer, modifier, supprimer les factures
  • ✅ Voir, créer, modifier, supprimer les clients
  • ✅ Voir, créer, modifier, supprimer les produits
  • ✅ Envoyer des emails
  • PAS d'accès à la gestion des utilisateurs
  • PAS d'accès aux paramètres

👁️ Lecteur (Lecture seule)

Consultation uniquement

  • ✅ Voir les factures
  • ✅ Voir les clients
  • ✅ Voir les produits
  • ✅ Imprimer les factures
  • PAS de création
  • PAS de modification
  • PAS de suppression
  • PAS d'envoi d'emails

---

🎨 Interface selon le rôle

Pour un Lecteur, l'interface masque automatiquement :

Sur la page des factures :

  • ❌ Bouton "➕ Nouvelle facture"
  • ❌ Bouton "✏️ Modifier" sur chaque facture
  • ❌ Bouton "🗑️ Supprimer" sur chaque facture
  • ✅ Bouton "👁️ Voir" (visible)

Sur la vue d'une facture :

  • ❌ Bouton "✏️ Modifier"
  • ❌ Bouton "📧 Envoyer par email"
  • ✅ Bouton "🖨️ Imprimer / PDF" (visible)

Sur la page des clients :

  • ❌ Bouton "➕ Nouveau client"
  • ❌ Bouton "✏️ Modifier" sur chaque client
  • ❌ Bouton "🗑️ Supprimer" sur chaque client

Sur la page des produits :

  • ❌ Bouton "➕ Nouveau produit"
  • ❌ Bouton "✏️ Modifier" sur chaque produit
  • ❌ Bouton "🗑️ Supprimer" sur chaque produit

---

🔒 Protection des pages

Si un Lecteur essaie d'accéder directement à une URL protégée :

```

❌ /admin/edit-invoice.php

→ Redirigé vers /admin/invoices.php

→ Message : "Vous n'avez pas la permission d'effectuer cette action."

```

---

🛠️ Fichiers modifiés

| Fichier | Modifications |

|---------|--------------|

| check-permissions.php | ✨ NOUVEAU - Système de permissions |

| edit-invoice.php | 🔒 Protection création/modification |

| view-invoice.php | 🎨 Masquage boutons Modifier/Email |

| invoices.php | 🎨 Masquage boutons selon rôle |

| clients.php | 🎨 Masquage boutons selon rôle |

| products.php | 🎨 Masquage boutons selon rôle |

---

📝 Comment attribuer un rôle

  1. Allez dans "Utilisateurs"
  2. Créez un nouvel utilisateur
  3. Sélectionnez le rôle :

- 👑 Administrateur

- 💼 Gestionnaire

- 👁️ Lecteur

---

🧪 Test du système

Pour tester le rôle "Lecteur" :

  1. Créez un utilisateur lecteur :

- Nom : lecteur_test

- Rôle : Lecteur

  1. Déconnectez-vous
  1. Connectez-vous avec le compte lecteur
  1. Vérifiez :

- ✅ Vous voyez les factures

- ❌ Pas de bouton "Nouvelle facture"

- ❌ Pas de bouton "Modifier"

- ❌ Pas de bouton "Supprimer"

  1. Essayez d'accéder directement :

```

www.web.proinfo83.fr/admin/edit-invoice.php

```

→ Vous serez redirigé avec un message d'erreur

---

🔧 Fonctions disponibles dans le code

Si vous voulez personnaliser davantage, utilisez ces fonctions :

```php

// Vérifier si l'utilisateur a une permission

if (hasPermission('create_invoice')) {

// Afficher le bouton

}

// Vérifier si l'utilisateur est en lecture seule

if (isReadOnly()) {

// Masquer tous les boutons de modification

}

// Obtenir le rôle de l'utilisateur

$role = getUserRole(); // 'administrateur', 'gestionnaire', ou 'lecteur'

// Forcer une permission (redirige si pas autorisé)

requirePermission('edit_invoice', 'invoices.php');

```

---

🎯 Cas d'usage

Exemple 1 : Comptable externe

Rôle : Lecteur

Besoin : Consulter les factures pour la comptabilité

Accès : Lecture seule, peut imprimer

Exemple 2 : Assistant commercial

Rôle : Gestionnaire

Besoin : Créer des factures et gérer les clients

Accès : Complet sauf gestion des utilisateurs

Exemple 3 : Propriétaire

Rôle : Administrateur

Besoin : Contrôle total

Accès : Tout

---

🚀 Installation

  1. Uploadez les fichiers modifiés :

- ✅ check-permissions.php (nouveau)

- ✅ edit-invoice.php

- ✅ view-invoice.php

- ✅ invoices.php

- ✅ clients.php

- ✅ products.php

  1. Testez :

- Créez un utilisateur avec le rôle "Lecteur"

- Connectez-vous avec ce compte

- Vérifiez que vous ne pouvez pas modifier

---

⚠️ Important

  • Les utilisateurs Administrateur et Gestionnaire gardent tous leurs droits
  • Seul le rôle Lecteur est restreint
  • Un lecteur peut toujours imprimer les factures
  • Un lecteur ne peut pas envoyer d'emails

---

Votre système est maintenant sécurisé avec des permissions par rôle ! 🔐✨