❌

Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraĂźchir la page.

BlueMind sort sa version 5.0 : tous les détails techniques

BlueMind est une suite logicielle libre (AGPL v3) de messagerie d’entreprise, d’agendas et de travail collaboratif.

Poursuivant l’objectif global de permettre aux utilisateurs de concrĂ©tiser l’abandon des messageries Microsoft, Exchange et 365, cette nouvelle version apporte plusieurs nouveautĂ©s et des changements profonds d’architecture, pour supporter les diffĂ©rents clients et simplifier la transition des utilisateurs.

Sommaire

Nouveautés architecture

Le Remplacement de Cyrus-IMAP

Jusqu’à sa version 4 incluse, BlueMind intĂ©grait Cyrus-imap – une brique open source bien connue – comme serveur de stockage des mails.

BlueMind 5 a remplacé Cyrus Imap par un composant maison.

Il y a plusieurs raisons derriĂšre ce choix :

  1. La premiĂšre consistait Ă  se libĂ©rer de la dĂ©pendance Ă  un code non Ă©crit par BlueMind qui apportait des limitations techniques de plus en plus contraignantes sans possibilitĂ© rĂ©elle d’évolution.
  2. La deuxiĂšme raison majeure concernait le stockage objet, un point faible de Cyrus qui ne correspondait plus aux besoins d’évolution de BlueMind.
    Jusque-lĂ , beaucoup d’élĂ©ments de BlueMind Ă©taient construits de façon Ă  s’adapter ou contourner les limitations de Cyrus-imap. Le choix a donc Ă©tĂ© fait de s’en affranchir.

Les limitations de Cyrus IMAP

Cyrus accuse son Ăąge et engendre des limites de plus en plus fortes dans un contexte de messagerie moderne, en plus des contraintes inhĂ©rentes au protocole IMAP, loin d’ĂȘtre toujours efficient (performances & limites fonctionnelles). Les principaux inconvĂ©nients de Cyrus sont :

  • Consommation de ressources Ă©levĂ©e (RAM et CPU). Le modĂšle 1 connexion = 1 process a fait long feu.
  • Pas adaptĂ© au stockage objet, car conçu pour stockage disque local (les mails et toutes les mĂ©ta-donnĂ©es sont stockĂ©s directement sur le filesystem local, et les traitements sont adaptĂ©s Ă  ceci).
  • Les partages sont limitĂ©s au pĂ©rimĂštre d’un backend, donc Ă  ce que peut supporter un seul serveur. Pas de partage global. Les mĂ©canismes de contournement sont trĂšs archaĂŻques, limitĂ©s et peu fiables.
  • ModĂšle de mail figĂ© et limitĂ©, qui ne permet pas d’ajouter des informations (catĂ©gories enrichies, infos diverses de collaboration ou gĂ©rĂ©es par des plugins, etc.) ou de façon trĂšs limitĂ©e.

À noter : BlueMind 4 intĂšgre de nombreux contournements ou palliatifs afin de dĂ©passer ces limites.

La fin de la réplication

BlueMind propose le support natif d’Outlook, sans ajout d’extension ou modification d’Outlook (que ce soit au niveau des IHM, des fonctionnalitĂ©s ou du comportement), car c’est ce que veulent les utilisateurs : Outlook (tel qu’il fonctionne aujourd’hui chez nous avec Exchange). Cela se traduit par le support des protocoles/formats natifs d’Exchange/Outlook, soit MAPI cĂŽtĂ© serveur.

Cependant, MAPI fonctionne comme une base de donnĂ©es, par synchronisation, et les requĂȘtes qu’effectue Outlook ne sont absolument pas compatibles avec le fonctionnement/principes d’un serveur IMAP.

Pour supporter MAPI et rĂ©pondre de façon correcte et rapidement Ă  ses requĂȘtes, qui nĂ©cessitent des lectures/Ă©critures trĂšs rapides et trĂšs frĂ©quentes, il Ă©tait nĂ©cessaire de contourner le serveur IMAP Cyrus et donc de stocker les donnĂ©es des e-mails (plus exactement les mĂ©ta-donnĂ©es et la structure des e-mails) dans une base de donnĂ©es. Le corps des e-mails Ă©tant gardĂ© uniquement dans Cyrus.

