Modifications entre les versions 1 et 4 (s'étendant sur 3 versions)
Version 1 à la date du 2006-10-19 09:33:00
Taille: 2257
Éditeur: ThomasNoël
Commentaire:
Version 4 à la date du 2006-10-31 16:16:15
Taille: 1243
Éditeur: ThomasNoël
Commentaire: plusieurs organismes par utilisateur, ça serait mieux non ?
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
Voici ma (ThomasNoël) proposition pour la base de donnée des utilisateurs.

= Idées générales =

 * des utilisateurs, des groupes et des abonnements qui permettent de dire que tel utilisateur est dans tel groupe de telle à telle date
 * la base n'est pas destinée à être utilisée telle quelle pour l'authentification ou la gestion système : des ''backends'' sont disponibles pour créer, à partir de cette base, les données système nécessaires (fichiers ''passwd+shadow'', base MySQL-auth, arbre LDAP, htpasswd, etc).
 * par défaut la base ne contient pas de données purement "système" : ces données (comme le shell, la homedir, etc) sont calculées par les backend, éventuellement en fonction de conditions locales (exemple: homedir du type /home/a/n/antoine).
 * un mecanisme de champ "extra" permet d'étendre les tables en associant des variables à un utilisateur, un groupe ou autre (merci JérômeSantini pour cette chouette idée)
 * la gestion des organismes d'appartenance est hierarchisée (par exemple université->faculté->département). Ainsi, si une personne est de tel département, on sait qu'elle est aussi de telle fac et de telle université.


= Base =
Voici ma (ThomasNoël) proposition pour le schéma de la BD de gestion des utilisateurs.
Ligne 26: Ligne 15:
 * '''id_organisme'''  * '''id_organisme''' <i> plusieurs organismes, ça serait mieux non ? (faire une table de correspondance ''1,n'' à part)

Voici ma (ThomasNoël) proposition pour le schéma de la BD de gestion des utilisateurs.

Table utilisateurs

  • id

  • login

  • mot_de_passe

  • courriel

  • nom

  • prénom

  • genre

  • date_naissance

  • adresses

  • téléphones

  • id_organisme <i> plusieurs organismes, ça serait mieux non ? (faire une table de correspondance 1,n à part)

  • fonction

  • commentaires

Table utilisateurs_extra

  • id_utilisateur : utilisateur concerné

  • variable : nom de la variable (par exemple : courriel_alias, homedir)

  • valeur

Table groupes

  • id

  • nom

  • commentaires

Table groupes_extra

  • id_groupe

  • variable

  • valeur

Table abonnements

  • id_utilisateur

  • id_groupe

  • date_debut

  • date_fin

  • commentaires

Table organismes

  • id

  • nom

  • adresses

  • telephones

  • id_parent : pointe vers un id_organisme (0 pour la racine)

  • commentaires

Table organismes_extra

  • id_organisme

  • variable

  • valeur

Projet/GUIA/SchemaBase/HistoriquePropositionThomas (dernière édition le 2008-02-21 22:10:00 par localhost)