8. L'annuaire LDAP SAMSE

8.1. Le schéma d'annuaire

La conception du schéma s'est faite à partir d'une analyse de l'organisation du groupe SAMSE et par l'organisation de groupe de travail.

Nous avons utilisé au maximum les objets et attributs fournis par OpenLDAP, mais nous avons du ajouté notre propre schéma lorsqu'ils n'existaient pas.

Les attributs et classes d'objet ajoutés concerne principalement notre annuaire des 'Pages jaunes', 'Pages blanches' et la gestion des utilisateurs temporaires. Ces objets et attributs auraient certainement pu être pris dans des schémas existant mais nous avons voulu simplifier la création des objets et optimiser leur chargement.

Voici les attributs ajoutés et leur définition :


# Date d'arrivee dans le groupe de la personne
attributetype ( 1.3.6.1.4.1.3814.4.1 NAME ( 'arrivalDate' ) SUP name)
# Date de depart de la personne
attributetype ( 1.3.6.1.4.1.3814.4.2 NAME ( 'leavingDate' ) SUP name)
# Groupe cotisant de la personne
attributetype ( 1.3.6.1.4.1.3814.4.3 NAME ( 'contributionGroup' ) SUP name)
# Sexe de la personne
attributetype ( 1.3.6.1.4.1.3814.4.4 NAME ( 'sexe' ) SUP name)
# Date de naissance de la personne
attributetype ( 1.3.6.1.4.1.3814.4.5 NAME ( 'birthDate' ) SUP name)
# Raccourci telephone fixe
attributetype ( 1.3.6.1.4.1.3814.4.6 NAME ( 'fixRPVNumber' ) SUP name)
# Raccourci portable
attributetype ( 1.3.6.1.4.1.3814.4.7 NAME ( 'mobileRPVNumber' ) SUP name)
# Forme jurique
attributetype ( 1.3.6.1.4.1.3814.4.8 NAME ( 'legalForm' ) SUP name)
# Capital
attributetype ( 1.3.6.1.4.1.3814.4.9 NAME ( 'capital' ) SUP name)
# Convention Collective
attributetype ( 1.3.6.1.4.1.3814.4.10 NAME ( 'collectiveConvention' ) SUP name)
# Responsable
attributetype ( 1.3.6.1.4.1.3814.4.11 NAME ( 'responsable' ) SUP name)
# Qualite du Responsable
attributetype ( 1.3.6.1.4.1.3814.4.12 NAME ( 'quality' ) SUP name)
# Assistant(e)
attributetype ( 1.3.6.1.4.1.3814.4.13 NAME ( 'assistant' ) SUP name)
# Region d'une agence
attributetype ( 1.3.6.1.4.1.3814.4.14 NAME ( 'region' ) SUP name)
# Nom de la mailbox d'un user
attributetype ( 1.3.6.1.4.1.3814.4.15 NAME ( 'mailboxName' ) SUP name)

Voici la définition des objectClass qui sont utilisées dans les entrées LDAP :


objectClass ( 1.3.6.1.4.1.3814.3.4 NAME 'samseOu'
        DESC 'SAMSE Organizational Unit Object'
        SUP organizationalUnit
        MUST ( uid )
        MAY ( legalForm $ capital $ collectiveConvention $ quality $ responsable $ region) )

objectClass ( 1.3.6.1.4.1.3814.3.5 NAME 'samsePerson'
        DESC 'SAMSE Person'
        SUP ( inetOrgPerson )
        MUST ( uid $ cn )
        MAY ( arrivalDate $ leavingDate $ contributionGroup $ sexe $ birthDate $ fixRPVNumber $ mobileRPVNumber $ assistant $ mailboxName) )

L'ensemble de ces définitions sont stockées dans un seul fichier samse.schema qui doit être inclus dans le fichier de configuration slapd.conf. Les autres schémas chargés sont les suivants :


 - core.schema
 - cosine.schema
 - inetorgperson.schema
 - nis.schema

8.2. Espace de nommage et arborescence

Dans cette partie, nous tenons compte ici des paramètres suivants :


 - Du nombre d'entrées prévues et de son évolution.
 - De la nature des données.
 - Des contraintes d'administration.
 - D'une réplication possible.
 - Des contraintes liées aux applications utilisant l'annuaire.

L'administration est centralisée, la notion de référence à un autre annuaire n'a pas lieu d'être. La réplication est nécessaire.

Nous avons arrêté le choix de notre suffixe (racine du répertoire) : dc=samse, dc=fr.

Nous avons ici suivi les recommandations de IETF car nous pourrons utiliser le Service Record (SRV) dur DNS (Domain Name Service) pour déterminer automatiquement le serveur LDAP à contacter, à partir du Distinguish Name (DN) utilisé par une requête.

Nous avons essayé de prendre une arborescence la plus plate et la plus possible, pour des question de performance. Le personnel étant mobile (par rapport à ses fonctions), le modèle hiérarchique n'a pas été retenu.

Figure 1. Annuaire LDAP SAMSE