ECM libre : retour d'expérience sur Alfresco et Nuxeo
Actuellement en stage, j'ai du trouver une solution pour regrouper la documentation de plusieurs pôles de R&D dans ma boite. Ces pôles R&D sont dispersés dans plusieurs villes et ne respectent pas une norme commune pour nommer, stocker et consulter leurs documents.
Les dépôts utilisés par l'entreprise sont des dossiers partagés Windows (CIFS), des dépôts CVS, des sites web en HTML statique, une instance d'Alfresco et des forums. Ils ne sont pas hébergés sur un unique serveur, mais dispersés au sein de chacun des pôles de l'entreprise qui alimente leurs dépôts à sa façon sans ce soucier du fonctionnement des autres pôles.
La solution à trouver devait permettre :
- d'indexer le contenu de tous ces dépôts
- d'y faire des recherches
- de gérer des droits d'accès sur les documents
- de versionner les documents à chaque mise à jour
- de récupérer régulièrement les nouvelles versions des documents sur les anciens dépôts qui ne sont pas destinés à mourir à court terme.
J'ai donc fait des recherches sur les différentes méthodes qui existaient et qui pouvaient répondre à mes besoins.
Il n'y a finalement pas des millions de manières de stocker et indexer des documents, surtout si on veut que leur contenu soit lui aussi indexé, et encore moins de solutions qui permettent de faire ça sans avoir à modifier en profondeur le mode de fonctionnent actuel.
Je vous donne quant même les différentes solutions que j'ai regardées mais pas retenu :
- Google Docs et Office 365. Ces logiciels ont plusieurs problèmes assez importants. Ils sont chers, nécessitent de transférer tous les documents, ne supportent pas tous les types de formats et surtout font perdre le contrôle des documents. On parle ici des documents de la R&D, il n'est pas question de permettre à n'importe qui d'accéder à ces informations.
- Google desktop. Mais il compliqué de mettre en place des recherches sur des ordinateurs distants tout en respectant des droits d'accès précis. Il est aussi impossible d'indexer les dépôts CVS.
- Sharepoint contient dans ses dernières versions des fonctionnalités de GED. Mais le logiciel est cher.
- eXo platform, Knowledge Tree, Maarch, Jahia... Ce sont tous des logiciels de GED libres. Ces logiciels n'ont pas été retenus, soit parce que des fonctionnalités importantes sont absentes, soit ils présentent des problèmes rédhibitoires (intégration avec la suite office, accès par CIFS, FTP, WEBDAV impossible, extensions hors de prix, suite complète trop importante et recouvrant des besoins inexistants). Ces logiciels sont tout de même intéressants. Je retiens surtout eXo platform qui est une suite d'outils qui peuvent former l'intranet d'une société.
Finalement, à l'issue de ces recherches, je me suis retrouvé avec Alfresco et Nuxeo. J'ai donc monté une VM pour chacun des logiciels et j'ai commencé à expérimenter. C'est la première fois que j'utilise des logiciel de GED et plus précisément d'ECM dans ce cas. J'ai découvert les possibilités et les limites peu à peu, au fil de mes tests.
Alfresco est le produit d'anciens de documentum (gros logiciel d'ECM propriétaire et totalement hors de prix). Il est assez récent et écrit en Java. Deux versions sont proposées. Une Open Source qui sort régulièrement et une livrée avec un support (payante donc) et qui intègre rapidement les correctifs ou les évolutions. Je travaille moi avec la version communautaire Open Source.
Nuxeo est un produit plus ancien qui à été réécrit en 2007 en Java. Il est édité par une société française. Il a une communauté francophone plutôt active. Contrairement à Alfresco, il y a une unique version Open Source. Les produits vendus sont des logiciels pour personnaliser l'interface ou du support.
Concernant l'interface utilisateur, Nuxeo est clairement plus simple à prendre en main. L'interface fonctionne par onglet, est claire et bien organisée. Elle dispose aussi de fonctionnalités intéressantes comme le clic droit. Alfresco a deux interfaces. Une ancienne assez laide, lente, peu intuitive, difficile à personnaliser. Et une nouvelle qui est plus claire, qui rajoute de nombreuses fonctionnalités, mais n'est pas plus simple à prendre en main.
Les deux logiciels peuvent utiliser Lucene pour indexer les documents et y faire des recherches. Pas de différence sur cette fonctionnalité. Il semble tout de même plus facile de changer de moteur avec Nuxeo qu'avec Alfresco. Il semble que lucene soit vraiment très intégré dans Alfresco et qu'il est presque impossible de s'en défaire totalement.
Pour les communautés (important pour voir si un outil ne risque pas de disparaitre du jour au lendemain), Alfresco en a une plus importante mais essentiellement anglophone. La communauté francophone est très limitée. C'est plutôt l'inverse pour Nuxeo. Je pense que les deux logiciels sont promis à un bel avenir et qu'il n'y a pas de soucis à se faire de ce côté.
Jusque là, j'ai donc tendance à préférer Nuxeo. Surtout du fait à son interface.
Mais Alfresco fait la différence sur un point important : il est possible d'accéder aux documents de beaucoup plus de façons. Alfresco supporte le CIFS, le webdav (avec les fonctionnalités de versionning, blocage des documents pour ne pas avoir deux éditions simultanées), le CMIS et le FTP. Nuxeo ne supporte que le CMIS et le webdav.
Je dois pouvoir importer et récupérer facilement des documents sur le logiciel pour les synchronisés avec les dépôts documentaires. La disponibilité du CIFS est donc un gros plus (surtout sur Windows). J'ai donc choisi d'utiliser alfresco et j'en suis plutôt content. Il y a tout de même un certain nombre de problèmes :
- Le dossier dans lequel vous faites une recherche n'est pas indiqué dans l'interface de recherche. Si jamais vous êtes trop bas dans l’arborescence et que vous avez oublié votre localisation, vous êtes obligés de revenir dans l'entrepôt, remonter dans l'arborescence et relancer une recherche.
- Il est possible de suivre les nouveautés dans un dossier grâce à un flux RSS, mais ce n'est pas recursif. Il faut donc ajouter un grand nombre de flux pour suivre toute une arborescence.
- Le tableau de bord (interface d'accueil) n'est pas très clair. Il est utile surtout si vous utilisez les sites (équivalent des sites sharepoint avec blog, wiki, forums, calendriers...). Mais sinon il est plutôt lent à charger et les informations affichées ne sont pas forcément à jour (je pense au widget qui affiche les informations sur nos documents verrouillés par exemple).
- Le Webdav rajoute une nouvelle version du document à chaque fois qu'on enregistre. C'est donc viable sur de petite modifications. Mais si l'on souhaite éditer une grosse partie d'un document avec des sauvegardes intermédiaires, il faut forcément le télécharger depuis l'interface web plutôt que travailler avec le webdav.
- Le CIFS est horrible à mettre en place sur un serveur windows.
- L'export et l'import ne sont pas d'une grande simplicité.
Sinon le logiciel est vraiment intéressant. Il y a quelques fonctionnalitée très sympathiques :
- Suivi d'un document avec alertes mails
- Possibilité de créer des tags et des catégories pour chaque document. Il est donc possible de créer une arborescence secondaire avec les catégories en plus de l’arborescence physique affichée classiquement.
- La recherche est vraiment puissante et rapide, même sur un nombre important de documents (plus de 10go).
- Support du LDAP.
- Gestion des droits tout à fait suffisante.
- Workflows puissants et (relativement) faciles à mettre en place.
Bon nombre de ces points sont aussi valables avec nuxeo.
Finalement, ce que je regrette le plus avec ces deux logiciels, surtout avec alfresco, c'est que malgré le côté opensource, il est compliqué de se mettre dans le code. La doc est complète, les aides nombreuses, mais cela reste quelque chose de très complexe. Pour vraiment personnaliser le logiciel en profondeur, il faut vraiment y passer beaucoup de temps, au moins au début.
Par contre, si on commence à utiliser ce genre d'outil, il devient difficile de s'en passer. Il est tout de suite beaucoup plus facile d'avoir un suivi de la documentation, de retrouver les informations que l'on cherche et de modifier les workflow de validation qu'en faisant tout ça à la main.
Je reviendrai surement à nouveau sur Alfresco dans de prochains billets pour préciser certains points techniques précis.