Forum général.cherche-logiciel Syncronisation bi-directionnel

Posté par (page perso) .
Tags : aucun
3
9
nov.
2010
Bonjours.

Je recherche un logiciel de synchronisation bidirectionnel pour 2 à 4 postes de travail sous Gnu/Linux (fedora pour être précis).
Je m'explique. Je mets en place une structure informatique pour une association qui voudrais avoir 2 ordinateurs (4 dans le futur) avec les mêmes documents présents sur les différents postes. Une solution à base de NFS ne fonctionne pas car les ordinateurs doivent pouvoir fonctionner sans connexion réseau (internet ou local) mais pouvoir être synchronisés.
De plus je n'ai pas de connexion avec une ip fixe à disposition donc la synchronisation via internet (si elle possible) est plus compliquée.

La synchronisation doit être automatique (si les autres postes sont connectés) et doit pouvoir se faire depuis n'importe quel poste (qui sont des ordinateurs portables donc pas toujours au bureau). On m'a parler d'unison, mais je ne suis pas vraiment convaincu.

Sinon je voudrais aussi savoir si il est possible de faire une connexion openssh (je pense que la synchronisation via internet est plus sur ainsi) avec des ordinateur ayant une ip privée (derrière le routeur de notre FAI qui n'attribue pas d'IP fixe) et un autre ordinateur sûrement aussi avec une ip privée chez un FAI inconnu d'avance (quand une des personne est en déplacement ou en voyage) et si c'est possible sans trop de magouilles.

