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.
Quatre écrans : 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 », Invitations de comptes pour les liens de mot de passe préparés et leurs tentatives d'envoi.
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, Invitations de comptes
Les colonnes, filtres et droits de chacun sont dans la référence des écrans.
Comprendre
L'invitation prépare un lien, pas un mot de passe. Les invitations sont envoyées progressivement à l'email professionnel de la fiche salarié. L'adresse personnelle n'est pas utilisée par cette action.
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 : il n'ouvre ni l'annuaire ni la fiche d'un salarié dans l'application. Un Manager n1 sans Statut équipe travaille dans l'application et n'entre pas ici. RH n1 et RH n2 font exception : leur rôle ouvre à lui seul le back-office, et tous ses écrans (voir « Points d'attention »). 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.
Préparer des liens de mot de passe
La préparation demande la permission de modification des utilisateurs, comme les autres actions sur les comptes. La consultation de la file demande accounts.view_accountinvitation (et accounts.view_invitationattempt pour les tentatives), accordées aux groupes qui détiennent déjà cette modification. Les superutilisateurs ne sont jamais visés par la préparation.
Ouvrez Utilisateurs et sélectionnez une personne ou plusieurs.
Choisissez Préparer un lien de mot de passe, puis Exécuter.
Vérifiez la liste : le destinataire (l'email professionnel de la fiche) et le traitement — première invitation, réinitialisation, renvoi ou motif d'exclusion. Cliquez sur Confirmer la préparation.
✅ Les liens sont préparés ; les emails seront envoyés prochainement. Les comptes inactifs, sans fiche ou sans email professionnel sont ignorés, comme ceux dont le lien est déjà en attente ou en cours.
Ouvrez Invitations de comptes dans Comptes et authentification pour suivre l'état et les tentatives. Cet écran est en lecture seule.
✅ Un renvoi réutilise l'invitation et ouvre trois nouvelles tentatives. L'historique des tentatives précédentes reste visible. Le mot de passe actuel n'est pas modifié tant que la personne n'utilise pas son lien.
La demande garde l'adresse affichée : si la fiche en change avant l'envoi, la demande est annulée avec le motif « Email professionnel modifié depuis la demande », et il faut la préparer de nouveau.
L'état Accepté par le fournisseur confirme la prise en charge du mail, pas sa réception. Un salarié importé peut être sélectionné après saisie de son email professionnel ; cette saisie seule ne déclenche aucun envoi.
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 sans être
RH n1ouRH n2, 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 remplit sur cette même page, dans le bloc Employee qui apparaît sous les rôles — voir Salariés pour son détail. C'est un bloc imbriqué (contrats, affectations, enfants, personnes à prévenir compris), pas une page séparée.
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
Trois chemins mènent au même résultat.
Plusieurs comptes à la fois, depuis le back-office :
Ouvrez la liste Utilisateurs. La colonne Actif montre l'état de chaque compte.
Cochez les comptes concernés.
Choisissez Désactiver les comptes sélectionnés (ou Activer…), puis Envoyer.
✅ Vous devriez voir un message qui compte les comptes modifiés. Votre propre compte n'est jamais désactivé : un avertissement le signale s'il faisait partie de la sélection.
Un seul compte, depuis sa page : dans Permissions, décochez Actif, puis enregistrez. Contrairement aux deux autres chemins, ce changement n'est pas inscrit au journal des actions.
Depuis l'application, sur la fiche salarié, avec la case Compte actif au-dessus du bandeau. RH n1, RH n2 et Admin la voient sur toutes les fiches (permission « Peut activer ou désactiver le compte d'un salarié »). DA, Manager n1 et Manager n2 la voient seulement sur celles des intérimaires (« … d'un intérimaire »).
✅ Dans tous les cas, 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. Ses compteurs restent consultables, mais le calcul automatique ne les alimente plus tant que le compte est fermé.
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
RH n1etRH n2portent toutes les permissions. Elles leur sont reposées à chaque mise à jour de l'application, y compris celles des écrans ajoutés depuis : un RH voit le même back-office qu'un super-utilisateur, écran Groupes et Rôles compris — il peut donc modifier ses propres droits. Retirer une permission à ces deux groupes ne tient que jusqu'au déploiement suivant. Seule la réinitialisation du second facteur reste réservée au super-utilisateur.- Les autres rôles livrés n'ouvrent presque rien dans le back-office. À l'installation, les sept autres 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 (
Admin,RH n1,RH n2), voir le n° de sécurité sociale (Admin,RH n1,RH n2), tenir les personnes à prévenir et les rattachements (Admin,RH n1,RH n2,DA,Manager n1,Manager n2), modifier le reste du dossier d'un salarié — informations, attestation d'honorabilité, famille, contrat, compteurs (Admin,RH n1,RH n2, permission « Peut modifier le dossier d'un salarié »). 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.