LDAP Data Interchange Format
# LDAP Data Interchange Format

LDIF (LDAP Data Interchange Format) est un format standardisé d'échange de données, qui permet la représentation des données contenues dans un annuaire LDAP. Il permet également la représentation d'opérations sur les données de l'annuaire (ajout, suppression, modification). Le contenu d'un annuaire est représenté comme un ensemble d'enregistrements (un enregistrement par objet de l'annuaire). Les opérations de mise à jour sont représentées comme un ensemble de requêtes. Dans tous les cas, les données sont sous forme d'un fichier texte.

Le format LDIF a été conçu au début des années 1990 par Gordon Good à l'université du Michigan, il a été amélioré à la fin des années 1990 pour prendre en charge la version 3 du protocole LDAP. Cette dernière version est connue comme étant la version 1 définie dans la RFC 2849 par l'IETF. La RFC 2849 écrite par Gordon Good en juin 2000 est actuellement proposée comme standard.

Plusieurs extensions du format LDAP ont été proposées au fil du temps, cependant une seule a été publiée par l'IETF. La RFC 4525 écrite par Kurt Zeilenga propose d'étendre le format LDIF pour prendre en charge l'extension Modify-Increment. Il est prévu que de nouvelles extensions soient publiées par l'IETF dans l'avenir.

## Le format

Les enregistrements sont représentés comme un groupe de couples attributs-valeurs. Chaque enregistrement est séparé d'un autre par une ligne vide. La fin du fichier LDIF doit contenir deux lignes vides.

Les attributs d'un enregistrement sont représentés sur une seule ligne logique par un couple "nom: valeur". Il est possible de représenter un attribut sur plusieurs lignes en faisant précéder les lignes supplémentaires par un espace.

Les données sont normalement encodées en ASCII, cependant s'il n'est pas possible de représenter le caractère en ASCII il faut utiliser l'UTF-8 encodé en base64.

## Exemple

Voici un exemple représentant la racine d'un annuaire avec une branche et une entrée dans cette branche :

## Outils prenant en charge le format LDIF

L'annuaire OpenLDAP inclut un outil pour exporter des données d'un serveur vers un fichier LDIF (slapcat) et un outil pour importer des données d'un fichier LDIF vers un serveur (slapadd).

Le format LDIF est un des formats pris en charge par Netscape Communicator et Mozilla Thunderbird pour l'import ou l'export d'un carnet d'adresses.

Microsoft Windows 2000 Server et Windows Server 2003 incluent un outil en ligne de commande nommé LDIFDE pour l'import/export d'informations sous forme de LDIF dans Active Directory.

L'utilitaire GQ est une application libre qui permet la navigation dans un annuaire LDAP, ainsi que l'édition des données et l'import/export au format LDIF.

## RFC

* (en) RFC 2849 : The LDAP Data Interchange Format (LDIF) - Technical Specification
* (en) RFC 4510 : Lightweight Directory Access Protocol (LDAP): Technical Specification Road Map
* (en) RFC 4525 : LDAP Modify-Increment Extension
