diff --git a/src/admin_view/admin_view.js b/src/admin_view/admin_view.js
new file mode 100644
index 0000000000000000000000000000000000000000..72641e71e4c803033bac9dea1a450b59fa92283e
--- /dev/null
+++ b/src/admin_view/admin_view.js
@@ -0,0 +1,82 @@
+/**
+ * @file admin_view
+ * @summary Interface "administrateur" de l'acces aux BDD
+ * 
+ */
+import express from 'express';
+import knex from '../../db/knex_router';
+
+const router = express.Router();
+
+let port = 3000;
+
+router.get('/', function (req, res) {
+    console.log('Connecting to ' + req.url);
+    res.render('home', { title: 'Home', port: port });
+});
+
+router.get('/db?', function (req, res) {
+    let table_name = req.query.table;
+    let columns = req.query.columns;
+
+    res.redirect(`db/${table_name}?columns=${columns}`);
+});
+
+/**
+ * @function Knex API: Get table
+ * @summary Effectue une requête pour une table dans la BDD
+ * @argument {string} table_name - La table voulue par l'utilisateur.
+ */
+router.get('/db/:table_name?', function (req, res) {
+
+    // get columns from query
+    let columns;
+    if (req.query.columns) {
+        columns = req.query.columns.split(',');
+    } else {
+        columns = null;
+    }
+    console.log(columns);
+
+    knex.select(columns).from(req.params.table_name).then(function (table) {
+        res.setHeader("Content-Type", "application/json");
+        res.write(JSON.stringify(table, null, 2));
+        res.end();
+    }, function () {
+        res.status(400);
+        res.render('error', {
+            status: res.statusCode,
+            error_message: "Bad request: can't find table " + req.params.table_name
+        });
+        res.end();
+    }
+    );
+});
+
+/**
+ * @function Error 404 catcher
+ * @summary Catche les requêtes en dehors des URL acceptées
+ */
+router.use((req, res, next) => {
+    let err = new Error('Not found');
+    err.status = 404;
+    next(err);
+});
+
+/**
+ * @function Error 404 handler
+ * @summary Gère les erreurs 404
+ */
+
+router.use((err, req, res, next) => {
+    res.locals.message = err.message;
+
+    res.status(err.status || 500);
+    let error_message = res.statusCode == 404 ? 'Not found.' : 'Internal server error.';
+    res.render('error', {
+        status: res.statusCode,
+        error_message: error_message
+    });
+});
+
+export default router;
\ No newline at end of file
diff --git a/src/index.js b/src/index.js
index 7e96a3e7db96a0f30d3a057e9903e7c6018563ba..f9c12e25fa70ce6bea68fcc57f963ba6de49b973 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,4 +1,5 @@
 import server from './server';
+import router from './admin_view/admin_view';
 import colors from 'colors';
 import { graphqlExpress, graphiqlExpress } from 'graphql-server-express';
 import makeExecutableSchema from 'graphql-tools';
@@ -6,79 +7,14 @@ import knex from '../db/knex_router';
 import path from 'path';
 
 /**
- * @function Home
- * @summary Renvoie l'accueil du backend
+ * @file index
+ * @summary Entry point de webpack
+ * 
  */
-server.get('/', function(req, res) {
-    console.log('Connecting to '+req.url);
-    res.render('home', {title: 'Home', port: port});
-});
+server.use(router);
 
-server.get('/db?', function(req, res) {
-    let table_name = req.query.table;
-    let columns = req.query.columns;
+let port = process.env.PORT || 3000;
 
-    res.redirect(`db/${table_name}?columns=${columns}`);
-});
-
-/**
- * @function Knex API: Get table
- * @summary Effectue une requête pour une table dans la BDD
- * @argument {string} table_name - La table voulue par l'utilisateur.
- */
-server.get('/db/:table_name?', function(req, res) {
-
-    // get columns from query
-    let columns;
-    if (req.query.columns) {
-        columns = req.query.columns.split(',');
-    } else {
-        columns = null;
-    }
-    console.log(columns);
-    
-    knex.select(columns).from(req.params.table_name).then(function(table) {
-        res.setHeader("Content-Type", "application/json");
-        res.write(JSON.stringify(table,null,2));
-        res.end();
-    },function() {
-        res.status(400);
-        res.render('error', {
-            status: res.statusCode,
-            error_message: "Bad request: can't find table " + req.params.table_name
-        });
-        res.end();
-    }
-    );
-});
-
-/**
- * @function Error 404 catcher
- * @summary Catche les requêtes en dehors des URL acceptées
- */
-server.use((req, res, next) => {
-    let err = new Error('Not found');
-    err.status = 404;
-    next(err);
-});
-
-/**
- * @function Error 404 handler
- * @summary Gère les erreurs 404
- */
-
-server.use((err, req, res, next) => {
-    res.locals.message = err.message;
-
-    res.status(err.status || 500);
-    let error_message = res.statusCode == 404 ? 'Not found.' : 'Internal server error.';
-    res.render('error', {
-        status: res.statusCode,
-        error_message: error_message
-    });
-});
-
-// define port server is to listen on
-const port = process.env.PORT || 3000;
-
-server.listen(port, () => console.log(colors.blue('Express server running on port', port)));
\ No newline at end of file
+server.listen(port, () => {
+    console.log(colors.blue(`Express server listening on port ${port}`));
+});
\ No newline at end of file
diff --git a/src/ldap_auth.js b/src/ldap_auth/ldap_auth.js
similarity index 100%
rename from src/ldap_auth.js
rename to src/ldap_auth/ldap_auth.js
diff --git a/src/ldap_data.js b/src/ldap_data/ldap_data.js
similarity index 100%
rename from src/ldap_data.js
rename to src/ldap_data/ldap_data.js
diff --git a/src/server.js b/src/server.js
index 2563f705f097343a20c36c4c1bf1ba853e6b4b7e..b24da8245af10f998931de0c6b71a3bc6838564e 100644
--- a/src/server.js
+++ b/src/server.js
@@ -3,28 +3,35 @@ import bodyParser from 'body-parser';
 import favicon from 'serve-favicon';
 import morgan from 'morgan';
 import path from 'path';
-import ldap_auth from './ldap_auth';
+import ldap_auth from './ldap_auth/ldap_auth';
+
+/** 
+ * @file server.js
+ * @summary 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
 server.use(bodyParser.json());
 server.use(bodyParser.urlencoded({
     extended: false
 }));
 
-// setting up view engine
+// setting up view engine for pug
 let viewpath = path.resolve('./','src','views');
 console.log(viewpath);
 server.set('views', viewpath);
 server.set('view engine', 'pug');
 
-// setting up ldap authentication
-ldap_auth(server);
-
-// a capital sigma symbol
+// favicon: capital sigma symbol
 server.use(favicon(path.resolve('./','assets','favicon.ico')));
 
 // Morgan is middleware for logging requests
 server.use(morgan('dev'));
 
+// setting up ldap authentication
+ldap_auth(server);
+
 export default server;
diff --git a/src/views/layout.pug b/src/views/layout.pug
index bfc94ddd789ba757fa4d14356642cf0d63f63c67..6bb139b28c74bee26256078a1c8668a863ff8b35 100644
--- a/src/views/layout.pug
+++ b/src/views/layout.pug
@@ -10,3 +10,4 @@ html(lang="en")
         title API server - #{title}
     body
         block content
+        
\ No newline at end of file