diff --git a/src/ldap_data/ldap_data.js b/src/ldap_data/ldap_data.js
index f0c194e6ed657c9f3f0967a4f9d03bef38e2b730..1a0303c245efae2356aa05870cfb764dead06d40 100644
--- a/src/ldap_data/ldap_data.js
+++ b/src/ldap_data/ldap_data.js
@@ -4,41 +4,55 @@ var ldapescape = require("ldap-escape");
 
 var ldap = require('ldapjs');
 
-var client = ldap.createClient({ url: "ldap://frankiz", timeout: 10000, idleTimeout: 10000});
+var client = ldap.createClient({ url: "ldap://frankiz.eleves.polytechnique.fr", timeout: 10000, idleTimeout: 10000});
+
+// Pas nécessaire normalement car fait dans ldap_auth.js ; ici pour des besoins de debug
+function handshake(uid, passwd) { client.bind("uid=${uid},ou=eleves,dc=frankiz,dc=net",passwd, (err) => { console.log(err); }); }
 
 /**
- * @summary Key function ; interrogates LDAP to get list of groups the person's in
- * @arg {int} person_id
- * @return {string} List of groups where the specified user is member
+ * @summary Fonction qui retrouve les groupes où une personne est membre
+ * @arg {int} uid - Identifiant de la personne à interroger
+ * @arg {string} passwd - Mdp de la personne à interroger
+ * @return {string} Liste des uid de groupes où l'id fournie est membre (noms flat des groupes)
  */
-function groupsUserIsMember(person_id) {
-    return client.search("ou=groups,dc=frankiz,dc=net", {
-        scope: "one",
-        filter: ldapescape.filter("(|(memberUid=${id})(restrictedMemberUid={$id}))",{id: person_id}),
-        attributes: "uid",
-    },
-        /**
-         * @summary Fonction gestion erreur ; sûrement un truc malin à faire
-         * @arg {Object} err - Code d'erreur
-         * @arg {Object} res - Résultat de la fonction
-         */
-    function(err, res) { return err;
-    /**
-        if (err) {
-            reject("LDAP ");
-        }
-        assert.ifError(err);
-
-        res.on('searchEntry', function(entry) {
-            console.log('entry: ' + JSON.stringify(entry.object));
-        });
-        res.on('searchReference', function(referral) {
-            console.log('referral: ' + referral.uris.join());
+function listGroups(uid) {
+    return new Promise(function(resolve, reject) {
+        var groupsList=[];
+        
+        client.search("ou=groups,dc=frankiz,dc=net", {scope: "sub", attributes: "uid", filter: ldapescape.filter("(restrictedMemberUid=${id})", {id: uid})}, function(err, res) {
+            if (err) {
+                reject(err);
+            } else {
+                res.on('searchEntry', function(entry) { groupsList.push(entry.object.uid); });
+                res.on('end', function(res) { resolve(groupsList); });
+            }
         });
-        res.on('error', function(err) {
-            console.error('error: ' + err.message);
+    });
+}
+
+// Synthaxe d'utilisation
+handshake("user","xxx");
+listGroups("user","xxx").then((grList) => { console.log(grList); });
+ 
+/**
+ * @summary Fonction qui retrouve la liste des membres d'un binet
+ * @arg {int} uid - Identifiant de la personne interrogeant (pour des raisons d'identification)
+ * @arg {string} passwd - Mdp de la personne à interroger
+ * @return {string} Liste des uid de groupes où l'id fournie est membre (noms flat des groupes)
+ 
+function listGroups(uid,passwd) {
+    client.bind("uid=${uid},ou=eleves,dc=frankiz,dc=net",passwd, (err) => { console.log(err); });
+    
+    return new Promise(function(resolve, reject) {
+        var groupsList=[];
+        
+        client.search("ou=groups,dc=frankiz,dc=net", {scope: "sub", attributes: "uid", filter: ldapescape.filter("(restrictedMemberUid=${id})", {id: uid})}, function(err, res) {
+            if (err) {
+                reject(err);
+            } else {
+                res.on('searchEntry', function(entry) { groupsList.push(entry.object.uid); });
+                res.on('end', function(res) { resolve(groupsList); });
+            }
         });
-        res.on('end', function(result) {
-            console.log('status: ' + result.status);}); */
     });
-}
\ No newline at end of file
+}*/
\ No newline at end of file