TL;DR : mettre le courriel de l'entreprise sur les téléphones, c'est l'étape où la souveraineté se perd sans que personne l'ait décidé. On a écrit une application mobile qui ne parle qu'à votre propre ERP : elle ne voit jamais votre mot de passe, ses notifications ne passent ni par Google ni par Firebase, et le courrier y arrive en quelques secondes au lieu de cinq minutes.
Dans cet article
- Le maillon qu'on regarde en dernier : le serveur se choisit, le poste se fournit, l'application de courriel du téléphone s'installe toute seule.
- Ce que Microsoft écrit sur son propre client mobile : sur un Exchange chez vous en authentification de base, le mot de passe chiffré est conservé dans le service.
- L'autre tuyau, celui de la notification : même avec un serveur parfaitement souverain, la notification passe par Google par défaut.
- Ce qu'on a mis dans le téléphone : Symbifox Comms ne parle qu'à votre Odoo, une seule boîte dont le téléphone est une fenêtre.
- Une connexion qui ne voit jamais votre mot de passe : la connexion se fait sur votre vraie page Odoo, sans aucune route par mot de passe dans l'application.
- Des notifications qui ne passent pas par Google : UnifiedPush laisse choisir le relais, qui peut être le vôtre.
- Le courrier arrive en quelques secondes, pas en cinq minutes : avec IDLE, le message apparaît en deux à dix-sept secondes au lieu de cinq minutes.
- Classer depuis le téléphone, pas seulement lire : un courriel devient une tâche, un billet ou une facture sans attendre le retour au bureau.
- Ce qu'on a borné, et pourquoi : cinquante destinataires, cent envois à l'heure, pour borner ce qu'un jeton volé peut faire avant qu'on le voie.
- Les mêmes trois questions, trois configurations : le tableau qui compare Outlook sur Microsoft 365, Outlook sur un Exchange local et Symbifox Comms.
- Le point Loi 25 : l'objet d'un courriel est un renseignement personnel, et le relais qui le transporte est quelque part.
- Les compromis : Android seulement, pas de boutique publique, pas encore de révocation par appareil.
Une PME diligente choisit son hébergement avec soin. Elle demande où vivent les données, elle lit le contrat, elle écarte deux fournisseurs parce que leurs serveurs sont ailleurs. Puis, un mardi matin entre deux rendez-vous, quelqu'un installe sur son téléphone l'application de courriel qu'il connaît déjà. Trois semaines plus tard, douze boîtes professionnelles transitent par un chemin que personne n'a examiné.
Ce n'est pas de la négligence. Le téléphone arrive toujours en dernier dans un projet, souvent après la mise en service, et il arrive par la porte de côté : un employé qui veut simplement répondre plus vite au client.
Le maillon qu'on regarde en dernier
Le serveur, l'entreprise le choisit. Le poste de travail, elle le fournit. L'application de courriel sur le téléphone, c'est presque toujours l'employé qui la choisit, seul, en trente secondes. C'est la seule pièce de la chaîne dont personne n'a le plan.
Trois questions se posent pourtant à ce moment-là, et elles ne se posent presque jamais. Où le courrier est-il gardé une fois qu'il quitte votre serveur? Qui voit passer la notification qui fait vibrer le téléphone? Et que se passe-t-il, exactement, le jour où la personne s'en va avec l'appareil dans sa poche?
Ce que Microsoft écrit sur son propre client mobile
Autant commencer par être juste : dans le cas le plus courant, celui d'une boîte Microsoft 365 avec l'authentification moderne, la documentation de Microsoft est rassurante et vérifiable. Elle dit qu'aucune donnée de boîte n'est mise en cache à l'extérieur de Microsoft 365, que la donnée reste dans la boîte, et qu'à aucun moment le service n'a accès au mot de passe de l'usager. Sur ce scénario, il n'y a pas de procès à faire.
Le portrait change quand le serveur de courriel est chez vous. Pour un Exchange sur place branché en authentification de base, Microsoft décrit noir sur blanc un tout autre chemin : le nom d'usager, le mot de passe et une clé propre à l'appareil partent du téléphone vers le service infonuagique d'Outlook, la clé chiffre le mot de passe, et le mot de passe chiffré est conservé dans le service. Ensuite, c'est ce service qui se connecte à votre serveur, à la place du téléphone, pour aller chercher et mettre en cache le contenu de la boîte.
Le passage le plus utile de cette page n'est pas technique, c'est l'avertissement que Microsoft adresse lui-même à ses clients : transmettre des mots de passe vers cette architecture pourrait vous empêcher de satisfaire aux exigences de PCI-DSS ou d'ISO/IEC 27001, et la synchronisation du courrier et des agendas soulève une question de conformité au RGPD.
La même page ouvre elle-même la porte de sortie : elle rappelle d'entrée de jeu qu'Outlook accepte l'authentification moderne hybride pour une boîte hébergée chez vous, ce qui retire le besoin de l'authentification de base, et avec lui tout ce chemin. Le problème n'est donc pas un secret bien gardé. C'est une décision d'architecture que quelqu'un doit prendre, et que presque personne ne prend, parce qu'elle se joue au moment où un employé installe une application sur son téléphone.
La leçon n'est pas « Microsoft est fautif ». C'est que l'endroit où vit votre serveur ne décide pas, à lui seul, du chemin que prend votre courrier. Le client mobile décide d'une bonne partie du trajet.
L'autre tuyau, celui de la notification
Admettons maintenant un serveur parfaitement souverain, chez vous, au Québec, et un client mobile qui va chercher le courrier directement, sans intermédiaire. Il reste un tuyau, celui qu'on oublie systématiquement : la notification.
Sur Android, la voie normale passe par Firebase Cloud Messaging, le service de Google, qui demande les services Google Play sur l'appareil. Le projet F-Droid le résume sans détour : dépendre des notifications fournies par Google est un problème de vie privée autant que d'indépendance, et la bibliothèque de Firebase, étant fermée, ne peut même pas être incluse dans une application libre.
Ce que ce tuyau transporte varie d'une application à l'autre, mais au minimum il transporte l'existence du message : qu'un courriel est arrivé, à quelle heure, pour qui. Souvent aussi l'expéditeur et l'objet. Sur une boîte professionnelle, l'objet d'un courriel en dit déjà beaucoup.
Ce qu'on a mis dans le téléphone
L'application s'appelle Symbifox Comms. Elle tourne sur Android à partir de la version 8 et elle ne parle qu'à une seule chose : votre instance Odoo. Au bas de l'écran, jusqu'à quatre onglets selon ce que porte l'instance : les messages texte, le courriel, un clavier téléphonique branché sur votre standard, et l'assistant. Le courriel est celui qui nous occupe ici. Les trois autres méritent chacun le sien.
Ce qu'on y fait est ce qu'on attend d'un client de courriel. Lire, répondre, répondre à tous, transférer, rédiger, avec des pièces jointes. Archiver un message ou le reporter à demain matin, avec quelques secondes pour annuler le geste si le doigt a glissé. Les gestes de balayage et les boutons rapides se configurent. Il y a un cache hors ligne, pour qu'un tunnel de métro ne vide pas l'écran. Et les couleurs de l'interface sont celles de l'instance à laquelle elle se connecte, pas celles d'un produit.
La différence de fond est ailleurs, et elle tient en une phrase : ce n'est pas un client de courriel branché sur un serveur de courriel, c'est votre ERP dans votre poche. La boîte affichée est celle du module de courriel d'Odoo, avec ses dossiers, ses catégories, ses règles et le lien vers la fiche du client. Le tri, le classement et le routage se font donc sur le serveur et non sur le téléphone. Les règles que vous avez écrites au bureau s'appliquent au courrier qui arrive pendant que vous êtes dans l'autobus, et un courriel traité dans l'autobus est traité pour tout le monde. Il n'y a pas deux boîtes qui essaient de se synchroniser : il y en a une, et le téléphone en est une fenêtre.

