diff --git a/package-lock.json b/package-lock.json
index a3573454acae693429fbcc9a3230bfb7127bfc4a..f4d683a86c8e16103c55a4401968b36197fc0ed6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1181,6 +1181,15 @@
       "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
       "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
     },
+    "cors": {
+      "version": "2.8.4",
+      "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.4.tgz",
+      "integrity": "sha1-K9OB8usgECAQXNUOpZ2mMJBpRoY=",
+      "requires": {
+        "object-assign": "4.1.1",
+        "vary": "1.1.2"
+      }
+    },
     "crc": {
       "version": "3.4.4",
       "resolved": "https://registry.npmjs.org/crc/-/crc-3.4.4.tgz",
diff --git a/package.json b/package.json
index 84aedce3d6f7a8d49cf85d49b82d521f3d0201af..2227f83fe49302f4c9dbb55c6ff6597f48699132 100644
--- a/package.json
+++ b/package.json
@@ -8,6 +8,7 @@
     "colors": "^1.1.2",
     "connect-ensure-login": "^0.1.1",
     "connect-flash": "^0.1.1",
+    "cors": "^2.8.4",
     "express": "^4.16.2",
     "express-session": "^1.15.6",
     "fs": "0.0.1-security",
diff --git a/src/ldap/ldap_data.js b/src/ldap/ldap_data.js
index 9a93f2dc203c022304c49b32f0e9bfcb13497c51..5e8e5e88a44e7d7f52e5903341cce89ad3411f97 100644
--- a/src/ldap/ldap_data.js
+++ b/src/ldap/ldap_data.js
@@ -16,7 +16,7 @@ var ldapEscape = require('ldap-escape');
 var ensureLoggedin =  require('connect-ensure-login').ensureLoggedIn;
 
 // Point central ; tous les champs de la BDD sont 'cachés' dans config.json et pas visibles directement
-let config = JSON.parse(fs.readFileSync('../../config.json', 'utf8'));
+let config = JSON.parse(fs.readFileSync('./config.json', 'utf8'));
 
 // Connection au serveur LDAP avec des temps de timeout arbitraires
 var client = ldap.createClient({ url: config.ldap.server, timeout: 10000, idleTimeout: 10000});
@@ -121,4 +121,4 @@ TOL("","","","","","","faerix","","","","","","").then((meList) => { console.log
 /* Partage pour le reste du monde ; même remarque synthaxe  
 export { listGroups, listMembers, TOL }; */
 
-module.exports ={ listGroups, listMembers, TOL };
\ No newline at end of file
+module.exports = { listGroups, listMembers, TOL };
\ No newline at end of file
diff --git a/src/server.js b/src/server.js
index 87f08aed5ea51e0dddb2d41295d317464f5dbbe3..eda3adc1cfadc03eef8399a1d77201b82d62ae32 100644
--- a/src/server.js
+++ b/src/server.js
@@ -6,6 +6,7 @@ import bodyParser from 'body-parser';
 import favicon from 'serve-favicon';
 import morgan from 'morgan';
 import path from 'path';
+import cors from 'cors';
 import schema from './graphql/schema';
 import { graphqlExpress, graphiqlExpress } from 'graphql-server-express';
 import flash from 'connect-flash';
@@ -31,7 +32,7 @@ server.use(favicon(path.resolve('./','assets','favicon.ico')));
 server.use(morgan('dev'));
 
 // Charge le middleware express pour GraphQL
-server.use('/graphql', bodyParser.json(), graphqlExpress({schema}));
+server.use('/graphql', cors(), bodyParser.json(), graphqlExpress({schema}));
 
 // GraphiQL est une console interactive pour faire des requêtes au schéma GraphQL
 server.use('/graphiql', graphiqlExpress({ endpointURL: '/graphql'}));