Thunderbird et LDAP pour une gestion facile et centralisée des contacts

Voici un petit tutorial explicitant la compilation d'un thunderbird afin de pouvoir (enfin) editer des contacts contenus dans un annuaire LDAP.

En effet, jusqu'ici on peut connecter thunderbird à un annuaire LDAP ; le seul souci réside dans le fait que celui-ci n'est consultable qu'en lecture seule.

Le moyen présenté dans ce mini tutorial permet d'activer une option lors de la compilation de thunderbird pour profiter de fonctionnalités (toujours expérimentales) d'édition / mises à jour de contacts d'un annuaire LDAP.
Ce tutorial nécessite un système d'exploitation linux-like (ici fait sur une distrib ubuntu gutsy mais rien d'exotique ne vous permettant pas un succès avec une autre distribution GNU/linux).

Configuration de pré-compilation de thunderbird

Récupérons d'abord thunderbird en cvs (apt-get install cvs vous tirera d'affaire si vous n'avez pas ce programme).
Placez vous dans un répertoire, ici j'ai choisi de me placer dans mon répertoire personnel.

cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/client.mk
cd mozilla
make -f client.mk checkout MOZ_CO_PROJECT=mail
export MOZCONFIG=~/mozilla/mail/config/mozconfig

Compilation de Thunderbird

Pour que cette compilation aboutisse avec succès, il est nécessaire d'avoir des paquets qui ne sont pas forcément présent sur votre machine (C'est ce qui ressort de plusieurs messages postés ailleurs, dont un sur le Forum Ubuntu).
Pour éviter que la compilation échoue à cause de ces absences, je vous conseille donc de faire :

sudo apt-get install dbus-glib-1 dbus-glib-1-dev libidl-dev libgtk2.0-dev libxt-dev

Désactivons une option dans le fichier de conf (l'option crashreporter ne nous sert pas et demande une lib supplémentaire -- superflus pour ce tutoriel).

echo "ac_add_options --disable-crashreporter" >> ~/mozilla/mail/config/mozconfig

Dans le répertoire "~/mozilla/mail/src/" éditez le fichier "nsAbLDAPDirectory.cpp" pour y ajouter l'option magique "#define MOZ_EXPERIMENTAL_WRITEABLE_LDAP true". Ajoutez cette option vers la ligne 72 au niveau de la ligne "#define kDefaultMaxHits 100".

Nous sommes maintenant prêts pour la compilation (faites chauffer de l'eau pour une pause thé :-), la compilation prend environ 20 minutes sur mon portable - core 2 duo 1.2 Ghz)

cd ~/mozilla
make -f client.mk build

Lancement de Thunderbird

Il était bon ce thé ? Ok, maintenant, lançons notre thunderbird fraîchement compilé.

cd dist/bin
./thunderbird

Tout fonctionne, passons à l'étape suivante ; l'installation d'un LDAP simpliste.

installation d'un serveur LDAP simplissime

Ici, je vais vous montrer comment installer un serveur LDAP minimaliste.

sudo apt-get install slapd ldap-utils

Une fois installé, il nous faut définir un password pour root avec la commande suivante.

slappasswd
New password:
Re-enter password:
{SSHA}d2BamRTgBuhC6SxC0vFGWol31ki8iq5m

Copiez la ligne "{SSHA}d2BamRTgBuhC6SxC0vFGWol31ki8iq5m" et éditez le fichier "/etc/ldap/slapd.conf".

#Assurez d'avoir les lignes suivantes ou de les décommenter, "chezmoi" est le petit nom que je veux donner à mon LDAP
suffix "dc=chezmoi" #j'ai choisi ce DC mais vous pouvez prendre autre chose bien sûre
directory "/var/lib/ldap" #par défaut sur ubuntu
rootdn "cn=admin,dc=chezmoi"
rootpw {SSHA}d2BamRTgBuhC6SxC0vFGWol31ki8iq5m

Editez le fichier /etc/ldap/ldap.conf et ajoutez :

BASE dc=chezmoi

Encore un petit effort ! Il nous faut maintenant créer un fichier contenant nos première entrées LDAP. Je vous propose de créer un fichier nommé init.ldif et d'ajouter ce contenu (minimaliste : création d'une OU contacts pour y placer nos contacts) :

dn: dc=chezmoi
objectClass: dcObject
objectClass: organizationalUnit
dc: chezmoi
ou: Chezmoi

dn: ou=contacts,dc=chezmoi
objectClass: organizationalUnit
ou: contacts

On va arrêter LDAP, charger notre fichier et redémarrer LDAP :

sudo /etc/init.d/slapd stop
sudo slapadd -l ~/ldap.ldif
sudo /etc/init.d/slapd start

Il nous reste maintenant à télécharger le schéma correspondant à mozilla thunderbird à cette adresse :
Mozilla LDAP Schema
Placez son contenu dans un fichier, par exemple /etc/ldap/schema/mozilla-thunderbird.schema

(Note : Je ne sais pas encore pourquoi mais il faut retirer les lignes suivantes de ce schéma sinon ldap ne veux pas redémarrer... J'ai l'impression que c'est un problème de schéma.)

mozillaCustom2 $
mozillaCustom4 $
...
nsAIMid $

Ajouter au début du fichier /etc/ldap/slapd.conf la ligne suivante et redémarrez slapd, placer vous dans ~/mozilla/dist/bin et lancer thunderbird :

--> ajout de "include /etc/ldap/schema/mozilla-thunderbird.schema" dans au début du fichier "/etc/ldap/slapd.conf"

sudo /etc/init.d/slapd restart
cd ~/mozilla/dist/bin
./thunderbird

Maintenant, il suffit d'ajouter un nouvel annuaire LDAP depuis la partie carnet d'adresses de Thunderbird. Les paramètres à entrer sont les suivants (pour notre exemple) :

Name : chezmoi
Hostname : localhost
base DN : ou=contacts, dc=chezmoi
Bind DN : cn=admin,dc=chezmoi

Vous pouvez maintenant créer des contacts qui seront directement enregistrés dans votre annuaire LDAP !! :-)

footer
© Azolia - Open Source - Logiciels Libres - Informatique Montpellier

Valid XHTML 1.0 Strict

sfy39587f11