Previous Contents Next

1.6   Ecriture d'un backend pour openldap

1.6.1   Objectif

La gestion des comptes des utilisateurs de l'EUDIL repose sur une structure maison appelée le registre. Il s'agit tout simplement d'une hierarchie de répertoires et de fichiers stockant toutes les informations sur les utilisateurs de l'EUDIL (et bien d'autres choses). Désormais ces informations peuvent être utilisées par de nombreux logiciels d'administration pour peu qu'elles puissent être accédées via le protocole LDAP. L'an passé un binôme a tenté d'écrire une interface entre un serveur LDAP de type openldap et le registre de l'EUDIL (voir les anciens sujets). Le résultat a frolé l'échec total. Cependant, cette interface étant indispensable, le département développement du service informatique (périphrase pour dire "moi") à écrit cette interface. L'interface est fonctionnelle mais présente le défaut d'être écrite en tant que "backend shell" (programme externe au serveur openldap) , elle est donc peu intégrée au serveur LDAP et a necessité de dupliquer du code déjà présent dans les sources du projet openldap. De plus, pour des raisons obscures, le serveur openldap ne fait des vérifications des droits d'accès, pour les "backend shell", que sur les demandes en lecture et pas en écriture. Le but de cet avant-projet est de transformer le "backend shell" en un "backend" openldap sous la forme d'une bibliothèque chargeable par le serveur openldap.

1.6.2   Pré-requis

Une certaine affinité avec le langage C, en particulier pour la compréhension des sources d'openldap.

1.6.3   Matériel

Un PC de base pour installer un Linux, un serveur LDAP et une copie du registre de l'EUDIL.

1.6.4   Travail à réaliser

La première étape de cet avant-projet est de constituer l'environnement de développement du "backend". Pour cela, après l'installation de Linux, vous installerez le serveur du projet openldap, le "backend shell" EUDIL (avec son patch de contrôle d'accès pour le serveur openldap) et une copie du registre EUDIL. Après quelques manipulations du registre au travers de LDAP, vous pourrez commencer à écrire le "backend" intégré. Veillez à rendre votre "backend" indépendant au maximum de la version d'openldap (cela passe par l'écriture du "backend" sous forme de bibliothèque chargeable à chaud). Attention, une étude préalable de la bibliothèque "backend" d'openldap est nécessaire pour connaitre exactement les procédures disponibles et éviter la duplication de code. Vous aurez aussi à vérifier que les applications utilisant le registre via LDAP fonctionnent encore avec votre module.


Previous Contents Next