diff --git a/package-lock.json b/package-lock.json
index df35bb706847fff6fd94ea74e72ea60258b04677..9f6530332ce026f63a160fc68c6b313652085a24 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4,6 +4,47 @@
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
+    "@f/animate": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@f/animate/-/animate-1.0.1.tgz",
+      "integrity": "sha1-oDE5itrfmgvTpWOYzskx+HfYhIU=",
+      "requires": {
+        "@f/elapsed-time": "1.0.0",
+        "@f/raf": "1.0.3",
+        "@f/tween": "1.0.1"
+      }
+    },
+    "@f/elapsed-time": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@f/elapsed-time/-/elapsed-time-1.0.0.tgz",
+      "integrity": "sha1-ageaYQSocni/W0CARE7wLRtZVEk=",
+      "requires": {
+        "@f/timestamp": "1.0.0"
+      }
+    },
+    "@f/map-obj": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/@f/map-obj/-/map-obj-1.2.2.tgz",
+      "integrity": "sha1-2an4vXbKoq4RtjPdok2cbMzB5g0="
+    },
+    "@f/raf": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/@f/raf/-/raf-1.0.3.tgz",
+      "integrity": "sha1-Mt3KN940WyDIw4QwGMxRuPiXkU0="
+    },
+    "@f/timestamp": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@f/timestamp/-/timestamp-1.0.0.tgz",
+      "integrity": "sha1-MqkWbiUW5cy5sPz9yJIjgZcQ6Iw="
+    },
+    "@f/tween": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@f/tween/-/tween-1.0.1.tgz",
+      "integrity": "sha1-GK73nEl15UQVrfMm5LXg0FPSB/A=",
+      "requires": {
+        "@f/map-obj": "1.2.2"
+      }
+    },
     "@types/babel-types": {
       "version": "7.0.1",
       "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.1.tgz",
@@ -823,6 +864,11 @@
         }
       }
     },
+    "chain-function": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/chain-function/-/chain-function-1.0.0.tgz",
+      "integrity": "sha1-DUqzfn4Y6tC9xHuSB2QRjOWHM9w="
+    },
     "chalk": {
       "version": "2.3.1",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
@@ -955,6 +1001,11 @@
         }
       }
     },
+    "classnames": {
+      "version": "2.2.5",
+      "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz",
+      "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0="
+    },
     "clean-css": {
       "version": "3.4.28",
       "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz",
@@ -1003,6 +1054,16 @@
       "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
       "dev": true
     },
+    "clipboard": {
+      "version": "1.7.1",
+      "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-1.7.1.tgz",
+      "integrity": "sha1-Ng1taUbpmnof7zleQrqStem1oWs=",
+      "requires": {
+        "good-listener": "1.2.2",
+        "select": "1.1.2",
+        "tiny-emitter": "2.0.2"
+      }
+    },
     "cliui": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
@@ -1062,6 +1123,17 @@
       "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
       "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw=="
     },
+    "commonmark": {
+      "version": "0.28.1",
+      "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.28.1.tgz",
+      "integrity": "sha1-Buq41SM4uDn6Gi11rwCF7tGxvq4=",
+      "requires": {
+        "entities": "1.1.1",
+        "mdurl": "1.0.1",
+        "minimist": "1.2.0",
+        "string.prototype.repeat": "0.2.0"
+      }
+    },
     "component-emitter": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
@@ -1235,6 +1307,15 @@
         "sha.js": "2.4.10"
       }
     },
+    "cross-fetch": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.0.0.tgz",
+      "integrity": "sha512-gnx0GnDyW73iDq6DpqceL8i4GGn55PPKDzNwZkopJ3mKPcfJ0BUIXBsnYfJBVw+jFDB+hzIp2ELNRdqoxN6M3w==",
+      "requires": {
+        "node-fetch": "2.0.0",
+        "whatwg-fetch": "2.0.3"
+      }
+    },
     "cross-spawn": {
       "version": "5.1.0",
       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
@@ -1352,6 +1433,11 @@
         }
       }
     },
+    "delegate": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
+      "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw=="
+    },
     "depd": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
@@ -1405,6 +1491,11 @@
       "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz",
       "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk="
     },
+    "dom-helpers": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.3.1.tgz",
+      "integrity": "sha512-2Sm+JaYn74OiTM2wHvxJOo3roiq/h25Yi69Fqk269cNUwIXsCvATB6CRSFC9Am/20G2b28hGv/+7NiWydIrPvg=="
+    },
     "domain-browser": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
