Proposition de Nomenclature des Objets de LIPE

            Proposition de Nomenclature des Objets de LIPE

LIPE-RFC-N°   : 4
Status        : Provisoire rev. a
Date          : 19-05-1999
Auteurs       : Bernard Frit 
Reference     :
Sujet         : Nomenclature des Evènements, Modules etc...
Mots Clés     : LIPE-RFC, évènements, modules, architecture, données
Destinataires : Tous
Remerciements :
Contenu       :

Préambule
---------
Le projet LIPE a été dès le premier jour subdivisé en différentes
catégories :

   1- les événements concernant l'argent
        la comptabilité, la trésorerie, la gestion budgétaire
        l'évenement de base est la ligne de compta

   2- les évenements concernant la gestion
        livraisons, facturation, stocks
        l'événement de base est la ligne de BL/facture

   3- les évenements de RH
        Paye, badgeage, gestion du Pabx,congés, maladie,formation,..

   4 - les évenements de secrétariat
        traitement de texte, fax, mails, repas, rendez vous

   5- la documentation
        aide en ligne, man, FAQ, ...

Auxquelles il semble souhaitable d'ajouter :

  0- les évènements concernant LIPE
       les communications, l'architecture, la gestion
       interne de LIPE par lui-même. 


Définition d'une Nomenclature d'Objets
---------------------------------------
Il aparaît souhaitable autant pour des raisons mnémotechniques 
que pour des raisons logiques de structurer l'ensemble des objets
constituant LIPE selon une nomenclature reprenant la subdivision
détaillée dans le préambule.

Chaque objet (évènement, module, message, etc...) appartenant à l'une
des catégories définies plus haut sera référencé par un code indiquant
son appartenance.

0- Les objets appartenant à la gestion interne de LIPE
1- Les objets appartenant à la gestion comptable et financière
2- Les objets appartenant à la gestion commerciale
3- Les objets appartenant à la gestion des ressources humaines
4- Les objets appartenant à la gestion bureautique
5- Les objets appartenant à la gestion de la documentation

Exceptions
----------
Certains objets pouvant être considérés comme appartenant à plusieurs
classes d'objets devront être impérativement classés selon le critère
suivant :

 Qui en est le propriétaire ?

Exemple : une facture génère une écriture en comptabilité et les deux
objets trouvent leur origine dans un évènement survenu dans la gestion
commerciale.
- la facture appartient à la gestion commerciale (classe 2)
- l'écriture appartient à la gestion comptable et financière (classe 1)
- le module génèrant l'écriture appartient à la gestion commerciale (classe 2)
- le module qui l'imprime appartient à la gestion comptable (classe 1)

Implémentation
---------------
Chaque évènement devant avoir un type particulier afin d'en assurer une
gestion spécifique, il est alors naturel d'effectuer le typage en 
référence aux classes d'objets définies ci-dessus.
Autrement dit un évènement de type X deviendra un évènement de type
NX où N est une des classes défines.
En adoptant une représentation des données en hexadécimal il est alors
possible de stocker sur 2 octets l'ensemble du référencement de tous
les types d'évènements possibles, ainsi que l'ensemble de tous les
modules constituant les applicatifs. Cela nous donne une capacité
théorique de 256 modules par classe et 256 classes. De quoi satisfaire
à toutes les extensions futures.
Pour des raisons évidentes de commodité il est alors possible de
déclarer :

de 00 à 29 : Réservé
   30 (0) - Les objets appartenant à la gestion interne de LIPE
   31 (1) - Les objets appartenant à la gestion comptable et financière
   32 (2) - Les objets appartenant à la gestion commerciale
   33 (3) - Les objets appartenant à la gestion des ressources humaines
   34 (4) - Les objets appartenant à la gestion bureautique
   35 (5) - Les objets appartenant à la gestion de la documentation
de 36 à ff : extensions futures

XX : hexadécimal; (X) : ascii.

Avantages
---------
La simple visualisation du code représentant ou référençant un objet
permet d'en connaître instantannémént l'appartenance. Dans un système
de développement distribué comme celui de ce projet, cela permet de
savoir immédiatement si un développeur a le contrôle ou pas de
l'objet qu'il est en train de manipuler.