Contenu

Annuaire LDAP et Thunderbird : Personnalisation

Contenu
Avertissement
Dernière modification de cet article le 2011-05-18, le contenu pourrait être dépassé/obsolète.

L’utilisation d’annuaire de type LDAP dans Thunderbid requiert quelques petites manipulations si l’on veut correctement tirer parti des avantages d’un annuaire.

Voici un des comportements de Thunderbird qui pose soucis : Par défaut, il recherche dans les attributs cn, mail, sn (cf. fichier _comm-1.9.2mailnewsaddrbookpublicnsILDAPAutoCompleteSession.idl_) : soit le “nom commun”, l’adresse de courriel et le nom de famille.

Si l’on veut chercher des entrées d’annuaire selon d’autres critères il faut modifier le paramètre “autoComplete.filterTemplate”.

Pour ma part j’opte pour une recherche sur, en sus des précédents attributs, le prénom (givenName), le nom d’affichage (displayName) et le poste (title) avec le réglage suivant (où LdapDirectoryName est l’ID de l’annuaire configuré) :

1
user_pref("ldap_2.servers.LdapDirectoryName.autoComplete.filterTemplate", "(|(cn=*%v*)(displayName=*%v*)(givenName=*%v*)(mail=*%v*)(sn=*%v*)(title=*%v*))");

Tant qu’on est dans les annuaires LDAP et Thunderbird, notez que si vous utilisez des attributs LDAP acceptant plusieurs valeurs (contraire d’un attribut SINGLE-VALUE), Thunderbird n’affichera que la première valeur.

Exemple avec le groupe suivant :

dn: cn=grp_test,ou=Groups,dc=domain,dc=local
objectClass: groupOfNames
objectClass: top
cn: grp_test
cn: Groupe de test
member: uid=user1,ou=Users,dc=domain,dc=local
mail: test-group@domain.local

Dans lequel, mon groupe "

cn=grp_test,ou=Groups,dc=domain,dc=local" possède un genre d’identifiant, faisant partie du DN ("grp_test") mais également un nom un peu plus parlant ("Groupe de test"). Or il apparaîtra (dans un résultat de recherche ainsi que dans un champ de destinataire de courriel) sous “grp_test” car c’est la première valeur de l’attribut cn (qui fait partie du DN). Pour y remédier il suffit de faire passer le joli cn avant le cn moche :

dn: cn=grp_test,ou=Groups,dc=domain,dc=local
objectClass: groupOfNames
objectClass: top
cn: Groupe de test
cn: grp_test
member: uid=user1,ou=Users,dc=domain,dc=local
mail: test-group@domain.local

Sachez également que pour ce genre de problème d’affichage, il est possible dire à Thunderbird d’utiliser d’autres attributs pour afficher les résultats avec les paramètres “attrmap.DisplayName” et “autoComplete.nameFormat” valant respectivement displayName et [displayName]

Par exemple, pour afficher le poste et la société d’une personne en plus de son displayName il suffit de définir “autoComplete.nameFormat” comme suit :

1
user_pref("ldap_2.servers.LdapDirectoryName.autoComplete.nameFormat", "[displayName] [[title]] ([o])");

title est le poste et o l’organisation, ce qui donnera :

Machin BIDULE [Responsable marketing] (World Company) <m-bidule@worldcorp.com>

(Oui, l’adresse e-mail est toujours rajoutée, à la fin, sous cette forme : c’est requis par la syntaxe des entêtes des courriels).