diff --git a/docs/AdminUsers.md b/docs/AdminUsers.md index b47d4076..f20099f8 100644 --- a/docs/AdminUsers.md +++ b/docs/AdminUsers.md @@ -3,13 +3,11 @@ ScoDoc gère sa liste d'utilisateurs (enseignants, secrétaires) dans une base de données SQL. - -/!\ 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 -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 utilisateurs ; @@ -17,31 +15,40 @@ Les entités gérées par scodoc sont : - en liaison avec les départements. #### L'entité utilisateur -- 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) -- assure un ou plusieurs rôles +- 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); +- assure un ou plusieurs rôles. #### L'entité rôle 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. -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 - Secrétariat - Enseignant - 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:_ -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 : - 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 : -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 @@ -57,81 +64,94 @@ Les opérations existantes sont : - la demande de renouvellement de mot de passe; - la désactivation. -Notes: +#### Notes: -- 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 : +- 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 : + ` En cas d'oubli de votre mot de passe cliquez ici pour le réinitialiser. ` #### Création d'un utilisateur (par formulaire) -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) +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) **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) -- 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é) +- 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é). -**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 ; -- un message de bienvenue simple ; -- aucun message. +1. un message d'accueil l'invitant à initialiser son mot de passe ; +2. un message de bienvenue simple ; +3. aucun message. -Une case à cocher `envoyer un mail d'accueil à l'utlisateur` permete 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 2. +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 +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 -`SCODOC_MAIL_FROM` (par défaut `no-reply@{serveur_mail}`) +Dans tous les cas les mails seront envoyés avec l'adresse de réponse présidée +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). #### 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 -par le biais du lien `importer des utilisateurs` de la même page de gestion des utilisateurs. +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 +`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 -selon le même schéma que la saisie de note par fichier excel. +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. Les colonnes à remplir sont les suivantes : -- 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). +- `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). _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éé. #### Changement du mot de passe -Deux circonstances sont envisagées +Deux circonstances sont envisagées. ##### Oubli de mot de passe -Lorsqu'un utilisateur a perdu son mot de passe, il a maintenant 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. +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. ##### 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). -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'utlisateur actuel. Un clic sur le nom permet à l'utilsateur -d'éditer son profil. +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 +permet à l'utilsateur d'éditer son profil. #### 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 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 -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'utlisateur lui-même. +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. ### Implémentation (pour les développeurs) -Le graphe d'état ci-dessous explilcite les différents états que peux prendre un compte utilisateur -en fonction des opérations qu'il subit. +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. On notera: -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 connaisssance du mot de passe). +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). @@ -183,7 +207,9 @@ La table **user** contient: -/!\ encodage `utf-8`, sauf si vous avez modifié l'installation. + 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).