diff --git a/assets/LDAP_API.png b/assets/LDAP_API.png
new file mode 100644
index 0000000000000000000000000000000000000000..7e70bccce6db109acf9b7970b83fda07c0192a0d
Binary files /dev/null and b/assets/LDAP_API.png differ
diff --git a/ldap_config.json b/ldap_config.json
index cda65ea540e92ca17cafd83b97d85b8a02a5c3e2..efe56e030fa7e02dc8dcce6c69d8c5f55b629dba 100644
--- a/ldap_config.json
+++ b/ldap_config.json
@@ -49,6 +49,8 @@
 		"password": "userPassword",
 		"directory": "homeDirectory",
 		"cleanFullName": "gecos",
-		"classes": "objectClass"
+		"classes": "objectClass",
+		"child": "child",
+		"parent": "parent"
 	}
 }
\ No newline at end of file
diff --git a/notes/memo_ldap.md b/notes/memo_ldap.md
index 784c548e0277c4b07c68b1cb4d870b6e1a88a437..38b4f9acad3956e8a119e76f843265897bebbd2c 100644
--- a/notes/memo_ldap.md
+++ b/notes/memo_ldap.md
@@ -19,8 +19,12 @@ Une documentation vieillissante est disponible sur le [`wikix`](https://wikibr.b
 
 ### Idée de nouvelle organisation du LDAP
 
-Les admins descendent et les membres remontent
+Les admins descendent et les membres remontent.
 
 ![newLDAPgr](../assets/LDAPGroup.png "Structure pour les groupes sur le LDAP")
 
-![newLDAPus](../assets/LDAPUser.png "Structure pour les users sur le LDAP")
\ No newline at end of file
+![newLDAPus](../assets/LDAPUser.png "Structure pour les users sur le LDAP")
+
+### Etat de l'API
+
+![LDAPAPI](../assets/LDAP_API_.png "Etat courant de l'API LDAP")
\ No newline at end of file
diff --git a/src/ldap/internal/tools.ts b/src/ldap/internal/tools.ts
index 5ee4b0325e27256960ba3ec935def7ad97337b68..4adaf7052c10c894a052980c0d294a0ad91d656e 100644
--- a/src/ldap/internal/tools.ts
+++ b/src/ldap/internal/tools.ts
@@ -86,12 +86,12 @@ export class Tools {
                     if (domain="us")    { attribute = ldapConfig.user[key]; }
                     else                { attribute = ldapConfig.group[key]; }
                     // Escape user input
-                    val = ldapEscape.dn("${fil}", { fil: val});
+                    val = ldapEscape.filter("${fil}", { fil: val});
                     // Creation incrémentale du filtre
-                    filter="(&"+filter+ "(|("+attribute+"="+ val+")"+      // On cherche la valeur exacte
-                                        "(|("+attribute+"=*"+val+")"+      // La valeur finale avec des trucs avant ; wildcard * (MEF la wildcart ne marche pas pour tous les attributs)
-                                        "(|("+attribute+"=*"+val+"*)"+     // La valeur du milieu avec des trucs avant et après
-                                        "("+  attribute+"="+ val+"*)))))"; // La valeur du début avec des trucs après
+                    filter="(&"+filter+ "(|("+attribute+"="+ val+")"+    // On cherche la valeur exacte
+                                        "("+attribute+"=*"+val+")"+      // La valeur finale avec des trucs avant ; wildcard * (MEF la wildcart ne marche pas pour tous les attributs)
+                                        "("+attribute+"=*"+val+"*)"+     // La valeur du milieu avec des trucs avant et après
+                                        "("+  attribute+"="+ val+"*)))"; // La valeur du début avec des trucs après
                 });
             }
         }