Dans l’atelier de l’éditeur de logiciel : nouveautés BlueMind et chantiers en cours – part.2

Deuxième et dernière partie de notre voyage dans l’atelier de fabrication de BlueMind. Tour d'horizon des chantiers récents et en cours.

Image de couverture : Photo by Kateryna Babaieva from Pexels

Deuxième (et dernière) partie de notre voyage dans l’atelier de fabrication de BlueMind (relire la partie 1). Le cœur de notre activité est l’amélioration et la consolidation permanente de la solution, ce qui représente plus de 70 % du travail quotidien d’un éditeur. Parmi les chantiers récents ou en cours, cette deuxième partie va présenter :

  1. Les améliorations de l’agenda
  2. Les avancées sur le nouveau webmail
  3. La maintenance et mise à jour du socle
  4. Les améliorations sur la supervision intégrée TICK
  5. L’ajout des partages dans la synchronisation mobile
  6. La gestion de l’expiration des mots de passe
  7. Les améliorations des performances

.

1. Perfectionnement du calendrier

Comme pour la messagerie, un calendrier partagé peut sembler assez simple de prime abord. En réalité c’est un sujet fonctionnel très complexe avec par exemple la gestion des récurrences (et des exceptions de récurrences), des partages et délégations, des réunions et workflow d’invitations, des synchronisations et ceci sur différents périphériques (web, mobiles, Outlook,..) chacun avec leurs modèles et contraintes non modifiables.

L’un des enjeux d’une application d’agenda est de proposer cette richesse fonctionnelle, compatible avec les différents clients, tout en rendant l’application simple à utiliser et compréhensible.

A cette fin nous avons mené récemment plusieurs chantiers d’enrichissement et de simplification :

  • L’ajout de la duplication d’événement, que ce soit un évènement simple, une réunion ou une série d’événements,
  • L’introduction de la notion de brouillon de rendez-vous permettant de préparer un rendez-vous ou réunion, de l’enregistrer sans envoyer les invitations, pour le compléter ou le terminer plus tard. Cela remplace également la possibilité d’accepter un rendez-vous sans envoyer de réponse, qui n’était pas claire pour les utilisateurs.
  • L’amélioration et simplification de la gestion des séries d’événements (événements récurrents), proposant pour toute opération (modification et suppression) sur un événement de la série, le choix de la portée : tous les événements de la série, cet événement et les suivants, cet événement uniquement.
  • L’optimisation de la synchronisation d’agendas externes avec Google Calendar
  • La réintroduction à partir de BlueMind 4.3 de la gestion des agendas partagés dans les mobiles. Comme le protocole ActiveSync n’a pas de notion de partages, nous faisons apparaître les agendas partagés comme s’ils appartenaient à l’utilisateur.

.

2. Avancées sur le nouveau webmail

Depuis bientôt deux ans nous travaillons sur la refonte de l’interface web de BlueMind, à commencer par un nouveau webmail. Ce chantier, porté par une équipe dédiée d’ergonomes, graphistes et développeurs, suit un nouveau process de développement centré sur l’expérience utilisateur (UX). Toutes les interfaces et fonctionnalités sont spécifiées et maquettées avant de passer à l’étape développement.

Ce nouveau webmail sera disponible en version beta au 4ème trimestre 2020 (il est déjà en production chez BlueMind depuis quelques mois) et comprendra, outres les fonctionnalités standards :

  • Nouveau design, nouvelle interface alliant simplicité et état de l’art,
  • Responsive, aussi étudié et adapté aux mobiles (avec comportements spécifiques),
  • Aux standards technologiques de BlueMind : Java, Javascript et API (fin du PHP dans BlueMind)
  • Gestion du mode déconnecté,
  • Fonctionnement via API webservices (et non plus en IMAP),
  • Gestion de la transition : activable par groupe d’utilisateurs, fonctionnement en parallèle avec le webmail actuel, bascule de l’un à l’autre directement par une option dans BlueMind,
  • Différents affichages, mode liste ou par conversation.

.

3. Évolutions techniques, maintenance et mise à jour du socle 

L’évolution de l’architecture technique et logicielle, son maintien à l’état de l’art, la résorption de la dette technique et le support de nouvelles versions de Linux ou de composants font partie des tâches permanentes et continues d’un éditeur, notamment pour une solution comme BlueMind qui comprend de très nombreux composants.

