Passage de DecSync à Radicale

08/03/2020 Non Par cborne

Pour ceux qui auraient raté un épisode, j’utilise le logiciel de synchronisation de fichiers du nom de Syncthing. C’est tout simplement du p2p entre plusieurs machines, vous pouvez réaliser les partages de fichiers en réseau local ou même avec des machines distantes ce qui en fait un logiciel simple à configurer et particulièrement puissant. Mon utilisation est assez simple, je synchronise de façon automatique les fichiers de ma femme sur mon PC ce qui fait un backup en temps réel, je synchronise mes fichiers personnels sur mon téléphone ce qui me fait aussi mon backup en temps réel. J’ai rajouté une utilisation supplémentaire avec DecSync un outil qui s’appuie sur Syncthing et qui permet d’assurer la synchronisation des contacts et des calendriers. Le développeur a créé en effet des plugins pour certains logiciels comme Evolution, a forké davx5 de façon à ce que les événements et les contacts soient dans des fichiers qui sont synchronisés par Syncthing. C’est une solution que je viens d’utiliser pendant plusieurs semaines pour laquelle j’ai dû toutefois intervenir manuellement pour « débloquer ».

Dans le courant de la semaine, j’ai réalisé que j’avais un problème de synchronisation au niveau de mon calendrier, j’ai dû forcer, purger, recommencer à zéro pour réussir à retrouver la synchronisation ce qui est pénible. En fin de semaine, j’ai rajouté un nouveau contact téléphonique ce qui est particulièrement rare, la synchronisation vers Evolution ne s’est pas faite malgré les nombreuses manipulations que j’ai pu réaliser. DecSync « marchote » mais ne fonctionne pas parfaitement, le temps passé à débloquer régulièrement en fait donc une solution imparfaite et gonflante. La bonne technologie c’est celle qui se fait oublier.

Nous en revenons donc à notre cahier des charges et aux solutions qui existent :

  • Baikal. C’est une solution que j’ai utilisée pendant un temps à l’époque où j’avais tendance à monter des serveurs physiques à la maison. Cette époque est révolue. Une installation de Baikal qui n’est pas présent dans les dépôts Ubuntu laisserait supposer un serveur web ou une machine docker. Je passe mon tour.
  • Nextcloud. L’installation de Nextcloud est devenue simplifiée avec l’arrivée de snap puisque le paquet s’installe en une commande et ne demande pas de configuration particulière. Néanmoins la masse de services proposée ne correspond pas à mon besoin Caldav / Carddav. C’est trop.
  • Radicale qui est la solution retenue.

Attention, récit classique Bornien qui tente d’installer un truc sous Linux. La logique veut que vous suiviez l’installation proposée par le site, déjà c’est une galère parce qu’on se prend du 404 dès qu’on fait des recherches dans Google. Des pages ont changé mais n’ont pas été redirigées ce qui est particulièrement pénible. Oui je sais c’est mal de ma part quand on sait que j’ai tué des centaines d’articles, mais au passage à WordPress je me suis fendu d’une redirection. Du fait qu’il s’agisse d’un logiciel et pas d’un blog, ils auraient pu faire un effort.

On demande de réaliser une commande par pip :

$ python3 -m pip install --upgrade radicale
$ python3 -m radicale --config "" --storage-filesystem-folder=~/.var/lib/radicale/collections

ça ne marche pas pour la deuxième. On est là on attend, on fait du tricot mais la commande ne finit jamais. Il apparaît que Radicale est le bon choix de solution parce que Radicale se trouve dans les paquets Debian / Ubuntu, qui je vous rappelle sont les deux seules distributions qui méritent d’exister ou presque. Un petit Manjaro pour la route ? Non, peut-être plus tard.

Dans la documentation on peut lire :

Victory! Open http://localhost:5232/ in your browser! You can login with any username and password.

La documentation radicale

Sauf que si effectivement j’arrive bien à l’écran suivant

Contrairement à ce que dit la documentation, je ne peux pas rentrer n’importe quoi et me connecter. Je mets ça sur le compte du packaging dans Ubuntu / Debian. C’est à ce moment là où il faut sortir la ligne de commande, cette ligne de commande qu’on ne devrait jamais voir. Cachez cette ligne de commande que je ne saurais voir.

sudo nano /etc/radicale/config

Petite explication des modifications que j’ai réalisées et justifications. Dans le passage [auth] j’ai mis type = none alors qu’on était à type = remote_user. Cela signifie qu’il n’y a aucune protection et c’est effectivement mon choix. Rappelez-vous désormais de mon contexte. Je pars du principe que je ne travaille que sur deux postes. Mon ordinateur fixe, mon téléphone portable. Si je rajoute un contact, si je rajoute un événement dans mon calendrier sur mon téléphone c’est que je ne suis pas chez moi. Je préfère 100 fois l’interface clavier souris qui est plus confortable. Je n’ai donc pas besoin d’avoir une synchronisation automatique vers mon appareil fixe si bien que je peux paramétrer la synchronisation dans davx5 uniquement en Wifi. Lorsque je passe la porte de la maison, mon téléphone se connecte de façon automatique au Wifi, la synchronisation est immédiate.

