Du libre, du code, des idées, du mélange d’ArraKISS…

De l’épice pour la pensée

Vous connaissez peut-être déjà l'excellent syncthing, un outil multiplateforme permettant de partager ses fichiers de façon décentralisée. C'est un peu comme un dropbox, mais sans avoir besoin des serveurs de dropbox.
Je l'utilise sans vergogne pour mes sauvegardes ainsi que pour partager des documents avec des collègues.
Puisque syncthign tourne en arrière-plan, il me manquait une façon d'être informé lorsqu'un personne me propose un nouveau partage, ou être averti d'un évènement quelconque. En cherchant des outils de notification, on trouve bien quelques petites choses mais pas à mon goût :

  • Syncthing-GTK, basé sur GTK comme son nom l'indique. Il ne m'a pas plu, car il re-crée une interface à syncthing alors que tout est disponible dans le navigateur. Et puis glade pour faire une interface... Bon, il marche très bien, mais je n'avais pas besoin de tant.
  • QSyncthingTray : oh, du Qt et du C++, au revoir. (bah oui, je serais bien incapable de résoudre un problème s'il y en a un un jour. Et installer Qt juste pour ça.... hum :/ )

Vous me voyez venir, j'ai sorti mes doigts de mon c.. (cartable) pour coder un tout petit truc tout simple en Tk : Syncthing-notifier.
Queles caractéristiques de ce dernier :

  • Un fichier python seul, les images sont intégrées à l'intérieur (base64). Ça facilite les mises à jour s'il y en a.
  • Notifications affichées sur le même système que Nobelium.
  • Alerte en cas de nouveau partage disponible.
  • Alerte en cas de mise à jour disponible.
  • Clic gauche sur l'icône du systray pour afficher syncthing dans le navigateur.
  • Clic droit pour afficher une fenêtre de dialogue afin de quitter l'outi.

Il reste peut-être des bugs, mais je laisse ça en ligne pour permettre à chacun de proposer ses améliorations. Normalement, ce n'est pas bien compliquer d'en ajouter si vous en avez besoin.

Allez, au travail maintenant.

Syncthing permet de syncroniser ses documents sur plusieurs machines. Il m'a convaincu par sa facilité d'utilisation, et ses nombreux clients. Ainsi, je peux disposer de mes documents sur windows (au travail), sur mes PC Linux (Android si vous avez un ordiphone) et sur OpenBSD. J'ai toujours sous la main ma solution ssh+rsync avec mon serveur, mais qui reste peu pratique sur les ordinateurs des collèges où je bosse.

Pour télécharger un client syncthing, il suffit de cliquer sur le lien voulu en page d'accueil : https://syncthing.net/ .

J'ai choisi le client pour OpenBSD 64 bits (of course).

wget https://github.com/syncthing/syncthing/releases/download/v0.14.0/syncthing-openbsd-amd64-v0.14.0.tar.gz
tar xvzf syncthing*.tar.gz
cd syncthing*
./syncthing

Et là, comme par magie, on voit apparaître une jolie page web dans notre navigateur préféré (firefox bien sûr). :

Si on clique sur "Ajouter un dossier", on a tout le nécessaire sous la main. C'est en français, c'est clair, chouette :)

Je vous laisse consulter le guidre (très) complet pour plus d'infos :
https://docs.syncthing.net/intro/getting-started.html .

Je vais voir dans le temps comment ça se comporte, si ce n'est pas trop long de récupérer les fichiers à chaque fois, et si ça vaudrait la peine de faire tourner une instance sur mon serveur. Peut-être l'avez-vous déjà testé davantage?