Gestion des utilisateurs
Les comptes se gèrent dans Paramètres → Utilisateurs (permission admin.users). La console Symfony sert au démarrage d'un serveur et au dépannage.
Créer un compte
- Paramètres → Utilisateurs → Nouvel utilisateur.
- Renseigner Prénom, Nom, Email (identifiant de connexion, unique) et Mot de passe.
- Choisir un ou plusieurs Rôles : ils déterminent ce que l'utilisateur peut faire.
- Renseigner le Périmètre de visibilité : ce que l'utilisateur peut voir.
- Institution : l'organisme de l'utilisateur.
- Projets suivis : les projets dont il voit les données.
- Accès au registre national : à cocher seulement pour les personnes qui doivent voir tout le registre.
- Laisser Compte actif coché, puis Créer.
L'utilisateur reçoit un e-mail de bienvenue (envoi asynchrone) qui contient son mot de passe initial. Lui demander de le changer à la première connexion dans Mon profil → Sécurité.
Un compte sans institution ni projet, et sans accès au registre national, ne voit aucune donnée, même avec des rôles étendus. Seul ROLE_ADMIN échappe au cloisonnement. Le libellé « Aucune — voit tout » du sélecteur d'institution est trompeur : l'absence d'institution ne donne pas accès à tout.
Les mots de passe saisis ici ne sont pas contrôlés par le système : appliquer soi-même la politique de mots de passe.
Modifier un compte
Cliquer sur Modifier dans la ligne de l'utilisateur. Tous les champs sont modifiables ; laisser Mot de passe vide pour le conserver.
Les permissions viennent uniquement des rôles. Le bouton Voir les permissions les affiche ; pour les changer, modifier le rôle dans Paramètres → Rôles (voir Rôles et permissions) ou attribuer un autre rôle.
Désactiver un compte
Le bouton de statut de la ligne bascule le compte entre Actif et Inactif. Un compte inactif :
- ne peut plus se connecter, ni rafraîchir sa session : il est déconnecté au plus tard une heure après, à l'expiration de son jeton ;
- conserve son historique et ses traces d'audit ;
- peut être réactivé à tout moment.
Désactiver plutôt que supprimer quand une personne quitte le projet.
Supprimer un compte
Supprimer dans la ligne de l'utilisateur, puis confirmer. La suppression est définitive et tracée dans l'audit. Un administrateur ne peut pas supprimer son propre compte.
Mots de passe
| Situation | Moyen |
|---|---|
| L'utilisateur l'a oublié | lien Mot de passe oublié de la page de connexion, ou connexion par lien magique |
| Un administrateur le remplace | Modifier, champ Mot de passe |
| Serveur, sans accès à l'interface | app:reset-user-password (ci-dessous) ; lève aussi le verrouillage du compte |
Cinq échecs de connexion verrouillent le compte 30 minutes : voir Limitation des requêtes.
Commandes console
Toujours sous l'utilisateur www-data. Remplacer les valeurs entre chevrons ; ne pas laisser un mot de passe dans l'historique du shell (commencer la ligne par une espace si HISTCONTROL=ignorespace).
# Créer un compte
docker exec -u www-data pch_backend php bin/console app:create-user <email> '<mot_de_passe>' <nom> <prenom> --role=ROLE_ADMIN
# Remplacer un mot de passe
docker exec -u www-data pch_backend php bin/console app:reset-user-password <email> '<mot_de_passe>'
app:create-admin et app:reset-admin-password créent ou réinitialisent un compte administrateur générique avec un mot de passe prévisible. Elles ne servent qu'en développement local.
Liste et recherche
L'écran affiche le nombre de comptes actifs, inactifs et administrateurs, puis la liste paginée avec une recherche par nom ou e-mail. Il n'y a pas d'export de la liste des utilisateurs.
Les connexions (réussies et échouées, avec l'adresse IP) et les modifications de comptes sont tracées : Administration → Audits.
Bonnes pratiques
- Un compte par personne, jamais de compte partagé.
- Rôle minimal, périmètre minimal ; l'accès au registre national est une exception à justifier.
- Revoir chaque trimestre les comptes inactifs et les administrateurs.
- Quand un prestataire termine sa mission : désactiver ses comptes le jour même.