La sécurité c’est quelque chose que je conçois, que je comprends, la paranoïa par contre est discutable et c’est à cause d’elle que je suis souvent bloqué dans certaines de mes actions. J’ai souvent écrit que l’auto-hébergement était suicidaire parce que mettre une machine face au net était une véritable folie si on n’avait pas les compétences pour l’administrer. Maintenant prenons le problème sous un autre sens. La machine n’est pas au net dans le sens conventionnel du terme, c’est-à-dire qu’il n’y a pas de serveur connecté au net, vous vous contentez de mettre votre machine en réseau local. Cela veut dire que pour accéder à mon agenda, à mes contacts qui ne sont pas des données sensibles, il faut être dans mon réseau Wifi, donc faire partie de la maison. Si l’on part de ce postulat, on peut se dire qu’on peut oser davantage et pourquoi pas se prendre à rêver d’installer un Nextcloud qui ne se synchroniserait qu’en Wifi.

La seconde modification que j’ai réalisée, c’est celle du hosts qui pointe sur 127.0.0.1. Je l’ai modifié par l’adresse ip de ma machine que j’ai fixée. Ensuite, j’ai modifié le fichier /etc/hosts de mon PC pour associer le 192.168.1.x au 127.0.1.1. De cette façon-là j’évite les problèmes plus ou moins de loopback avec mon PC. Une fois que ces modifications ont été réalisées, je me connecte donc à la passerelle et je crée mon carnet d’adresse et mon calendrier d’un simple clic de souris :

J’en ai donc profité pour virer Evolution qui est d’ailleurs un problème de fond. Vous avez une application calendrier pour Gnome très jolie, et que vous retrouvez d’ailleurs en haut si vous cliquez sur la barre d’outil où vous avez la date et l’heure. De la même manière vous avez une application contact. Ces deux applications dépendent directement d’Evolution, vous ne pouvez pas rajouter un calendrier sans passer par les comptes en ligne, mes calendriers et mes contacts ne sont pas en lien avec une adresse internet, si bien que je suis forcé de les ajouter à Evolution pour les voir apparaître. Il est évident que ce paragraphe ne veut absolument rien dire pour qui ne connaît pas le bureau Gnome. On retiendra simplement que le choix de Thunderbird par défaut pour Ubuntu n’est pas forcément judicieux tant les composants du bureau sont associés au client Evolution de Gnome. Que je changerai de distribution sous peu ne m’étonnerait d’ailleurs qu’à moitié, mais à l’approche de la semaine des conseils de classe, ce n’est pas la meilleure idée du monde. C’est pour moi un problème parce que c’est ma fait mais ce n’est bloquant en aucun cas.

La rapidité forcément pour la partie calendrier de Thunderbird est immédiate tout comme la synchronisation avec le téléphone qui se fait de façon immédiate avec davx5. Il suffira par contre de veiller à paramétrer l’application de la façon suivante :

La solution que je propose ici est pertinente pour quelqu’un qui a un usage de bon père de famille et qui n’est pas vraiment nomade. J’entends par là que quelqu’un qui ne travaille qu’avec son ordinateur portable, en déplacement permanent est en droit d’avoir une synchronisation automatique quel que soit l’endroit où il se trouve entre ses appareils. Par conséquent, il faudra passer par un serveur hébergé sur le web ou faire un bricolage supplémentaire.

Nous nous quittons bien sûr avec la chanson d’I Am rêvolution, en lien avec le jeu de mot à deux balles : Révolution à la seule condition qu’on garde en mémoire qu’elle constitue un rêve d’évolution. J’arrête pour ma part de rêver d’utiliser Evolution pour revenir à Thunderbird.

Finalement on ne se quitte pas tout de suite, je vous montre juste une distribution Linux qu’il est bon de couder, c’est Porteus kiosk variante thin client. J’avais déjà présenté Porteus Kiosk qui est une distribution basée sur Gentoo, oui ça existe encore, qui permet de transformer un ordinateur en simple navigateur internet. L’intérêt bien sûr c’est la réinitialisation du poste à chaque redémarrage et empêcher les gens qui passent de dégueulasser la configuration. La variante thin client c’est la même chose sauf qu’on a rajouté un client RDP. L’intérêt, on le voit tout de suite dans mon cadre d’utilisation, puisque c’est le principe de fonctionnement de mon établissement. Je vais peut-être ni vu ni connu migrer une salle pour voir à l’usage ce qui éviterait d’avoir des gamins qui effacent les icônes sur le bureau ou ce genre de choses, étant donné qu’ici on ne peut absolument rien faire. Il faudrait par contre que je regarde, parce que je ne l’ai pas étudié, s’il est possible de configurer le client de façon à ce qu’il se connecte directement au serveur de façon totalement transparente, c’est à dire que l’utilisateur ne verrait même pas le Linux qu’il y a en dessous.