C’est ce qui a Ă©tĂ© fait dans BlueMind 4, mais cela engendre une double gestion des donnĂ©es et donc la nĂ©cessitĂ© d’assurer la cohĂ©rence globale entre les deux stockages de donnĂ©es (Cyrus et la BD) avec la complexitĂ© inhĂ©rente Ă  ce type de systĂšme.

Assurer cette cohĂ©rence Ă©tait le rĂŽle de la rĂ©plication de BlueMind 4 qui utilisait la rĂ©plication native Cyrus. Cette opĂ©ration est coĂ»teuse et nĂ©cessite d’attendre que Cyrus ait effectuĂ© ses opĂ©rations avant de les rĂ©pliquer. Ce processus asynchrone passait par des workers de rĂ©plication qui devaient faire un retour aprĂšs chaque opĂ©ration afin de communiquer les modifications Ă  Outlook (et aux mobiles). Il pouvait occasionner un dĂ©lai entre les actions et donc gĂ©nĂ©rer une diffĂ©rence entre le client et le serveur. Une opĂ©ration contradictoire pouvait casser la synchronisation avec Outlook.

Nous arrivions donc aux limites du systÚme, contraignant les transitions vers une architecture cloud-ready, les grosses montées en charge, le support trÚs avancé du client Outlook et les interfaces intelligentes vers les outils de Digital Workplace.

Les gains

Avec la version 5 de BlueMind, Cyrus a donc tirĂ© sa rĂ©vĂ©rence. Les fonctionnalitĂ©s de stockage et gestion qui lui incombaient encore sont maintenant prises en charge directement par le cƓur de BlueMind, de façon plus moderne et sans les limitations prĂ©citĂ©es.

En v5, quand un e-mail arrive, lĂ  oĂč BlueMind stockait dans Cyrus puis attendait la notification de la rĂ©plication avant de stocker en base de donnĂ©es, BlueMind effectue simplement un insert en base de donnĂ©es, suivi d’une copie du mail dans le stockage sur le disque (ou objet), et a immĂ©diatement tous les Ă©lĂ©ments nĂ©cessaires Ă  la communication avec Outlook.

À noter : Au-delĂ  d’Outlook, cette nouvelle infrastructure prend en compte et amĂ©liore la communication avec les clients IMAP, mobiles, Thunderbird et Apple Mail.

Des gains importants sont constatés au niveau de :

  • La consommation de ressources, notamment la RAM.
  • La fin de la limitation de partages au niveau d’un backend.
  • Le format d’un e-mail, maintenant Ă©volutif, qui permet le dĂ©veloppement de fonctionnalitĂ©s comme les catĂ©gories.
  • L’implĂ©mentation possible et rĂ©alisĂ©e du stockage objet.

Le stockage objet

En version 5, avec la suppression de Cyrus, BlueMind a fait le choix de passer nativement sur un stockage objet pour les raisons suivantes :

  • CapacitĂ© Ă  traiter de gros volumes.
  • Avoir une architecture plus cloud-ready au niveau du stockage.
  • Permettre la corbeille Ă  double-fond (l’e-mail est stockĂ© sous forme d’un fichier sur le disque ou rĂ©seau, auquel est associĂ© une clĂ© - hash du mail - en BD. Lorsqu’un client demande un accĂšs au fichier, BlueMind sait trĂšs rapidement dire au client oĂč sont stockĂ©es les donnĂ©es et comment y accĂ©der).
  • Backup plus simple et direct.
  • Meilleure sĂ©curitĂ©. Par exemple, l’API S3 permet de rendre immuable un objet, une fois qu’il est Ă©crit il ne peut pas ĂȘtre modifiĂ© et donc, un ransomware par exemple, ne pourra jamais chiffrer le fichier.

L’ensemble de BlueMind a Ă©tĂ© modifiĂ© pour s’adapter Ă  la conception objet. En effet, il ne s’agit pas uniquement de changer les appels de lecture ou d’écriture des informations, mais d’adapter l’application (modĂ©lisation et traitements), du backend aux clients comme le webmail, aux paradigmes du stockage objet (latences sur la rĂ©cupĂ©ration des objets, gestion des listes d’objets ou mails via les mĂ©ta-donnĂ©es, etc.) sous peine d’obtenir une application aux performances dĂ©plorables.

