digicadre.jpg

Bidouillage de digiCadre déclinaison boite à mèmes

Date 23.11.2024
Résumé Lundi je suis allé à la permanence du hackerspace le Bib à Montpellier pour y adhérer. Et j'ai eu la plaisante surpise d'y croiser Roz qui y bidouillait un digiCadre pour l'installer au bib. Et j'ai décidé de m'en installer un au lab12
Billet Je m'y suis donc mis hier soir, après une séance de test d'images CLIC, mais tombant de sommeil j'ai battu en retraite sous la couette. J'ai continué ce matin et vous pouvez voir sur la photo en haut l'instance que j'ai installé au QG du lab12
. J'ai utilisé un Odroit XU4 que j'alimente avec une batterie :
image IMG_20241120_123513.jpg (1.1MB)


Si vous voulez vous déployer une instance de digiCadre, la documentation se trouve là : https://wiki.fuz.re/doku.php?id=projets:fuz:cadre_photo_participatif

Parmis les idées d'évolution du concept non encore implémentée il a celle d'interconnecter ou de fédérer les digiCadres de plusieurs lieux.
J'ai commencé a mettre en place un preuve de concept de cette idée en ajoutant syncthing à mon digicadre et à synchronizer un dossier d'image avec un autre serveur syncthing.

Pour installer syncthing sur le digicadre, rien de plus simple, il suffit de lancer dietpi-software et de trouver syncthing avec le menu "Browse Software", dans la catégorie "Cloud & Backup"

Une fois installé il faut aller sur l'interface web qui se trouve sur le port 8384
et cliquer sur Settings en dessous de l'avertissement qui dit qu'il n'y a pas d'utilisateurice de configuré et que donc ça crain niveau sécurité. Puis il faut aller dans la section "GUI" pour corriger cette situation. Pour bien sécuriser mon digicadre j'ai créé le compte dietpi avec comme mot de passe dietpi, pour rester cohérent avec le reste du projet.
Un autre paramètre à modifier c'est le "Device Name" dans la section "General" qui est par défault "DietPi". C'est mieux de donner un nom distinct entre les digiCadres pour s'y retrouver dans l'interface de syncthing. J'ai nommé le mien "DigiCadre 12b"

J'ai ensuite également installé syncthing sur mon serveur lab12.org. Avec YunoHost, c'est très simple aussi.

J'ai ensuite copié l'identifiant syncthing de ce serveur pour aller l'ajouter comme "remote device" sur le syncthing du digicadre. En faisant ça j'ai coché l'option pour définir ce device comme étant un "introducer". Ce qui permet de voir apparaitre automatiquement les dossiers qu'il partage.
Ensuite, de retour sur le syncthing du serveur lab12.org, j'ai créé une paire de dossier partagés : un pour ma collection de photos de type fond d'écran et un pour des images de mèmes et je les ai partagés avec le digiCadre.
Re-bascule sur le syncthing du digiCadre, et j'ai accepté les deux partages que j'ai configuré pour être sotckés dans /mnt/photos et /mnt/memes
Il y a eu un petit soucis de droit d'accès au répertoires à ce moment là. Syncthing utilise le user dietpi pour accéder au système de fichiers.
J'avais déjà créé les dossier /etc/systemd/system/syncthing.service comme appartenant au compte filebrowser, pour qu'il soient accessible par filebrowser. Et les droits d'accès ne permettaient pas au user dietpi d'écrire dans ces dossiers.
J'ai corrigé ça avec les commandes suivantes :

chown -R filebrowser:dietpi /mnt/memes
chmod -R g+w /mnt/memes
chown -R filebrowser:dietpi /mnt/photos
chmod -R g+w /mnt/photos


J'ai donc maintenant ces deux dossiers synchronisés entre mon digiCadre, qui n'est pas accessible depuis internet et ne sera pas tout le temps allumé, et mon serveur lab12.org, qui lui est accessible depuis internet, est allumé en permanence et peut donc servir d'intermédiaire pour synchronizer d'autres digiCadres.

image digicadresyncthing_20241120_122034.png (0.5MB)

Il ne reste plus qu'a trouver un autre digiCadre qui voudrait tester cette synchronisation ;-)