@@ -1469,6 +1560,14 @@
       "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
       "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
     },
+    "encoding": {
+      "version": "0.1.12",
+      "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
+      "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
+      "requires": {
+        "iconv-lite": "0.4.19"
+      }
+    },
     "enhanced-resolve": {
       "version": "3.4.1",
       "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
@@ -1480,6 +1579,11 @@
         "tapable": "0.2.8"
       }
     },
+    "entities": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
+      "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA="
+    },
     "errno": {
       "version": "0.1.7",
       "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
@@ -1834,6 +1938,11 @@
         "strip-eof": "1.0.0"
       }
     },
+    "exenv": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz",
+      "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50="
+    },
     "expand-brackets": {
       "version": "2.1.4",
       "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
@@ -2125,6 +2234,27 @@
       "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
       "dev": true
     },
+    "fbjs": {
+      "version": "0.8.16",
+      "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz",
+      "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=",
+      "requires": {
+        "core-js": "1.2.7",
+        "isomorphic-fetch": "2.2.1",
+        "loose-envify": "1.3.1",
+        "object-assign": "4.1.1",
+        "promise": "7.3.1",
+        "setimmediate": "1.0.5",
+        "ua-parser-js": "0.7.17"
+      },
+      "dependencies": {
+        "core-js": {
+          "version": "1.2.7",
+          "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+          "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
+        }
+      }
+    },
     "figures": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
@@ -3262,6 +3392,14 @@
         }
       }
     },
+    "good-listener": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
+      "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=",
+      "requires": {
+        "delegate": "3.2.0"
+      }
+    },
     "got": {
       "version": "6.7.1",
       "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz",
@@ -3308,6 +3446,14 @@
         "source-map-support": "0.5.3"
       }
     },
+    "graphql-request": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-1.5.1.tgz",
+      "integrity": "sha512-p1f1q+D+5k1PMxsaZszestYW1BAEKjygliqTAhJI5nueRe74WRmwNQWAdrRBoCFRIpM0SZer98cbJF4PZHXaqg==",
+      "requires": {
+        "cross-fetch": "2.0.0"
+      }
+    },
     "graphql-server-express": {
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/graphql-server-express/-/graphql-server-express-1.3.2.tgz",
@@ -3328,6 +3474,27 @@
         "uuid": "3.2.1"
       }
     },
+    "graphql-voyager": {
+      "version": "1.0.0-rc.15",
+      "resolved": "https://registry.npmjs.org/graphql-voyager/-/graphql-voyager-1.0.0-rc.15.tgz",
+      "integrity": "sha512-qKXGrUrWL4/BPUt6XFCSskCcSLwwxiXmNdO+DC6g2I1TRfU/hpMsxQQCZ3ImsrxRSO2FnlIZio58Wzb43Hx0RA==",
+      "requires": {
+        "@f/animate": "1.0.1",
+        "classnames": "2.2.5",
+        "clipboard": "1.7.1",
+        "commonmark": "0.28.1",
+        "graphql-request": "1.5.1",
+        "lodash": "4.17.5",
+        "prop-types": "15.6.1",
+        "react-modal": "2.4.1",
+        "react-redux": "5.0.7",
+        "react-toolbox": "2.0.0-beta.12",
+        "redux": "3.7.2",
+        "redux-thunk": "2.2.0",
+        "reselect": "3.0.1",
+        "svg-pan-zoom": "3.5.3"
+      }
+    },
     "has": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
@@ -3415,6 +3582,11 @@
         "minimalistic-crypto-utils": "1.0.1"
       }
     },
+    "hoist-non-react-statics": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz",
+      "integrity": "sha512-6Bl6XsDT1ntE0lHbIhr4Kp2PGcleGZ66qu5Jqk8lc0Xc/IeG6gVLmwUGs/K0Us+L8VWoKgj0uWdPMataOsm31w=="
+    },
     "homedir-polyfill": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
@@ -3536,6 +3708,14 @@
       "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
       "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ="
     },
+    "invariant": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.3.tgz",
+      "integrity": "sha512-7Z5PPegwDTyjbaeCnV0efcyS6vdKAU51kpEmS7QFib3P4822l8ICYyMn7qvJnc+WzLoDsuI9gPMKbJ8pCu8XtA==",
+      "requires": {
+        "loose-envify": "1.3.1"
+      }
+    },
     "invert-kv": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
