Modifications entre les versions 1 et 4 (s'étendant sur 3 versions)
Version 1 à la date du 2006-11-10 09:49:14
Taille: 1624
Commentaire: premier jet...
Version 4 à la date du 2006-11-10 18:20:34
Taille: 5420
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 2: Ligne 2:

[[TableOfContents]]

= Introduction =
Ligne 12: Ligne 16:
  * on veut gérer des usagers, il faut donc '''une table''' pour les identifier   * on veut gérer des usagers, il faut donc '''une base de données''' pour les enregistrer
Ligne 15: Ligne 19:
  * on veut pouvoir retrouver les traces des opérations, il faut donc '''une journalisation'''
Ligne 17: Ligne 22:
  * on veut pouvoir générer une base d'authentification ["NIS"] (dans `/etc/passwd`, `/etc/shadow` et `/etc/group`)
  * on veut pouvoir générer une base d'adél pour ["postfix"] (dans MySQL ou des fichiers)
  * on veut pouvoir générer une base d'authentification ["Samba"] (dans MySQL ou des fichiers, via `pdbedit`)
  * on veut pouvoir générer une base d'adéls pour ["postfix"] (dans MySQL ou des fichiers)
Ligne 21: Ligne 26:
  * on souhaiterait pouvoir intervenir depuis la ligne de commande (pas moi)   * on souhaiterait pouvoir générer une base d'authentification ["NIS"] (dans `/etc/passwd`, `/etc/shadow` et `/etc/group`)
  * on souhaiterait pouvoir générer une base de boîtes aux lettres pour ["courier"] (dans MySQL ou des fichiers)
  * on souhaiterait pouvoir intervenir depuis la ligne de commande (pas moi...)
  * on souhaiterait pouvoir gérer les quota d'impression (via CUPS)
  * on souhaiterait pouvoir gérer les paiements reçus (abonnement, commande de document, remboursement, état de caisse, bilan mensuel)
Ligne 24: Ligne 33:

= La base de données =

== L'objet « personne » ==

Il sert à pouvoir identifier un utilisateur dans la « Vraie Vie »™.

||'''__id__'''||Identifiant unique d'une personne||
||'''nom'''||Son(ses) nom(s) tel(s) qu'indiqué(s) sur une pièce d'identité||
||'''prenom'''||Son(ses) prénom(s) tel(s) qu'indiqué(s) sur une pièce d'identité||
||'''nom_affichage'''||Le nom d'affichage souhaité||
||'''genre'''||Son genre||
||'''date_naissance'''||Sa date de naissance||
||'''adel'''||Son adél de contact préférée||
||'''adel_alternative'''||Son adél de contact alternative (en cas d'injoignabilité sur la précédente)||
||'''adresse_personnelle'''||Son adresse personnelle||
||'''adresse_professionnelle'''||Son adresse professionnelle||
||'''telephone_personnel'''||Son numéro de téléphone personnel||
||'''telephone_professionnel'''||Son numéro de téléphone professionnel||
||'''telephone_mobile'''||Son numéro de téléphone mobile||
||'''telephone_fax'''||Son numéro de fax||
||'''commentaire'''||Un commentaire éventuel||

== L'objet « abonnement » ==

Il sert à enregistrer la durée d'activité d'un utilisateur.

||'''__id__'''||Identifiant unique d'un abonnement||
||'''id_personne'''||Identifiant de l'utilisateur concerné||
||'''date_debut'''||Date de début d'activité||
||'''date_fin'''||Date de fin d'activité||

= Extension de gestion financière =

<!> voir le problème de la monnaie ! <!>

== L'objet « recu » ==

Il sert à enregistrer le reçu d'un paiement, que ce soit en crédit ou en débit.

||'''__id__'''||Identifiant unique d'un reçu||
||'''id_recu_origine'''||Lien vers le reçu d'origine en cas de remboursement après clôture||
||'''id_personne'''||Identifiant de l'utilisateur recevant le reçu||
||'''id_implantation'''||Identifiant de l'implantation où est émis le reçu||
||'''date_saisie'''||Date de saisie du reçu||
||'''date_valeur'''||Date de valeur du reçu||
||'''credit'''||Valeur du reçu (perçue)||
||'''debit'''||Valeur du reçu (remboursée)||

Note : `credit` et `debit` indiquent des sommes dans le même mois ; les remboursements d'un mois sur l'autre devant faire l'objet d'un nouveau reçu pour des raisons de clôture financière mensuelle. Cela permet ensuite de générer un « état de caisse » mensuel qui correspond effectivement au contenu de la caisse à la fin de chaque mois.

== L'objet « recu_abonnement » ==

Il sert à enregistrer le paiement d'un abonnement.

||'''__id__'''||Identifiant unique d'un paiement d'abonnement||
||'''id_recu'''||Identifiant du reçu pour le paiement||
||'''id_abonnement'''||Identifiant de l'abonnement concerné||

== L'objet « recu_commande » ==

Il sert à enregistrer le paiement d'une commande.

||'''__id__'''||Identifiant unique d'un paiement de commande||
||'''id_recu'''||Identifiant du reçu pour le paiement||
||'''id_commande'''||Identifiant de la commande concernée||

----

<!> '''Ce qui suit ne doit pas être pris en compte : ce sont des notes temporaires !''' <!>

Nous aurons à manipuler :
 * des objets `groupe`
 * des objets `compte`
 * des objets `commande`

Cette page présente ma proposition de version 0. -- JeanChristopheAndré

TableOfContents

Introduction

Ma vision des choses :

  • le logiciel doit comprendre un noyau dur et des extensions
  • le noyau dur doit consister en ce qui est indispensable, commun à toutes les situations

  • les extensions consistant alors en ce qui peut être utile d'ajouter, suivant le contexte

  • les extensions doivent donc être modulaires, configurables et pouvoir être (dés)activées, selon les besoins
  • toutes les informations doivent être dans une unique base de données, source pour tout le reste

Partant de là on peut détailler :

  • le noyau dur :
    • on veut gérer des usagers, il faut donc une base de données pour les enregistrer

    • on veut confier cette gestion à des non-techniciens, il faut donc une interface web

    • on veut pouvoir étendre les fonctionnalités, il faut donc définir une API

    • on veut pouvoir retrouver les traces des opérations, il faut donc une journalisation

  • les extensions indispensables :

    • on veut pouvoir générer une base d'authentification ["MySQL"] (avec libnss-mysql-bg)

    • on veut pouvoir générer une base d'authentification ["Samba"] (dans MySQL ou des fichiers, via pdbedit)

    • on veut pouvoir générer une base d'adéls pour ["postfix"] (dans MySQL ou des fichiers)
    • on veut pouvoir générer une base de boîtes aux lettres pour ["dovecot"] (dans MySQL ou des fichiers)
  • les extensions souhaitées :

    • on souhaiterait pouvoir générer une base d'authentification ["NIS"] (dans /etc/passwd, /etc/shadow et /etc/group)

    • on souhaiterait pouvoir générer une base de boîtes aux lettres pour ["courier"] (dans MySQL ou des fichiers)
    • on souhaiterait pouvoir intervenir depuis la ligne de commande (pas moi...)
    • on souhaiterait pouvoir gérer les quota d'impression (via CUPS)
    • on souhaiterait pouvoir gérer les paiements reçus (abonnement, commande de document, remboursement, état de caisse, bilan mensuel)
  • les extensions possibles :

    • on souhaiterait pouvoir générer une base d'authentification ["LDAP"] (mais... finalement non)

La base de données

L'objet « personne »

Il sert à pouvoir identifier un utilisateur dans la « Vraie Vie »™.

id

Identifiant unique d'une personne

nom

Son(ses) nom(s) tel(s) qu'indiqué(s) sur une pièce d'identité

prenom

Son(ses) prénom(s) tel(s) qu'indiqué(s) sur une pièce d'identité

nom_affichage

Le nom d'affichage souhaité

genre

Son genre

date_naissance

Sa date de naissance

adel

Son adél de contact préférée

adel_alternative

Son adél de contact alternative (en cas d'injoignabilité sur la précédente)

adresse_personnelle

Son adresse personnelle

adresse_professionnelle

Son adresse professionnelle

telephone_personnel

Son numéro de téléphone personnel

telephone_professionnel

Son numéro de téléphone professionnel

telephone_mobile

Son numéro de téléphone mobile

telephone_fax

Son numéro de fax

commentaire

Un commentaire éventuel

L'objet « abonnement »

Il sert à enregistrer la durée d'activité d'un utilisateur.

id

Identifiant unique d'un abonnement

id_personne

Identifiant de l'utilisateur concerné

date_debut

Date de début d'activité

date_fin

Date de fin d'activité

Extension de gestion financière

<!> voir le problème de la monnaie ! <!>

L'objet « recu »

Il sert à enregistrer le reçu d'un paiement, que ce soit en crédit ou en débit.

id

Identifiant unique d'un reçu

id_recu_origine

Lien vers le reçu d'origine en cas de remboursement après clôture

id_personne

Identifiant de l'utilisateur recevant le reçu

id_implantation

Identifiant de l'implantation où est émis le reçu

date_saisie

Date de saisie du reçu

date_valeur

Date de valeur du reçu

credit

Valeur du reçu (perçue)

debit

Valeur du reçu (remboursée)

Note : credit et debit indiquent des sommes dans le même mois ; les remboursements d'un mois sur l'autre devant faire l'objet d'un nouveau reçu pour des raisons de clôture financière mensuelle. Cela permet ensuite de générer un « état de caisse » mensuel qui correspond effectivement au contenu de la caisse à la fin de chaque mois.

L'objet « recu_abonnement »

Il sert à enregistrer le paiement d'un abonnement.

id

Identifiant unique d'un paiement d'abonnement

id_recu

Identifiant du reçu pour le paiement

id_abonnement

Identifiant de l'abonnement concerné

L'objet « recu_commande »

Il sert à enregistrer le paiement d'une commande.

id

Identifiant unique d'un paiement de commande

id_recu

Identifiant du reçu pour le paiement

id_commande

Identifiant de la commande concernée


<!> Ce qui suit ne doit pas être pris en compte : ce sont des notes temporaires ! <!>

Nous aurons à manipuler :

  • des objets groupe

  • des objets compte

  • des objets commande

Projet/GUIA/SchemaBase/HistoriquePropositionJC (dernière édition le 2008-02-21 22:09:19 par localhost)