Thomas Martin I/O

Programming, Sysadmin, Open Source

Test du groupware Sogo

2012-08-07 SYSADMIN GROUPWARE SOGO


Il y a quelques jours, un ami m'a parlé de Sogo, une solution de Groupware agenda/contacts/mail que je ne connaissais absolument pas.

Etant curieux de savoir ce qui le démarque de la concurrence (les Zimbra, Zafara, OBM, et j'en passe), je me suis décidé à jeter un oeil, alors voici une mini-présentation.

Sogo est donc un groupware qui a le bon goût d'être totalement Open Source, GPL, et même gratuit.

Il est développé par Inverse, une société canadienne.

Il s'agit à priori d'un fork du vénérable Egroupware, qui se recentre sur les fonctionnalités d'agenda, carnet d'adresses, et webmail.

Une interface web est donc disponible, et celle-ci a le bon goût d'être rapide et réactive. Le design n'a rien à envier à la concurrence (vous connaissez un groupware open source beau d'ailleurs ?), et a l'avantage d'être claire.

La synchronisation avec les mobiles est assurée par Funambol. La synchronisation avec Outlook par OpenChange, une implémentation Open Source du protocole d'Exchange. Cela est censé fournir une communication native avec Outlook, ce qui dispense d'installer et maintenir un connecteur spécifique comme dans le cas de Zimbra. De plus, cela implique qu'il n'y a pas de coûts supplémentaires pour interagir avec les périphériques propriétaires, ce qui est souvent le business model de la concurrence (par le biais de l'achat de licences pour les connecteurs, ou d'une version entreprise qui gère ces fonctionnalités).

L'effort est également mis sur une intégration complète avec les outils de la suite Mozilla : le client mail Thunderbird et le calendrier Lightning, au travers des protocoles standards CalDAV, CardDAV, GroupDAV, et bien entendu IMAP et SMTP.

Enfin, de nombreuses langues sont disponibles pour l'interface, et les développeurs étant québecois, le français est particulièrement soigné.

A noter que je n'ai pas trouvé beaucoup de ressources sur le net à son sujet, c'est un projet qui semble encore relativement confidentiel, bien qu'étant déjà assez agé. Toutefois le développement semble actif, comme en témoigne la page BUZZ.

Une vue du calendrier :

Sogo calendrier

Du carnet d'adresses :

Sogo contacts

Et enfin du webmail :

Sogo webmail

Une démo en ligne est également disponible si vous souhaitez évaluer seulement le côté fonctionnel.

Côté technique, j'ai pu inspecter le côté serveur de la chose sans me prendre la tête. En effet, on peut télécharger sur le site de Sogo des images de machines virtuelles VMware ou Virtualbox prêtes à l'emploi (ils appellent ça le Zero Effort Groupware). Ce qui est au passage une excellente idée je trouve.

Voici un listing (tronqué) de la table des process :

 PID  COMMAND
1004  /usr/lib/postgresql/9.1/bin/postgres -D /var/lib/postgresql/9.1/main -c config_file=/etc/postgresql/9.1/main/postgresql.conf
1552   \_ postgres: funambol funambol 127.0.0.1(59808) idle
1566   \_ postgres: funambol funambol 127.0.0.1(59810) idle
1878   \_ postgres: funambol funambol 127.0.0.1(59937) idle
1043  /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u openldap -F /etc/ldap/slapd.d
1076  /usr/sbin/cyrmaster -d
1208   \_ notifyd
1483   \_ imapd -U 30
1083  /opt/Funambol/tools/jre-1.6.0/jre/bin/java -Xmx256M -Dfile.encoding=UTF-8 org.hsqldb.Server -database.0 /opt/Funambol/tools/hypersonic/data/fun
1088  /opt/Funambol/tools/jre-1.6.0/jre/bin/java -Dfile.encoding=UTF-8 -Dfunambol.home=/opt/Funambol -Djava.net.preferIPv4Stack=true -Xmx256M -Dcom.s
1109  /opt/Funambol/tools/jre-1.6.0/jre/bin/java -Xmx512M -Dfunambol.debug=false -Dfunambol.home=/opt/Funambol -Dfile.encoding=UTF-8 -Djava.library.p
1131  /usr/bin/gdomap -I /var/run/gdomap.pid -p
1146  /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1
1295  /usr/lib/postfix/master
1297   \_ pickup -l -t fifo -u -c
1298   \_ qmgr -l -t fifo -u
1331  /usr/sbin/saslauthd -a ldap -c -m /var/run/saslauthd -n 5
1332   \_ /usr/sbin/saslauthd -a ldap -c -m /var/run/saslauthd -n 5
1421  /usr/sbin/sogod -WOWorkersCount 1 -WOPidFile /var/run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log
1461   \_ /usr/sbin/sogod -WOWorkersCount 1 -WOPidFile /var/run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log
1463  /usr/sbin/apache2 -k start
1469   \_ /usr/sbin/apache2 -k start
1486  /usr/sbin/imapproxyd -f /etc/imapproxy.conf

On notera la présence de Cyrus (serveur IMAP), PostgreSQL (stockage des données), OpenLDAP (annuaire des comptes), des process Java pour Funambol, et un process spécifique "sogod" (codé en Objective-C d'après la page Technology du site).

A propos de LDAP, la structure de l'annuaire semble propre et standard (utilisation des objectClass de base fournis par OpenLDAP). Voici par exemple une entrée de l'annuaire correspond à un compte :

dn: uid=sogo2,ou=people,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
cn:: QmFsdGhhemFyIEPDqXNhcg==
sn:: Q8Opc2Fy
givenName: Balthazar
l: Constantinople
mail: sogo2@example.com
telephoneNumber: +123 (432) 324354
uid: sogo2
userPassword:: c29nbw==
structuralObjectClass: inetOrgPerson
entryUUID: b500f030-5638-1031-8012-0b58744593f7
creatorsName: cn=admin,dc=example,dc=com
createTimestamp: 20120629131848Z
entryCSN: 20120629131848.871696Z#000000#000#000000
modifiersName: cn=admin,dc=example,dc=com
modifyTimestamp: 20120629131848Z

Le serveur PostgreSQL contient quant à lui deux bases : sogo et funambol. La base sogo contient des tables qui semblent créées à la volée, et contiennent des entrées de type Vcard. Cela est le format de stockage de tous les objets gérés par Sogo.

Bref, cela semble montrer qu'il s'agit d'un logiciel qui joue vraiment le jeu des standards et de la transparence, et non pas d'une boîte noire dont le comportement sera difficile à analyser en cas de problème ! De plus, on peut espérer qu'il soit facile de l'intégrer à un SI existant, point sur lequel les auteurs du projet insiste.

En conclusion, ce projet semble très prometteur, il reste à espérer qu'il soit vraiment fiable et ergonomique pour une utilisation concrète, et que les fonctionnalités présentes soient suffisantes.

J'espère avoir un retour d'utilisation dans les prochaines semaines de la part d'un beta-testeur, je vous tiendrai au courant !