@@ -3829,6 +4009,26 @@
       "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
       "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
     },
+    "isomorphic-fetch": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
+      "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
+      "requires": {
+        "node-fetch": "1.7.3",
+        "whatwg-fetch": "2.0.3"
+      },
+      "dependencies": {
+        "node-fetch": {
+          "version": "1.7.3",
+          "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
+          "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
+          "requires": {
+            "encoding": "0.1.12",
+            "is-stream": "1.1.0"
+          }
+        }
+      }
+    },
     "iterall": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.2.1.tgz",
@@ -3847,8 +4047,7 @@
     "js-tokens": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
-      "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
-      "dev": true
+      "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
     },
     "js-yaml": {
       "version": "3.10.0",
@@ -4179,11 +4378,24 @@
       "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
       "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw=="
     },
+    "lodash-es": {
+      "version": "4.17.5",
+      "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.5.tgz",
+      "integrity": "sha512-Ez3ONp3TK9gX1HYKp6IhetcVybD+2F+Yp6GS9dfH8ue6EOCEzQtQEh4K0FYWBP9qLv+lzeQAYXw+3ySfxyZqkw=="
+    },
     "longest": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
       "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc="
     },
+    "loose-envify": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+      "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+      "requires": {
+        "js-tokens": "3.0.2"
+      }
+    },
     "lowercase-keys": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
@@ -4271,6 +4483,11 @@
         }
       }
     },
+    "mdurl": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
+      "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4="
+    },
     "media-typer": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -4518,6 +4735,11 @@
       "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
       "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
     },
+    "node-fetch": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.0.0.tgz",
+      "integrity": "sha1-mCu6Q+zU8pIqKcwYamu7C7c/y6Y="
+    },
     "node-libs-browser": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
@@ -5241,6 +5463,16 @@
         "asap": "2.0.6"
       }
     },
+    "prop-types": {
+      "version": "15.6.1",
+      "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz",
+      "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==",
+      "requires": {
+        "fbjs": "0.8.16",
+        "loose-envify": "1.3.1",
+        "object-assign": "4.1.1"
+      }
+    },
     "proxy-addr": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz",
@@ -5424,6 +5656,11 @@
       "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
       "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
     },
+    "ramda": {
+      "version": "0.23.0",
+      "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.23.0.tgz",
+      "integrity": "sha1-zNE//3NJepOXTj6GMnv9h71ujis="
+    },
     "random-bytes": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz",
@@ -5493,6 +5730,77 @@
         "strip-json-comments": "2.0.1"
       }
     },
+    "react-css-themr": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/react-css-themr/-/react-css-themr-2.1.2.tgz",
+      "integrity": "sha1-4BdRTkccIy9Dp1SlW0nYH69dr7g=",
+      "requires": {
+        "hoist-non-react-statics": "1.2.0",
+        "invariant": "2.2.3"
+      },
+      "dependencies": {
+        "hoist-non-react-statics": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
+          "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs="
+        }
+      }
+    },
+    "react-modal": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-2.4.1.tgz",
+      "integrity": "sha512-3WQCn3xqkbEUvxRUO3nkeqxMNgt1F4CyEU3BiUIrg7C71tnqjQIuSE7+JXp85yFl8X1iRTJouySNpwNqv4kiWg==",
+      "requires": {
+        "exenv": "1.2.2",
+        "prop-types": "15.6.1"
+      }
+    },
+    "react-redux": {
+      "version": "5.0.7",
+      "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz",
+      "integrity": "sha512-5VI8EV5hdgNgyjfmWzBbdrqUkrVRKlyTKk1sGH3jzM2M2Mhj/seQgPXaz6gVAj2lz/nz688AdTqMO18Lr24Zhg==",
+      "requires": {
+        "hoist-non-react-statics": "2.5.0",
+        "invariant": "2.2.3",
+        "lodash": "4.17.5",
+        "lodash-es": "4.17.5",
+        "loose-envify": "1.3.1",
+        "prop-types": "15.6.1"
+      }
+    },
+    "react-style-proptype": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/react-style-proptype/-/react-style-proptype-3.2.0.tgz",
+      "integrity": "sha512-Mafmkzj3oNmLSJNOlH+WWWyGIdzVLhPj+d12fDxQMQdwDQ5sMX7vQKOLpry4U+zRWieTCx448AyRKK0NLWuXmg==",
+      "requires": {
+        "prop-types": "15.6.1"
+      }
+    },
+    "react-toolbox": {
+      "version": "2.0.0-beta.12",
+      "resolved": "https://registry.npmjs.org/react-toolbox/-/react-toolbox-2.0.0-beta.12.tgz",
+      "integrity": "sha1-HZ3XzEHjs12r3OXrEAqAaO7ojEU=",
+      "requires": {
+        "classnames": "2.2.5",
+        "core-js": "2.5.3",
+        "ramda": "0.23.0",
+        "react-css-themr": "2.1.2",
+        "react-style-proptype": "3.2.0",
+        "react-transition-group": "1.2.1"
+      }
+    },
+    "react-transition-group": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-1.2.1.tgz",
+      "integrity": "sha512-CWaL3laCmgAFdxdKbhhps+c0HRGF4c+hdM4H23+FI1QBNUyx/AMeIJGWorehPNSaKnQNOAxL7PQmqMu78CDj3Q==",
+      "requires": {
+        "chain-function": "1.0.0",
+        "dom-helpers": "3.3.1",
+        "loose-envify": "1.3.1",
+        "prop-types": "15.6.1",
+        "warning": "3.0.0"
+      }
+    },
     "read-pkg": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