Une connexion qui ne voit jamais votre mot de passe
Au premier lancement, l'application demande l'adresse de votre instance, puis elle ouvre votre propre page de connexion Odoo dans le navigateur du téléphone. C'est un détail d'apparence anodine qui règle beaucoup de choses d'un coup : votre mot de passe, votre authentification unique et votre deuxième facteur s'appliquent tels quels, parce que c'est la vraie page de connexion. L'application n'a rien à réimplémenter, donc elle n'a rien à mal réimplémenter.
Ce qui revient de cette page n'est pas un mot de passe et ce n'est pas un jeton. C'est un code à usage unique, valide trois minutes, qui sert ensuite à obtenir le vrai jeton par une autre requête. Si vous utilisez déjà une authentification unique pour tout le reste, le téléphone en hérite sans réglage supplémentaire.
Il n'existe aucune route par mot de passe dans l'application. C'est délibéré, et la raison est simple : une porte qui accepte des mots de passe est une porte qu'on peut sonder, et il faut ensuite la barder de plafonds et de messages d'erreur volontairement flous pour qu'elle cesse de renseigner l'attaquant. Ne pas ouvrir cette porte donne la même protection sans rien à régler.
Reste le départ d'un employé, qui est le vrai test. Un jeton vit sur un téléphone et n'expire pas de lui-même. Celui de Symbifox Comms cesse de fonctionner dès que le compte Odoo de la personne est désactivé, y compris s'il est simplement rétrogradé en accès portail. Désactiver le compte est le seul geste que tout le monde pose vraiment à un départ, alors c'est celui-là qu'on a branché.
Des notifications qui ne passent pas par Google
Pour la notification, l'application utilise UnifiedPush. C'est un standard ouvert dont le principe tient en une phrase : c'est l'usager qui choisit le service par lequel ses notifications transitent, pas l'auteur de l'application. On installe un petit programme qu'on appelle un distributeur, il tient une seule connexion pour toutes les applications compatibles, et il relaie.
Le distributeur le plus répandu s'appelle ntfy. Il est libre, il fonctionne sans compte, et il peut être hébergé sur votre propre serveur si vous voulez que même le relais reste chez vous. Ni les services Google Play ni Firebase ne sont nécessaires. L'application fonctionne donc aussi sur un téléphone Android monté sans les services de Google.
Une précision s'impose ici, parce que c'est l'endroit où il serait facile d'en dire trop. La notification qu'on envoie n'est pas plus maigre que celle d'un autre client : elle porte le nom de l'expéditeur, l'objet, et le début du message, ces deux derniers coupés à cent quatre-vingts caractères. C'est ce qu'il faut pour décider si ça vaut la peine de sortir le téléphone de sa poche, et c'est exactement ce que transporte n'importe quelle autre application de courriel.
Ce qui change n'est pas le contenu, c'est le relais. Avec Firebase, le relais est Google et vous ne le choisissez pas. Ici, le relais est celui que vous avez installé, et il peut être le vôtre : ntfy tourne très bien sur votre propre serveur, auquel cas le nom de l'expéditeur et l'objet ne quittent jamais votre infrastructure. Si vous restez sur le service public de ntfy, ils y transitent. C'est un choix, il se fait en connaissance de cause, et il se change en changeant une adresse.
Une exception au passage : quand plus de cinq messages arrivent dans la même vague, une seule notification de synthèse part, et celle-là ne nomme personne. Elle dit combien il y en a, rien d'autre. Ça évite de faire sonner le téléphone cent fois pendant une réunion, et ça règle d'un coup le pire cas, celui du premier branchement qui descend toute la boîte.
Le courrier arrive en quelques secondes, pas en cinq minutes
Jusqu'à cet été, le module allait interroger les boîtes toutes les cinq minutes. Sur un poste de travail, ça se supporte. Sur un téléphone, cinq minutes d'attente pour un courriel de client, c'est une éternité. C'est même le reproche qu'on adresse le plus souvent aux clients de courriel mal réveillés.
La solution existe depuis 1997 et elle est décrite dans une norme publique : au lieu de redemander « avez-vous du nouveau » toutes les cinq minutes, on laisse une conversation ouverte avec le serveur de courriel et on lui demande de prévenir dès qu'il se passe quelque chose. Ça s'appelle IDLE, à peu près tous les serveurs de courriel le parlent, et personne ne s'en sert assez.
Un petit guetteur tient donc une de ces conversations ouvertes pour chaque boîte branchée, et prévient Odoo dès qu'une livraison est annoncée. Mesuré sur de vrais courriels : deux secondes et dix-sept secondes entre l'envoi et l'apparition du message, contre jusqu'à cinq minutes auparavant. Le guetteur ne lit aucun message, n'en déplace aucun, n'en supprime aucun et n'en transporte aucun. Il dit « il y a du nouveau ». C'est tout ce qu'il sait dire.
Un guetteur, ça tombe. Celui-là est un accélérateur et rien d'autre : s'il meurt, s'il se coince ou s'il perd le réseau, la passe régulière garde son horaire et le rattrapage rebalaie l'historique. On perd la latence, jamais un courriel. C'est aussi ce qui le rend traître à exploiter, parce que rien ne casse et donc rien ne se plaint : il faut le surveiller pour lui-même, sans quoi le temps réel peut être mort depuis trois semaines sans que personne le remarque.
Il y a un effet de bord qu'on n'avait pas prévu et qui s'est révélé le plus apprécié : la boîte restée ouverte sur le poste au bureau se met à jour toute seule. Un courriel archivé depuis le téléphone dans la salle d'attente disparaît de l'écran du bureau sans que personne ne rafraîchisse quoi que ce soit. Ça marche dans les deux sens : la notification qui dort encore sur le téléphone s'efface d'elle-même quand le courriel est traité depuis le poste.
Classer depuis le téléphone, pas seulement lire
Un client de courriel ordinaire vous laisse lire et répondre. C'est déjà bien, mais ça laisse tout le travail de classement pour le retour au bureau, c'est-à-dire pour jamais.
Ici, un courriel peut aller se ranger dans le dossier du client auquel il appartient, ou devenir une tâche, un billet de soutien, une piste, une facture fournisseur ou une dépense, depuis le téléphone, en gardant son fil de conversation et ses pièces jointes. La demande d'un client lue dans un stationnement devient une tâche assignée avant même que vous ayez démarré la voiture.
Le mode hors ligne mérite une phrase, parce que le cas dangereux n'est pas celui qu'on croit. Ce n'est pas « l'envoi a échoué » : c'est « l'envoi a réussi et la réponse s'est perdue ». Le téléphone ne peut pas distinguer les deux, alors il réessaie, et le client reçoit deux fois le même message. Sur du courrier client, ce n'est pas un défaut cosmétique. On a donc mis un identifiant fabriqué avant la première tentative et réutilisé à chaque essai : la base de données refuse le doublon, et le deuxième envoi ne fait rien du tout.

