Je rencontre des problèmes de synchronisation de fichiers depuis de nombreuses années . Au début, Dropbox était un excellent service, mais au cours des dernières années, il a commencé à se développer. Je suis passé à iCloud, mais c'était encore pire. Enfin, il y a quelques jours, après que iCloud se soit à nouveau mystérieusement cassé , j'ai décidé qu'il était temps d'essayer quelque chose de différent.
J'ai essayé Syncthing , une alternative open source gratuite. Et tu sais quoi? C'est devenu libérateur. Raisonnabilité, simplicité, fiabilité, diverses fonctions. Il apporte de la joie à utiliser et vous fait croire que la décadence de la civilisation peut être un peu ralentie.
La synchronisation est tout ce que j'ai aimé des ordinateurs.
C'est incroyable à quel point les produits conçus pour les ordinateurs peuvent être excellents lorsque leurs fabricants n'ont pas à faire des conneries d'entreprise, à promouvoir une marque ou à la vendre aux utilisateurs. Pour être honnête, j'ai presque arrêté de croire que c'était encore possible. Mais c'est possible.
Installation
Vous téléchargez un seul binaire exécutable. Vous le lancez. Mais il n'y a pas de troisième étape.
Non sérieusement. C'est tellement simple que j'ai pensé qu'il me manquait quelque chose. Mais non. Après avoir exécuté ce binaire, vous aurez un nœud Syncthing entièrement fonctionnel. Il est prêt à être synchronisé avec n'importe quel autre nœud Syncthing, aucune configuration supplémentaire n'est requise. Il n'y a pas d'installateurs, pas de gestion des packages (mais il y a des packages si vous voulez), pas d'inscription, pas d'email, pas de login, pas de création de mot de passe, pas de 2FA, pas de consentement, pas de contrat d'utilisation. Téléchargez et exécutez. Heck, configurer autorun sur un serveur Linux était plus difficile que de simplement lancer l'application elle-même!
C'est encore plus facile avec Homebrew:
Pour vous donner une idée, voici toutes les étapes de Dropbox lors de l'installation sur un nouvel ordinateur:
Eeeeeeee ... ce n'est pas tout! Vous recevez également cette notification ennuyeuse, à laquelle vous devez réagir d'une manière ou d'une autre: ce
n'est qu'à ce stade que vous pouvez commencer à utiliser Dropbox. Heureusement, j'avais déjà un compte, sinon il y aurait 5 étapes supplémentaires. C'est ridicule!
(Ce sont toutes des fenêtres différentes, bien sûr. Gardez à l'esprit que cela ne se produit pas dans une zone prévisible. Et vous devez suivre chacune de ces étapes. La fenêtre Configurer Dropbox est toujours en haut, elle masque donc les autres étapes nécessaires , ce qui ajoute également du plaisir.)
Pas de restrictions artificielles
Puisque Synthing est gratuit et ne dépend pas du stockage côté serveur, ils n'ont pas besoin de vous imposer des restrictions étranges ou artificielles. Vous pouvez utiliser autant d'espace qu'il y a sur le disque. Vous pouvez synchroniser autant de dossiers que vous le souhaitez. Vous pouvez synchroniser n'importe quel dossier où qu'il se trouve. Vous pouvez vous synchroniser avec n'importe qui dans le monde. En fait, vous pouvez synchroniser n'importe quel dossier avec n'importe quel nombre de personnes. En aucun cas vous ne devriez penser, "mais cela fonctionnera-t-il comme je le souhaite?" Si votre matériel le permet, cela fonctionnera. C'est si simple.
Les dossiers sont l'exemple le plus frappant de la façon dont d'autres systèmes de stockage cloud gâchent constamment les choses les plus simples. La synchronisation peut synchroniser n'importe quel dossier sur votre disque, situé n'importe où. Vous pouvez synchroniser les dossiers existants. Vous pouvez synchroniser plusieurs dossiers différents. Les dossiers ne sont que des dossiers, rien de spécial à leur sujet. Ici, je synchronise les dossiers "système": ~ / Desktop et ~ Library / Fonts, ainsi que trois dossiers personnalisés. Pas de problème:
cette simplicité vous permet d'utiliser l'application comme un outil que vous pouvez appliquer, parfois de manière créative, à votre tâche, plutôt que comme un service que vous devez supporter. Par exemple, lors de la synchronisation de ~ / Library / Fonts, si j'installe une police sur un ordinateur, elle est automatiquement installée partout.
Comparez cela à Dropbox, qui vous oblige à tout mettre dans le dossier ~ / Dropbox. Si vous stockez vos projets dans ~ / work et que vous souhaitez les synchroniser, pas de chance. Vous ne pouvez pas non plus synchroniser plusieurs dossiers. Eh bien, techniquement, Dropbox peut bien sûr synchroniser n'importe quoi. Les fichiers sont des fichiers. Mais l'identité d'entreprise dicte qu'il DOIT y avoir un dossier Dropbox quelque part, même si cela ne convient pas à l'utilisateur.
Mais le pire contrevenant est iCloud. Comme Dropbox, il vous oblige également à mettre toutes vos données dans un dossier. Mais ce dossier s'appelle ~ / Library / Mobile Documents / com ~ apple ~ CloudDocs !!!
Si vous êtes un programmeur, vous ne pouvez pas l'utiliser. Premièrement, vous ne pouvez pas taper CECI dans votre esprit à chaque fois que vous en avez besoin
cd
... Deuxièmement, il y a des lacunes ici! Ce qui brise tout le cours des choses, croyez-le ou non, même en 2020. Je ne peux pas stocker de code Fira dans iCloud à cause de scripts python, à cause de Ruby, je ne peux pas bloguer Jekyll comme celui-ci, je ne peux pas exécuter Bazel, etc. Tout est inutile.
Et si vous pensez que le lien symbolique vers ~ / icloud aide, alors croyez-moi, ce n'est pas le cas.
Pas d'inscription
Comment connecter deux appareils s'il n'y a pas d'inscription, de compte, d'email, etc.? Simplement! Chaque appareil a un identifiant unique qui est généré automatiquement la première fois que le programme est lancé. Partagez cet identifiant avec un autre appareil, laissez-le partager son sifflement, et vous avez terminé.
Bonnes nouvelles? Ces identifiants ne sont même pas secrets. Ils ressemblent plus à des clés publiques, vous pouvez donc les échanger librement. Mais le schéma ne fonctionne que si les deux appareils connaissent les identifiants de l'autre.
Ce que j'aime dans ce circuit, c'est sa simplicité et son besoin. Ce sont des mathématiques pures. Mais c'est très pratique à utiliser. Il n'y a pas d'e-mails, de formulaires, de pages Web qui ne répondent pas, d'invitations, de jetons expirés, d'API cassées / obsolètes / surchargées, de gestion des mots de passe, rien à conserver ou à «gérer».
Mode puissance
Il existe un mode utilisateur expérimenté! Si vous ne vous souciez pas, il y a toujours une interface utilisateur et la plupart des choses que vous pouvez personnaliser. Mais si vous êtes un programmeur et avez besoin de plus, vous pouvez:
- Installez Synthing sur un serveur Linux Headless,
- Gérez-le en éditant la configuration XML,
- Gérer via l'API REST,
- Configurez les dossiers ignorés à l'aide d'expressions régulières.
Toutes les API et configurations sont bien documentées:
par exemple, c'est mon dossier .stignore avec lequel travailler:
configurez-le une fois et oubliez les classes générées, les dépendances injectées et les autres caches qui, s'ils sont redondants, restent synchronisés pour toujours.
En revanche, iCloud a une fonctionnalité pour exclure les fichiers * .nosync de la synchronisation, mais vous savez quoi? Habituellement, je n'ai pas de fichiers nommés * .nosync, voici le problème: qu'en est-
il de Dropbox? Eh bien ... J'ai encore des cauchemars à propos de cette interface utilisateur de Dropbox:
c'est drôle que les applications commerciales aient beaucoup de fonctionnalités, mais pas de mode d'alimentation. Vous pouvez faire plus de choses différentes, mais vous ne pouvez pas les personnaliser à votre guise.
Pas de vente incitative
Les développeurs d'applications commerciales ont intérêt à maintenir les utilisateurs limités dans leurs actions et à leur offrir en permanence des fonctionnalités supplémentaires. En conséquence, vous recevez des notifications, des fonctions, des pop-ups. Par exemple, dans cette capture d'écran après que je viens d'installer Dropbox sur un nouvel appareil:
De haut en bas:
- J'ai déjà un point rouge gênant dans la barre de menu,
- Lien vers un autre produit (Paper), même si cela n'a rien à voir avec la synchronisation des fichiers,
- Forte recommandation pour activer les notifications,
- Une notification indiquant que mon application de bureau est prête à être utilisée?!
- Mais je vois déjà les notifications de cette application de bureau!
- Dropbox annonce une sorte d'essai,
- Dropbox me vend plus d'espace (même si c'était il y a 2 ans et que j'ai plus de 50% d'espace libre),
- Grand bouton "Actualiser",
Dans l'onglet mystique "Pour vous":
On voit aussi:
- Articles vérifiés? Qu'est-ce que c'est, un cahier d'école? Si je le voulais vraiment, je pourrais baliser les fichiers dans le système d'exploitation, mais merci.
- Synchronisation du calendrier? Pourquoi est-ce que SYNCHRONIZE FILES aurait besoin d'accéder à mon calendrier?
Attendez, encore une chose:
plus de «fonctionnalités»:
- Synchronisation du bureau,
- Synchronisation des photos,
- Synchronisation des captures d'écran.
Tout cela est-il au format de fichier? Je ne comprends pas pourquoi elles devraient être des «fonctions spéciales» si vous avez déjà une application dont la tâche principale est de synchroniser les fichiers. Il le fait déjà. Pourquoi certains fichiers sont-ils plus spéciaux que d'autres?
La réponse est simple: la seule façon dont Dropbox peut survivre est de créer et de vendre plus de fonctionnalités. Avec lui, vous ne serez jamais calme.
iCloud est beaucoup plus jeune et n'a pas encore de fonctionnalités supplémentaires, mais ils sont toujours intéressés par la vente de plus de Mac et d'iPhones. Par conséquent, ils essaieront toujours de vous isoler du reste du monde. Attendez-vous à des restrictions étranges et à de gros inconvénients, tels que l'emplacement du dossier iCloud ou le déplacement du dossier du bureau lorsque vous activez / désactivez la synchronisation pour celui-ci.
Syncthing, en revanche, ne dépend pas de la création de fonctionnalités supplémentaires pour sa survie. Ils font une chose, mais ils le font bien. Notez que leur menu1 ressemble exactement à ce à quoi ressemblait Dropbox quand il était encore bon en 2012:
Pas de blocage
Une autre chose désagréable qu'iCloud et Dropbox font généralement est de vous intimider pour ne pas partir. Ils apparaissent chaque fois que vous déplacez plus d'un fichier en dehors du dossier iCloud:
Et voici les moyens de Dropbox:
il peut sembler qu'ils essaient d'expliquer quelque chose, mais ce n'est pas le cas. Ils ont peur que vous vous enfuyiez et essaient de vous effrayer. La tactique est simple: remettez en question chacune de vos actions, même les opérations insignifiantes comme le déplacement ou la suppression de fichiers, affichez d'énormes panneaux d'avertissement même pour des opérations en toute sécurité, une longue formulation déroutante ( «les documents stockés dans iCloud seront supprimés de Mac» ) pour que vous ne l'ayez jamais t savoir ce qui se passerait. C'est une sorte de merde louche.
D'un autre côté, Syncthing s'en fiche. Ils ne reçoivent pas d'argent de votre part, ils ne sont donc pas intéressés à créer un besoin ou à se rappeler constamment d'eux-mêmes. Si vous recherchez la tranquillité d'esprit, vous ne pourrez peut-être pas l'obtenir avec des offres commerciales.
Enfin
Syncthing m'a rappelé à quel point les ordinateurs peuvent être formidables s'ils ne sont pas fabriqués par des entreprises. C'est simple, prévisible, raisonnable, sans fioritures. Vous pouvez le personnaliser comme vous le souhaitez et il vous garde toujours le contrôle. C'est une fonction pure et c'est bon. C'est gratuit et open source, mais je suis beaucoup plus heureux d'y faire un don de 10 € par mois que, par exemple, Dropbox. Je serais beaucoup plus heureux si au moins la moitié des programmes sur mon Mac / iPhone étaient comme ça.