Merci d'avance !
  • # Dropbox ?

    Posté par (page perso) . Évalué à 2.


    Dropbox allows you to sync your files online and across your computers automatically.

    2GB of online storage for free, with up to 100GB available to paying customers.
    Sync files of any size or type.
    Sync Windows, Mac, and Linux computers.
    Automatically syncs when new files or
    changes are detected.
    • [^] # Re: Dropbox ?

      Posté par (page perso) . Évalué à 2.

      Il y a aussi SpiderOak qui marche bien et qui permet la synchronisation par dossier. Pour les conditions, a peu près le même topo que pour DropBox.
      • [^] # Re: Dropbox ?

        Posté par (page perso) . Évalué à 0.

        En fait il ne s'agit pas du tout de ça.
        La synchronisation doit ce faire en temps réel avec une gestion de la concurrence d'accès.
        De plus il faut que ce soit rapide sur le réseau local (quand les ordinateurs travail dans le même bureau).
        Donc une solution qui passe par un serveur extérieur à l'infrastructure informatique n'est pas envisageable pour des raisons techniques mais aussi du fait que les données sont plus ou moin confidentiels...

        Si tu ne sais pas demande, si tu sais partage !

        • [^] # Re: Dropbox ?

          Posté par (page perso) . Évalué à 3.

          Tu veux le NFS qui marche aussi lorsque tu n'es pas connecté... si tu trouves, je suis preneur. A ma connaissance, il n'y a pas de solution miracle à ta demande.

          Faut peut être regarder du coté de codafs...
          • [^] # Re: Dropbox ?

            Posté par (page perso) . Évalué à 1.

            En fait les données sont sur les disques de tous les ordinateurs.
            Ce que je recherche c'est un logiciel qui fasse une synchronisation lors du changement d'un fichier et ce de façon automatique.

            Si tu ne sais pas demande, si tu sais partage !

        • [^] # Re: Dropbox ?

          Posté par . Évalué à 6.

          Soit tu cherches à rester synchro tout le temps, et dans ce cas:
          - les machines ne seront pas utilisables sans Internet
          - ça risque d'être très lent si un utilisateur ajoute un gros fichier alors qu'il est derrière une ligne ADSL,
          - même au niveau serveur, tu peux avoir des problèmes: tu dis ne pas avoir d'IP fixe, je suppose que c'est pas une super connexion de pro mais un accès ADSL de base? Il ne va pas tenir le débit montant pour synchroniser tout ce monde. Sans compter le blocage chaque fois que l'IP se renouvelle.

          Soit tu laisses les gens modifier et tu sychronises quand ils se connectent, et là tu devras gérer le cas où un même fichier a été modifié ici, supprimé là, renommé ailleurs et déplacé là-bas, et où il faut se poser la question "On prend la version de qui?"

          THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.

  • # contradictions inside

    Posté par . Évalué à 2.

    Une solution à base de NFS ne fonctionne pas car les ordinateurs doivent pouvoir fonctionner sans connexion réseau (internet ou local) mais pouvoir être synchronisés.[...]

    La synchronisation doit être automatique (si les autres postes sont connectés)[...]


    comment tu veux que la synchronisation se fasse si les machines ne sont pas connecté ?

    sinon si tes machines sont ponctuellement connectés, tu as là solution de rsync


    mais quelque soit la solution que tu envisages, il te faut un "serveur" quelque part pour etre le "point central"

    en effet comment tu sycnhronise la machine A, s'il n'y a personne d'autre à l'asso ?
    comment B recupere les fichiers que A vient de modifier là à l'instant pendant qu'on parle ?

    sinon tu as pensé à une solution "sur internet"
    comme une gestion dematerialisée, une suite bureautique sur le net ?

    car finalement pour se synchroniser il faudra bien que la machine se connecte à un moment donné
    • [^] # Re: contradictions inside

      Posté par (page perso) . Évalué à 1.

      Bon, ben je vais voir pour un serveur de fichier, je sens que ça va être casse tête...

      En tout cas merci !

      Si tu ne sais pas demande, si tu sais partage !

      • [^] # Re: contradictions inside

        Posté par (page perso) . Évalué à 3.

        Regarde pour un hébergement simple - qui te donnera une adresse IP fixe et une connectivité assurée (hébergeur pas trop cher... abonnement Free...) - et la mise en place d'un VPN entre le serveur hébergé et les portables qui se balladent et n'accèdent au net qu'à l'occasion.

        Après... du unison et un enrobage pour le déclencher lorsque les machines sont connectées... et des prières pour ne pas avoir de conflits avec des fichiers modifiés par plusieurs personnes au même moment (là, c'est peut-être des règles à mettre en place entre les utilisateurs)...

        Ou qq chose à base de rsync...

        Ou sinon, voir s'il y a eu des évolutions du côté des file-system CODA & Co (voir s'ils répondraient à tes besoins).

        En tout cas, si tu mets ce genre de truc en place et que ça marche bien, ça vaut le coup que tu le documentes et en fasses une dépêche de 1ère page sur Linuxfr.

        A+

        Python 3 - Apprendre à programmer en Python avec PyZo et Jupyter Notebook → https://www.dunod.com/sciences-techniques/python-3

  • # Système de fichiers distribué

    Posté par (page perso) . Évalué à 4.

    Si j'ai bien compris, tu cherche en fait un système de fichiers distribué qui fonctionne avec des nœuds étant connecté par intermittence. Bonne nouvelle ça existe, par contre il va te falloir chercher sur internet parce que je n'arrive pas à retrouver le nom.
  • # Ca va etre fun.

    Posté par . Évalué à 3.

    Va falloir expliquer à tes utilisateurs comment faire des merges, car forcement 2 personnes modifieront le même fichier en même temps.
    Good luck ;)
    • [^] # Re: Ca va etre fun.

      Posté par . Évalué à 2.

      Bonne idée, un serveur SVN avec une propertie svn:needs-lock sur tous les fichiers pour avoir un lock pessimiste.
      http://svn.haxx.se/users/archive-2006-04/0411.shtml
      C'est le seul et unique avantage des outils de gestion de version centralisés sur les DVCS.

      Sinon, avec Alfresco qui en tant que CMS est quand même plus adapté, on peut utiliser des verrous pour les documents aussi.
      Je ne sais pas si on peut dumper la base sous forme d'arbo par contre.
      • [^] # Re: Ca va etre fun.

        Posté par . Évalué à 3.

        Les systêmes de versioning sur des documents non-text (word, oo, ...) c'est pas une bonne idée.
        • [^] # Re: Ca va etre fun.

          Posté par . Évalué à 2.

          Bien sûr que si, du moment que le lock pessimiste est supporté et qu'il y a moyen d'associer des types de fichiers à ces documents.
          Certains outils (que je ne citerai pas pour ne vexer personne ici) permettent même d'associer des IHMs de merge adaptés et différents en fonction des types de fichiers.

          Mais là, avec SVN, on peut se limiter à bloquer les accès concurrents.
          Par contre exit Hg, Git, Monotone, Darcs & Co
          Gnu Bazaar permet d'avoir des branches partagées et devrait donc pouvoir supporter ce schéma (à vérifier)
          • [^] # Re: Ca va etre fun.

            Posté par . Évalué à 2.

            Madame michu qui vient à l'assoc, synchronise, modifie les fichiers, revient à l'assoc et commit, quand elle voit un merge pas possible c'est l'auteur du post qu'elle va appeller.
            • [^] # Re: Ca va etre fun.

              Posté par . Évalué à 2.

              Madame michu consulte son document à la maison.
              Elle peut pas le modifier car il est en lecture seule.
              Lorsqu'elle revient à l'assoce, elle réserve le fichier et commence à l'éditer.
              A la maison elle termine, tranquillou.
              Pendant ce temps là, Melle Dondon consulte le doc tranquillement.
              Si elle veut l'éditer, elle se connecte et s'aperçoit qu'elle peut pas car le fichier est verrouillé par Mme Michu.
              Elle lui laisse un petit mémo pour qu'elle la prévienne lorsqu'elle a terminé avec, ce qui fut fait le lendemain.

              On appelle ça le schéma de concurrence pessimiste, contre-productif à souhait pour Kevin le hacker et sa bande de poteaux mais tellement pratique pour Mme Michu.

              Ce workflow marche avec une outil de VCS centralisé ET avec Alfresco (pitit bouton "Check Out").
  • # lsyncd, csync, sparkle

    Posté par (page perso) . Évalué à 2.

    lsyncd [http://code.google.com/p/lsyncd/] permet de mirrorer un dossier. Il utilise inotify pour ne travailler que quand des fichiers sont modifiés, créés ou supprimés et rsync pour faire de la transmission efficace. Par contre, je crois qu'il est plutôt unidirectionnel.

    csync [http://www.csync.org/] est prévu pour faire comme ça de la synchronisation bi-directionnelle. Par contre le projet a l'air un peu mort.

    SparkleShare [http://www.sparkleshare.org/] est présenté comme une alternative libre à dropbox. Il utilise git et permet de sauvegarder sur github, gitorious ou un serveur git maison.

    Personnellement, j'utilise lsyncd pour synchroniser mes deux machines, mais ce n'est pas adapté pour deux personnes faisant des modifs en simultané sur les deux machines.

    Sinon, pour ssh, il va falloir une passerelle (un ordinateur accessible depuis le premier réseau privé ayant accès au second réseau privé) et utiliser ProxyCommand. Genre dans le .ssh/config:
    Host *.reseauprive2
      ProxyCommand "ssh -W $(basename %h .reseauprive2):22 passerelle

    Ensuite, ssh machine.reseauprive2 fait ce quon veut (sans trop de magouille).
  • # Décision finale...

    Posté par (page perso) . Évalué à 1.

    Ce que je pense faire c'est un serveur nfs sauvegardé sur un disque réseau ou usb.
    Comme ça si quelqu'un doit partir il prend le disque avec lui, travail dessus et ensuite à son retours il synchronise le tout sur le serveur (soit via svn ou sinon rsync...) et tout le monde est heureux !
    Par contre j'ai de la chance, les utilisateurs connaissent les bases de la ligne de commande donc il me sera facile de scripter le tout et ensuite à eux de lancer ça via bash.

    Merci pour vos suggestions !

    Si tu ne sais pas demande, si tu sais partage !

    • [^] # Re: Décision finale...

      Posté par . Évalué à 2.

      donc NFS en lecture seule ?

      car sinon que se passe-t-il si A se trouve à l'asso et modifie le fichier pendant que B travaille dessus chez lui avec le disque dur USB ?
  • # ifolder

    Posté par (page perso) . Évalué à 1.

    Il y a ifolder pour répondre à ton besoin ;)
  • # Tout bêtement....

    Posté par (page perso) . Évalué à 1.

    Je te propose un gestionnaire de version comme SVN, GIT, Mercurial et Co

    Après un peu de formation tes utilisateurs ne pourront plus s'en passer.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.