BlueMind v5 est compatible S3 et Scality et permet de fonctionner avec un disque local en Ă©mulant nativement un stockage objet sur des disques.

Ainsi, les installations actuelles ou nouvelles de BlueMind n’ont pas à subir de modifications, le disque local suffit et le stockage objet est possible sur les partitions habituelles.

OpenID et le SSO

À partir de sa version 5, BlueMind prend en charge le protocole OpenID, notamment pour avoir un support SSO (Single-Sign On) et pouvoir s’inclure dans un systĂšme d’information proposant dĂ©jĂ  un service de SSO.

OpenID est mis en place par l’intermĂ©diaire de Keycloak.

Cela va permettre d’ajouter progressivement de nouvelles fonctionnalitĂ©s comme le MFA (authentification multi-facteurs).

Note : Le Keycloak intĂ©grĂ© Ă  BlueMind n’a pas vocation Ă  ĂȘtre la brique SSO centrale du SI client. Si un client veut mettre en place un SSO global pour son systĂšme d’information, il faut qu’il mette en place un systĂšme externe (un Keycloak par exemple). BlueMind a choisi de rester maĂźtre de sa brique Keycloak et de communiquer avec la brique SSO externe.

AuditLog

Afin d’amĂ©liorer la traçabilitĂ© mĂ©tier (voir le parcours d’un email dans le systĂšme), BlueMind 5 inclut un Auditlog, outil basĂ© sur ElasticSearch et RocksDB, qui permet de stocker de nombreuses informations pertinentes dans le cadre de l’administration d’un serveur BlueMind :

  • Toutes les opĂ©rations de chaque e-mail : les dĂ©placements, les suppressions, les diffĂ©rents flags (lu/non-lu, important, deleted
), les timestamps et les auteurs.
  • Les Ă©vĂ©nements et les sĂ©ries d’évĂ©nements, ou sur les ACL les grant et revoke accĂšs sur les partages de dossiers, de mailshares, sur les calendriers ou les carnets de contacts, etc.
  • Les connexions des utilisateurs, peu importe le moyen de connexion.

Auditlog est actuellement disponible uniquement en CLI. Une IHM sera proposée ultérieurement.

Nouveautés utilisateur

Le nouveau webmail est le webmail officiel

Le nouveau webmail, proposĂ© en test Ă  partir de BlueMind 4.6, s’est considĂ©rablement enrichi et est maintenant l’interface officielle. Il est aux normes de l’architecture logicielle de BlueMind (application JS qui fonctionne via API et synchronisation en utilisant le cache du navigateur).

L’ancien webmail, qui Ă©tait basĂ© sur Roundcube, peut encore ĂȘtre installĂ© (il ne l’est plus par dĂ©faut sur les nouvelles installations), mais il n’est plus recommandĂ©, notamment pour des raisons de sĂ©curitĂ©.

Parmi les nouveautés du webmail :

  • Meilleure intĂ©gration des carnets d’adresse.
  • Corbeille Ă  double fond.
  • DisponibilitĂ© d’un mode sombre et accessibilitĂ© encore augmentĂ©e.
  • Plus de capacitĂ©s de tris et filtres.
  • PrĂ©visualisation des messages attachĂ©s Ă  un mail.
  • Support du S/MIME.

Autres nouveautés

De nombreuses autres nouveautés sont apportées par la v5, comme :

  • Un plugin BlueMind VisioconfĂ©rence pour Outlook.
  • La gestion des dĂ©lĂ©gations « Ă  la Â» Microsoft.
  • Le transfert d’invitation de rĂ©union.
  • Les disponibilitĂ©s affichables sous forme d’agenda dans l’agenda.
  • Gestion de l’état AnnulĂ© d’une rĂ©union.
  • 


Le détail des nouveautés est disponible dans le changelog.

Le passage en version 5

La version 5 recommande maintenant 24 Go minimum.

L’outil de migration bm-migrator permet de passer d’Office365/Exchange/Zimbra/Kerio/Kopano/Dovecot, etc., Ă  BlueMind 5, en automatisant la rĂ©cupĂ©ration de presque toutes les donnĂ©es.

À noter : Une migration nĂ©cessite toujours un travail et des tests prĂ©paratoires.

Commentaires : voir le flux Atom ouvrir dans le navigateur

❌