diff --git a/connection-db.js b/connection-db.js
index 807434f5dc2f72f0d8833eedd25407ad428b6636..1535e9231f8da701dfc92186c777b859a8a19077 100644
--- a/connection-db.js
+++ b/connection-db.js
@@ -3,9 +3,6 @@
 // Modules extérieurs
 var mysql = require('promise-mysql');
 
-// Création de variables
-var schedules = {};
-
 // Configurations
 const config = require('./config');
 
diff --git a/index.js b/index.js
index cca0cc0c5d1ebc4343b398bb181d2e17c642fb29..057473d6dfcdd587b70fb6cd07e8e33ae0b85af1 100644
--- a/index.js
+++ b/index.js
@@ -1,3 +1,5 @@
+// INDEX.JS : Script principal pour lancer le serveur
+
 // Modules propres
 var bot = require('./telegram');
 require('./website');
diff --git a/requests.js b/requests.js
index ad5e031d0ceaed6ac6cad1119790f609ab6aff34..61144e3ae5b89f36ffd13a410fca4329bd80bb5c 100644
--- a/requests.js
+++ b/requests.js
@@ -62,6 +62,19 @@ function getGroupById(chan, id) {
     }).catch(err => { console.error(err) })
 }
 
+
+function getMe(chan) {
+    return getNewTokenIfNecessary(chan).then(chan => {
+        const options = {
+            headers: { 'Authorization': `Bearer ${chan.token}` },
+            json: true
+        }
+    
+        return rp('https://auth.viarezo.fr/api/user/show/me', options)    
+    })
+}
+
+
 // Récupération d'un token
 function getFirstToken(code, state) {
 
@@ -127,4 +140,4 @@ function getNewTokenIfNecessary(chan) {
     }
 }
 
-module.exports = { getBirthdays, sendRequest, searchGroups, getGroupById, getFirstToken, getNewToken };
\ No newline at end of file
+module.exports = { getBirthdays, sendRequest, searchGroups, getGroupById, getMe, getFirstToken, getNewToken };
\ No newline at end of file
diff --git a/schedule.js b/schedule.js
index 964bd433d0f833e6d72c290992bc6bf0a530ffd1..a2cf7c368108d805830dc31872e8bbfbeea6bc07 100644
--- a/schedule.js
+++ b/schedule.js
@@ -1,3 +1,5 @@
+// SCHEDULE.JS : Module permettant de créer des rappels d'anniversaires
+
 // Modules extérieurs
 var schedule = require('node-schedule');
 
diff --git a/telegram.js b/telegram.js
index 5e93a941a2c026820cf547ecd216f221e7c2b007..22b1389cffff6bd35ca578a7894634ecc914192c 100644
--- a/telegram.js
+++ b/telegram.js
@@ -7,7 +7,7 @@ var TelegramBot = require('node-telegram-bot-api');
 
 // Modules propres
 var { getChanByChatId, createChan, deleteChanByChatId, modifyChan, addGroup, removeGroup, removeAllGroups, getGroups } = require('./connection-db');
-var { getBirthdays, searchGroups, getGroupById } = require('./requests');
+var { getBirthdays, searchGroups, getGroupById, getMe } = require('./requests');
 var { schedules, addSchedule, deleteSchedule } = require('./schedule');
 
 // Configurations
@@ -207,7 +207,7 @@ bot.onText(/\/schedule (.+)/, (msg, match) => {
 bot.onText(/\/unschedule/, msg => {
     const chatId = msg.chat.id;
     getChanByChatId(chatId).then(chan => {
-        if (!chan) return bot.sendMessage(chatId, 'Pas de compte enregistré, faites /start pour commencer');
+        if (!chan) return bot.sendMessage(chatId, 'Pas de compte enregistré, faites /start pour commencer.');
         if (chan.schedule == '') return bot.sendMessage(chatId, 'Pas de rappel défini...');
 
         deleteSchedule(chatId)
@@ -218,6 +218,49 @@ bot.onText(/\/unschedule/, msg => {
     })
 })
 
+// Renvoi les infos du chan
+bot.onText(/\/info/, msg => {
+    const chatId = msg.chat.id;
+    // il faut chercher le gars sur l'auth.viarezo.fr/me
+    getChanByChatId(chatId).then(chan => {
+        // gestion des cas où l'utilisateur n'est pas totalement connecté
+        if (!chan) return bot.sendMessage(chatId, 'Pas de compte enregistré, faites /start pour commencer.');
+        if (chan.username.length === 0 && chan.token.length === 0) return bot.sendMessage(chatId, 'Pas de demande de connexion faite, tapez /connect pour en envoyer une.');
+        if (chan.token.length === 0) return bot.sendMessage(chatId, `Une demande de connexion a été faite par @${chan.username} mais n'a toujours pas été acceptée.\n${config.website.protocol}://${config.website.hostname}/?state=${chan.state}`);
+        return Promise.all([
+            getMe(chan),
+            getGroups(chan.chatId),
+            getGroups(chan.chatId).then(groups => {
+                return Promise.all(groups.map(group => getGroupById(chan, group)))
+            })
+        ]).then(([me, groups, names]) => {
+            // affiche qui s'est connecté
+            var msg = `${me.firstName} ${me.lastName} (@${chan.username}) s'est connecté à l'OAuth.\n\n`;
+
+            // affiche le moment du rappel journalier
+            if (chan.schedule.length !== 0) {
+                msg += `Les rappels sont prévus tous les jours à ${chan.schedule}.\n`;
+                msg += 'Vous pouvez annuler ces rappels via /unschedule\n\n'
+            } else {
+                msg += `Vous n'avez pas de rappel journalier.\n`
+                msg += `Vous pouvez faire /schedule hh:mm pour en ajouter un.\n\n`
+            }
+
+            // affiche la liste des associations à souhait
+            if (groups.length === 0) {
+                msg += 'La liste des associations / groupes est vide.\n';
+                msg += 'Vous pouvez en chercher via /search sonNom, puis faire un /add sonID\n'
+            } else {
+                msg += `Les personnes faisant parti de ces associations / groupes auront leur anniversaire rapellé :\n`;
+                for (i = 0; i < groups.length; i++) {
+                    msg += ` • ${names[i]} (id : ${groups[i]})\n`
+                }
+            }
+            bot.sendMessage(chatId, msg);
+        })
+    })
+})
+
 // J'étais bien obligé (en vrai c'est pour tester)
 bot.onText(/\/nikmarine/, msg => {
     const chatId = msg.chat.id;
diff --git a/website.js b/website.js
index 178a4bdb0a565465f27c1bccc2cdca090bf74153..09b608f22006ab278545cbd7d3050304ea859a28 100644
--- a/website.js
+++ b/website.js
@@ -1,3 +1,5 @@
+// WEBSITE.JS : Gestion du site web
+
 // Modules extérieurs
 var app = require('express')();