diff --git a/config.json b/config.json
index 5900e8eaa5b5ad1f3c2209b26ce2c63580654615..3dd69aedd8a8f61e5a26ed1c389c5be1451059d7 100644
--- a/config.json
+++ b/config.json
@@ -1,6 +1,6 @@
 {
 	"ldap": {
-		"server": "ldap://frankiz.eleves.polytechnique.fr:636",
+		"server": "ldap://frankiz.eleves.polytechnique.fr:389",
 		"searchBase": "ou=eleves,dc=frankiz,dc=net",
 		"searchFilter": "(uid={{username}})"
 	},
diff --git a/db/seeds/01_create_groups.js b/db/seeds/01_create_groups.js
index bfb6e29087a8ba06a6f83d5230838cc8cb8cd5c7..b5cdc8328d1811503a7310dc9c0c3d7ad6c72baa 100644
--- a/db/seeds/01_create_groups.js
+++ b/db/seeds/01_create_groups.js
@@ -15,6 +15,11 @@ exports.seed = function(knex, Promise) {
           website: 'binet-jtx.com',
           school: 'polytechnique'
         },
+        {
+          name: 'Kès',
+          website: 'kes.binets.fr',
+          school: 'polytechnique'
+        },
         {
           name: 'DaTA',
           website: 'data-ensta.fr',
diff --git a/doc/db_knex_router.js.html b/doc/db_knex_router.js.html
index a69d0112c13b80eefa44384a95fd155c7c585d76..6b9955abfc463d4541bd9e7923ef831f24d6ff66 100644
--- a/doc/db_knex_router.js.html
+++ b/doc/db_knex_router.js.html
@@ -51,7 +51,11 @@ module.exports = require('knex')(config);</code></pre>
 <br class="clear">
 
 <footer>
+<<<<<<< HEAD
     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Feb 28 2018 11:39:38 GMT+0100 (Paris, Madrid)
+=======
+    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Feb 28 2018 10:56:16 GMT+0100 (Romance Standard Time)
+>>>>>>> 21e0f3870a71cc6be0c944541976c3a24302cd36
 </footer>
 
 <script> prettyPrint(); </script>
diff --git a/doc/global.html b/doc/global.html
index 0211e7aa79ed1d3c3a20856ad974ab13a348faca..c50257454724b35b0045fe3b6e121c7de98e0aab 100644
--- a/doc/global.html
+++ b/doc/global.html
@@ -735,7 +735,11 @@
 <br class="clear">
 
 <footer>
+<<<<<<< HEAD
     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Feb 28 2018 11:39:38 GMT+0100 (Paris, Madrid)
+=======
+    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Feb 28 2018 10:56:16 GMT+0100 (Romance Standard Time)
+>>>>>>> 21e0f3870a71cc6be0c944541976c3a24302cd36
 </footer>
 
 <script> prettyPrint(); </script>
diff --git a/doc/index.html b/doc/index.html
index ecebedb1fee41896a89ef6d836799d82bdae6308..60b4594156aa513e4d4661d48aab0917194506a6 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -554,7 +554,7 @@ npm install -g eslint</code></pre><p>Les dépendances les plus importantes sont
     <div class="container-overview">
     
         
-            <div class="description"><p>Ce fichier gère les authentifications avec le LDAP précisé dans config.json.</p></div>
+            <div class="description"><p>ldap_auth</p></div>
         
 
         
@@ -596,6 +596,7 @@ npm install -g eslint</code></pre><p>Les dépendances les plus importantes sont
     
     <dt class="tag-source">Source:</dt>
     <dd class="tag-source"><ul class="dummy"><li>
+<<<<<<< HEAD
         <a href="src_ldap_ldap_auth.js.html">src/ldap/ldap_auth.js</a>, <a href="src_ldap_ldap_auth.js.html#line11">line 11</a>
     </li></ul></dd>
     
@@ -690,6 +691,9 @@ npm install -g eslint</code></pre><p>Les dépendances les plus importantes sont
     <dt class="tag-source">Source:</dt>
     <dd class="tag-source"><ul class="dummy"><li>
         <a href="src_ldap_ldap_auth.js.html">src/ldap/ldap_auth.js</a>, <a href="src_ldap_ldap_auth.js.html#line1">line 1</a>
+=======
+        <a href="src_ldap_auth_ldap_auth.js.html">src/ldap_auth/ldap_auth.js</a>, <a href="src_ldap_auth_ldap_auth.js.html#line1">line 1</a>
+>>>>>>> 21e0f3870a71cc6be0c944541976c3a24302cd36
     </li></ul></dd>
     
 
@@ -933,7 +937,11 @@ npm install -g eslint</code></pre><p>Les dépendances les plus importantes sont
 <br class="clear">
 
 <footer>
+<<<<<<< HEAD
     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Feb 28 2018 11:39:38 GMT+0100 (Paris, Madrid)
+=======
+    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Feb 28 2018 10:56:16 GMT+0100 (Romance Standard Time)
+>>>>>>> 21e0f3870a71cc6be0c944541976c3a24302cd36
 </footer>
 
 <script> prettyPrint(); </script>
diff --git a/doc/knexfile.js.html b/doc/knexfile.js.html
index 3723ad4e524b2e72d40a627243791e41d8b77791..3eff8aab5c3ca514cec6e78032086a6e019aaaa4 100644
--- a/doc/knexfile.js.html
+++ b/doc/knexfile.js.html
@@ -72,7 +72,11 @@ module.exports = {
 <br class="clear">
 
 <footer>
+<<<<<<< HEAD
     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Feb 28 2018 11:39:38 GMT+0100 (Paris, Madrid)
+=======
+    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Feb 28 2018 10:56:16 GMT+0100 (Romance Standard Time)
+>>>>>>> 21e0f3870a71cc6be0c944541976c3a24302cd36
 </footer>
 
 <script> prettyPrint(); </script>
diff --git a/doc/src_admin_view_admin_router.js.html b/doc/src_admin_view_admin_router.js.html
index ac0f82ec1e9b834624252bed2788ec6d7fa93b4c..e7e3c34e28a13139b3a282a8ed4f4c9243ce7859 100644
--- a/doc/src_admin_view_admin_router.js.html
+++ b/doc/src_admin_view_admin_router.js.html
@@ -156,7 +156,11 @@ export default router;
 <br class="clear">
 
 <footer>
+<<<<<<< HEAD
     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Feb 28 2018 11:39:38 GMT+0100 (Paris, Madrid)
+=======
+    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Feb 28 2018 10:56:16 GMT+0100 (Romance Standard Time)
+>>>>>>> 21e0f3870a71cc6be0c944541976c3a24302cd36
 </footer>
 
 <script> prettyPrint(); </script>
diff --git a/doc/src_index.js.html b/doc/src_index.js.html
index 66d57bd44f08e7d623aae4ced4ffbddc5c8a6906..adac30a53b537bfa9a0a955b2b27a9fd1b3d02d1 100644
--- a/doc/src_index.js.html
+++ b/doc/src_index.js.html
@@ -66,7 +66,11 @@ server.listen(port, () => {
 <br class="clear">
 
 <footer>
+<<<<<<< HEAD
     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Feb 28 2018 11:39:38 GMT+0100 (Paris, Madrid)
+=======
+    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Feb 28 2018 10:56:16 GMT+0100 (Romance Standard Time)
+>>>>>>> 21e0f3870a71cc6be0c944541976c3a24302cd36
 </footer>
 
 <script> prettyPrint(); </script>
diff --git a/doc/src_ldap_auth_ldap_auth.js.html b/doc/src_ldap_auth_ldap_auth.js.html
index 2b8cf5b96e966036b0316e22b1a19809259cd6fa..c00223e49194ff4f298c233eee1d1f974489fa97 100644
--- a/doc/src_ldap_auth_ldap_auth.js.html
+++ b/doc/src_ldap_auth_ldap_auth.js.html
@@ -28,30 +28,27 @@
         <article>
             <pre class="prettyprint source linenums"><code>/**
  * @file ldap_auth
- * @summary Setup de l'auth ldap avec passport-ldapauth
+ * @author Wangounet
+ * @summary Configuration de l'authentification LDAP du backend via passport-ldap
  */
-
 import passport from 'passport';
 import LdapStrategy from 'passport-ldapauth';
 import session from 'express-session';
 import fs from 'fs';
 
-/**
- * @file Ce fichier gère les authentifications avec le LDAP précisé dans config.json.
- * @author Wangounet
- */
+let config = JSON.parse(fs.readFileSync('config.json', 'utf8'));
+
+passport.use(new LdapStrategy({
+    server: {
+        url: config.ldap.server,
+        searchBase: config.ldap.searchBase,
+        searchFilter: config.ldap.searchFilter
+    }
+}));
 
 function setupLdapAuth(server) {
-    var config = JSON.parse(fs.readFileSync('config.json', 'utf8'));
     
-    passport.use(new LdapStrategy({
-        server: {
-            url: config.ldap.server,
-            searchBase: config.ldap.searchBase,
-            searchFilter: config.ldap.searchFilter
-        }
-    }));
-
+    // Define new login strategy
     server.use(session({ 
         secret: config.sessionSecret,
         //store: a modifier avant de lancer en prod
@@ -91,7 +88,11 @@ export default setupLdapAuth;
 <br class="clear">
 
 <footer>
+<<<<<<< HEAD
     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Feb 28 2018 10:20:59 GMT+0100 (Paris, Madrid)
+=======
+    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Feb 28 2018 10:56:16 GMT+0100 (Romance Standard Time)
+>>>>>>> 21e0f3870a71cc6be0c944541976c3a24302cd36
 </footer>
 
 <script> prettyPrint(); </script>
diff --git a/doc/src_ldap_data_ldap_data.js.html b/doc/src_ldap_data_ldap_data.js.html
index 1868141a9a4a7de45955452a1feb708e318baed2..f8b46a4e53baa171143cef09ebeef62bf56db2ee 100644
--- a/doc/src_ldap_data_ldap_data.js.html
+++ b/doc/src_ldap_data_ldap_data.js.html
@@ -97,7 +97,11 @@ listGroups("quentin.chevalier","Ie42fds'eaJm1").then((grList) => { console.log(g
 <br class="clear">
 
 <footer>
+<<<<<<< HEAD
     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Feb 28 2018 10:20:59 GMT+0100 (Paris, Madrid)
+=======
+    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Feb 28 2018 10:56:16 GMT+0100 (Romance Standard Time)
+>>>>>>> 21e0f3870a71cc6be0c944541976c3a24302cd36
 </footer>
 
 <script> prettyPrint(); </script>
diff --git a/doc/src_server.js.html b/doc/src_server.js.html
index 570c095a91e3f0d787b50e54215520324f4607be..d55747f36337aac154ca31d3fbc49a3f11e9e111 100644
--- a/doc/src_server.js.html
+++ b/doc/src_server.js.html
@@ -71,6 +71,7 @@ const typeDefs = `
     type Group {
         name: String!
         id: ID!
+        website: String
         updatedAt: String!
         description: String
         school: String!
@@ -88,8 +89,10 @@ const schema = makeExecutableSchema({
     resolvers
 });
 
+// Charge le middleware express pour GraphQL
 server.use('/graphql', bodyParser.json(), graphqlExpress({schema}));
 
+// GraphiQL est une console interactive pour faire des requêtes au schéma GraphQL
 server.use('/graphiql', graphiqlExpress({ endpointURL: '/graphql'}));
 
 
@@ -110,7 +113,11 @@ export default server;
 <br class="clear">
 
 <footer>
+<<<<<<< HEAD
     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Feb 28 2018 11:39:38 GMT+0100 (Paris, Madrid)
+=======
+    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Feb 28 2018 10:56:16 GMT+0100 (Romance Standard Time)
+>>>>>>> 21e0f3870a71cc6be0c944541976c3a24302cd36
 </footer>
 
 <script> prettyPrint(); </script>
diff --git a/src/admin_view/admin_router.js b/src/admin_view/admin_router.js
index 0c8fae6ace33cf385e10ad4a3d38ceb695088c79..b704b4f81039cce049d4adaabe9aeeede8533580 100644
--- a/src/admin_view/admin_router.js
+++ b/src/admin_view/admin_router.js
@@ -1,7 +1,6 @@
 /**
- * @file Interface "administrateur" de l'acces aux BDD. S'appuie sur css et views.
+ * @file
  */
-
 import express from 'express';
 import knex from '../../db/knex_router';
 import passport from 'passport';
@@ -20,17 +19,17 @@ router.get('/admin', function (req, res) {
     res.render('home', { title: 'Home', port: port });
 });
 
-router.post('/loginAttempt'
-    , passport.authenticate('ldapauth', {
+router.post('/login', 
+    passport.authenticate('ldapauth', {
         //successRedirect: '/admin',
         failureRedirect: '/',
         //failureFlash: true
         //failureFlas: 'Invalid username or password.' //TODO: test this. ce message s'affiche-t-il tout seul ou faut-il aller le chercher quand on genere login.pug?
-    })
+    }),
     // on a commente les deux lignes dessus et on a besoin de faire un callback apres le passport.authenticate car
     // on souhaite garde l'information user.dn et body.password qq part.
     // TODO: essayer de garder ces informations plus proprement...
-    , function (req, res) {
+    function (req, res) {
         req.session.dn = req.user.dn;
         req.session.password = req.body.password;
 
@@ -43,7 +42,7 @@ router.post('/loginAttempt'
 
 );
 
-router.get('/logout', function (req, res) {
+router.post('/logout', function (req, res) {
     req.logout();
     res.redirect('/');
 });
diff --git a/src/css/style.css b/src/css/style.css
index 6d221f40c5dbfc53357d8384995e700f2ca55023..4d2b77afeb7530103ce6a5cb6b2996e77a502644 100644
--- a/src/css/style.css
+++ b/src/css/style.css
@@ -9,6 +9,7 @@ body {
 
 form {
     margin-bottom: 1em;
+    margin-top: 1em;
 }
 
 .form-group {
diff --git a/src/graphql/schema.js b/src/graphql/schema.js
new file mode 100644
index 0000000000000000000000000000000000000000..4313cee559267ccab32af55fa118d67e7bd126ef
--- /dev/null
+++ b/src/graphql/schema.js
@@ -0,0 +1,30 @@
+import knex from '../../db/knex_router';
+import { makeExecutableSchema } from 'graphql-tools';
+
+const typeDefs = `
+    type Query {
+        groups: [Group]
+    }
+
+    type Group {
+        name: String!
+        id: ID!
+        website: String
+        updatedAt: String!
+        description: String
+        school: String!
+    }
+`;
+
+const resolvers = {
+    Query: {
+        groups: () => knex.select().from('groups')
+    }
+};
+
+const schema = makeExecutableSchema({
+    typeDefs,
+    resolvers
+});
+
+export default schema;
\ No newline at end of file
diff --git a/src/index.js b/src/index.js
index f61366f733ae28a66cabdaf699d6024c1f41244b..6529c167e3009cf051fe99f7ae313d45351a4591 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,13 +1,10 @@
 /**
  * @file Entry point de webpack
  */
-
 import server from './server';
 import colors from 'colors';
-
 import { graphqlExpress, graphiqlExpress } from 'graphql-server-express';
 import makeExecutableSchema from 'graphql-tools';
-
 import setupLdapAuth from './ldap_auth/ldap_auth';
 import router from './admin_view/admin_router';
 
diff --git a/src/ldap/ldap_auth.js b/src/ldap/ldap_auth.js
index 81d0d89a1b17b10042a4e09e6104e4265ce864f2..08dffbc74239bdedadecbe8fe6a3b3ba371b0e53 100644
--- a/src/ldap/ldap_auth.js
+++ b/src/ldap/ldap_auth.js
@@ -2,23 +2,24 @@
  * @file Ce fichier gère les authentifications avec le LDAP précisé dans config.json à l'aide de passport-ldapauth.
  * @author Wangounet
  */
-
 import passport from 'passport';
 import LdapStrategy from 'passport-ldapauth';
 import session from 'express-session';
 import fs from 'fs';
 
+let config = JSON.parse(fs.readFileSync('config.json', 'utf8'));
+
+passport.use(new LdapStrategy({
+    server: {
+        url: config.ldap.server,
+        searchBase: config.ldap.searchBase,
+        searchFilter: config.ldap.searchFilter
+    }
+}));
+
 function setupLdapAuth(server) {
-    var config = JSON.parse(fs.readFileSync('config.json', 'utf8'));
     
-    passport.use(new LdapStrategy({
-        server: {
-            url: config.ldap.server,
-            searchBase: config.ldap.searchBase,
-            searchFilter: config.ldap.searchFilter
-        }
-    }));
-
+    // Define new login strategy
     server.use(session({ 
         secret: config.sessionSecret,
         //store: a modifier avant de lancer en prod
diff --git a/src/server.js b/src/server.js
index ebcce17253347f981dda36dde9703b1181d00f22..1a1e3718b869c5b47f059c6465bfa778fe473b05 100644
--- a/src/server.js
+++ b/src/server.js
@@ -2,11 +2,10 @@ import express from 'express';
 import bodyParser from 'body-parser';
 import favicon from 'serve-favicon';
 import morgan from 'morgan';
-import knex from '../db/knex_router';
 import path from 'path';
 import ldap_auth from './ldap_auth/ldap_auth';
+import schema from './graphql/schema';
 import { graphqlExpress, graphiqlExpress } from 'graphql-server-express';
-import { makeExecutableSchema } from 'graphql-tools';
 
 /** 
  * @file Cree le serveur express avec tous les middleware qui vont bien
@@ -35,33 +34,10 @@ server.use(morgan('dev'));
 // setting up ldap authentication
 ldap_auth(server);
 
-const typeDefs = `
-    type Query {
-        groups: [Group]
-    }
-
-    type Group {
-        name: String!
-        id: ID!
-        updatedAt: String!
-        description: String
-        school: String!
-    }
-`;
-
-const resolvers = {
-    Query: {
-        groups: () => knex.select().from('groups')
-    }
-};
-
-const schema = makeExecutableSchema({
-    typeDefs,
-    resolvers
-});
-
+// Charge le middleware express pour GraphQL
 server.use('/graphql', bodyParser.json(), graphqlExpress({schema}));
 
+// GraphiQL est une console interactive pour faire des requêtes au schéma GraphQL
 server.use('/graphiql', graphiqlExpress({ endpointURL: '/graphql'}));
 
 
diff --git a/src/views/home.pug b/src/views/home.pug
index e0b402e12dbbe063f98bb2ea06a5116453b8b2e3..1f7ed3bc18f37bbb854c17736228cabab8188267 100644
--- a/src/views/home.pug
+++ b/src/views/home.pug
@@ -2,8 +2,9 @@ extends layout.pug
 
 block content
     h1 Welcome to API server
+    h2 Query the database
     p Hello, world! This is server talking to you live on port #{port}!
-    p "Interface BDD" du back
+    p You can use the REST API to query the database using the form below.
     form(action="/db", method="get")
         div.form-group
             label(for="table") Table
@@ -13,7 +14,11 @@ block content
             input.form-control(type="search", name="columns")
         button.form-control(type="submit") Search
     |
-    a(href="/graphql") Check GraphQL
+    h2 GraphiQL
+    p 
+        | GraphiQL is an interactive environment to make GraphQL
+        | requests to the database.
+    a(href="/graphiql") Check it out.
     |
     form(action="/logout", method="post")
-        button.form-control(type="submit") Se deconnecter
+        button.form-control(type="submit") Logout
diff --git a/src/views/login.pug b/src/views/login.pug
index 18abbff1ba0bd8030f074582611646d221c91001..22111792aa11bbd64ebc8341ea5e27bf770b60f0 100644
--- a/src/views/login.pug
+++ b/src/views/login.pug
@@ -1,10 +1,10 @@
 extends layout.pug
 
 block content
-    h1 Welcome to API server
-    p Hello, world! This is server talking to you live on port #{port}!
-    p Vous devez vous connecter pour acceder aux BDD ("interface admin").
-    form(action="/loginAttempt", method="post")
+    h1 Sigma backend API
+    p Veuillez vous connecter.
+    p Please log in.
+    form(action="/login", method="post")
         div.form-group
             label(for="username") Frankiz ID
             input.form-control(type="text", placeholder="User", name="username")