diff --git a/pica-openldap/README.md b/pica-openldap/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..8d6dd90e8fcbfd9b26c7f899da37a12414f845ec
--- /dev/null
+++ b/pica-openldap/README.md
@@ -0,0 +1,143 @@
+# pica/openldap
+
+Cette image est basée sur [osixia/openldap](https://github.com/osixia/docker-openldap). Elle est spécialisée pour les besoins de l'infrastructure de Picasoft.
+
+## Démarrage rapide
+
+```bash
+cp secrets/pica-openldap.secrets.example secrets/pica-openldap.secrets \
+&& make \
+&& docker-compose up ldap-host
+```
+Si tout se passe bien un conteneur de test est disponible
+
+
+## Configuration
+
+La configuration par défaut de l'image est
+dans les répertoires `bootstrap`, `environment`, `certs` et `secrets`.
+
+La table suivante donne le rôle de ces répertoires :
+
+| Répertoire | Contenu | À quoi ça sert |
+|------------|---------|----------------|
+| [bootstrap/schema](./bootstap/schema) | Schémas additionnels (format ldif) | Schémas ajoutés automatiquement à l'initialisation de la configuration) |
+| [bootstrap/ldif](./bootstrap/ldif) | Entrées initiales de l'annuaire (format ldif) | Entrées automatiquement ajoutées à l'initialisation de l'annuaire |
+| [environment](./environment) | Configuration par défaut | Définition des valeurs par défaut des variables d'environnement utilisables dans le docker-compose |
+| [certs](./certs) | Certificats TLS | Certificats utilisés pour les connexions ldaps. Gérés au travers de Traefik par [pica-tls-certs-monitor](../pica-tls-certs-monitor), à laisser vide.
+| [secrets](./secrets) | Mots de passe | Mots de passe utilisés pour les trois utilisateurs par défaut (admin, config et nss)
+
+Le contenu de ces répertoire est copié dans l'image à la construction, à l'exception des secrets. Cette copie
+est supprimée par défaut une fois l'image configurée, après la première exécution du
+conteneur.
+
+### Schémas additionnels
+
+* [ldapns.schema](./bootstrap/schema/ldapns.schema) : support des attributs `authorizedHost` et `authorizedServices`
+
+### Configuration par défaut
+
+* Le fichier [pica.startup.yaml](./environment/pica.startup.yaml) contient toutes les
+valeurs par défaut des paramètres de configuration. Ces valeurs sont utilisées à la
+création de le configuration du serveur ldap **à la première exécution du conteneur**. Le fichier est supprimé ensuite.
+
+* Le fichier [pica.yaml](./environment/pica.yaml) contient les paramètres de
+de configuration utilisés à chaque démarrage du conteneur. Pour l'instant il est utilisé pour définir le niveau de messages de débogage de `slapd` et limiter le nombre
+de descripteurs de fichiers utilisés (1024). On peut l'augmenter si on estime qu'il y aura plus de connexions simultanées sur le serveur.
+
+### Certificats
+
+La configuration par défaut spécifie les fichiers suivants :
+
+| Fichier | Rôle |
+|---------|------|
+| cert.pem | Certificat serveur |
+| chain.pem | Certificat CA |
+| privkey.pem | Clé privée serveur |
+
+### Secrets
+
+Le repertoire [secrets](./secrets) doit contenir le fichier `pica-openldap.secrets`
+avec les mots de passe en clair qui seront utilisés pour l'administrateur de
+l'annuaire, l'accès à la configuration et l'accès en lecture seule. Un modèle est
+fourni dans le fichier [pica-ldap.secrets.examples](./secrets/
+pica-ldap.secrets.example).
+
+| Variable | Usage |
+|----------|-------|
+| LDAP_ADMIN_PASSWORD | Mot de passe de l'adminsitrateur de l'annuaire (cn=admin,dc=picasoft,dc=net)|
+| LDAP_CONFIG_PASSWORD | Mot de passe de configuration (cn=admin,cn=config) |
+| LDAP_READONLY_USER_PASSWORD | Mot de passe de l'utilisateur *read only* |
+
+> Attention : les mots de passe apparaîtront **en clair** dans l'environnement du conteneur.
+
+## Construction de l'image
+
+Dans le répertoire `pica-openldap` :
+
+```bash
+$ make
+```
+
+### Mise à jour de l'image
+
+Il suffit de modifier la version de osixia/openldap dans le [Dockerfile](./Dockerfile) :
+
+```Dockerfile
+FROM osixia/openldap:1.2.4
+```
+
+Ne pas oublier de mettre à jour la version dans le [Makefile](./Makefile) :
+
+```Makefile
+NAME = pica/openldap
+VERSION = 0.0.1
+```
+
+## Démarrage du conteneur
+
+Pour démarrer le conteneur, utiliser le fichier
+[docker-compose.yml](./docker-compose.yml) fourni. La base de données et la
+configuration peuvent être dans des volumes Docker automatiquement générés, mais il
+faut que les certificats soient dans un volume nommé spécifique pour pouvoir être mis
+à jour automatiquement par [pica-tls-certs-monitor](../pica-tls-certs-monitor). Il
+s'agit du volume `ldap-certs`. Le fichier `secrets/pica-openldap.secrets` doit exister avant le premier démarrage.
+
+> Les informations contenues dans `pica-openldap.secrets` ne sont utilisées qu'au
+premier démarrage, on peut le remplacer ensuite par une version vide.
+
+```bash
+docker-compose up ldap-host
+```
+
+### Plus de logs
+
+Pour obtenir plus de logs, il suffit d'ajouter la ligne suivante au service `ldap-host` dans le fichier
+[docker-compose.yml](./docker-compose.yml) :
+
+```yaml
+command: --loglevel debug
+```
+
+## Test de l'image sur un client
+
+* Accès à la configuration (utiliser le mot de passe défini par LDAP_CONFIG_PASSWORD)
+
+```bash
+ldapsearch -W -x -D cn=admin,cn=config -b cn=config
+```
+
+* Accès à l'annuaire (utiliser le mot de passe défini par LDAP_ADMIN_PASSWORD)
+
+```bash
+ldapsearch -W -x -D cn=admin,dc=picasoft,dc=net -b dc=picasoft,dc=net
+```
+
+Ces deux commandes doivent fonctionner **sur l'hôte**. Si ce n'est pas le cas, il y
+a une erreur de configuration.
+
+## Notes
+
+* La version 1.2.4 de l'image osixia/openldap ne fonctionne pas si on utilise un
+*hostname* complet non résoluble par DNS dans le fichier docker-compose.yml. Dans ce
+cas, il ne faut pas spécifier le FQDN, mais seulement le nom d'hôte (par exemple `ldap`).
\ No newline at end of file