Apparence
Rôles et accès
Qui a un compte, ce que ce compte peut faire, et pendant combien de temps. C'est ici que l'on ouvre et ferme les accès.
Trois écrans, trois questions différentes : Utilisateurs pour les comptes, Groupes pour ce que chaque rôle autorise, Rôles pour la vue transverse « qui détient quoi, où, et jusqu'à quand ».
Pour qui : un compte avec le statut équipe et les permissions du domaine Authentification et autorisation · Où : section Authentification et autorisation du menu
Écrans couverts : Utilisateurs, Groupes, Rôles
Les colonnes, filtres et droits de chacun sont dans la référence des écrans.
Comprendre
Un groupe est un rôle. Les neuf rôles métier existent comme groupes : Admin, RH n1, RH n2, DA, Manager n1, Manager n2, Salarié, Intérimaire, Service Paie. Ils sont créés à l'installation ; les permissions se posent dessus.
Un rôle s'attribue par une ligne datée, pas par une case. L'écran Rôles (et la sous-liste du même nom sur la fiche d'un compte) est le seul moyen de donner un rôle. Chaque ligne porte :
- un Rôle — le groupe ;
- des Établissements — le périmètre. Vide signifie « toute l'association » ;
- une Date de début — vide signifie « actif dès la création » ;
- une Date de fin — vide signifie « attribution permanente ».
La même ligne sert donc aux deux usages : sans dates elle est permanente, avec une date de fin elle est temporaire. C'est pourquoi l'écran s'appelle Rôles et non « rôles temporaires ».
Le formulaire d'un compte ne propose ni « groupes » ni « permissions de l'utilisateur ». Les deux widgets standard de Django ont été retirés : ils donnent une permission sans période ni périmètre, ce qui entre en concurrence avec les rôles datés. Tout passe par la sous-liste Rôles.
Le statut équipe n'est pas un rôle. Il autorise l'accès au back-office et rien d'autre. Un Manager n1 sans Statut équipe travaille dans l'application et n'entre pas ici. Un compte actif qui possède ce statut doit aussi enrôler son propre TOTP à sa première connexion ; ses rôles déterminent ensuite les écrans et actions visibles.
Utiliser et récupérer le second facteur
À la première connexion au back-office, scannez le QR avec une application d'authentification, puis saisissez le code à six chiffres affiché. Le back-office fournit alors exactement dix codes de secours à usage unique. Copiez-les dans un coffre distinct du téléphone et confirmez leur sauvegarde : ils ne seront plus affichés.
Lors d'une connexion habituelle, saisissez le code de l'application. Si le téléphone est indisponible, saisissez l'un des codes de secours dans le même champ ; il est détruit dès son utilisation.
Un super-utilisateur dont la session est elle-même vérifiée peut ouvrir la fiche Utilisateur, choisir Réinitialiser le second facteur et confirmer. Tous les dispositifs et codes de la cible sont supprimés sans changer son mot de passe, son Statut équipe ni ses rôles. Ses sessions déjà ouvertes sont sorties du back-office à leur prochaine requête. La prochaine connexion exige le mot de passe, un nouvel enrôlement et produit dix nouveaux codes.
Si l'unique super-utilisateur a perdu à la fois son téléphone et tous ses codes, l'équipe d'exploitation génère un secours ponctuel sur le serveur :
console
docker compose exec backend python manage.py addstatictoken IDENTIFIANTLe code affiché permet une seule connexion. Le super-utilisateur réinitialise immédiatement son propre second facteur depuis sa fiche, puis se réenrôle. Cette commande est un secours d'exploitation, pas une méthode normale de distribution des codes.
Créer un compte
Ouvrez Utilisateurs et cliquez sur Ajouter utilisateur.
Renseignez le Nom d'utilisateur. Laissez Authentification par mot de passe sur son choix par défaut, puis saisissez le mot de passe et sa confirmation.
Enregistrez.
✅ Vous devriez voir le formulaire complet du compte s'ouvrir : le back-office demande le mot de passe d'abord, le reste ensuite.
Complétez Prénom, Nom et Adresse électronique dans Informations personnelles. L'adresse est ce qui permet d'envoyer un lien de réinitialisation de mot de passe.
Dans Permissions, laissez Actif coché. Ne cochez Statut équipe que si la personne doit accéder au back-office, et Statut super-utilisateur qu'exceptionnellement — il donne tous les droits sans passer par un rôle.
Attribuez un rôle dans la sous-liste Rôles (voir ci-dessous), puis enregistrez.
Le compte ne suffit pas à faire un salarié : la fiche salarié, avec son matricule et ses contrats, se crée à part — voir Salariés.
Attribuer un rôle
Ouvrez la fiche du compte, puis descendez à la sous-liste Rôles. Une ligne vide y est déjà offerte.
Choisissez le Rôle.
Choisissez les Établissements sur lesquels ce rôle vaut, par recherche. Laissez vide pour toute l'association — c'est le cas d'un
Adminou d'unService Paie.Laissez les deux dates vides pour une attribution permanente.
Enregistrez.
✅ Vous devriez voir la ligne apparaître dans l'écran Rôles, avec la coche Actif.
📸 Capture à produire —
images/administration/compte-roles.png
- Écran : back-office, fiche d'un compte ayant deux rôles.
- État : un rôle permanent sans établissement, un rôle borné par une date de fin sur deux établissements.
- Cadrage : la section Permissions et la sous-liste Rôles.
Attribuer un rôle pour une période
Un remplacement, un intérim de direction, une délégation pendant un congé.
Dans la sous-liste Rôles du compte, ajoutez une ligne avec le rôle et les établissements voulus.
Renseignez la Date de début et la Date de fin.
Enregistrez.
✅ Vous devriez voir la ligne dans l'écran Rôles, la coche Actif cochée si la période court aujourd'hui, décochée sinon.
À l'échéance, ne supprimez pas la ligne : elle est la trace de qui détenait quoi et quand. Elle cesse d'agir d'elle-même le lendemain de la date de fin.
Voir qui détient un rôle
Ouvrez Rôles.
Filtrez par Par rôle ou Par établissements dans la colonne de droite.
Cherchez une personne par nom d'utilisateur ou adresse électronique dans la barre de recherche.
✅ Vous devriez voir une ligne par attribution : le compte, le rôle, les établissements, les dates, et la coche Actif pour celles qui valent aujourd'hui.
Les attributions échues restent listées, décochées. C'est voulu.
Changer ce qu'un rôle autorise
Les permissions ne se posent pas sur les personnes mais sur les rôles : une modification vaut immédiatement pour tous les comptes qui détiennent ce rôle.
Ouvrez Groupes et cliquez sur le rôle concerné.
Dans Permissions, déplacez les permissions voulues de la colonne de gauche vers celle de droite.
Enregistrez.
✅ Vous devriez voir le rôle inchangé dans la liste — elle n'affiche que le nom. Le contrôle se fait en réouvrant la fiche.
Les permissions se lisent sous la forme « domaine | objet | action » — « Salariés | salarié | Peut consulter l'annuaire des salariés ». La référence des écrans donne, pour chaque écran, les permissions exactes qu'il exige.
Fermer un accès
Ouvrez la fiche du compte.
Dans Permissions, décochez Actif.
Enregistrez.
✅ Vous devriez voir la personne ne plus pouvoir se connecter, ni à l'application ni au back-office, tout en restant visible dans les listes avec son historique.
Ne supprimez pas le compte : la suppression est refusée dès qu'une fiche salarié le désigne, et elle emporterait ses attributions de rôle.
Points d'attention
- Les rôles livrés n'ouvrent presque rien dans le back-office. À l'installation, les neuf groupes portent uniquement les permissions dont l'application a besoin : consulter l'annuaire des salariés (tous les rôles d'encadrement), voir le détail des enfants à charge (
RH n1,RH n2), tenir les personnes à prévenir et les rattachements (Admin,RH n1,RH n2,DA,Manager n1,Manager n2). Aucun ne permet de tenir les référentiels. Pour qu'un administrateur non super-utilisateur puisse le faire, il faut lui cocher le Statut équipe et ajouter les permissions correspondantes à son rôle depuis l'écran Groupes. - Un rôle sans établissement vaut partout. Ce n'est pas un oubli de saisie : le champ vide est la façon de dire « toute l'association ». Si vous voulez borner un rôle, il faut nommer les établissements.
- L'annuaire de l'application n'est pas restreint au périmètre du rôle. Tout rôle d'encadrement voit tous les salariés, quels que soient les établissements de son attribution. Si une restriction est attendue, c'est un écart à signaler.
- Ne renommez pas les groupes livrés. Plusieurs comportements de l'application s'appuient sur le nom exact du rôle. Un renommage les décroche silencieusement.
- Le mot de passe ne se lit pas. La fiche affiche un mot de passe chiffré et un lien pour en définir un nouveau. Personne, administrateur compris, ne peut lire celui d'un autre.
- Le TOTP protège le back-office, pas le SPA. La connexion à l'application reste fondée sur son mot de passe et son JWT ; ce périmètre est distinct.