132 lines
4.7 KiB
Markdown
132 lines
4.7 KiB
Markdown
# Gestion des Utilisateurs - Documentation
|
|
|
|
## Vue d'ensemble
|
|
|
|
Le système de gestion des utilisateurs permet de créer, modifier et supprimer des utilisateurs qui auront accès à l'application admin Ferrovia. Cette fonctionnalité est accessible depuis la page **Paramètres** via l'onglet **Utilisateurs**.
|
|
|
|
## Accès
|
|
|
|
1. Connectez-vous à l'application admin
|
|
2. Accédez à la page **Paramètres** via le menu de navigation
|
|
3. Cliquez sur l'onglet **Utilisateurs**
|
|
|
|
## Fonctionnalités
|
|
|
|
### 1. Liste des utilisateurs
|
|
|
|
La liste des utilisateurs affiche :
|
|
- **Nom complet** : Nom et prénom de l'utilisateur
|
|
- **Email** : Adresse email de l'utilisateur
|
|
- **Rôle** : Badge coloré indiquant le rôle (Administrateur, Gestionnaire, Utilisateur)
|
|
- **Statut** : Badge indiquant si l'utilisateur est actif ou inactif
|
|
- **Actions** : Boutons pour modifier ou supprimer l'utilisateur
|
|
|
|
#### Rôles disponibles
|
|
|
|
- **Administrateur** (rouge) : Accès complet à toutes les fonctionnalités
|
|
- **Gestionnaire** (bleu) : Accès aux fonctionnalités de gestion
|
|
- **Utilisateur** (gris) : Accès limité aux fonctionnalités de base
|
|
|
|
### 2. Créer un utilisateur
|
|
|
|
1. Cliquez sur le bouton **+ Ajouter un utilisateur**
|
|
2. Remplissez le formulaire :
|
|
- **Email*** : Adresse email de l'utilisateur (requis, unique)
|
|
- **Nom*** : Nom de famille (requis)
|
|
- **Prénom*** : Prénom (requis)
|
|
- **Rôle** : Sélectionnez le rôle approprié (par défaut : Utilisateur)
|
|
- **Utilisateur actif** : Cochez pour activer immédiatement l'utilisateur
|
|
3. Cliquez sur **Créer**
|
|
|
|
### 3. Modifier un utilisateur
|
|
|
|
1. Dans la liste, cliquez sur le bouton **Modifier** de l'utilisateur
|
|
2. Modifiez les champs souhaités dans le formulaire
|
|
3. Cliquez sur **Mettre à jour**
|
|
|
|
### 4. Supprimer un utilisateur
|
|
|
|
1. Dans la liste, cliquez sur le bouton **Supprimer** de l'utilisateur
|
|
2. Confirmez la suppression dans la boîte de dialogue
|
|
|
|
> **⚠️ Attention** : La suppression d'un utilisateur est définitive et ne peut pas être annulée.
|
|
|
|
## Validation
|
|
|
|
Le système effectue les validations suivantes :
|
|
|
|
- L'email doit être valide et unique dans le système
|
|
- Le nom et le prénom sont obligatoires
|
|
- L'email est automatiquement converti en minuscules
|
|
- Les espaces en début et fin de champs sont automatiquement supprimés
|
|
|
|
## Stockage des données
|
|
|
|
Toutes les données des utilisateurs sont stockées dans la table `utilisateurs` de la base de données Supabase.
|
|
|
|
### Structure de la table
|
|
|
|
```sql
|
|
CREATE TABLE utilisateurs (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
email VARCHAR(255) NOT NULL UNIQUE,
|
|
nom VARCHAR(100) NOT NULL,
|
|
prenom VARCHAR(100) NOT NULL,
|
|
role VARCHAR(50) NOT NULL DEFAULT 'utilisateur',
|
|
actif BOOLEAN NOT NULL DEFAULT true,
|
|
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
|
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
|
|
);
|
|
```
|
|
|
|
## Installation de la table
|
|
|
|
Pour créer la table dans votre base de données Supabase :
|
|
|
|
1. Accédez à votre dashboard Supabase
|
|
2. Allez dans **SQL Editor**
|
|
3. Exécutez le script `supabase_utilisateurs.sql` fourni à la racine du projet
|
|
4. Vérifiez que la table a été créée avec succès
|
|
|
|
## API
|
|
|
|
Les fonctions API sont disponibles dans `src/api/utilisateurs/index.js` :
|
|
|
|
- `getAllUtilisateurs()` : Récupère tous les utilisateurs
|
|
- `createUtilisateur(userData)` : Crée un nouvel utilisateur
|
|
- `updateUtilisateur(id, userData)` : Met à jour un utilisateur existant
|
|
- `deleteUtilisateur(id)` : Supprime un utilisateur
|
|
|
|
Toutes les fonctions retournent un objet `{ data, error }` :
|
|
- En cas de succès : `{ data: {...}, error: null }`
|
|
- En cas d'erreur : `{ data: null, error: {...} }`
|
|
|
|
## Bonnes pratiques
|
|
|
|
1. **Emails uniques** : Chaque utilisateur doit avoir une adresse email unique
|
|
2. **Rôles appropriés** : Assignez les rôles en fonction des responsabilités réelles
|
|
3. **Désactivation vs Suppression** : Préférez désactiver un utilisateur plutôt que le supprimer pour conserver l'historique
|
|
4. **Vérification régulière** : Vérifiez régulièrement la liste des utilisateurs actifs
|
|
|
|
## Dépannage
|
|
|
|
### L'onglet Utilisateurs n'apparaît pas
|
|
- Vérifiez que vous avez bien les dernières modifications du code
|
|
- Assurez-vous que la page Paramètres est correctement chargée
|
|
|
|
### Erreur lors de la création d'un utilisateur
|
|
- Vérifiez que l'email n'est pas déjà utilisé
|
|
- Assurez-vous que tous les champs obligatoires sont remplis
|
|
- Vérifiez la connexion à Supabase
|
|
|
|
### La table utilisateurs n'existe pas
|
|
- Exécutez le script SQL `supabase_utilisateurs.sql` dans votre base de données Supabase
|
|
- Vérifiez les permissions de votre clé API Supabase
|
|
|
|
## Support
|
|
|
|
Pour toute question ou problème, consultez :
|
|
- La documentation de Supabase : https://supabase.com/docs
|
|
- Les logs de la console du navigateur pour plus de détails sur les erreurs
|
|
|