diff --git a/src/graphql/connectors/authentifiers.js b/src/graphql/connectors/authentifiers.js
index 47fc848e76622bd4a1f5f8635bd10d91c7676496..4c6c0ad1da6040f2ae8befb6505d7c80c3e28faf 100644
--- a/src/graphql/connectors/authentifiers.js
+++ b/src/graphql/connectors/authentifiers.js
@@ -60,9 +60,9 @@ export function viewer(user, groupUID){
  */
 export async function member(user, groupUID){
     let group_list = await selectors.groupsWithMember(user);
-    let test = await knex.with('group_list', group_list).select().from('group_list').where('uid', groupUID);
-    if(test[0])
-        return new User(user, new UtilisateurConnecte(user));
+    let test = group_list && await knex.with('group_list', group_list).select().from('group_list').where('uid', groupUID);
+    if(test && test[0])
+        return new User(user, null);
     return await admin(user, groupUID);
 }
 
@@ -87,7 +87,7 @@ export async function speaker(user, groupUID){
 export async function admin(user, groupUID){
     let adminList = await list_selectors.usersWithAdminRights(user, groupUID);
     if (typeof adminList != "undefined" && adminList.indexOf(user.uid) != -1)
-        return new User(user, AdministrateurConnecte());
+        return new User(user, null);
 }
 
 /**
@@ -100,8 +100,13 @@ export async function admin(user, groupUID){
  */
 export async function superviser(user, groupUID){
     let supervised_groups = await list_selectors.supervisedGroups(user);
-    let i = supervised_groups.indexOf(groupUID);
-    if(i < 0)
-        return false;
-    return supervised_groups.justification(i) || true;
+    console.log(supervised_groups);
+    for(let i = 0; i < supervised_groups.length; i++){
+        if(supervised_groups[i].uid == groupUID){
+            let user_obj = new User(user, null);
+            user_obj.justification = (supervised_groups.justification && supervised_groups.justification[i]);
+            return user_obj;
+        }
+    }
+    return false;
 }
\ No newline at end of file
diff --git a/src/graphql/connectors/connectors.js b/src/graphql/connectors/connectors.js
index ed3a360cd035a69c3293740ef482e9c8584defe0..1538d86380f9497e813f3538838dcf9d62c9d132 100644
--- a/src/graphql/connectors/connectors.js
+++ b/src/graphql/connectors/connectors.js
@@ -432,33 +432,34 @@ export async function allVisibleAnnouncements(user){
     return result;
 }
 
-export async function allVisiblePrivatePosts(user){
-    let selection = await selectors.visiblePrivatePosts(user);
-    let result = await knex.select().from('private_posts').whereIn('id', selection);
-    for(r of result){
-        r.type = 'PrivatePost';
+export async function recievedPrivatePosts(user, groupUID){
+    let result = await knex('private_post').select()
+        .where('recipient_uid', groupUID);
+    for(element of result){
+        element.type = 'PrivatePost';
     }
     return result;
 }
 
-export async function allVisibleQuestions(user){
-    let selection = await selectors.visibleQuestions(user);
-    let result = await knex.select().from('questions').whereIn('id', selection);
-    for(r of result){
-        r.type = 'Question';
+export async function receivedQuestions(user, groupUID){
+    let result = await knex().select().from('question')
+        .where('recipient_uid', groupUID);
+    for(element of result){
+        element.type = 'Question';
     }
     return result;
 }
 
-export async function allVisibleAnswers(user){
-    let selection = await selectors.visibleAnswers(user);
-    let result = await knex.select().from('answers').whereIn('id', selection);
-    for(r of result){
-        r.type = 'Answer';
+export async function recievedAnswers(user, groupUID){
+    let result = await knex().select().from('answer')
+        .where('recipient_uid', groupUID);
+    for(element of result){
+        element.type = 'Answer';
     }
     return result;
 }
 
+
 export async function visibleMessages(user, messageID){
 
 }
diff --git a/src/graphql/connectors/list_selectors.js b/src/graphql/connectors/list_selectors.js
index ac714ae57e4e0c6c2e8571b9ba891fe8316a7b7f..2591c6b7e16a85b46adff6c4d812bc0b90f02418 100644
--- a/src/graphql/connectors/list_selectors.js
+++ b/src/graphql/connectors/list_selectors.js
@@ -48,13 +48,13 @@ export async function supervisedGroups(user){
             .whereIn('member_uid', child_simple_groups);
         let new_start_groups = difference(child_simple_groups.concat(child_meta_groups), visited_groups);
         let new_visited_groups = visited_groups.concat(new_start_groups);
-        if(new_start_groups)
+        if(new_start_groups.length > 0)
             return recursive_explorer(new_visited_groups, new_start_groups);
         else
             return new_visited_groups;
         
     }
-    let groups_with_admin = await selectors.groupsWithAdmin(user)(knex);
+    let groups_with_admin = (await selectors.groupsWithAdmin(user))(knex);
     return recursive_explorer([], groups_with_admin);
 }
 
diff --git a/src/graphql/connectors/selectors.js b/src/graphql/connectors/selectors.js
index 5a3458930cecd6a46dc1ab4c37d4c149ba854155..85c16fb32925941ede3a94bf594f5f08fffc7f1b 100644
--- a/src/graphql/connectors/selectors.js
+++ b/src/graphql/connectors/selectors.js
@@ -44,7 +44,7 @@ export async function groupsWithSpeaker(user){
 
 export async function groupsWithAdmin(user){
     return function (query_builder){
-        return null;
+        return ["kes"];
     };
 }
 
@@ -63,25 +63,6 @@ export async function visibleEvents(user){
     };
 }
 
-export async function visiblePrivatePosts(user){
-    return query_builder => {
-        return query_builder;
-    };
-}
-
-export async function visibleQuestions(user){
-    return query_builder => {
-        return query_builder;
-    };
-}
-
-export async function visibleAnswers(user){
-    return query_builder => {
-        return query_builder;
-    };
-}
-
-
 export async function messageHosts(user, messageID){
     return function(query_builder){
         return query_builder.select({uid : 'group'}).from('group_message_relationships')
diff --git a/src/graphql/resolvers.js b/src/graphql/resolvers.js
index 9715465f8fba9b44ecf065690a111903aa929e62..09aecebef60945ec1cbd553f6a18f60c9203aa24 100644
--- a/src/graphql/resolvers.js
+++ b/src/graphql/resolvers.js
@@ -181,7 +181,7 @@ export const resolvers = {
         // Superviser mutations
 
         takeAdminRights : async function(obj, args, context){
-            let user = await authentifiers.superviser(user, args.from);
+            let user = await authentifiers.superviser(context.user, args.from);
             return user && await connectors.takeAdminRights(user, args.from, user.justification);
         },
 
@@ -326,12 +326,42 @@ export const resolvers = {
 
         likers: async function(obj, args, context){
             return connectors.utilisateur.listMembers(context.user,obj.uid);
+        }, 
+
+        privatePosts: async function(obj, args, context){
+            let user = await authentifiers.member(context.user, obj.uid);
+            return user && connectors.recievedPrivatePosts(user, obj.uid);
+        }, 
+
+        questions: async function(obj, args, context){
+            let user = await authentifiers.member(context.user, obj.uid);
+            return user && connectors.recievedQuestions(user, obj.uid);
+        }, 
+
+        answers: async function(obj, args, context){
+            let user = await authentifiers.member(context.user, obj.uid);
+            return user && connectors.recievedAnswers(user, obj.uid);
         }
     },
 
     // @rights viewer(obj.uid)
     MetaGroup: {
         members: (obj, args, context) => {
+        }, 
+
+        privatePosts: async function(obj, args, context){
+            let user = await authentifiers.member(context.user, obj.uid);
+            return user && connectors.recievedPrivatePosts(user, obj.uid);
+        }, 
+
+        questions: async function(obj, args, context){
+            let user = await authentifiers.member(context.user, obj.uid);
+            return user && connectors.recievedQuestions(user, obj.uid);
+        }, 
+
+        answers: async function(obj, args, context){
+            let user = await authentifiers.member(context.user, obj.uid);
+            return user && connectors.recievedAnswers(user, obj.uid);
         }
     }
 };
diff --git a/src/graphql/typeDefs/objects.js b/src/graphql/typeDefs/objects.js
index 2bd52bfd36deb35b63446c50fcbb31677386786b..625be4487c48418e4596fb4ca0800f9ae2618466 100644
--- a/src/graphql/typeDefs/objects.js
+++ b/src/graphql/typeDefs/objects.js
@@ -47,11 +47,11 @@ const Group = `
         # member requests
 
         # Les posts prives dans ce groupe
-        # privatePosts: [PrivatePost]
+        privatePosts: [PrivatePost]
         # Les questions addressees à ce groupe
-        # questions: [Question]
+        questions: [Question]
         # Les reponses donnees par ce groupe
-        # answers: [Answer]
+        answers: [Answer]
 
 
     }
@@ -74,6 +74,10 @@ const Group = `
         school: String
         # Groupe parent
         parent: Group
+
+        privatePosts: [PrivatePost]
+        questions: [Question]
+        answers: [Answer]
     }
 
     # Un groupe dont les membre sont d'autres groupes
@@ -87,6 +91,10 @@ const Group = `
 
         # Les groupes constitutifs du méta-groupe.
         members: [Group]!
+
+        privatePosts: [PrivatePost]
+        questions: [Question]
+        answers: [Answer]
     }
 
 `;