2257
Commentaire:
|
1719
chaque utilisateur peut être dans pls organismes, avec plusieurs fonctions éventuellement
|
Texte supprimé. | Texte ajouté. |
Ligne 1: | Ligne 1: |
Voici ma (ThomasNoël) proposition pour la base de donnée des utilisateurs. | Voici ma (ThomasNoël) proposition pour le schéma de la BD de gestion des utilisateurs. |
Ligne 3: | Ligne 3: |
= Idées générales = | = Les utilisateurs = |
Ligne 5: | Ligne 5: |
* 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é. |
Table utilisateurs:: . id . login . mot_de_passe . courriel . nom . prénom . genre . date_naissance . adresses . téléphones . commentaires |
Ligne 11: | Ligne 18: |
Table utilisateurs_extra:: . id_utilisateur : utilisateur concerné . variable : nom de la variable (par exemple : ''courriel_alias'', ''homedir'') . valeur |
|
Ligne 12: | Ligne 23: |
= Base = | = Les groupes = |
Ligne 14: | Ligne 25: |
== Table utilisateurs == | Table groupes:: . id . nom . commentaires |
Ligne 16: | Ligne 30: |
* '''id''' * '''login''' * '''mot_de_passe''' * '''courriel''' * '''nom''' * '''prénom''' * '''genre''' * '''date_naissance''' * '''adresses''' * '''téléphones''' * '''id_organisme''' * '''fonction''' * '''commentaires''' |
Table groupes_extra:: . id_groupe . variable . valeur |
Ligne 30: | Ligne 35: |
== Table utilisateurs_extra == | = Les abonnements = |
Ligne 32: | Ligne 37: |
* '''id_utilisateur''' : utilisateur concerné * '''variable''' : nom de la variable (par exemple : ''courriel_alias'', ''homedir'') * '''valeur''' |
Un abonnement signifie qu'on place un utilisateur dans un groupe pendant un certain laps de temps. |
Ligne 36: | Ligne 39: |
== Table groupes == | Table abonnements:: . id_utilisateur . id_groupe . date_debut . date_fin . commentaires |
Ligne 38: | Ligne 46: |
* '''id''' * '''nom''' * '''commentaires''' |
= Les organismes = |
Ligne 42: | Ligne 48: |
== Table groupes_extra == | Ils sont hiérarchisés (arbre simple : un parent peu avoir plusieurs fils). |
Ligne 44: | Ligne 50: |
* '''id_groupe''' * '''variable''' * '''valeur''' |
Table organismes:: . id . nom . adresses . telephones . id_organisme_parent : pointe vers un id_organisme (0 pour la racine) . commentaires |
Ligne 48: | Ligne 58: |
== Table abonnements == | Table organismes_extra:: . id_organisme . variable . valeur |
Ligne 50: | Ligne 63: |
* '''id_utilisateur''' * '''id_groupe''' * '''date_debut''' * '''date_fin''' * '''commentaires''' |
Chaque utilisateur peut être rattaché à un ou plusieurs organismes. A chaque rattachement on indique la fonction de l'utilisateur dans l'organisme, via un triplet { utilisateur, organisme, fonction }. On peut donc imaginer qu'un utilisateur puisse avoir plusieurs fonctions au sein d'un organisme. |
Ligne 56: | Ligne 65: |
== Table organismes == | Table fonction:: . id . nom . commentaires |
Ligne 58: | Ligne 70: |
* '''id''' * '''nom''' * '''adresses''' * '''telephones''' * '''id_parent''' : pointe vers un id_organisme (0 pour la racine) * '''commentaires''' |
Table fonction_extra:: . id_fonction . variable . valeur |
Ligne 65: | Ligne 75: |
== Table organismes_extra == * '''id_organisme''' * '''variable''' * '''valeur''' |
Table utilisateur_organisme_fonction:: . id_utilisateur . id_organisme . id_fonction . commentaires |
Voici ma (ThomasNoël) proposition pour le schéma de la BD de gestion des utilisateurs.
Les utilisateurs
- Table utilisateurs
- id
- login
- mot_de_passe
- courriel
- nom
- prénom
- genre
- date_naissance
- adresses
- téléphones
- commentaires
- Table utilisateurs_extra
- id_utilisateur : utilisateur concerné
variable : nom de la variable (par exemple : courriel_alias, homedir)
- valeur
Les groupes
- Table groupes
- id
- nom
- commentaires
- Table groupes_extra
- id_groupe
- variable
- valeur
Les abonnements
Un abonnement signifie qu'on place un utilisateur dans un groupe pendant un certain laps de temps.
- Table abonnements
- id_utilisateur
- id_groupe
- date_debut
- date_fin
- commentaires
Les organismes
Ils sont hiérarchisés (arbre simple : un parent peu avoir plusieurs fils).
- Table organismes
- id
- nom
- adresses
- telephones
- id_organisme_parent : pointe vers un id_organisme (0 pour la racine)
- commentaires
- Table organismes_extra
- id_organisme
- variable
- valeur
Chaque utilisateur peut être rattaché à un ou plusieurs organismes. A chaque rattachement on indique la fonction de l'utilisateur dans l'organisme, via un triplet { utilisateur, organisme, fonction }. On peut donc imaginer qu'un utilisateur puisse avoir plusieurs fonctions au sein d'un organisme.
- Table fonction
- id
- nom
- commentaires
- Table fonction_extra
- id_fonction
- variable
- valeur
- Table utilisateur_organisme_fonction
- id_utilisateur
- id_organisme
- id_fonction
- commentaires