Parmi ces évolutions récentes :

  • Ajout du support des distributions : Debian 10, Ubuntu FOCAL (20.04 LTS), RedHat Entreprise Linux 8 et CentOS 8. Le support d’une nouvelle distribution est une tâche conséquente qui demande à :
    • s’assurer/déployer les bonnes versions des composants,
    • tester les composants, ainsi que le fonctionnement global,
    • s’adapter aux spécificités de l’OS, comme le système de démarrage,
    • intégrer l’ensemble dans la chaîne d’intégration continue de BlueMind pour faire partie des livrables et des tests à chaque construction de la solution,
    • prendre en compte la nouvelle distribution pour les mises à jour
  • PostgreSQL a été mis à jour de la version 11, vers la version 12. Cette mise à jour apporte diverses améliorations de performance, notamment sur le système de partitionnement désormais utilisé par BlueMind
  • Mise à jour netty 4.1.51 et Vert.x 3.9.2 (version qui comprend des patchs réalisés par BlueMind)
  • Ajout d’un composant permettant l’injection d’e-mail par le protocole SMTP.
  • Mise à jour du JDK en version 8u252
  • Mise à jour de la libraire ldap directory API en version 1.0.3.
  • Mise à jour NGinx en version 1.18.0 et utilisation de systemd pour le paquet bm-nginx.
  • Ajout du support du HTTP2.
  • Suppression du composant « bm-locator« . Ce composant n’est plus utilisé et est automatiquement supprimé.
  • L’external-url n’est désormais plus configurée via /etc/bm/bm.ini. La valeur est modifiée dans la base de données via la Console d’administration ou bm-cli sysconf
  • Le domaine par défaut n’est désormais plus configuré dans /etc/bm/bm.ini. La modification de valeur « domaine par défaut » est désormais prise en compte sans redémarrage.
  • Gestion automatique d’un domaine technique pour chaque domaine afin de faciliter les modifications de domaines dans le temps (changement de nom, etc.)
  • Gestion automatisée du serveur Edge : BlueMind peut désormais prendre en charge la configuration complète du serveur Edge. La configuration du serveur nginx est désormais réalisée automatiquement. Une installation existante n’est pas automatiquement gérée par BlueMind, afin de ne pas perturber son fonctionnement. La gestion d’un serveur edge par BlueMind peut être réalisée par l’ajout du tag « bm/nginx-edge » au serveur, en utilisant la console d’administration
  • Application web (Calendrier, Contacts, …) : Nous utilisons désormais les « Service Workers » afin de mettre en cache les fichiers des applications web. L’ancien système « Application Cache API » est déprécié par les navigateurs récents.

.

4. Améliorations sur la supervision intégrée TICK

BlueMind intègre une console de monitoring scrutant le fonctionnement interne de la solution afin d’aider au diagnostic et vérifier le bon comportement de l’application et des composants. Vous pouvez retrouver ici l’article complet dédié à la supervision, ici la conférence de notre Directeur Technique sur le sujet et, si vous manquez de temps, ici le résumé en 2 minutes !

Ce monitoring est amélioré régulièrement en fonction des retours terrain. Les améliorations récentes :

  • Les composants de monitoring TICK ont été mis à jour: – Telegraf 1.14 – Chronograf 1.8.4 – InfluxDB 1.8.0 – Kapacitor 1.5.4
  • Amélioration des métriques Mail Insight. Ajout du comptage des sessions EAS actives.
  • Ajout du monitoring mémoire de bm-sds-proxy
  • Ajout d’une métrique YSNP permettent de connaitre le temps de réponse pour la validation d’une authentification.
  • Ajout dun tableau de bord permettant de consulter l’état des caches internes utilisés par BlueMind.
  • Ajout d’un tableau de bord de l’état de fonctionnement du stockage objet (SDS)

.

5. Ajout des partages dans la synchronisation mobile

Dans le protocole Exchange Active Sync, il n’existe pas de notion de calendrier partagé, ou de boite de messagerie partagée. Cependant, le support avait été ajouté dans la version 3.5 de BlueMind, en faisant apparaitre les éléments partagés comme s’ils appartenaient à l’utilisateur. Cette fonctionnalité est désormais aussi disponible dans BlueMind 4.3. Nous avons ajouté la possibilité de s’abonner aux boites aux lettres partagées, de la même façon que pour les calendriers, ou les carnets d’adresses partagés.

.

6. Gestion de l’expiration des mots de passe

La gestion de l’expiration des mots de passe a été ajoutée dans BlueMind. Lorsque la fonctionnalité est activée, l’utilisateur se voit forcé de modifier son mot de passe suite à son expiration. Le mot de passe peut être expiré immédiatement par un administrateur afin de forcer un utilisateur à procéder à son remplacement. La documentation décrit les détails de configuration et d’utilisation.

.

7. Améliorations de performances

L’amélioration des performances est un sujet omniprésent chez BlueMind, afin de supporter des installations toujours plus importantes tout en préservant les fonctionnalités collaboratives d’une messagerie d’entreprise (à la différence des messageries d’opérateurs).

D’importantes optimisations ont été réalisées sur le stockage objet, ainsi que sur Cyrus IMAP pour les grosses installations.

Afin de pouvoir synchroniser les périphériques mobiles avec BlueMind, il est nécessaire d’enregistrer toutes modifications réalisées dans les carnets d’adresses, les agendas, etc. Ces informations de modification sont enregistrées en base de données, dans la table t_container_changeset. Sur les grosses installations, cette table pouvait grandir suffisamment pour que des problèmes de performances soient visibles pour l’utilisateur. BlueMind 4.3 partitionne cette table en plusieurs petits morceaux, afin de conserver de bonnes performances tout en ayant un volume de donnée important.

L’outil ligne de commande bm-cli a été optimisé afin de réduire le temps de lancement.

.

Conclusion

Voilà pour le tour d’horizon estival de l’atelier de production BlueMind ! Le métier d’éditeur de logiciel ne s’arrête jamais. L’évolution de l’architecture technique et logicielle, son maintien à l’état de l’art, l’optimisation des performances, la résorption de la dette technique, l’ajout de nouveaux outils et interfaces, l’enrichissement des outils existants et de l’écosystème, il y a toujours beaucoup de chantiers en cours.

Pour en discuter et évoquer vos projets en cours ou à venir, cliquez ici !

Bonne rentrée à tous !

Pierre Baudracco

Pierre Baudracco

Partagez cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

51 + = 57

A propos de BlueMind

Accessible depuis tous les clients mail, web et mobiles. BlueMind offre le meilleur support collaboratif disponible pour Thunderbird et est la seule solution du marché 100 % compatible Outlook sans connecteur.

Articles récents

Suivez-nous

Inscription à la newsletter

Un e-mail par mois pour rester au courant de toutes les nouveautés BlueMind