Dans beaucoup d'entreprises, les employés collaborent sur un serveur de fichiers (Alfresco, Nuxeo, SharePoint, ou autre).
Problème : de plus en plus mobiles, les employés dupliquent les fichiers sur leur ordinateur ou leur Dropbox, pour pouvoir les lire/modifier dans le métro ou l'avion.
Le programme open source CmisSync qui se base sur le protocole CMIS a pour but de résoudre ce problème de duplication.
CMIS est un standard permettant de manipuler les documents de n'importe quel serveur de GED (Gestion Électronique de Documents).
CMIS 1.0 est supporté par quelques dizaines de produits de gestion de contenu, et le brouillon de CMIS 1.1 est public depuis peu.
A l'instar de Dropbox, CmisSync, synchronise un dossier sur votre ordinateur avec un dossier du serveur de fichiers de l'entreprise. Ainsi, un commercial disposera toujours des listes de prix les plus récentes, même chez le client sans connexion Internet.
La version 0.4.3 vient de sortir, supportant Alfresco, Nuxeo, et tout autre serveur compatible CMIS.
Aller plus loin
- CmisSync (588 clics)
# j'ai un doute sur une formulation
Posté par NeoX . Évalué à 3.
comment il peut avoir la mise à jour s'il n'a pas internet ?
il a la derniere version à jour au moment de son depart du bureau,
mais si la secretaire met une nouvelle version sur le serveur,
il ne l'aura qu'à la prochaine connexion, non ?
[^] # Re: j'ai un doute sur une formulation
Posté par Larry Cow . Évalué à 2.
C'est ça, mais c'est mieux que de ne rien avoir du tout.
[^] # Re: j'ai un doute sur une formulation
Posté par NeoX . Évalué à 4.
oui, certes,
tiens d'ailleurs une question pour ceux qui developpent cet outil, ou qui l'utilisent,
comment se passse les mises à jours concurrentes ?
je pars avec une proposition de contrat que je retravaille dans l'avion, le taxi
mon chef fait pareil mais il est deja à l'etranger.
nous avons donc tous les deux une version modifiée.
on se connecte au serveur pour faire la mise à jour…
[^] # Re: j'ai un doute sur une formulation
Posté par Nicolas Raoul (site web personnel) . Évalué à 2.
En cas de conflit, il se passe comme sur Dropbox:
1) Utilisateur1 modifie hors-ligne => version1
2) Utilisateur2 modifie hors-ligne => version2
3) Utilisateur1 revient en ligne, donc le serveur a désrmais version1
4) Utilisateur2 revient en ligne, CmisSync détecte le conflit et:
* Renomme version2 en "fichier.txt.your-version"
* Mets version2 à la place
* Signale le conflit à l'utilisateur, lui conseillant de merger ses modifications.
[^] # Re: j'ai un doute sur une formulation
Posté par Nicolas Raoul (site web personnel) . Évalué à 5.
Tout à fait ! Dans ce cas-là ce ne serait pas exactement la plus récente, mais probablement la version de la veille.
CmisSync permet au moins d'éviter que tout le monde se balade avec des fichiers qui datent d'il y a 6 mois (ce qui est malheureusement la réalité dans beaucoup d'entreprises).
# ?
Posté par alphacc . Évalué à 1.
"Linux en cours de portage"
La doc redirige sur un repertoire github de SparkleShare ?
Dispo ou pas dispo ?
[^] # Re: ?
Posté par Nicolas Raoul (site web personnel) . Évalué à 3.
Pas dispo pour l'instant :'-(
L'année dernière j'avais commencé à porter vers Linux (j'utilise Ubuntu au bureau et à la maison) et j'ai committé ce que j'ai fait sur Github.
Maintenant je me concentre plus sur les tests unitaires.
Si quelqu'un pouvait continuer le port Linux ce serait génial m(_ _)m
CmisSync est forké de SparkleShare, qui lui-même tourne sur Linux, donc rien d'impossible en théorie.
J'avais butté sur un bug de Mono https://bugzilla.xamarin.com/show_bug.cgi?id=2907 mais je pense que le problème est résolu maintenant.
[^] # Code source
Posté par Nicolas Raoul (site web personnel) . Évalué à 1.
Le code pour Windows+Linux+Mac se trouve ici: https://github.com/nicolas-raoul/CmisSync
C'est du C#, donc ça tourne avec Mono sur Linux et Mac.
On essaie de rester plus ou moins mergeable avec SparkleShare, donc il y a beaucoup de "SparkleShare" dans le code.
La compilation se fait comme avec SparkleShare, par exemple pour Linux: https://github.com/nicolas-raoul/CmisSync/tree/master/SparkleShare/Linux
La partie vraiment spécifique CMIS se trouve ici: https://github.com/nicolas-raoul/CmisSync/tree/master/SparkleLib/Cmis
# Yay!
Posté par Larry Cow . Évalué à 3.
Tout cela à l'air plutôt pas mal, et j'espère arriver à le tester à brève échéance. J'en profite toutefois pour lancer un appel (je sais, forums, tout ça) : est-ce que quelqu'un ici est parvenu à combiner un Nuxeo avec un LemonLDAP-ng [1] tout en gardant les accès "hors navigateur" (CMIS, WebDAV, etc.) fonctionnels? Jusqu'ici, j'ai toujours une redirection vers le portail LemonLDAP quand j'accède aux URLs atom, alors même que Lemon est censé les ignorer (i.e. ne pas requérir de session préalable, et laisser le serveur d'appli faire son authentification HTTP classique).
Si quelqu'un a une piste (ou un début de), merci beaucoup. Ça me permettrait notamment de valider l'utilisation de CMISSync ;)
[1] cette partie-là, ça va.
# CmisSync avec Alfresco
Posté par ManuxFr (site web personnel) . Évalué à 0.
Bonjour,
Un intérêt par rapport à "Alfresco Desktop Sync" ?
Ce dernier n'est clairement pas sec pour de la production, mais il a l'avantage de s'intégrer plutôt bien avec Alfresco (heureusement diront certains :D)
Cordialement.
[^] # Re: CmisSync avec Alfresco
Posté par ManuxFr (site web personnel) . Évalué à 3.
Edit :
"Bien que synchroniser soit aussi possible avec Alfresco Desktop Sync, CmisSync a quelques avantages:
Synchronisez n'importe quel contenu Alfresco, pas seulement ce qui se trouve dans un site Alfresco Share
Basé sur CMIS, un protocole plus moderne et efficient que WebDAV
Releases fréquentes basées sur le feedback des utilisateurs
Open Source (volontaires bienvenus!)"
# Merci
Posté par bat13 . Évalué à 2.
Pour cette dépêche certes brève, mais qui permet de comprendre assez précisément ce que fait CmisSync. J'en ai entendu parler depuis quelque temps, mais sans vraiment comprendre ce que cela faisait (bon, j'ai pas beaucoup cherché non plus). Là, en quelques mots, c'est très clair !
# Différence avec alternatives
Posté par Guillaume Vauvert (site web personnel) . Évalué à 1.
Bonjour,
Pourriez-vous préciser les différences avec les alternatives, notamment sparkleshare, et ce qui vous a incité à forker ?
Si ce n'est que pour le support de CMIS (j'anticipe …), pourquoi ne pas avoir écrit un back-end pour sparkleshare ?
Merci
[^] # Re: Différence avec alternatives
Posté par Guillaume Vauvert (site web personnel) . Évalué à 0.
J'ai l'impression que sparkleshare essaie de résoudre les conflits tout seul: il m'a fait un merge sur un fichier texte.
[^] # Différence avec SparkleShare
Posté par Nicolas Raoul (site web personnel) . Évalué à 2.
Comme tu l'as anticipé, SparkleShare est compatible avec les serveurs Git, tandis que CmisSync est compatible avec les serveurs CMIS.
CmisSync est justement un backend SparkleShare :-)
Nous avons forké pour ajouter un écran de sélection du répertoire (qui n'existait pas dans SparkleShare), mais nous espèrons pouvoir re-fusionner avec SparkleShare un jour.
# Problème avec Synchro avec alfresco v3.4 fichier .sync à 0
Posté par gginovi . Évalué à 1.
Bonjour,
Suite à l'install de CmisSync j'ai pu synchroniser 1 sites alfresco en local sur un pc. RAS tout va bien.
J'ai fait la même opération sur 2 autres postes cela me synchronise en local les fichiers avec une extension .sync avec une taille de 0, De plus sur l'alfresco je me retrouve avec le fichier original (ex: toto.doc) + un fichier toto.doc.sync toujours à 0.
Quelqu'un aurait-il rencontrer ce problème?
Merci
[^] # Bug corrigé :-)
Posté par Nicolas Raoul (site web personnel) . Évalué à 2. Dernière modification le 04 mars 2013 à 07:40.
Effectivement, c'était un bug ! Corrigé dans la dernière alpha: http://code.google.com/p/cmissync/downloads
Merci pour le feedback !
# Mono
Posté par Stibb . Évalué à 3.
Mais pourquoi avoir utilisé Mono/.NET qui est une technologie sur le déclin et globalement en recule (et heureusement) sous Linux :(
Quel dommage le projet avait l'air tellement bien ! Pas moyen de le réécrire en python (comme dropbox) ou en C++ ou un quelqu'autre langage plus adapté?
[^] # Re: Mono
Posté par Nicolas Raoul (site web personnel) . Évalué à 2.
Excellente question !
Nous avons réutilisé l'UI du projet Open Source le plus proche qu'on a trouvé (SparkleShare) mais si il y a mieux nous sommes preneurs.
Malheureusement le code Python du client Dropbox n'est pas open source.
Je ne suis pas non plus un fan de Mono/.NET, donc tout portage sur Python serait accepté avec joie :-) Volontaire ?
Les exigences ne sont pas énormes: l'icone dans la status bar, le wizard d'ajout de répertoire, le démon, logs/exceptions redirigées dans un fichier texte, le tout sur Linux/MacOSX/Windows.
[^] # Re: Mono
Posté par Stibb . Évalué à 1.
python est un bon quandidat dans ce cas, du moment qu'on le package en compilé sous windows dans un bel exe bien propre, je trouve ça bien :)
oui c'est domage pour le client dropbox.
je peux peut etre regarder mais pour ce qui est protocol, faut aussi le réimplémenter :(
[^] # Re: Mono
Posté par Nicolas Raoul (site web personnel) . Évalué à 1.
Pour le protocole (CMIS), il y a une librairie Python qui s'appelle cmislib, et qui pourrait remplacer l'actuelle librairie .NET (DotCMIS).
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.