4.7 KiB
4.7 KiB
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
- Connectez-vous à l'application admin
- Accédez à la page Paramètres via le menu de navigation
- 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
- Cliquez sur le bouton + Ajouter un utilisateur
- 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
- Cliquez sur Créer
3. Modifier un utilisateur
- Dans la liste, cliquez sur le bouton Modifier de l'utilisateur
- Modifiez les champs souhaités dans le formulaire
- Cliquez sur Mettre à jour
4. Supprimer un utilisateur
- Dans la liste, cliquez sur le bouton Supprimer de l'utilisateur
- 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
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 :
- Accédez à votre dashboard Supabase
- Allez dans SQL Editor
- Exécutez le script
supabase_utilisateurs.sqlfourni à la racine du projet - 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 utilisateurscreateUtilisateur(userData): Crée un nouvel utilisateurupdateUtilisateur(id, userData): Met à jour un utilisateur existantdeleteUtilisateur(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
- Emails uniques : Chaque utilisateur doit avoir une adresse email unique
- Rôles appropriés : Assignez les rôles en fonction des responsabilités réelles
- Désactivation vs Suppression : Préférez désactiver un utilisateur plutôt que le supprimer pour conserver l'historique
- 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.sqldans 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