2023-03-01 19:05:21 +01:00
|
|
|
|
# Gestion des utilisateurs dans ScoDoc
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
ScoDoc gère sa propre base d'utilisateurs (enseignants, administratifs,
|
|
|
|
|
secrétaires). Rappelons que les étudiants ne sont pas des utilisateurs, ils
|
|
|
|
|
n'ont pas d'accès direct au logiciel.
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
## Principes généraux
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
Les utilisateurs sont associés à:
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
- un identifiant unique (`user_name`), propre à ScoDoc;
|
|
|
|
|
- une adresse email;
|
|
|
|
|
- un ensemble de rôles;
|
|
|
|
|
- un département ScoDoc de rattachement (optionnel);
|
|
|
|
|
- un statut actif/inactif.
|
|
|
|
|
- d'autres attributs, comme l'identifiant CAS (voir [Configuration du CAS](ConfigCAS.md))
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
### Rôles et permissions
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
Les rôles sont eux-même associés à des permissions: on donne une permission (ex:
|
|
|
|
|
"enregistrer des absences") à un ou plusieurs rôles, et on associe chaque compte
|
|
|
|
|
utilisateur à un ou plusieurs rôles. Ce système est à la fois flexible et facile
|
|
|
|
|
à configurer. Plus de détails [sur la page dédiée](ConfigPermissionsDept.md).
|
2022-02-02 08:27:06 +01:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
Un rôle permet de grouper un ensemble de permissions nécessaire pour remplir des
|
|
|
|
|
tâches données (secrétariat, responsable de formation, intervenant enseignant,
|
|
|
|
|
...).
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
Un utilisateur peut être associé à un nombre quelconque de rôle, chaque
|
|
|
|
|
association étant valable pour un département donné (ou bien éventuellement
|
|
|
|
|
tous). Il peut ainsi être "Responsable" dans un département et "Enseignant" dans
|
|
|
|
|
un autre.
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
### Département de rattachement
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
Le département de rattachement est utilisé pour afficher rapidement la liste des
|
|
|
|
|
comptes d'un département (accès par un responsable de formation, chef de
|
|
|
|
|
département, ...). Certains comptes ne sont pas rattachés à un département
|
|
|
|
|
(administrateurs).
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
### Fermeture des comptes
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
En principe, on ne **supprime** pas de compte utilisateur s'ils ont déjà été
|
|
|
|
|
utilisés. En effet, afin de permettre la traçabilité des opérations, ScoDoc
|
|
|
|
|
conserve des références aux utilisateurs. Pour fermer un compte, on le rend
|
|
|
|
|
**inactif**. Un utilisateur inactif ne peut plus se connecter, et n'apparait pas
|
|
|
|
|
dans les listes par défaut.
|
|
|
|
|
|
|
|
|
|
## Opérations et cycle de vie des utilisateurs
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
|
|
|
|
Un compte utilisateur peut être modifié par 3 types d'utilisateurs :
|
|
|
|
|
|
|
|
|
|
- L'utilisateur lui-même ;
|
|
|
|
|
- un administrateur du département de rattachement de l'utilisateur ;
|
|
|
|
|
- le super administrateur.
|
|
|
|
|
|
|
|
|
|
Les opérations existantes sont :
|
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
- La création;
|
2022-02-02 07:41:02 +01:00
|
|
|
|
- la demande de renouvellement de mot de passe;
|
|
|
|
|
- la désactivation.
|
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
### Notes
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2022-02-02 08:27:06 +01:00
|
|
|
|
- La suppression d'un utilisateur est impossible (nécessité de garder la trace
|
|
|
|
|
des anciens historiques), mais on peut le rendre inactif (il n'apparait alors
|
|
|
|
|
pas dans la liste).)
|
|
|
|
|
- Le mécanisme de changement de mot de passe de ScoDoc 7 (par envoi d'un nouveau
|
|
|
|
|
mot de passe par mail) a été remplacé par l'ajout de la mention suivante dans
|
|
|
|
|
le formulaire de connexion :
|
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
```text
|
|
|
|
|
En cas d'oubli de votre mot de passe cliquez ici pour le réinitialiser.
|
|
|
|
|
```
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
### Création d'un utilisateur (par formulaire)
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2022-02-02 08:27:06 +01:00
|
|
|
|
La création d'un utilisateur peut être faite par un administrateur ou super
|
|
|
|
|
administrateur. Le lien `Ajouter un utlisateur` permettant cela se trouve dans
|
|
|
|
|
la page de gestion des utilisateurs (accessible par le menu latéral)
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
|
|
|
|
**Le mot de passe** peut être
|
|
|
|
|
|
2022-02-02 08:27:06 +01:00
|
|
|
|
- saisi par le créateur de l'utilisateur (il appartient alors au créateur de
|
|
|
|
|
communiquer ce mot de passe à l'utilisateur final);
|
|
|
|
|
- ou initialisé à une valeur non communiquée, à charge pour l'utilisateur final
|
|
|
|
|
de finaliser la création du mot de passe avant d'utiliser son accès (il y est
|
|
|
|
|
invité par un email qui lui est envoyé).
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2022-02-02 08:27:06 +01:00
|
|
|
|
**Les options de création (mail)** permettent également de choisir parmi les 3
|
2023-03-01 19:05:21 +01:00
|
|
|
|
scenarii suivants :
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2022-02-02 08:27:06 +01:00
|
|
|
|
1. un message d'accueil l'invitant à initialiser son mot de passe ;
|
|
|
|
|
2. un message de bienvenue simple ;
|
|
|
|
|
3. aucun message.
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2022-02-02 08:27:06 +01:00
|
|
|
|
Une case à cocher `envoyer un mail d'accueil à l'utlisateur` permet de choisir
|
|
|
|
|
la troisième option (si décochée), sinon la case suivante `indiquer par mail de
|
|
|
|
|
changer le mot de passe initial` permet de choisir entre l'option 1 et l'option
|
2023-03-01 19:05:21 +01:00
|
|
|
|
|
2022-02-13 14:56:40 +01:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
Dans tous les cas les mails seront envoyés avec l'adresse de réponse précisée
|
|
|
|
|
par la valeur de la variable de configuration `email_from_addr`, qui peut être
|
|
|
|
|
spécifié au niveau général ou département par département (voir
|
|
|
|
|
[Configuration des envois d'emails](ConfigEmail.md))
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2022-02-02 08:27:06 +01:00
|
|
|
|
**Le département d'appartenance** peut être choisi si le créateur est
|
|
|
|
|
administrateur pour plusieurs départements. Il aura alors le loisir
|
2022-02-02 07:41:02 +01:00
|
|
|
|
de sélectionner l'un des départements qu'il administre (liste déroulante).
|
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
### Création en masse (fichier xlsx)
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2022-02-02 08:27:06 +01:00
|
|
|
|
Le super-administrateur (et lui seulement) peut également créer des comptes en
|
|
|
|
|
masse par téléversement d'un fichier au format `.xlsx` par le biais du lien
|
2023-03-01 19:05:21 +01:00
|
|
|
|
`importer des utilisateurs` de la même page de gestion des utilisateurs.
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2022-02-02 08:27:06 +01:00
|
|
|
|
La page affichée lui permet d'importer un modèle qu'il doit compléter et re-soumettre à ScoDoc
|
|
|
|
|
selon le même schéma que la saisie de note par fichier Excel.
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
|
|
|
|
Les colonnes à remplir sont les suivantes :
|
|
|
|
|
|
2022-02-02 08:27:06 +01:00
|
|
|
|
- `user_name`: le nom de connexion de l'utilisateur; (obligatoire, unique dans scodoc)
|
|
|
|
|
- `nom`: le nom de l'utilisateur ; (obligatoire)
|
|
|
|
|
- `prenom`: le prénom de l'utilisateur ; (obligatoire)
|
|
|
|
|
- `email`: l'email de l'utilisateur ; (obligatoire, unique dans scodoc)
|
|
|
|
|
- `roles`: le ou les rôles attribués à l'utilisateur séparés par des virgules (exemple `Admin_RT, Ens_GEII`)
|
|
|
|
|
- `dept`: le département de rattachement de l'utilisateur (acronyme, en lettres capitales).
|
2023-03-01 19:05:21 +01:00
|
|
|
|
- `cas_id`, ...: optionnel, voir [Configuration du CAS](ConfigCAS.md)
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
|
|
|
|
_Note_:
|
|
|
|
|
|
2022-02-02 08:27:06 +01:00
|
|
|
|
- Tous les utilisateurs sont créés ou bien aucun.
|
2022-02-02 07:41:02 +01:00
|
|
|
|
- Un mail est envoyé à chaque utilisateur nouvellement créé.
|
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
### Changement du mot de passe
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2022-02-02 08:27:06 +01:00
|
|
|
|
Deux circonstances sont envisagées.
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
#### Oubli de mot de passe
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2022-02-02 08:27:06 +01:00
|
|
|
|
Lorsqu'un utilisateur a perdu son mot de passe, il a la possibilité de retrouver
|
|
|
|
|
son accès sans intervention d'un administrateur. Il lui suffit de demander la
|
|
|
|
|
réinitialisation par le lien situé sur la page de connexion. Après renseignement
|
|
|
|
|
de son email (qui est maintenant identifiant dans scodoc), un mail lui est
|
|
|
|
|
envoyé. ce mail contient un lien comportant un jeton à durée limitée. Ce lien
|
|
|
|
|
renvoie vers la page permettant de redéfinir le mot de passe de l'utilisateur.
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
#### Édition du profil
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2022-02-02 08:27:06 +01:00
|
|
|
|
Si l'utilisateur peut se connecter, il peut éditer son profil (et par là,
|
|
|
|
|
modifier son email et/ou son mot de passe). La barre latérale de l'écran
|
|
|
|
|
principal de scodoc affiche dans le coin supérieur gauche la version courante de
|
|
|
|
|
scodoc ainsi que l'identification de l'utilisateur actuel. Un clic sur le nom
|
2023-03-01 19:05:21 +01:00
|
|
|
|
permet à l'utilisateur d'éditer son profil.
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
### Activation/désactivation
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
|
|
|
|
Une fois créé, le compte utilisateur conserve son existence. Il peut cependant être rendu inactif:
|
|
|
|
|
|
|
|
|
|
- soit à l'expiration de la date de validité spécifiée à la création ou lors d'un modification
|
|
|
|
|
- soit directement par un administrateur.
|
|
|
|
|
|
2022-02-02 08:27:06 +01:00
|
|
|
|
Quelle que soit la procédure, le compte existe encore et conserve son email (il
|
|
|
|
|
n'est donc pas possible de créer un nouveau compte associé au même email). Il
|
|
|
|
|
est simplement impossible de se connecter ou de modifier le profil de ce compte
|
|
|
|
|
par l'utilisateur lui-même.
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
## Implémentation (pour les développeurs)
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
2022-02-02 08:27:06 +01:00
|
|
|
|
Le graphe d'état ci-dessous explicite les différents états que peux prendre un
|
|
|
|
|
compte utilisateur en fonction des opérations qu'il subit.
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
|
|
|
|
On notera:
|
|
|
|
|
|
2022-02-02 08:27:06 +01:00
|
|
|
|
1. Que la création (1) peut le placer initialement dans deux états différents
|
|
|
|
|
selon le mode de création choisi.
|
|
|
|
|
2. Que l'on peut demander le renouvellement du mot de passe plusieurs fois même
|
|
|
|
|
sans avoir complété la procédure.
|
|
|
|
|
3. Que les états `créé`et `créé + ticket`permettent la connexion (sous réserve
|
|
|
|
|
de la connaissance du mot de passe).
|
2022-02-02 07:41:02 +01:00
|
|
|
|
|
|
|
|
|
<img src="/fig/GrapheUser.png" />
|
|
|
|
|
|
|
|
|
|
**SCODOC**.
|
|
|
|
|
|
|
|
|
|
La table **user** contient:
|
|
|
|
|
|
|
|
|
|
| **Colonne** | **Type** | Contenu | Modifié par |
|
|
|
|
|
|-------------------|-----------------------------|--------------------------------------------------------------|----------------|
|
|
|
|
|
| id | integer | identifiant interne unique | 1 |
|
|
|
|
|
| user_name | character varying(64) | nom de login | 1 |
|
|
|
|
|
| email | character varying(120) | adresse mail (unique dans la base) | 1, 6 |
|
|
|
|
|
|nom | character varying(64) | | 1, 6 |
|
|
|
|
|
|prenom | character varying(64) | | 1, 6 |
|
|
|
|
|
|dept | character varying(32) | département de rattachement (identifiant numérique) | 1, 6 |
|
|
|
|
|
|active | boolean | | 1, 7, 9 |
|
|
|
|
|
|password_hash | character varying(128) | hash password | 1, 6 |
|
|
|
|
|
|password_scodoc7 | character varying(42) | deprecated (utilisé lors de la migration scodoc7 > scodoc9) | 1, 2, 4, 5, 6 |
|
|
|
|
|
|last_seen | timestamp without time zone | date de dernière connexion | 1, A |
|
|
|
|
|
|date_modif_passwd | timestamp without time zone | | 1, 2, 4, 5, 6 |
|
|
|
|
|
|date_created | timestamp without time zone | | 1 |
|
|
|
|
|
|date_expiration | timestamp without time zone | | 1 |
|
|
|
|
|
|passwd_temp | boolean | deprecated | |
|
|
|
|
|
|token | text | dernier token émis (changement de mot de passe) | 1a, 3 |
|
|
|
|
|
|token_expiration | timestamp without time zone | date d'expiration du dernier token émis | 1a, 3 |
|
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
(les champs utilisé pour le CAS ne sont pas mentionnés ici)
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
🚸 encodage `utf-8`, sauf si vous avez modifié l'installation.
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2022-02-02 08:27:06 +01:00
|
|
|
|
Pour la signification des rôles et l'utilisation du département, voir
|
|
|
|
|
[ConfigPermissions](ConfigPermissions.md).
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2023-03-01 19:05:21 +01:00
|
|
|
|
!!! note "Voir aussi"
|
|
|
|
|
|
|
|
|
|
- [Configuration du CAS](ConfigCAS.md)
|
|
|
|
|
- [Guide administrateur ScoDoc](GuideAdminSys.md)
|
|
|
|
|
- [Configuration des envois d'emails](ConfigEmail.md)
|
|
|
|
|
- [FAQ](FAQ.md)
|
2023-03-10 11:32:27 +01:00
|
|
|
|
- [Contacts](Contact.md)
|