@@ -5555,6 +5863,22 @@
         "resolve": "1.5.0"
       }
     },
+    "redux": {
+      "version": "3.7.2",
+      "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz",
+      "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==",
+      "requires": {
+        "lodash": "4.17.5",
+        "lodash-es": "4.17.5",
+        "loose-envify": "1.3.1",
+        "symbol-observable": "1.2.0"
+      }
+    },
+    "redux-thunk": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.2.0.tgz",
+      "integrity": "sha1-5hWhbha0ehmlFXZhM9Hj6Zt4UuU="
+    },
     "regenerator-runtime": {
       "version": "0.11.1",
       "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
@@ -5648,6 +5972,11 @@
         }
       }
     },
+    "reselect": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz",
+      "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc="
+    },
     "resolve": {
       "version": "1.5.0",
       "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
@@ -5786,6 +6115,11 @@
         }
       }
     },
+    "select": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
+      "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0="
+    },
     "semver": {
       "version": "5.5.0",
       "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
@@ -6254,6 +6588,11 @@
         "strip-ansi": "4.0.0"
       }
     },
+    "string.prototype.repeat": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz",
+      "integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8="
+    },
     "string_decoder": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
@@ -6295,6 +6634,16 @@
         "has-flag": "3.0.0"
       }
     },
+    "svg-pan-zoom": {
+      "version": "3.5.3",
+      "resolved": "https://registry.npmjs.org/svg-pan-zoom/-/svg-pan-zoom-3.5.3.tgz",
+      "integrity": "sha512-jlHEOXRW4IF0W2e2DTk+hjKPKassF4TpJSSC7ilHJoZHX9hthFzU63WhluEwzSbTQF4akrWcjmbWxiCoGPa6PA=="
+    },
+    "symbol-observable": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
+      "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="
+    },
     "table": {
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
@@ -6367,6 +6716,11 @@
         "setimmediate": "1.0.5"
       }
     },
+    "tiny-emitter": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz",
+      "integrity": "sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow=="
+    },
     "tmp": {
       "version": "0.0.33",
       "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@@ -6535,6 +6889,11 @@
       "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
       "dev": true
     },
+    "ua-parser-js": {
+      "version": "0.7.17",
+      "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz",
+      "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g=="
+    },
     "uglify-js": {
       "version": "2.8.29",
       "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
@@ -6949,6 +7308,14 @@
       "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
       "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w="
     },
+    "warning": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz",
+      "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=",
+      "requires": {
+        "loose-envify": "1.3.1"
+      }
+    },
     "watchpack": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz",
@@ -7154,6 +7521,11 @@
         }
       }
     },
+    "whatwg-fetch": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz",
+      "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ="
+    },
     "which": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
diff --git a/package.json b/package.json
index 012148b1897a5c3f756b868280ec9b738d66478e..cd95995964c78a2258e982a934fd227fbba57a7e 100644
--- a/package.json
+++ b/package.json
@@ -17,6 +17,7 @@
     "graphql": "^0.13.1",
     "graphql-server-express": "^1.3.2",
     "graphql-tools": "^2.21.0",