Ce qu'on a borné, et pourquoi
Un contrôle d'accès dit qui a le droit de faire quoi. Il ne dit jamais combien de fois. C'est une distinction abstraite jusqu'au jour où un jeton se retrouve dans les mains de quelqu'un d'autre, ou qu'un bogue dans l'application se met à boucler.
| La borne | Ce qu'elle vaut | Pourquoi elle existe |
|---|---|---|
| Destinataires par envoi | 50 | « Répondre à tous » sur un fil de soixante personnes est à un doigt de distance sur un téléphone, et ce geste-là ne se rappelle pas. |
| Lignes par action groupée | 100 | Archiver ne change pas qu'un affichage : le message bouge aussi sur le serveur de courriel. |
| Envois par heure et par appareil | 100 | Ça n'empêche pas le vol d'un jeton. Ça borne ce qui peut sortir avant que quelqu'un s'en aperçoive, et ça garde votre domaine hors des listes de blocage. |
| Taille d'une pièce jointe | 25 Mo | Au-delà, le téléphone n'est ni le bon tuyau ni le bon écran : le fichier reste sur le serveur, où il est déjà. |
Dans le même esprit, les images distantes d'un courriel sont bloquées tant que vous ne les demandez pas. Le pixel invisible que les infolettres glissent dans leurs images ne saura donc pas à quelle heure vous avez ouvert le message, ni depuis où.
Quatre questions à poser avant de mettre le courriel de l'entreprise sur des téléphones, quel que soit l'outil retenu :
- Le courrier est-il mis en cache ailleurs que sur notre serveur, et si oui, où?
- Par quel service passe la notification, et que transporte-t-elle?
- Quel geste, chez nous, coupe l'accès d'un appareil? Et l'a-t-on déjà essayé?
- Combien de courriels un seul appareil peut-il envoyer en une heure avant que quelque chose l'arrête?
Les mêmes trois questions, trois configurations
Les trois questions du début ne sont pas rhétoriques. Elles se répondent, et elles se répondent différemment selon ce qui a été installé sur le téléphone. Les deux colonnes du milieu sortent de la documentation de Microsoft, à l'exception de la ligne des notifications, qui décrit le comportement normal d'Android.
| La question | Outlook mobile sur Microsoft 365 | Outlook mobile sur un Exchange chez vous, authentification de base | Symbifox Comms sur votre Odoo |
|---|---|---|---|
| Où le courrier est-il gardé? | Dans la boîte, sans copie hors de Microsoft 365 | Mis en cache dans le service infonuagique d'Outlook | Sur votre serveur. Le téléphone n'en garde qu'une copie de lecture hors ligne |
| Qui voit le mot de passe? | Personne : l'authentification moderne rend un jeton | Le service, qui en conserve une version chiffrée | Personne : la connexion se fait sur votre page Odoo, et l'application n'a pas de route par mot de passe |
| Par où passe la notification? | Par la voie normale d'Android, celle de Google | Par la voie normale d'Android, celle de Google | Par le relais que vous avez choisi, le vôtre si vous le voulez |
| Quel geste coupe l'accès? | Chaque connexion est un appareil dans la console d'administration, et s'y gère | Désinstallation par l'usager ou blocage de l'application. Les données quittent le service en trois à sept jours | Désactivation du compte Odoo, effet immédiat |
Aucune de ces colonnes n'est disqualifiante en soi. Celle du milieu est la seule qui surprenne vraiment les gens à qui on la montre, et c'est justement la configuration d'une entreprise qui a fait l'effort de garder son serveur chez elle.
Le point Loi 25
Un courriel d'entreprise contient des renseignements personnels : un nom, une adresse, un numéro de téléphone, parfois un dossier médical ou un relevé bancaire en pièce jointe. Depuis septembre 2023, avant de communiquer un renseignement personnel à l'extérieur du Québec, une organisation doit procéder à une évaluation des facteurs relatifs à la vie privée.
Un client mobile qui met votre courrier en cache ailleurs, ou qui fait transiter la notification par un tiers, entre directement dans cette conversation. Ce n'est pas une raison de tout refuser : c'est une raison de savoir répondre à la question le jour où elle est posée, par un client, par un assureur ou par la Commission.
La notification est l'endroit où cette question se pose le plus discrètement, parce qu'elle ne ressemble pas à une communication : personne ne se dit qu'il exporte un renseignement personnel en faisant vibrer un téléphone. Le nom d'un expéditeur et l'objet d'un courriel en sont pourtant, et le relais qui les transporte est quelque part. Savoir où, et pouvoir le déplacer chez vous, c'est ce qui transforme une question embarrassante en réponse d'une ligne.
Les compromis
L'application est Android seulement, à partir de la version 8. Il n'y a pas de version iOS, et il n'y en a pas de prévue à court terme.
Elle ne se télécharge pas d'une boutique publique : on l'installe avec vous, sur les appareils de votre équipe. C'est une contrainte réelle, pas un argument de vente.
Les notifications demandent d'installer un distributeur, donc une deuxième application sur le téléphone. C'est la contrepartie du choix de ne pas dépendre de Google, et elle se paie une fois, à l'installation.
Ce distributeur pointe d'ailleurs par défaut vers le service public du projet ntfy. Tant qu'il n'est pas repointé vers un relais à vous, le nom de l'expéditeur et l'objet de vos courriels passent par un tiers, comme ailleurs. Déplacer le relais chez vous tient au changement d'une adresse, mais ça ne se fait pas tout seul.
Il n'y a pas encore d'écran qui liste les téléphones branchés et permet d'en révoquer un seul. Le geste qui coupe l'accès est la désactivation du compte, et il coupe tous les appareils de la personne d'un coup. Pour un départ, c'est exactement ce qu'on veut. Pour un téléphone perdu par quelqu'un qui reste dans l'équipe, c'est plus large que nécessaire.
Il faut aussi que l'accès IMAP soit ouvert sur vos boîtes, ce que certains comptes d'entreprise désactivent par politique interne. C'est la même condition que pour la boîte de réception de bureau, dont l'application est le prolongement et non un produit séparé.
Enfin, ce n'est pas un outil d'envoi en masse. Pour une infolettre, il faut un outil d'infolettre.
Chez Blue Fox
Cette application fait partie de Symbifox, l'ensemble qu'on déploie chez nos clients. On la met en place avec le module de courriel, on branche vos boîtes existantes sans changer de fournisseur, et on installe les téléphones de l'équipe en même temps.
Si vos courriels professionnels vivent aujourd'hui dans une application choisie par chaque employé, le premier exercice ne coûte rien : dressez la liste des applications de courriel installées sur les téléphones de l'équipe. La liste est presque toujours plus longue que prévu. Parlons de vos téléphones une fois que vous l'aurez sous les yeux.
Sources
- UnifiedPush : le standard ouvert de notifications, et le principe voulant que ce soit l'usager qui choisisse son distributeur
- F-Droid, « UnifiedPush: a decentralized, open-source push notification protocol » : pourquoi dépendre de Firebase pose un problème de vie privée et d'indépendance (page en anglais)
- ntfy : le distributeur UnifiedPush le plus répandu, libre et auto-hébergeable (page en anglais)
- Microsoft, « Mots de passe et sécurité dans Outlook pour iOS et Android » : le mot de passe chiffré conservé dans le service, et l'avertissement de Microsoft sur PCI-DSS, ISO/IEC 27001 et le RGPD
- Microsoft, « Outlook pour iOS et Android dans Exchange Online » : le cas Microsoft 365, où la donnée reste dans la boîte et le service ne voit pas le mot de passe
- RFC 2177 : la commande IDLE, publiée en juin 1997 (page en anglais)
- RFC 9051 : la norme IMAP, celle par laquelle le module se branche à vos boîtes (page en anglais)
- Commission d'accès à l'information, principaux changements de la Loi 25 : l'évaluation des facteurs relatifs à la vie privée avant toute communication hors Québec, en vigueur depuis septembre 2023