Messagerie Test
Lire son courrier, ses tâches et ses rendez-vous, et agir vite, sans rien copier chez soi.
Bientôt disponible
Présentation
Le module Messagerie relie un utilisateur à ses propres boîtes : Microsoft 365, Outlook.com, Google Workspace et Gmail. Il affiche le courrier de la boîte de réception, les tâches et les rendez-vous, et permet de créer une tâche, de la terminer ou de créer un rendez-vous. Sans rien créer chez le fournisseur, on peut aussi consulter son courrier par IMAP (mot de passe d'application) et son agenda par lien ICS secret, en lecture seule.
Il ne synchronise rien : la messagerie reste chez le fournisseur, aucun message n'est copié dans l'application. Le courrier n'est jamais modifié, supprimé ni envoyé, et les rendez-vous créés n'ont pas d'invité : aucun message n'est envoyé à qui que ce soit.
Fonctions principales
- Courrier : les derniers messages de la boîte de réception, en aperçu texte
- Tâches : lire, créer et terminer une tâche dans la liste par défaut
- Agenda : lire et créer des rendez-vous dans l'agenda principal
- Plusieurs comptes par utilisateur, chacun réservé à son propriétaire
- Lecture seule par défaut ; l'écriture (tâches, agenda) est une case à cocher à la connexion
- Connexion par OAuth : le mot de passe de la boîte n'est jamais vu par l'application ; sinon IMAP avec un mot de passe d'application, ou lien ICS secret
Comptes pris en charge
- Microsoft 365 professionnel
- Microsoft Graph, profil avec l'identifiant d'annuaire du client
- Outlook.com, Hotmail
- Microsoft Graph, profil avec le tenant « consumers »
- Google Workspace et Gmail
- API Gmail, Tasks et Calendar
- Courrier par IMAP, lecture seule
- Gmail avec mot de passe d'application, ou hébergeur classique ; sans application à créer ; pas Microsoft
- Agenda par lien ICS, lecture seule
- Adresse secrète d'un calendrier Google ou Outlook ; sans application à créer
Captures d'écran
Prérequis techniques
- PHP >=8.1
- Extensions PHP : sodium, openssl, mbstring
- Réseau sortant HTTPS requis vers login.microsoftonline.com, graph.microsoft.com, accounts.google.com, oauth2.googleapis.com, gmail.googleapis.com, tasks.googleapis.com, www.googleapis.com ; en plus, selon les comptes ajoutés par les utilisateurs : le serveur IMAP saisi (port 993, TLS) et l'adresse https d'un calendrier ICS. Ces serveurs saisis sont refusés s'ils sont sur un réseau interne, sauf réglage « messagerie.reseau_prive » dans config.local.php. Aucun contenu de messagerie n'est stocké.
Données et confidentialité
Le module n'enregistre aucun contenu de message, de tâche ni de rendez-vous : ils sont lus chez le fournisseur au moment de l'affichage, et rien n'en est copié ni conservé.
Seuls sont conservés, par utilisateur, sur l'instance qui fait fonctionner le module (et non sur apps.rivere.fr, qui n'héberge aucune instance) : l'adresse de chaque boîte connectée et, selon le mode, un jeton de rafraîchissement OAuth, le mot de passe d'application IMAP (avec le serveur, le port et l'identifiant) ou l'adresse secrète du calendrier ICS, tous chiffrés avec la clé de l'application ; ainsi qu'un journal des connexions et des écritures (date, compte, action, identifiant distant), sans titre ni contenu. La déconnexion d'un compte supprime son secret ; il reste à le révoquer chez le fournisseur pour un mot de passe d'application ou une adresse de calendrier.
Les données obtenues auprès de Google, Microsoft ou d'un autre fournisseur ne sont ni vendues, ni transmises à des tiers, ni utilisées à d'autres fins que d'afficher à l'utilisateur ses propres informations et d'exécuter les actions qu'il demande.
L'utilisation par ce module des informations reçues des API Google respecte la politique relative aux données utilisateur des services d'API Google, y compris les exigences d'utilisation limitée.
Données traitées (déclaration du module)
- jeton de rafraîchissement OAuth et adresse de chaque boîte connectée par un utilisateur ; ou, pour un compte IMAP, son mot de passe d'application ; ou, pour un calendrier ICS, son adresse secrète (secrets chiffrés avec app_key) ; serveur, port et identifiant IMAP en clair
Finalité : lire le courrier, les tâches et les rendez-vous de l'utilisateur (et, pour OAuth seulement, créer des tâches et des rendez-vous à sa demande).
Conservation : jusqu'à la déconnexion du compte par l'utilisateur ou la suppression de son compte. - journal des connexions et des écritures (date, utilisateur, compte, action, identifiant distant ; ni titre ni contenu)
Finalité : traçabilité des actions faites chez un fournisseur au nom de l'utilisateur.
Conservation : illimitée tant que l'organisation existe (aucun contenu de message n'est stocké).
Limites connues
- Agenda principal et boîte de réception seulement, vingt messages, pas de pièce jointe ni de corps complet
- IMAP et ICS : lecture seule, pas de tâches ; aperçu des messages vide ; Microsoft 365 et Outlook.com n'acceptent plus l'IMAP par mot de passe
- Pas de widget d'accueil, pas de lien avec le module Projets
- Gmail personnel avec OAuth : en mode test chez Google, les connexions expirent au bout de 7 jours
État du module
Déjà fait
- Courrier, tâches et agenda pour Microsoft 365, Outlook.com et Google, testés contre des fournisseurs simulés (97 tests)
- Courrier par IMAP et agenda par lien ICS en lecture seule, testés contre un serveur factice et des calendriers de test (112 tests)
- Garde-fous de sécurité : droits délégués, PKCE, secrets chiffrés, serveurs internes refusés, aucun contenu stocké
Prévu
- À préciser : premier essai réel contre Microsoft et Google, suites éventuelles

