petites corrections

This commit is contained in:
Emmanuel Viennet 2022-02-02 08:27:06 +01:00
parent a10943bb9c
commit 232a93ab5f

View File

@ -3,13 +3,11 @@
ScoDoc gère sa liste d'utilisateurs (enseignants, secrétaires) dans ScoDoc gère sa liste d'utilisateurs (enseignants, secrétaires) dans
une base de données SQL. une base de données SQL.
<img src="/img/alert.png" style="vertical-align: bottom; margin:0 0 0 0;" alt="/!\" /> Il est prévu de développer un connecteur vers LDAP, mais ce n'est pas encore disponible (avis aux volontaires, voir https://www-lipn.univ-paris13.fr/projects/scodoc/ticket/140)
### Principes généraux ### Principes généraux
Depuis ScoDoc 9.0, la liste des utilisateurs est enregistrée dans la base de données unique SCODOC (en production) (voir la partie implémentation pour plus de détails) Depuis ScoDoc 9.0, la liste des utilisateurs est enregistrée dans la base de
données unique SCODOC (en production) (voir la partie implémentation pour plus
de détails).
Les entités gérées par scodoc sont : Les entités gérées par scodoc sont :
- Les utilisateurs; - Les utilisateurs;
@ -17,31 +15,40 @@ Les entités gérées par scodoc sont :
- en liaison avec les départements. - en liaison avec les départements.
#### L'entité utilisateur #### L'entité utilisateur
- possède les propriétés habituelles (nom, prénom, user_name, email) - possède les propriétés habituelles (nom, prénom, user_name, email);
- peut être associé à un département ou pas (cas d'un administrateur gérant plusieurs départements) - peut être associé à un département ou pas (cas d'un administrateur gérant
- assure un ou plusieurs rôles plusieurs départements);
- assure un ou plusieurs rôles.
#### L'entité rôle #### L'entité rôle
Un rôle est le regroupement d'un certain nombre de privilèges. Un rôle est le regroupement d'un certain nombre de privilèges.
C'est généralement la combinaison d'un département et d'un type d'utilisation. C'est généralement la combinaison d'un département et d'un type d'utilisation.
Actuellement au nombre de quatre (susceptible d'être étendu) : Actuellement au nombre de quatre (d'autres sont prévus, notamment pour le module
relations entreprises) :
- Administrateur - Administrateur
- Secrétariat - Secrétariat
- Enseignant - Enseignant
- Observateur - Observateur
Le type d'utilisation donne certains privilèges (par exemple la faculté de saisir des notes, de justifier des absences, de modifier la définition des programmes, ...)
par ailleurs, le contexte d'utilisation donne certains privilèges (par exemple
la faculté de saisir des notes, de justifier des absences, de modifier la
définition des programmes, ...).
_Exemple:_ _Exemple:_
L'utilisateur 'Dupont' est responsable scodoc pour son département 'RT' mais intervient également en enseignement au département GEII. L'utilisateur 'Dupont' est responsable ScoDoc pour son département *RT* mais
intervient également en enseignement au département *GEII*.
On pourra lui attribuer les rôles `AdminRT` et `EnsGEII`, ce qui lui permettra : On pourra lui attribuer les rôles `AdminRT` et `EnsGEII`, ce qui lui permettra :
- de gérer les utilisateurs du (seul) département RT : - de gérer les utilisateurs du (seul) département RT :
Privilèges associés : `Gérer les utlisateurs (Sco Users Manage)`, `Changer les formations (Sco Change Formation)`, ... Privilèges associés : `Gérer les utlisateurs (Sco Users Manage)`, `Changer les
formations (Sco Change Formation)`, ...
- d'accéder aux vues enseignant pour le département GEII : - d'accéder aux vues enseignant pour le département GEII :
Privilèges associés : `Voir les parties pour les enseignants (Sco View Ens)`, `Saisir des absences (Sco Change Absences)`, ... Privilèges associés : `Voir les parties pour les enseignants (Sco View Ens)`,
`Saisir des absences (Sco Change Absences)`, ...
Pour une description plus fine des privilèges, voir [ConfigPermissions](ConfigPermissions.md) Pour une description plus fine des privilèges, voir
[ConfigPermissions](ConfigPermissions.md)
### Opérations et cycle de vie des utilisateurs ### Opérations et cycle de vie des utilisateurs
@ -57,81 +64,94 @@ Les opérations existantes sont :
- la demande de renouvellement de mot de passe; - la demande de renouvellement de mot de passe;
- la désactivation. - la désactivation.
Notes: #### Notes:
- 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 :
- La suppression d'un utilisateur est impossible (nécessité de garder la trace des anciens historiques)
- 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 :
` En cas d'oubli de votre mot de passe cliquez ici pour le réinitialiser. ` ` En cas d'oubli de votre mot de passe cliquez ici pour le réinitialiser. `
#### Création d'un utilisateur (par formulaire) #### Création d'un utilisateur (par formulaire)
La création d'un utilisateur peut être faite par un administrateur ou super administrateur. Le lien La création d'un utilisateur peut être faite par un administrateur ou super
`Ajouter un utlisateur`permettant cela se trouve dans la page de gestion des utilisateurs administrateur. Le lien `Ajouter un utlisateur` permettant cela se trouve dans
(accessible par le menu latéral) la page de gestion des utilisateurs (accessible par le menu latéral)
**Le mot de passe** peut être **Le mot de passe** peut être
- saisie par le créateur de l'utilisateur (il appartient alors au créateur de communiquer ce mot de passe à l'utilisateur final) - saisi par le créateur de l'utilisateur (il appartient alors au créateur de
- initialisé à une valeur non communiquée, à charge pour l'utilisateur final de finaliser la création communiquer ce mot de passe à l'utilisateur final);
du mot de passe avant d'utiliser son accès (il y est invité par un email qui lui est envoyé) - 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é).
**Les options de création (mail)** permettent également de choisir parmi les 3 scenarii suivants : **Les options de création (mail)** permettent également de choisir parmi les 3
scenarii suivants :
- Un message d'accueil l'invitant à initialiser son mot de passe; 1. un message d'accueil l'invitant à initialiser son mot de passe;
- un message de bienvenue simple; 2. un message de bienvenue simple;
- aucun message. 3. aucun message.
Une case à cocher `envoyer un mail d'accueil à l'utlisateur` permete de choisir la troisième option (si décochée), Une case à cocher `envoyer un mail d'accueil à l'utlisateur` permet de choisir
sinon la case suivante `indiquer par mail de changer le mot de passe initial` permet de choisir entre l'option 1 et l'option 2. 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
2.
Dans tous les cas les mails seront envoyés avec l'adresse de réponse précidée par la valeur de la variable d'environnement Dans tous les cas les mails seront envoyés avec l'adresse de réponse présidée
`SCODOC_MAIL_FROM` (par défaut `no-reply@{serveur_mail}`) par la valeur de la variable d'environnement `SCODOC_MAIL_FROM` (par défaut `no-reply@{serveur_mail}`).
**Le département d'appartenance** peut être choisi si le créateur est administrateur pour plusieurs départements. Il aura alors le loisir **Le département d'appartenance** peut être choisi si le créateur est
administrateur pour plusieurs départements. Il aura alors le loisir
de sélectionner l'un des départements qu'il administre (liste déroulante). de sélectionner l'un des départements qu'il administre (liste déroulante).
#### Création en masse (fichier xlsx) #### Création en masse (fichier xlsx)
Le super-administrateur (et lui seulement) peut également créer des comptes en masse par téléversement d'un fichier au format .xlsx Le super-administrateur (et lui seulement) peut également créer des comptes en
par le biais du lien `importer des utilisateurs` de la même page de gestion des utilisateurs. masse par téléversement d'un fichier au format `.xlsx` par le biais du lien
`importer des utilisateurs` de la même page de gestion des utilisateurs.
La page affichée lui permet d'importer un modèle qu'il doit compléter et re-soumettre à scodoc 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. selon le même schéma que la saisie de note par fichier Excel.
Les colonnes à remplir sont les suivantes : Les colonnes à remplir sont les suivantes :
- user_name: le nom de connexion de l'utilisateur; (obligatoire, unique dans scodoc) - `user_name`: le nom de connexion de l'utilisateur; (obligatoire, unique dans scodoc)
- nom: le nom de l'utilisateur; (obligatoire) - `nom`: le nom de l'utilisateur; (obligatoire)
- prenom: le prénom de l'utilisateur; (obligatoire) - `prenom`: le prénom de l'utilisateur; (obligatoire)
- email: l'email de l'utilisateur; (obligatoire, unique dans scodoc) - `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`) - `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). - `dept`: le département de rattachement de l'utilisateur (acronyme, en lettres capitales).
_Note_: _Note_:
- Tous les utilisateurs sont créés ou aucun - Tous les utilisateurs sont créés ou bien aucun.
- Un mail est envoyé à chaque utilisateur nouvellement créé. - Un mail est envoyé à chaque utilisateur nouvellement créé.
#### Changement du mot de passe #### Changement du mot de passe
Deux circonstances sont envisagées Deux circonstances sont envisagées.
##### Oubli de mot de passe ##### Oubli de mot de passe
Lorsqu'un utilisateur a perdu son mot de passe, il a maintenant la possibilité de retrouver son accès Lorsqu'un utilisateur a perdu son mot de passe, il a la possibilité de retrouver
sans intervention d'un administrateur. Il lui suffit de demander la réinitialisation par le lien situé son accès sans intervention d'un administrateur. Il lui suffit de demander la
sur la page de connexion. Après renseignement de son email (qui est maintenant identifiant dans scodoc), réinitialisation par le lien situé sur la page de connexion. Après renseignement
un mail lui est envoyé. ce mail contient un lien comportant un jeton à durée limitée. Ce lien renvoie de son email (qui est maintenant identifiant dans scodoc), un mail lui est
vers la page permettant de redéfinir le mot de passe de l'utilisateur. 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.
##### Edition du profil ##### Edition du profil
Si l'utilisateur peut se connecter, il peut éditer son profil (et par là, modifier son email et/ou son mot de passe). Si l'utilisateur peut se connecter, il peut éditer son profil (et par là,
La barre latérale de l'écran principal de scodoc affiche dans le coin supérieur gauche la version courante de scodoc modifier son email et/ou son mot de passe). La barre latérale de l'écran
ainsi que l'identification de l'utlisateur actuel. Un clic sur le nom permet à l'utilsateur principal de scodoc affiche dans le coin supérieur gauche la version courante de
d'éditer son profil. scodoc ainsi que l'identification de l'utilisateur actuel. Un clic sur le nom
permet à l'utilsateur d'éditer son profil.
#### Activation/désactivation #### Activation/désactivation
@ -140,20 +160,24 @@ Une fois créé, le compte utilisateur conserve son existence. Il peut cependant
- soit à l'expiration de la date de validité spécifiée à la création ou lors d'un modification - soit à l'expiration de la date de validité spécifiée à la création ou lors d'un modification
- soit directement par un administrateur. - soit directement par un administrateur.
Quelquesoit la procédure, le compte existe encore et conserve son email (il n'est donc pas possible de créer Quelle que soit la procédure, le compte existe encore et conserve son email (il
un nouveau compte associé au même email). Il est simplement impossible de se connecter ou de modifier n'est donc pas possible de créer un nouveau compte associé au même email). Il
le profil de ce compte par l'utlisateur lui-même. est simplement impossible de se connecter ou de modifier le profil de ce compte
par l'utilisateur lui-même.
### Implémentation (pour les développeurs) ### Implémentation (pour les développeurs)
Le graphe d'état ci-dessous explilcite les différents états que peux prendre un compte utilisateur Le graphe d'état ci-dessous explicite les différents états que peux prendre un
en fonction des opérations qu'il subit. compte utilisateur en fonction des opérations qu'il subit.
On notera: On notera:
1. Que la création (1) peut le placer initialement dans deux états différents selon le mode de création choisi. 1. Que la création (1) peut le placer initialement dans deux états différents
2. Que l'on peut demander le renouvellement du mot de passe plusieurs fois même sans avoir complété la procédure selon le mode de création choisi.
3. Que les états `créé`et `créé + ticket`permettent la connexion (sous réserve de la connaisssance du mot de passe). 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).
<img src="/fig/GrapheUser.png" /> <img src="/fig/GrapheUser.png" />
@ -183,7 +207,9 @@ La table **user** contient:
<img src="/img/alert.png" style="vertical-align: bottom; margin:0 0 0 0;" alt="/!\" /> encodage `utf-8`, sauf si vous avez modifié l'installation. <img src="/img/alert.png" style="vertical-align: bottom; margin:0 0 0 0;"
alt="/!\" /> encodage `utf-8`, sauf si vous avez modifié l'installation.
Pour la signification des rôles et l'utilisation du département, voir [ConfigPermissions](ConfigPermissions.md). Pour la signification des rôles et l'utilisation du département, voir
[ConfigPermissions](ConfigPermissions.md).