+    "graphql-voyager": "^1.0.0-rc.15",
     "knex": "^0.14.4",
     "ldap-escape": "^1.1.5",
     "ldapjs": "^1.0.2",
diff --git a/src/graphql/schema.js b/src/graphql/schema.js
index 66854b963022c8cdbde33ad26fb29bec437d8bc6..d8fa175042ffce830b506513a3972c22592d76ca 100644
--- a/src/graphql/schema.js
+++ b/src/graphql/schema.js
@@ -30,8 +30,11 @@ const typeDefs = `
         givenName: String!
         lastName: String!
         uid: ID!
-        birthdate: String
+        birthdate: String!
+        mail: String
+        phone: String
         groups: [String]
+        address: String
     }
 
     type Mutation {
@@ -169,7 +172,10 @@ const resolvers = {
                     lastName: data.sn,
                     givenName: data.givenName,
                     birthdate: data.brBirthdate,
-                    groups: data.brMemberOf
+                    groups: data.brMemberOf,
+                    mail: data.mail,
+                    phone: data.telephoneNumber,
+                    room: data.brRoom
                 };
             };
 
diff --git a/src/index.js b/src/index.js
index 2d73129e95d8905dfc5e645a33f556be6a6c84b1..f67d6bccce0487769b26196f21896725d1c53185 100644
--- a/src/index.js
+++ b/src/index.js
@@ -3,12 +3,8 @@
  */
 import server from './server';
 import colors from 'colors';
-import setupLdapAuth from './ldap/ldap_auth.js';
 import router from './admin_view/admin_router';
 
-// setting up ldap authentication
-setupLdapAuth(server);
-
 // setting up l'interface admin des BDD
 server.use(router);
 
diff --git a/src/ldap/ldap_auth.js b/src/ldap/ldap_auth.js
index c881e173417d3d3b049787a938c33b6b6b3782c9..6c4effd01581516d9fdd2f55e661112fce0ad4a5 100644
--- a/src/ldap/ldap_auth.js
+++ b/src/ldap/ldap_auth.js
@@ -40,9 +40,6 @@ function setupLdapAuth(server) {
     passport.deserializeUser(function(user, done) {
         done(null, user);
     });
-
-    // Returns middleware that parses cookies
-    //server.use(cookieParser());
 }
 
 export default setupLdapAuth;
diff --git a/src/ldap/ldap_data.js b/src/ldap/ldap_data.js
index c1ba16e68bd0fcafd1df47b6592bb80ab6e6056d..633ed199897b27062595d037c27efe8ed95a9e49 100644
--- a/src/ldap/ldap_data.js
+++ b/src/ldap/ldap_data.js
@@ -9,7 +9,7 @@ import fs from 'fs';
 import ldapEscape from 'ldap-escape';
 import path from 'path'; */
 
-/**/var ldap = require('ldapjs');
+var ldap = require('ldapjs');
 var fs = require('fs');
 var ldapEscape = require('ldap-escape');
 var path = require('path');
diff --git a/src/server.js b/src/server.js
index 99184c879573b713d47106b48f5607a6e3506460..f98d163e6d8b538f092e3a9537adceac5cfb8dda 100644
--- a/src/server.js
+++ b/src/server.js
@@ -2,13 +2,13 @@
  * @file Cree le serveur express avec tous les middleware qui vont bien
 */
 import express from 'express';
-import session from 'express-session';
 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 setupLdapAuth from './ldap/ldap_auth';
 import { graphqlExpress, graphiqlExpress } from 'graphql-server-express';
 import flash from 'connect-flash';
 
@@ -20,19 +20,15 @@ server.use(bodyParser.urlencoded({
     extended: true
 }));
 
+/**
+ * @description Configuration authentification
+ */
+setupLdapAuth(server);
+
 /**
  * @description Cache le fait que l'application tourne sous Express dans le header HTTP.
  */
 server.disable('x-powered-by');
-
-// Configuration de express-session
-server.use(session({
-    secret: 'race condition',
-    cookie: { maxAge: 60000 },
-    resave: true,
-    saveUninitialized: true
-}));
-
 // setting up view engine for pug
 let viewpath = path.resolve('./','src','views');
 server.set('views', viewpath);