# Patch - Gestion complète des utilisateurs plateforme

## Objectif

Ajouter au super-admin une gestion opérationnelle des comptes utilisateurs sans casser les modules existants : liste, recherche, création, modification, activation/désactivation, suppression contrôlée et création rapide d’un administrateur rattaché à une madrassa.

## Fonctionnalités ajoutées

- Menu `Utilisateurs` actif dans l’espace plateforme.
- Page `/platform/utilisateurs` avec filtres par recherche, rôle, madrassa et statut.
- Création d’un utilisateur super-admin plateforme ou administrateur école.
- Modification d’un utilisateur existant : nom, email, téléphone, profil, madrassa, statut, mot de passe optionnel.
- Fiche détail utilisateur.
- Activation/désactivation d’un compte.
- Suppression contrôlée d’un utilisateur.
- Protection contre la désactivation ou suppression de son propre compte super-admin.
- Création rapide d’un administrateur depuis la fiche d’une madrassa.
- Affichage des administrateurs locaux dans la fiche de chaque madrassa.

## Fichiers ajoutés

- `src/Controller/Platform/UserController.php`
- `src/Form/Platform/UserType.php`
- `templates/platform/user/_form.html.twig`
- `templates/platform/user/_role_badge.html.twig`
- `templates/platform/user/index.html.twig`
- `templates/platform/user/new.html.twig`
- `templates/platform/user/edit.html.twig`
- `templates/platform/user/show.html.twig`
- `docs/sprints/patch-gestion-utilisateurs-platform.md`

## Fichiers modifiés

- `src/Repository/UserRepository.php`
- `templates/platform/base.html.twig`
- `templates/platform/ecole/show.html.twig`
- `src/Controller/Platform/EcoleController.php`

## Vérifications à lancer

```bash
APP_ENV=prod APP_DEBUG=0 php bin/console cache:clear
APP_ENV=prod APP_DEBUG=0 php bin/console lint:twig templates
APP_ENV=prod APP_DEBUG=0 php bin/console debug:router | grep platform_user
```

## Routes ajoutées

- `GET /platform/utilisateurs`
- `GET|POST /platform/utilisateurs/new`
- `GET|POST /platform/utilisateurs/ecole/{id}/new-admin`
- `GET /platform/utilisateurs/{id}`
- `GET|POST /platform/utilisateurs/{id}/edit`
- `POST /platform/utilisateurs/{id}/toggle`
- `POST /platform/utilisateurs/{id}/delete`

## Notes

Les rôles actuellement exposés volontairement sont :

- `ROLE_SUPER_ADMIN`
- `ROLE_ECOLE_ADMIN`

Les autres profils comme secrétaire, comptable ou enseignant pourront être ajoutés plus tard quand leurs permissions et leurs espaces dédiés seront stabilisés.
