diff --git a/config.json b/config.json
index 3dd69aedd8a8f61e5a26ed1c389c5be1451059d7..788fdac27d425950e8fd687e64d6d2897192190a 100644
--- a/config.json
+++ b/config.json
@@ -4,5 +4,13 @@
 		"searchBase": "ou=eleves,dc=frankiz,dc=net",
 		"searchFilter": "(uid={{username}})"
 	},
+	"ldap_data_gl": {
+		"searchBase": "ou=groups,dc=frankiz,dc=net",
+		"searchFilter":"(restrictedMemberUid=${id})"
+	},
+	"ldap_data_ml": {
+		"searchBase": "ou=groups,dc=frankiz,dc=net",
+		"searchFilter": "(uid=${id})"
+	},
 	"sessionSecret":"change this"
 }
\ No newline at end of file
diff --git a/src/ldap/ldap_data.js b/src/ldap/ldap_data.js
index 67abdc34c2085c3e5ff6500f5a7dd9006675bb1b..2bd475c71dc5662b30a776e8043fd8f4b3d963ee 100644
--- a/src/ldap/ldap_data.js
+++ b/src/ldap/ldap_data.js
@@ -2,12 +2,15 @@
  * @file Ce fichier gère les requêtes LDAP de type données ; liste des groupe d'un individu, liste des membres d'un groupe... A ne pas confondre avec ldap_auth qui lui gère l'authentification.
  * @author hawkspar
 */
+import {ldapescape} from 'ldap-escape';
+import ldap from 'ldapjs';
+import fs from 'fs';
 
 var ensureLoggedin =  require('connect-ensure-login').ensureLoggedIn;
-var ldapescape = require("ldap-escape");
-var ldap = require('ldapjs');
 
-var client = ldap.createClient({ url: "ldap://frankiz.eleves.polytechnique.fr", timeout: 10000, idleTimeout: 10000});
+let config = JSON.parse(fs.readFileSync('config.json', 'utf8'));
+
+var client = ldap.createClient({ url: config.ldap.server, timeout: 10000, idleTimeout: 10000});
 
 /**
  * @summary Fonction qui retrouve les groupes du LDAP dont un individu est membre (pas de bind nécessaire)
@@ -18,7 +21,7 @@ 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) {
+        client.search(config.ldap_data_gl.searchBase, {scope: "sub", attributes: "uid", filter: ldapescape.filter(config.ldap_data_gl.searchFilter, {id: uid})}, function(err, res) {
             if (err) {
                 reject(err);
             } else {
@@ -30,27 +33,25 @@ function listGroups(uid) {
 }
  
 /**
- * TBM
  * @summary Fonction qui retrouve la liste des membres d'un binet sur le LDAP
- * @arg {int} uid - Identifiant du groupe à interrogeant (pour des raisons d'identification)
+ * @arg {int} gid - Identifiant du groupe à interroger
  * @return {string} Liste des uid de groupes où l'id fournie est membre (noms flat des groupes)
  */
-function listMembers(uid) {
-    client.bind("uid=${uid},ou=eleves,dc=frankiz,dc=net", (err) => { console.log(err); });
-    
+function listMembers(gid) {    
     return new Promise(function(resolve, reject) {
-        var groupsList=[];
+        var membersList=[];
         
-        client.search("ou=groups,dc=frankiz,dc=net", {scope: "sub", attributes: "uid", filter: ldapescape.filter("(restrictedMemberUid=${id})", {id: uid})}, function(err, res) {
+        client.search(config.ldap_data_ml.searchBase, {scope: "sub", attributes: "uid", filter: ldapescape.filter(config.ldap_data_ml.searchFilter, {id: gid})}, 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('searchEntry', function(entry) { membersList.push(entry.object.restrictedMemberUid); });
+                res.on('end', function(res) { resolve(membersList); });
             }
         });
     });
 }
 
 // Synthaxe d'utilisation
-listGroups("quentin.chevalier","Ie42fds'eaJm1").then((grList) => { console.log(grList); });
\ No newline at end of file
+listGroups("quentin.chevalier").then((grList) => { console.log(grList); });
+listMembers("faerix").then((meList) => { console.log(meList); });
\ No newline at end of file
diff --git a/src/server.js b/src/server.js
index 1a1e3718b869c5b47f059c6465bfa778fe473b05..ed02067bf9729d7ce98788aa614e9ad9b6db366f 100644
--- a/src/server.js
+++ b/src/server.js
@@ -1,3 +1,6 @@
+/** 
+ * @file Cree le serveur express avec tous les middleware qui vont bien
+*/
 import express from 'express';
 import bodyParser from 'body-parser';
 import favicon from 'serve-favicon';
@@ -7,10 +10,6 @@ import ldap_auth from './ldap_auth/ldap_auth';
 import schema from './graphql/schema';
 import { graphqlExpress, graphiqlExpress } from 'graphql-server-express';
 
-/** 
- * @file Cree le serveur express avec tous les middleware qui vont bien
-*/
-
 const server = express();
 
 // on sait pas a quoi ca sert mais il parait que c'est utile