Alinto · 2022 - 2024 · reprise, support et formation

Étude de cas : la reprise de SOGo 5, groupware open source

SOGo est une messagerie collaborative open source utilisée par des entreprises et des communautés depuis plus de vingt ans. Sébastien Mizrahi, architecte logiciel à Lyon, a accompagné Alinto dans l'internalisation de la solution : reprise du code, support, évolutions et formation des équipes.

Le contexte

SOGo réunit webmail, agendas et carnets d'adresses, avec partage de ressources et gestion des droits. Il s'appuie sur des standards documentés (IMAP, CalDAV, CardDAV) et se connecte nativement à de nombreux clients : Microsoft Outlook, Apple Calendar, iPhone, Thunderbird et une foule d'appareils mobiles.

La version 5 est écrite en Objective-C sur le framework SOPE et rassemble plus de 2 100 étoiles sur GitHub. Alinto, qui édite SOGo, a souhaité internaliser la solution : en reprendre la maîtrise plutôt que d'en dépendre.

L'enjeu

Reprendre un produit open source installé depuis des années, c'est s'approprier une base de code dense et des choix historiques, tout en continuant à servir les clients sans interruption. Il fallait à la fois maintenir et faire évoluer la version 5, et transmettre cette maîtrise aux équipes.

Cette reprise a aussi préparé le terrain de la refonte complète en SOGo 6, en donnant une connaissance fine de l'existant et des standards à préserver.

Démarche

Reprendre, maintenir, transmettre

L'objectif n'était pas de tout réécrire, mais de rendre Alinto autonome sur sa propre solution.

  1. Prise en main du code

    Lecture et cartographie de la base Objective-C sur le framework SOPE, pour en reprendre la maîtrise en interne.

  2. Support et évolutions

    Correction d'anomalies, évolutions fonctionnelles et maintien de la compatibilité avec les clients existants.

  3. Formation des équipes

    Transfert de compétences aux équipes d'Alinto sur une base de code dense et ancienne.

  4. Communauté et anti-spam

    Animation de la communauté open source et développement d'outils anti-spam.

Technologies

La plateforme SOGo 5

Un serveur applicatif Objective-C qui parle les standards de la messagerie et des agendas.

LangageObjective-C
FrameworkSOPE (serveur applicatif)
MessagerieIMAP et SMTP (Dovecot, Postfix)
Agendas et contactsCalDAV, CardDAV
UtilisateursAnnuaire LDAP
LicenceOpen source, GNU GPL v3

Source : dépôt public Alinto/sogo et sogo.nu.

Ma contribution

  • Reprise de la base de code Objective-C (framework SOPE) et cartographie des modules.
  • Support et évolutions : correction d'anomalies et évolutions fonctionnelles.
  • Formation des équipes d'Alinto pour les rendre autonomes sur le produit.
  • Communauté et anti-spam : animation de la communauté open source et développement d'outils anti-spam.

Le code de SOGo est public, sous licence GPL v3 : il reste consultable sur le dépôt Alinto/sogo.

Ce que ce projet illustre

  • Internaliser une solution open source, c'est en maîtriser la base de code plutôt que d'en dépendre.
  • Reprendre un code existant volumineux sans tout réécrire, en préservant la continuité de service.
  • Transmettre : la formation des équipes pérennise la reprise.
  • Préparer l'avenir : cette maîtrise a ouvert la voie à la refonte SOGo 6.
Entrons en communication

Un projet exigeant ? Parlons architecture.

Depuis Chaponost, à côté de Lyon, sur place ou à distance. Réponse rapide avec une première analyse de votre besoin.