Référentiels et annuaires
6 mai 2001
Les référentiels et les annuaires constituent les
fondations d’un système d’information. Il s’agit d’outils logiques dont
la description est en principe dépourvue de toute ambiguïté. Cependant l’enchaînement
des définitions, ainsi que la diversité du vocabulaire, introduisent des
risques de confusion. Nous nous efforçons ici de les présenter sous une forme
aussi claire que possible.
Populations et individus
Tout système d’information décrit et gère des "
individus " composant des " populations ". Nous utilisons ces
termes selon le sens très général qu’ils ont en statistique : les "
individus " qu’il s’agit de décrire peuvent être des personnes
physiques ou morales, pièces de rechange, machines, établissements, commandes,
factures, etc. Les " populations " peuvent donc être des ensembles de
personnes, de pièces de rechange, etc.
Nous disons que le système d’information " décrit et
gère " ces individus car (1) il enregistre les valeurs prises par
certaines variables sur chaque individu, et elles peuvent donc être utilisées
pour le décrire (sur une personne physique : état civil, adresse etc.) ; (2)
il calcule les valeurs de certaines variables (l’âge par différence entre
date actuelle et date de naissance ; la tranche d’imposition à partir du
niveau du revenu, etc.).
C’est pour cela que l’on utilise souvent le terme "
objet " pour désigner l’image d’un individu dans le système d’information.
Ce terme fait référence aux langages " orientés objet ", qui
décrivent un individu par un ensemble de variables (ou " attributs ")
auxquelles sont associés des traitements (ou " méthodes ") et aussi
des règles de consultation et de mise à jour (" interfaces "). On
utilise le terme " classe ", ou plus généralement " composant
" (un composant articule plusieurs classes autour d’une " classe
maître "), pour désigner la définition des attributs, méthodes et
interfaces utilisés pour décrire les individus d’une même population.
La première étape de la définition d’un système d’information,
c’est la description des composants qu’il décrit et qu’il gère : cette
description est fournie par le " référentiel ".
Identification
Il importe que les objets puissent être désignés sans
ambiguïté, et que l’on puisse les retrouver aisément pour mettre à jour
leur description ou pour croiser des attributs stockés dans des bases de
données différentes. Il suffit dans certains cas d’utiliser à cette fin
leur nom propre ; mais dans d’autres cas le nom propre n’est pas fiable (le
nom d’une entreprise peut changer, plusieurs personnes peuvent avoir les
mêmes nom et prénom, etc.). On doit alors utiliser un identifiant
numérique ou alphanumérique (les entreprises sont identifiées par le numéro
SIREN, les établissements par le numéro SIRET, les personnes physiques par le
numéro d’état civil, etc.)
Certains identifiants présentent des défauts. L’INSEE
utilisait autrefois pour les établissements un identifiant comportant plusieurs
codes (activité principale, localisation) ; il fallait modifier l’identifiant
d’un établissement qui avait changé d’activité principale, ce qui
compliquait les études d’évolution.
En règle générale, il est préférable qu’un identifiant
soit :
-
non significatif,
-
accordé une fois pour toute à un même objet,
-
supprimé définitivement en cas de suppression de l’objet.
Attributs
A chaque objet sont associés des attributs. Alors que le
nombre des observations que l’on peut faire sur un objet du monde réel est
proprement infini, le nombre des attributs que l’on associe à un objet
(informatique) est limité. Ces attributs résultent donc d’une sélection
dans l’ensemble des observations possibles. C’est pour cela que l’on dit
que tout " objet " (informatique) est une abstraction d’un "
objet " (réel), le mot " abstraction " désignant précisément
cette sélection. Elle doit être guidée par un critère de pertinence : on
sélectionne, parmi les diverses observations possibles sur un " objet
" (réel), celles qu’il est nécessaire de connaître pour mener à bien
les actions que l’on doit réaliser sur lui.
Parmi les attributs, certains sont " quantitatifs "
(taille d’une personne, revenu annuel imposable d’un ménage, chiffre d’affaires
annuel d’une entreprise), d’autres sont " qualitatifs " (sexe ou
catégorie socioprofessionnelle d’une personne, commune de résidence d’un
ménage, secteur d’activité d’un établissement), d’autres sont "
qualitatifs ordinaux " (classe d’âge d’une personne, nombre d’enfants
d’un ménage).
A la mesure d’un attribut quantitatif est associé un
format, ou " type " ; à chaque attribut qualitatif est associé une
" table " (nommée encore " classification ", "
nomenclature ", " typologie ", " systématique " etc.)
décrivant les valeurs qu’il peut prendre, et éventuellement les divers
niveaux d’agrégation selon lesquels on peut le coder (le niveau fin du code
géographique est la commune qui s’agrège en canton, département, région et
peut s’éclater en îlots ; la nomenclature des activités économiques, la
nomenclature douanière comportent des niveaux différents que l’on désigne
par le nombre de chiffres utilisés pour les coder).
Référentiel
L’ensemble des tables décrivant les composants, leurs
attributs, les définitions et règles de codage, ainsi que les règles de
calcul (dites " règles de gestion "), constitue le "
référentiel " de l’entreprise (terme qui désigne non les valeurs
prises par les attributs telles qu’elles sont stockées dans les bases de
données, mais un ensemble de définitions et relations). La construction et la
maintenance de ce référentiel, c’est la tâche de l’" administration
des données ". Lorsque cette tâche est négligée, les données de l’entreprise
sont mal maîtrisées : on verra des homonymes (le même mot utilisé pour
désigner des choses différentes), des synonymes (la même chose nommée de
diverses façons), les délais de mises à jour seront différents selon l’application
considérée (incohérences entre observations), etc.
Un cas classique, c’est la mauvaise gestion du code
géographique : l’entreprise est organisée par régions dont les contours
varient ; le code " région " est entré séparément dans chaque
application (au lieu d’être stocké dans une base de référence unique à
laquelle les applications font appel) ; les mises à jour des diverses
applications comportent des délais variables. Il en résulte des différences
entre agrégats géographiques (homonymies) qui entraînent des écarts dans la
définition des données.
Annuaire
On appelle " répertoire " (ou " annuaire
", ou " données de référence ") une liste d’objets
comportant l’identifiant de chacun et les valeurs de quelques attributs
sélectionnés. Chaque objet est rattaché à une des structures de l’établissement.
L’annuaire des personnes comporte classiquement leur
identifiant et leur état civil, suivi de leurs diverses adresses (postale,
téléphonique, de messagerie), de leurs mots de passe, ainsi que de leurs
affectation, statut administratif et fonction.
On peut également construire un annuaire des matériels
contenant leur identification et leur description (annuaire des réseaux locaux
de PC, ou RLPC, annuaire des mobiliers etc.). L’annuaire des RLPC, qui décrit
les PC, serveurs et équipements du réseau, est utile pour la gestion de
configuration des postes de travail.
L’annuaire est utilisé (1) à des fins opérationnelles,
(2) à des fins de gestion du système d’information, dans lequel il joue le
rôle d’un pivot d’échanges (ou " hub "). En raison même de sa
fonction de " pivot ", il peut avoir des utilisations diverses : on
peut consulter l’annuaire des personnes pour trouver un numéro de téléphone,
pour envoyer un message, pour composer une liste, pour établir des
statistiques, pour authentifier l’utilisateur lors de sa connexion au système
d’information, pour fournir le profil qui permettra de connaître ses droits
(cf. ci-dessous).
Un annuaire peut être utilisé par une application de deux
façons différentes :
-
soit il est interrogé au coup par coup chaque fois que l’application a
besoin de connaître la valeur d’un attribut (mode " pull "), et
dans ce cas chaque application doit connaître la liste des annuaires qu’elle
utilise,
-
soit il est chargé entièrement dans la base de données de l’application
utilisatrice après chaque mise à jour (mode " push "), et dans
ce cas chaque annuaire doit connaître la liste des applications qui l’utilisent
et pouvoir les mettre à jour sans délai.
Le point le plus délicat de la gestion des annuaires réside
dans leur délai de mise à jour. Si les modifications du monde réel (embauche
d’une nouvelle personne, mutation d’un ancien, changement de la
configuration d’un PC etc.) ne sont pas enregistrées dans l’annuaire selon
un délai " raisonnable " en regard des exigences opérationnelles, le
décalage entre l’annuaire et la réalité compromet la qualité du système d’information.
Comme l’informatique équipe de plus en plus complètement le processus de
travail des utilisateurs, le délai " raisonnable " devient court : on
acceptera peut-être d’attendre une demi-journée pour installer une personne devant son poste de travail, mais guère plus.
Il faut définir la procédure de mise à jour de l’annuaire,
puis en contrôler l’exécution. Il est le plus souvent nécessaire de
désigner une personne pour cette tâche. Elle administrera l’annuaire et sera
chargée de garantir sa qualité, en relation avec les personnes qui
initialisent la procédure de mise à jour et qui seront souvent dispersées
dans le réseau, au plus près du terrain et donc du monde réel que le système
d’information doit refléter.
Authentification
Lorsqu’une personne se connecte au système d’information,
elle s’identifie (soit en fournissant son identifiant, soit en utilisant un
identifiant secondaire facile à retenir du type prenom.nom), et surtout elle authentifie cette identification en fournissant un mot de passe, ou en
introduisant dans son PC une carte à puce servant de clé physique d’accès
au système d’information.
L’authentification a pour but de garantir l’identité de
la personne qui accède au système d’information ; c’est la toute première
étape, indispensable, de la définition de ses droits ou " habilitations
".
Habilitation
Le système d’information n’est pas un système ouvert
dans lequel chacun pourrait fouiller à sa guise ou introduire des données
selon sa fantaisie. L’accès aux données confidentielles (sur les personnes, les
clients etc.) doit être réservé à des personnes habilitées, ainsi que la
saisie ou la correction des données et le lancement des traitements.
A chaque personne, qu’elle appartienne à l’entreprise ou à
un partenaire, sont donc associées des habilitations spécifiques de
consultation, écriture et traitement ; ces habilitations peuvent concerner la
totalité d’un composant ou seulement une partie de celui-ci.
Profil
Les habilitations d’une personne sont fonction de certains de
ses attributs, que l’on regroupe sous le terme de " profil "
(établissement de rattachement administratif, établissement où l’agent
travaille, grade et fonction, équipe professionnelle, etc.) : l’habilitation,
bien qu’elle soit attribuée au coup par coup à une personne lors de sa
connexion, n’est pas exactement individuelle car elle est la même pour toutes
les personnes ayant le même profil : l'habilitation est fonction du profil.
Savoir comment et par qui le profil d’une personne est géré
constitue l’une des articulations cruciales du système d’information.
-
Si tous les attributs constituant le profil sont contenus dans l’annuaire,
et si l’annuaire est en mesure de les tenir à jour de façon "
raisonnable ", il sera possible lors de la connexion d’une personne de
consulter l’annuaire pour récupérer son profil, puis d’en déduire les
habilitations. Alors la tâche de l’annuaire est de tenir à jour les
profils individuels des personnes, et la tâche de l’application est
seulement de tenir à jour la table définissant les habilitations en
fonction des profils ; l’application n’a pas à gérer les habilitations
au niveau individuel.
-
Si l’annuaire ne contient pas tous les attributs constituant le profil,
ou s’il n’est pas possible de le tenir à jour de façon "
raisonnable ", l’application devra compléter l’information fournie
par l’annuaire pour établir le profil de la personne ; elle comportera donc
elle-même, comme l’annuaire, des listes de personnes et des
attributs qu’elle devra tenir à jour et administrer.
L’enjeu est important. Si l’on parvient à regrouper dans
l’annuaire les attributs permettant de connaître les divers profils pour
déterminer les
habilitations aux diverses applications, et si l’annuaire est capable de
mettre ces attributs à jour dans des délais " raisonnables ", alors
les applications n’ont plus à gérer les profils individuels, mais seulement
des tables croisant profil et habilitation. La simplification apportée ainsi au
système d’information peut être considérable.