MIGRATION VERS GITEA
This commit is contained in:
commit
5f9d991c15
333 files changed
+108514
No files matched your search
@@ -0,0 +1,131 @@
|
||||
# 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
|
||||
|
||||
Reference in new issue
Block a user