diff --git a/src/css/style.css b/src/css/style.css
index a67c7cc840256af39355f281ff9d1bfd1088dc44..2b530acb02ca299e86b5e0393ca49beb02645a2e 100644
--- a/src/css/style.css
+++ b/src/css/style.css
@@ -36,7 +36,7 @@ input.form-control:focus {
     border-bottom-color: rgba(1, 40, 148, 0.842);
 }
 
-button.form-control {
+.button {
     display: block;
     color: white;
     min-width: 120px;
@@ -46,16 +46,28 @@ button.form-control {
     border-radius: 4px;
 }
 
+div.button {
+    display: block;
+    text-align: center;
+    font-size: 11pt;
+    width: 120px;
+}
+
+button a {
+    color: white;
+    text-decoration: none;
+}
+
 .form-group button {
     margin-top: 0;
     margin-left: 0.6em
 }
 
-button.form-control:hover {
+.button:hover {
     background-color: rgba(37, 0, 138, 0.87);
 }
 
-button.form-control:active {
+.button:active {
     box-shadow: inset 0 8px 6px -6px black;
     transition: background-color;
 }
diff --git a/src/graphql/schema.js b/src/graphql/schema.js
index 47e31154f702c11c426cfeaf69315ca747c48d15..2bbf77ac1cbea1d10d437560e5aeb8343a52cdf3 100644
--- a/src/graphql/schema.js
+++ b/src/graphql/schema.js
@@ -8,14 +8,15 @@ import { makeExecutableSchema } from 'graphql-tools';
 import { request } from 'https';
 import { assertBinaryExpression } from 'babel-types';
 
-import { Group, User } from './user_and_group';
-
-const typeDefs = `
+import { Group, User, Post, Event as schemaEvent } from './typeDefs';
 
+const RootTypes = `
+    # Requêtes
     type Query {
         allGroups: [Group]
         group(uid: ID) : Group
         user(uid: ID) : [User]
+        allEvents: [Event]
     }
 
     type Mutation {
@@ -35,6 +36,8 @@ const typeDefs = `
 
     type AdminMutation {
 
+        test: Boolean
+
         createSubgroup(
             uid: ID = null, 
             name: String,
@@ -132,7 +135,7 @@ const getAllVisibleGroups = (user) => {
  * @desc Actuellement, la fonction appelle *getAllVisibleGroups* et restreint au groupe demandé. Cette fonction peut être implémentée de manière plus efficace et plus chiante.
  * @arg {Object} user - Objet contenant un attribut *uid* de type *string*. User représente l'utilisateur qui a effectué la requête. 
  * @arg {String} uid - uid du groupe que l'on veut voire. 
- * @return {Promise} Retour de requête knex. Le groupe demandé, si l'utilisateur a le droit de la voire.
+ * @return {Promise(group)} Retour de requête knex. Le groupe demandé, si l'utilisateur a le droit de la voire.
  */
 const getGroupIfVisible = (user, uid) => {
     return /*getAllVisibleGroups(user)*/knex('groups').where('groups.uid', uid).then(res => {
@@ -220,7 +223,7 @@ const resolvers = {
                 };
             };
 
-            console.log("Logged in as:",context.user);
+            console.log("Fetching user data as user",context.user);
 
             const result = renseignerSurUtilisateur(context.user, args.uid).then(res => {
                 const output = res.map(entry => refactorer(entry));
@@ -233,16 +236,31 @@ const resolvers = {
 
     Mutation: {
         asAdmin: (obj, args, context) => {
-
+            return hasAdminRights(context.user, args.groupid).then(res => {
+                if(res)
+                    return {hasAdminRights : true};
+                else
+                    return {hasAdminRights : false};
+            });
         },
         createGroup: (obj, args, context) => {
             return createGroupIfLegal(context.user, args);
         }
+    },
+
+    AdminMutation: {
+        test: (obj, args, context) => {
+            console.log(obj);
+            console.log(typeof obj);
+            return null;
+            
+        }
     }
+
 };
 
 const schema = makeExecutableSchema({
-    typeDefs: [typeDefs, Group, User],
+    typeDefs: [RootTypes, Group, User, Post, schemaEvent],
     resolvers
 });
 
diff --git a/src/graphql/typeDefs.js b/src/graphql/typeDefs.js
new file mode 100644
index 0000000000000000000000000000000000000000..3e5592835a093084185cbe8911aa492311b2b460
--- /dev/null
+++ b/src/graphql/typeDefs.js
@@ -0,0 +1,59 @@
+const User = `
+    # Utilisateurs
+    type User {
+        # Prénom de l'utilisateur
+        givenName: String!
+        # Nom de famille
+        lastName: String!
+        uid: ID!
+        birthdate: String!
+        mail: String
+        phone: String
+        # Groupes dont l'utilisateur est membre.
+        groups: [Group]
+        # Groupes que l'utilisateur aime.
+        likes: [Group]
+        address: String
+    }
+`;
+
+const Group = `
+    # Groupes associatifs
+    type Group {
+        uid: ID
+        name: String
+        website: String
+        createdAt: String
+        updatedAt: String
+        description: String
+        school: String
+        parentuid: String
+    }
+`;
+
+const Event = `
+    # Événements
+    type Event {
+        # Intitulé de l'événement
+        title: String!
+        # Lieu de l'événement
+        location: String
+        datetime: String!
+        # Groupes organisateurs
+        groups: [Group]
+        # Personnes qui y participent
+        participants: [User]
+    }
+`;
+
+const Post = `
+    # Publication
+    type Post {
+        title: String!
+        uid: ID!
+        # Groupe auteur de la publication
+        author: Group
+    }
+`;
+
+export { Group, User, Event, Post };
\ No newline at end of file
diff --git a/src/graphql/user_and_group.js b/src/graphql/user_and_group.js
deleted file mode 100644
index be03a20ce8fe296933a3465e7e2b8669e8652e1d..0000000000000000000000000000000000000000
--- a/src/graphql/user_and_group.js
+++ /dev/null
@@ -1,27 +0,0 @@
-const User = `
-    type User {
-        givenName: String!
-        lastName: String!
-        uid: ID!
-        birthdate: String!
-        mail: String
-        phone: String
-        groups: [Group]
-        address: String
-    }
-`;
-
-const Group = `
-    type Group {
-        uid: ID
-        name: String
-        website: String
-        createdAt: String
-        updatedAt: String
-        description: String
-        school: String
-        parentuid: String
-    }
-`;
-
-export { Group, User };
\ No newline at end of file
diff --git a/src/server.js b/src/server.js
index 39e8192fd9df7b37e26a79319747478f0e20874d..023691da29cd84065e09c0f4d4a2ed017808fea3 100644
--- a/src/server.js
+++ b/src/server.js
@@ -48,15 +48,18 @@ server.use('/graphql', bodyParser.json(), cors(),
     graphqlExpress(req => {
         let uid;
         let password;
-
+        
         try {
+            console.log(req.session);
             uid = req.session.passport.user.uid;
             password = "mythe";
         } catch (err) {
-            uid = "louis.vaneau";
-            password = "mythe";
+            uid = "anonymous";
+            password = "";
         }
 
+        console.log("Accessing GraphQL as:",uid);
+
         return {
             schema : schema,
             context : {user : {uid : uid, password : password}}