Gestion des utilisateurs, adhérents & services
Cahier des charges pour la gestion des utilisateurs, adhérents et services, suite à la réunion du 24 février 2020 (présents : @plb, @gwendal, @zorun)
- un utilisateur doit pouvoir se connecter à epeire, au moins pour mettre à jour ses données personnelles, mais aussi pour consulter / configurer ses services et plus tard éventuellement la facturation associée
- certains services sont gérés dans epeire (comptes mail, d'autres dans le futur), mais pas forcément tous (salle serveur, listes, sites web...)
- un utilisateur peut être associé à des services de différents types :
- site web
- nuage
- serveur dans la salle serveur
- listes mail
- ...
- gestion de groupe / organisation : on aimerait pouvoir associer un service à plusieurs utilisateurs, avec potentiellement différents rôles (contact, responsable administratif, responsable technique, parrain/marraine...)
- selon le service, on stocke diverses données administratives / personnelles (adresse postale pour les sites web...)
- pour certains services, il peut être nécessaire d'être adhérent
- prévoir la possibilité pour faciliter la récupération de mot de passe
Lien avec les comptes mail et migration des services existants :
- on n'a pas envie de lier systématiquement les comptes mails aux futurs comptes utilisateurs
- les comptes mails doivent pouvoir continuer à se connecter de la même façon qu'actuellement (adresse mail + mot de passe mail)
Mots de passe :
- conserver un mot de passe unique par utilisateur (mail, connexion à Epeire, autres services futurs...)
Implémentation :
- faire une classe GresilleUser qui hérite de AbstractUser, et l'utiliser comme provider d'authentification unique
- dans cette classe, stocker le mot de passe mail hashé à notre sauce (actuellement, c'est stocké dans la classe MailBox)
- prévoir de pouvoir rajouter d'autres champs mot de passe hashés différemment pour d'autres services, et s'assurer que ces champs mot de passe soient toujours synchronisés
Objet Personne :
- personne (physique ou morale) qui a un lien avec Grésille
- ne permet pas de se connecter à Epeire
- stocke des informations administratives (factultatives) :
- adresse mail de contact
- nom ou raison sociale
- adresse postale
- numéro de téléphone
- informations pour que l'utilisateur puisse prouver qu'un compte lui appartient en cas de récupération de mot de passe ?
- peut être responsable administrative d'un ou plusieurs Service
Objet Personne physique :
- hérite de Personne
- dans la plupart des cas, est associé à un Utilisateur pour pouvoir se connecter à Epeire
- peut être responsable technique d'un ou plusieurs Service
Objet Personne morale :
- hérite de Personne
- a forcément au moins un mail de contact
Objet Utilisateur :
- un compte qui peut se connecter à Epeire
- nécessairement associé à une Personne physique
- peut changer son mot de passe
- possède une adresse mail de contact (qu'on ne vérifie pas forcément)
- possède un identifiant permettant de se connecter (l'adresse mail ou autre chose)
Type de service :
- mail, liste, site web, nuage, serveur dans salle serveur...
- possède forcément une application dédiée à sa gestion dans Epeire
- implémentation potentiellement réduite à sa plus simple expression : une liste d'informations administratives nécessaires
Objet Service :
- possède nécessairement une Personne responsable administrative
- possède zéro, une ou plusieurs Personne parrain/marraine chez Grésille
- possède une ou plusieurs Personne physique responsable technique, qui peut gérer ce service
Exemple pour Service Mailbox Grésille :
- responsable administratif & technique : la Personne physique qui utilise la mailbox
- parrain / marraine : aucun
- mot de passe de connexion : celui de l'Utilisateur associé à la Personne physique
- création du service lors de l'utilisation d'un ticket :
- création d'une Personne physique vide
- création d'un Utilisateur :
- mot de passe choisi par l'utilisateur du ticket
- mail de contact = adresse mail Grésille choisie par l'utilisateur du ticket
- création de l'objet Service Mailbox avec l'adresse mail choisie
-
Questions :
- que se passe-t-il si on associe plusieurs responsables techniques à un service mailbox ? Quel mot de passe est utilisé pour se connecter à la boîte mail ?
- que se passe-t-il si la Personne physique change son mail de contact ? On ne veut pas que ça modifie pour autant l'email associé à la Mailbox.
Exemple pour Domaine de mail :
- TODO