diff --git a/src/graphql/typeDefs/actions.graphql b/src/graphql/typeDefs/actions.graphql
index fc1a0e511a10f255e99fa47dfd6d33a861167f8c..cb445ffdd784f702f99daf48821f8052739a3f3c 100644
--- a/src/graphql/typeDefs/actions.graphql
+++ b/src/graphql/typeDefs/actions.graphql
@@ -1,5 +1,3 @@
-// hawkspar->all ; et la doc ?
-
 # Requêtes
 type Query {
     
diff --git a/src/graphql/typeDefs/actions_wish_list.gql b/src/graphql/typeDefs/actions_wish_list.gql
index 79f7f2edd006241daf99a50953a5324bb5e805bc..952a3739f07c9f3f72f8a0c4378dd00f1d04ed22 100644
--- a/src/graphql/typeDefs/actions_wish_list.gql
+++ b/src/graphql/typeDefs/actions_wish_list.gql
@@ -1,164 +1,144 @@
-// ce fichier en .gql sert juste a forcer VSCode a colorier correctement le langage graphQL.
-// son contenu sera copie dans actions.js tout simplement
-
-/** 
- * @file définit les types query et mutation, points d'entree du schéma graphQL. ce fichier est la wish list de kadabra (qui veut avoir un schema clair pour travailler sereinement sur le front)
- * @author akka vodol, kadabra
-*/
-
-// hawkspar->akka ; pas clair
-
-const RootQuery = `
-    # Requêtes
-
-    type Query {
-        # User queries de base
-        user(uid:ID!): User
-
-        # Group queries de base
-        group(uid:ID!): Group
-        simpleGroup(uid:ID!): SimpleGroup
-        metaGroup(uid:ID!): MetaGroup
-
-        # Message queries de base
-        message(id:ID!): Message
-        announcement(id:ID!): Announcement
-        event(id:ID!): Event
-        privatePost(id:ID!): PrivatePost
-        question(id:ID!): Question
-        answer(id:ID!): Answer
-
-        # Request queries de base
-        request(id:ID!): Request
-        userJoinGroupRequest(id:ID!): UserJoinGroup
-        groupCoauthorEventRequest(id:ID!): GroupCoauthorEvent
-
-
-
-        # Messages créés par un AuthorUnion=Group|[Group]|User
-        messagesFromGroup(uid:ID!): [Message]
-        announcementsFromGroup(uid:ID!): [Announcement]
-        eventsFromGroup(uid:ID!): [Event]
-        privatepostsFromUser(uid:ID!): [Post]
-        questionsFromUser(uid:ID!): [Question]
-        answersFromGroup(uid:ID!): [Answer]
-
-        # Messages adressés à un Group
-        messagesToGroup(uid:ID!): [Message]
-        announcementsToGroup(uid:ID!): [Announcement]
-        eventsToGroup(uid:ID!): [Event]
-        privatepostsToGroup(uid:ID!): [Post]
-        questionsToGroup(uid:ID!): [Question]
-        answersToGroup(uid:ID!): [Answer]
-
-
-
-        # Toutes les Requests auxquelles un groupe doit répondre
-        requestsToGroup(uid:ID!): [Request]
-        userJoinGroupRequestsToGroup(id:ID!): UserJoinGroup
-        groupCoauthorEventRequestsToGroup(id:ID!): GroupCoauthorEvent
-
-
-
-        # Tous les xxx visibles par un utilisateur
-        allGroups(uid:ID!): [Group]
-        allSimpleGroups(uid:ID!): [SimpleGroup]
-        allMetaGroups(uid:ID!): [MetaGroup]
-        
-        allMessages(uid:ID!): [Message]
-        allAnnouncements(uid:ID!): [Announcement]
-        allEvents(uid:ID!): [Event]
-        
-
-
-        # TOL
-        searchTOL(
-            givenName: String,
-            lastName: String,
-            nickname: String,
-            nationality: String,
-            school: String,
-            promotion: String,
-            groups: String,
-            studies: String,
-            sport: String,
-            phone: String,
-            mail: String,
-            address: String,
-            ip: String
-        ): [User!]
-
-    }
-`;
-
-const RootMutation = `
-    # Mutations
-
-    type Mutation {
-        # Par rapport à un groupe donné, un user peut avoir différents niveaux de droits :
-        # none : aucun droit (typiquement, une connection ou l'utilisateur ne s'est pas authentifie)
-        # viewer : le user sait que le groupe existe et a accès aux infos de base, mais rien de plus
-        # member : le user est membre du groupe et a acces aux Message dont le groupe est auteur ou destinataire
-        # speaker : le user peut parler au nom du groupe. Il a le droit de publier des annonces et d'organiser des évènements
-        # admin : le user a tous les droits sur le groupe
-
-        # Viewer mutations
-        requestJoin(userid: ID!, groupuid: ID!): Boolean
-
-
-        # Member mutations
-        leave(userid: ID!, groupuid: ID!): Boolean
-        postInGroup(userid: ID!, groupuid: ID!, postContent: String)
-
-
-
-        # Speaker mutations
-
-        writeAnnouncement(
-            from: uid!,
-            to: [uid!],
-            title: String,
-            date: String,
-            content: String
-        )
-        writeEvent(
-            from: ID!,
-            to: [uid!],
-            title: String,
-            date: String,
-            content:String
-        )
-
-
-
-        # Admin mutations
-
-        createSubgroup(
-            from: ID!,
-            newUid: ID,
-            name: String!,
-            website: String,
-            description: String,
-            school: String
-        ): Group
-
-        addUser(userid: ID!, groupuid: ID!): User
-        removeUser(userid: String!, groupuid: ID!): User
-        addAdmin(userid: String!, groupuid: ID!): User
-        removeAdmin(userid: String!, groupuid: ID!): User
-
-        editGroup(
-            from: String!,
-            name: String,
-            website: String,
-            description: String,
-            school: String
-        ): Group
-
-    }
-`;
-
-
-const actionDefs = [RootQuery, RootMutation];
-export default actionDefs;
 
+# Query root type.
+type Query {
+    # User queries de base
+    user(uid:ID!): User
+
+    # Group queries de base
+    group(uid:ID!): Group
+    simpleGroup(uid:ID!): SimpleGroup
+    metaGroup(uid:ID!): MetaGroup
+
+    # Message queries de base
+    message(id:ID!): Message
+    announcement(id:ID!): Announcement
+    event(id:ID!): Event
+    privatePost(id:ID!): PrivatePost
+    question(id:ID!): Question
+    answer(id:ID!): Answer
+
+    # Request queries de base
+    request(id:ID!): Request
+    userJoinGroupRequest(id:ID!): UserJoinGroup
+    groupCoauthorEventRequest(id:ID!): GroupCoauthorEvent
+
+
+
+    # Messages créés par un AuthorUnion=Group|[Group]|User
+    messagesFromGroup(uid:ID!): [Message]
+    announcementsFromGroup(uid:ID!): [Announcement]
+    eventsFromGroup(uid:ID!): [Event]
+    privatepostsFromUser(uid:ID!): [Post]
+    questionsFromUser(uid:ID!): [Question]
+    answersFromGroup(uid:ID!): [Answer]
+
+    # Messages adressés à un Group
+    messagesToGroup(uid:ID!): [Message]
+    announcementsToGroup(uid:ID!): [Announcement]
+    eventsToGroup(uid:ID!): [Event]
+    privatepostsToGroup(uid:ID!): [Post]
+    questionsToGroup(uid:ID!): [Question]
+    answersToGroup(uid:ID!): [Answer]
+
+
+
+    # Toutes les Requests auxquelles un groupe doit répondre
+    requestsToGroup(uid:ID!): [Request]
+    userJoinGroupRequestsToGroup(id:ID!): UserJoinGroup
+    groupCoauthorEventRequestsToGroup(id:ID!): GroupCoauthorEvent
+
+
+
+    # Tous les xxx visibles par un utilisateur
+    allGroups(uid:ID!): [Group]
+    allSimpleGroups(uid:ID!): [SimpleGroup]
+    allMetaGroups(uid:ID!): [MetaGroup]
+    
+    allMessages(uid:ID!): [Message]
+    allAnnouncements(uid:ID!): [Announcement]
+    allEvents(uid:ID!): [Event]
+    
+
+
+    # TOL
+    searchTOL(
+        givenName: String,
+        lastName: String,
+        nickname: String,
+        nationality: String,
+        school: String,
+        promotion: String,
+        groups: String,
+        studies: String,
+        sport: String,
+        phone: String,
+        mail: String,
+        address: String,
+        ip: String
+    ): [User!]
+
+}
+
+# Mutations
+type Mutation {
+    # Par rapport à un groupe donné, un user peut avoir différents niveaux de droits :
+    # none : aucun droit (typiquement, une connection ou l'utilisateur ne s'est pas authentifie)
+    # viewer : le user sait que le groupe existe et a accès aux infos de base, mais rien de plus
+    # member : le user est membre du groupe et a acces aux Message dont le groupe est auteur ou destinataire
+    # speaker : le user peut parler au nom du groupe. Il a le droit de publier des annonces et d'organiser des évènements
+    # admin : le user a tous les droits sur le groupe
+
+    # Viewer mutations
+    requestJoin(userid: ID!, groupuid: ID!): Boolean
+
+
+    # Member mutations
+    leave(userid: ID!, groupuid: ID!): Boolean
+    postInGroup(userid: ID!, groupuid: ID!, postContent: String)
+
+
+
+    # Speaker mutations
+
+    writeAnnouncement(
+        from: uid!,
+        to: [uid!],
+        title: String,
+        date: String,
+        content: String
+    )
+    writeEvent(
+        from: ID!,
+        to: [uid!],
+        title: String,
+        date: String,
+        content:String
+    )
+
+
+
+    # Admin mutations
+
+    createSubgroup(
+        from: ID!,
+        newUid: ID,
+        name: String!,
+        website: String,
+        description: String,
+        school: String
+    ): Group
+
+    addUser(userid: ID!, groupuid: ID!): User
+    removeUser(userid: String!, groupuid: ID!): User
+    addAdmin(userid: String!, groupuid: ID!): User
+    removeAdmin(userid: String!, groupuid: ID!): User
+
+    editGroup(
+        from: String!,
+        name: String,
+        website: String,
+        description: String,
+        school: String
+    ): Group
+
+}
diff --git a/src/graphql/typeDefs/objects.graphql b/src/graphql/typeDefs/objects.graphql
index 80641023dc6a3a2107322f6a72f0f62ded36e8ca..abe7ba890957a49f400cd4b5d49203091a60e43d 100644
--- a/src/graphql/typeDefs/objects.graphql
+++ b/src/graphql/typeDefs/objects.graphql
@@ -1,5 +1,3 @@
-// hawkspar->all ; doc ?
-
 # Utilisateurs
 type User {
     # Prénom de l'utilisateur
diff --git a/src/graphql/typeDefs/objects_wish_list.gql b/src/graphql/typeDefs/objects_wish_list.gql
index e01d6f88110c7bce1953e731655e7d39a49bea7d..3aa5bee0d03e618a833a8e0f59dc819ec251853a 100644
--- a/src/graphql/typeDefs/objects_wish_list.gql
+++ b/src/graphql/typeDefs/objects_wish_list.gql
@@ -1,261 +1,228 @@
-
-// ce fichier en .gql sert juste a forcer VSCode a colorier correctement le langage graphQL.
-// son contenu sera copie dans objects.js tout simplement
-
-/** 
- * @file définit les types de base du schéma graphQL. ce fichier est la wish list de kadabra (qui veut avoir un schema clair pour travailler sereinement sur le front)
- * @author akka vodol, kadabra
-*/
-
-// hawkspar->akka ; pas clair
-
-const User = `
-    # Utilisateurs
-
-    # Un utilisateur
-    type User {
-        uid: ID!
-
-        # Pour l'identifier
-        givenName: String! # Prénom
-        lastName: String! # Nom de famille
-        nickname: String # Surnom
-        nationality: String
-        birthdate: String!
-        promotion: String
-
-        # Pour le contacter
-        mail: String
-        phone: String
-        address: [String] # Adresse(s) de l'utilisateur (numero de casert par exemple)
-
-        # Ses interactions avec des groupes
-        groups: [SimpleGroup] # Groupes dont l'utilisateur est membre
-        likes: [Group] # Groupes que l'utilisateur sympathise
-    }
-`;
-
-const Group = `
-    # Groupes associatifs
-
-    """
-    L'interface Group représente les deux types de groupes implémentés dans Sigma : les groupes
-    simples, dont les membres sont des utilisateurs, et les métagroupes, dont les membres sont
-    des groupes simples (tel que Federez, dont les membres incluent le BR et DaTA). 
-    """
-    interface Group {
-        uid: ID!
-        createdAt: String! # Date et heure de création du groupe.
-        updatedAt: String! # Date et heure de mise a jour des informations du groupe.
-
-        # Pour l'identifier
-        name: String!
-        description: String # Une description tres rapide du groupe
-        
-        # Pour le contacter
-        mail: String
-        website: String
-    }
-
-    # Le groupe de base, dont les membres sont des utilisateurs : binets, Kès...
-    type SimpleGroup implements Group {
-        uid: ID!
-        createdAt: String!
-        updatedAt: String!
-        name: String
-        description: String
-        mail: String
-        website: String
-
-        # Admin, membres, sympathisants du groupe
-        admins: [User]
-        members: [User]
-        likers: [User]
-       
-        # Graphe organique des groupes
-        parent: SimpleGroup # Groupe parent
-        children: [SimpleGroup] # Groupes enfants
-        memberOfMeta: [MetaGroup]
-        visibilityEdge: [Group] # visible par des groupes en plus du graphe organique
-
-        school: String # École d'origine du groupe (pour information)
-
-        # Activité publique du groupe
-        announcementsFromGroup: [Announcement] # annonces écrites par le groupe
-        announcementsToGroup: [Announcement] # annonces adressées au groupe
-        eventsFromGroup: [Event]
-        eventsToGroup: [Event]
-        frontPage: String # page d'accueil du groupe, en markdown
-        questions: [Question]
-        answers: [Answer] # permet d'obtenir les questions qui ont eu une réponse
-        
-        # Activité interne
-        posts: [Post]
-        postsSummary: String # récapitulatif de l'activité interne du groupe, en markdown
-    }
-
-    # Un groupe dont les membre sont d'autres groupes
-    type MetaGroup implements Group {
-        uid: ID!
-        createdAt: String!
-        updatedAt: String!
-        name: String
-        description: String
-        mail: String
-        website: String
-
-        # Admins et Groupes membres
-        admins: [User]
-        members: [SimpleGroup] # Par choix de paradigme, on veut éviter d'avoir des méta-méta-groupes.
-
-        visibilityEdge: [Group] # visible par des groupes en plus du graphe organique
-    }
-
-`;
-
-const Message = `
-    # Tout type de message adressé à un ou plusieurs groupes.
-
-    # Auteur possible d'un Message
-    union AuthorUnion = Group | [Group] | User
-    union RecipientUnion = Group | [Group]
-
-    """
-    L'interface Message représente toute information que veut communiquer un groupe ou un user.
-    Par choix de paradigme, tout Message est adressé à un (ou des) groupe(s).
-    Les types implémentés sont divisés en deux :
-    - les Message émanant d'un groupe : Announcement et Event, ainsi que Answer
-    - les Message émanant d'un user : PrivatePost, ainsi que Question
-    """
-    interface Message {
-        id: ID!
-        createdAt: String!
-        updatedAt: String!
-        title: String!
-        content: String!
-
-        authors: AuthorUnion
-        recipient: RecipientUnion # destinataire du Message. forcement (un ou plusieurs) Group
-    }
-
-    # Annonce effectuée par un ou plusieurs groupes.
-    type Announcement implements Message {
-        id: ID!
-        createdAt: String!
-        updatedAt: String!
-        title: String!
-        content: String!
-
-        authors: [Group]
-        recipients: [Group]
-
-        importance: Int # TODO: mettre un commentaire pour expliquer
-        views: Int # TODO mettre un commentaire pour expliquer
- 
-        # Si cette Announcement annonce un événement, référence le Event. Sinon null.
-        forEvent: Event
-    }
-
-    # Événements organisés par un ou plusieurs groupes.
-    type Event implements Message {
-        id: ID!
-        createdAt: String!
-        updatedAt: String!
-        title: String!
-        content: String!
-
-        authors: [Group] # Organisateurs de l'événement
-        recipients: [Group]
-
-        location: String!
-        startTime: String!
-        endTime: String!
-
-        # Personnes qui participent à l'événement.
-        participatingGroups: [Group]
-        participatingUsers: [User]
-
-        # Si cet Event a été annoncé par un Announcement, le référence. Sinon null.
-        forAnnouncement: Announcement 
-    }
-
-    # Post interne d'un membre sur la page interne de son groupe
-    type PrivatePost implements Message {
-        id: ID!
-        createdAt: String!
-        updatedAt: String!
-        title: String!
-        content: String!
-
-        authors: User
-        recipient: Group
-    }
-
-    # Question posée par un user à un groupe
-    type Question implements Message {
-        id: ID!
-        createdAt: String!
-        updatedAt: String!
-        title: String!
-        content: String!
-
-        authors: User
-        recipient: Group
-
-        # Référence la réponse donnée par le groupe à cette Question. Si pas encore répondu, null.
-        forAnswer: Answer
-    }
-
-    # Réponse à une Question 
-    type Answer implements Message {
-        id: ID!
-        createdAt: String!
-        updatedAt: String!
-        title: String!
-        content: String!
-
-        authors: Group
-        recipient: Group
-
-        # La question à laquelle cette Answer répond. Non-nullable bien sûr
-        forQuestion: Question!
-    }
-`;
-
-const Requests = `
-
-    # Emetteur possible d'une Request
-    union RequesterUnion = Group | User
-
-    interface Request {
-        id: ID!
-        message: String # court message accompagnant la demande
-        
-        from: RequesterUnion # Émet la demande
-        to: Group # Reçoit la demande
-    }
-
-    # Demande d'un utilisateur désirant rejoindre le groupe.
-    type UserJoinGroup implements Request{
-        id: ID!
-        message: String
-       
-        from: User
-        to: Group
-    }
-
-    # Invite un groupe à co-organiser son événement (et pas l'inverse!)
-    type GroupCoauthorEvent implements Request{
-        id: ID!
-        message: String
-        
-        from: Group # Groupe authorant l'évènement et lançant l'invitation
-        to: Group # Groupe récipiendaire de l'invitation à co-hoster l'événement
-        forEvent: Event
-    }
-
-`;
-
-const objectDefs = [Group, User, Message, Requests];
-export default objectDefs;
-
+# Un utilisateur
+type User {
+    uid: ID!
+
+    # Pour l'identifier
+    givenName: String! # Prénom
+    lastName: String! # Nom de famille
+    nickname: String # Surnom
+    nationality: String
+    birthdate: String!
+    promotion: String
+
+    # Pour le contacter
+    mail: String
+    phone: String
+    address: [String] # Adresse(s) de l'utilisateur (numero de casert par exemple)
+
+    # Ses interactions avec des groupes
+    groups: [SimpleGroup] # Groupes dont l'utilisateur est membre
+    likes: [Group] # Groupes que l'utilisateur sympathise
+}
+
+"""
+L'interface Group représente les deux types de groupes implémentés dans Sigma : les groupes
+simples, dont les membres sont des utilisateurs, et les métagroupes, dont les membres sont
+des groupes simples (tel que Federez, dont les membres incluent le BR et DaTA). 
+"""
+interface Group {
+    uid: ID!
+    createdAt: String! # Date et heure de création du groupe.
+    updatedAt: String! # Date et heure de mise a jour des informations du groupe.
+
+    # Pour l'identifier
+    name: String!
+    description: String # Une description tres rapide du groupe
+    
+    # Pour le contacter
+    mail: String
+    website: String
+}
+
+# Le groupe de base, dont les membres sont des utilisateurs : binets, Kès...
+type SimpleGroup implements Group {
+    uid: ID!
+    createdAt: String!
+    updatedAt: String!
+    name: String
+    description: String
+    mail: String
+    website: String
+
+    # Admin, membres, sympathisants du groupe
+    admins: [User]
+    members: [User]
+    likers: [User]
+    
+    # Graphe organique des groupes
+    parent: SimpleGroup # Groupe parent
+    children: [SimpleGroup] # Groupes enfants
+    memberOfMeta: [MetaGroup]
+    visibilityEdge: [Group] # visible par des groupes en plus du graphe organique
+
+    school: String # École d'origine du groupe (pour information)
+
+    # Activité publique du groupe
+    announcementsFromGroup: [Announcement] # annonces écrites par le groupe
+    announcementsToGroup: [Announcement] # annonces adressées au groupe
+    eventsFromGroup: [Event]
+    eventsToGroup: [Event]
+    frontPage: String # page d'accueil du groupe, en markdown
+    questions: [Question]
+    answers: [Answer] # permet d'obtenir les questions qui ont eu une réponse
+    
+    # Activité interne
+    posts: [Post]
+    postsSummary: String # récapitulatif de l'activité interne du groupe, en markdown
+}
+
+# Un groupe dont les membre sont d'autres groupes
+type MetaGroup implements Group {
+    uid: ID!
+    createdAt: String!
+    updatedAt: String!
+    name: String
+    description: String
+    mail: String
+    website: String
+
+    # Admins et Groupes membres
+    admins: [User]
+    members: [SimpleGroup] # Par choix de paradigme, on veut éviter d'avoir des méta-méta-groupes.
+
+    visibilityEdge: [Group] # visible par des groupes en plus du graphe organique
+}
+
+union AuthorUnion = Group | [Group] | User
+union RecipientUnion = Group | [Group]
+
+"""
+L'interface Message représente toute information que veut communiquer un groupe ou un user.
+Par choix de paradigme, tout Message est adressé à un (ou des) groupe(s).
+Les types implémentés sont divisés en deux :
+- les Message émanant d'un groupe : Announcement et Event, ainsi que Answer
+- les Message émanant d'un user : PrivatePost, ainsi que Question
+"""
+interface Message {
+    id: ID!
+    createdAt: String!
+    updatedAt: String!
+    title: String!
+    content: String!
+
+    authors: AuthorUnion
+    recipient: RecipientUnion # destinataire du Message. forcement (un ou plusieurs) Group
+}
+
+# Annonce effectuée par un ou plusieurs groupes.
+type Announcement implements Message {
+    id: ID!
+    createdAt: String!
+    updatedAt: String!
+    title: String!
+    content: String!
+
+    authors: [Group]
+    recipients: [Group]
+
+    importance: Int # TODO: mettre un commentaire pour expliquer
+    views: Int # TODO mettre un commentaire pour expliquer
+
+    # Si cette Announcement annonce un événement, référence le Event. Sinon null.
+    forEvent: Event
+}
+
+# Événements organisés par un ou plusieurs groupes.
+type Event implements Message {
+    id: ID!
+    createdAt: String!
+    updatedAt: String!
+    title: String!
+    content: String!
+
+    authors: [Group] # Organisateurs de l'événement
+    recipients: [Group]
+
+    location: String!
+    startTime: String!
+    endTime: String!
+
+    # Personnes qui participent à l'événement.
+    participatingGroups: [Group]
+    participatingUsers: [User]
+
+    # Si cet Event a été annoncé par un Announcement, le référence. Sinon null.
+    forAnnouncement: Announcement 
+}
+
+# Post interne d'un membre sur la page interne de son groupe
+type PrivatePost implements Message {
+    id: ID!
+    createdAt: String!
+    updatedAt: String!
+    title: String!
+    content: String!
+
+    authors: User
+    recipient: Group
+}
+
+# Question posée par un user à un groupe
+type Question implements Message {
+    id: ID!
+    createdAt: String!
+    updatedAt: String!
+    title: String!
+    content: String!
+
+    authors: User
+    recipient: Group
+
+    # Référence la réponse donnée par le groupe à cette Question. Si pas encore répondu, null.
+    forAnswer: Answer
+}
+
+# Réponse à une Question 
+type Answer implements Message {
+    id: ID!
+    createdAt: String!
+    updatedAt: String!
+    title: String!
+    content: String!
+
+    authors: Group
+    recipient: Group
+
+    # La question à laquelle cette Answer répond. Non-nullable bien sûr
+    forQuestion: Question!
+}
+
+# Emetteur possible d'une Request
+union RequesterUnion = Group | User
+
+interface Request {
+    id: ID!
+    message: String # court message accompagnant la demande
+    
+    from: RequesterUnion # Émet la demande
+    to: Group # Reçoit la demande
+}
+
+# Demande d'un utilisateur désirant rejoindre le groupe.
+type UserJoinGroup implements Request{
+    id: ID!
+    message: String
+    
+    from: User
+    to: Group
+}
+
+# Invite un groupe à co-organiser son événement (et pas l'inverse!)
+type GroupCoauthorEvent implements Request{
+    id: ID!
+    message: String
+    
+    from: Group # Groupe authorant l'évènement et lançant l'invitation
+    to: Group # Groupe récipiendaire de l'invitation à co-hoster l'événement
+    forEvent: Event
+}