nilsframework / nils-users
Module de gestion des utilisateurs pour NilsFramework — inscription, connexion, profil, CRUD
1.0.0
2026-04-19 17:55 UTC
Requires
- php: >=8.1
- nilsframework/nils: ^1.0
- nilsframework/nils-auth: ^1.0
- nilsframework/nils-database: ^1.0
- nilsframework/nils-orm: ^1.0
This package is not auto-updated.
Last update: 2026-04-20 10:43:07 UTC
README
Module de gestion des utilisateurs pour NilsFramework.
Inscription, connexion, profil, CRUD complet — prêt à l'emploi.
📋 Table des matières
Installation
composer require nilsframework/nils-users
Migration SQL
mysql -u root -p ma_base < vendor/nilsframework/nils-users/migrations/users_table.sql
Crée la table nils_users :
| Colonne | Type | Description |
|---|---|---|
id | BIGINT | Clé primaire |
nom | VARCHAR(100) | Nom complet |
email | VARCHAR(255) | Email unique |
password | VARCHAR(255) | Hash bcrypt |
actif | TINYINT | 1 = actif, 0 = désactivé |
created_at | DATETIME | Date de création |
updated_at | DATETIME | Date de modification |
Configuration
Copiez UserController.php dans votre dossier controllers/ :
cp vendor/nilsframework/nils-users/src/UserController.php controllers/
Routes disponibles
Auth
| Méthode | Route | Auth | Description |
|---|---|---|---|
POST | /auth/register | — | Créer un compte |
POST | /auth/login | — | Connexion |
POST | /auth/logout | 🔒 | Déconnexion |
POST | /auth/refresh | — | Rafraîchir le token |
GET | /auth/me | 🔒 | Profil connecté |
PATCH | /auth/me | 🔒 | Modifier son profil |
DELETE | /auth/me | 🔒 | Supprimer son compte |
Utilisateurs
| Méthode | Route | Auth | Description |
|---|---|---|---|
GET | /users | 🔒 | Liste des utilisateurs |
GET | /users/{id} | 🔒 | Détail d'un utilisateur |
PATCH | /users/{id} | 🔒 | Modifier un utilisateur |
DELETE | /users/{id} | 🔒 | Supprimer un utilisateur |
Utilisation
Inscription
POST /auth/register
Content-Type: application/json
{
"nom": "Traore Nils",
"email": "nils@example.com",
"password": "monmotdepasse",
"password_confirmation": "monmotdepasse"
}
{
"success": true,
"message": "Compte créé avec succès.",
"utilisateur": { "id": 1, "nom": "Traore Nils", "email": "nils@example.com" },
"token": "eyJhbGci...",
"refresh_token": "eyJhbGci..."
}
Connexion
POST /auth/login
Content-Type: application/json
{
"email": "nils@example.com",
"password": "monmotdepasse"
}
{
"success": true,
"message": "Connexion réussie.",
"donnees": {
"utilisateur": { "id": 1, "nom": "Traore Nils", "email": "nils@example.com" },
"token": "eyJhbGci...",
"refresh_token": "eyJhbGci..."
}
}
Profil connecté
GET /auth/me
Authorization: Bearer eyJhbGci...
Modifier son profil
PATCH /auth/me
Authorization: Bearer eyJhbGci...
Content-Type: application/json
{
"nom": "Nouveau nom",
"email": "nouveau@email.com"
}
Rafraîchir le token
POST /auth/refresh
Content-Type: application/json
{
"refresh_token": "eyJhbGci..."
}
Déconnexion
POST /auth/logout
Authorization: Bearer eyJhbGci...
Étendre le modèle
namespace modeles;
use NilsUsers\Modeles\User;
class MonUser extends User
{
// Changer la table
protected static string $table = 'mes_utilisateurs';
// Ajouter des champs au schema
protected static array $schema = [
...User::BASE_SCHEMA,
'telephone' => [
'type' => 'string',
'required' => false,
'max' => 20,
],
'adresse' => [
'type' => 'string',
'required' => false,
],
];
// Masquer des champs supplémentaires
protected static array $hidden = ['password', 'actif'];
}
Licence
MIT — © NilsFramework