RECHERCHE :
Bienvenue sur le site de Michel VOLLE
Powered by picosearch  


Vous êtes libre de copier, distribuer et/ou modifier les documents de ce site, à la seule condition de citer la source.
 GNU Free Documentation License.

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.

  1. 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.

  2. 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.