====== Cadre photo numérique participatif ====== Cringement appelé également //**« Le DigiCadre »**//. ===== 1. Idée de base ===== Visibiliser collectivement la convivialité et historiciser le travail de collectifs en images, principe de transmission & mémoire des collectifs au delà des personnes. Sur matériel léger (type raspberry pi/vieil ordi) avec un écran de récup’ + joli cadre bois, avec comme fonctionnalité essentielle de permettre à quiconque de mettre de nouvelles images depuis son ordi ou smartphone. Et aussi car la ringardise des cadres photos des années 2010 c tro cool. **En fait ce projet sert d'écran à diffuser des memes aux gens notamment au Fuz, mais aussi au [[https://lebib.org|Bib]], et c'est super ╰( ´◔ ω ◔ `)╯ ** ===== 2. Déclinaisons possibles ===== * digiCadre **déclinaison avec images lol type memes** //et autres photos sympas sans visages humains// * **voir tuto point 5. plus bas 👇️👇️👇️** * digiCadre **déclinaison photos d'humains avec système de floutage automatique des visages humains** * (voir point 6. FIXME) * digiCadre "interconnecté" ou "fédéré" entre les lieux ou il est présent peu importe la déclinaison * 🤘🎇 [[https://lab12.io/wiki/?BidouillageDeDigicadreDeclinaisonBoiteAMe|12b a commencé à tester en installant syncthing]] via ''dietpi-software'', à tester FIXME !!! * digiCadre "interactif" avec boutons ou il est possible de choisir quel "album" ou dossier d'images on veut afficher * FIXME ===== 3. Actuellement “en production” ===== ==== 3.1 Déclinaison d’images meme ==== Depuis décembre 2023 un cadre numérique est affiché et est fonctionnel dans le Fuz, il s'agit de la déclinaison images memes, lancé sur **un raspberry 1 B**. Une image toutes les 15 secondes en mode aléatoire de base, il suffit d'allumer le Fuz pour allumer le cadre photo. Pour mettre de nouvelles images dans le cadre meme, il faut être sur le réseau Wi-Fi de l’Aéri ou du Fuz et avec son navigateur aller sur avec comme identifiant ''%%dietpi%%'' et mode de passe pareil lolz. [[http://192.168.1.215:8084/files/memes/|http://192.168.1.215:8084/files/memes/]] 🥸 Il n'y a pas de flouteur/système d'anonymat automatisé, attention à ne pas mettre des visages sur l'appareil 🥷\\ 📽️ Le support gif/video n'est pas encore fonctionnel 🔥 ==== 3.2 Les digicadres en photos ==== **À gauche celui du fuz courant février 2024, à droite celui du bib courant novembre 2024** {{:projets:fuz:signal-2023-12-20-075949_012.jpeg?600|}} {{:projets:fuz:bib-digicadre.jpg?400|}} **[[https://lab12.io/wiki/?BidouillageDeDigicadreDeclinaisonBoiteAMe|Le Digicadre à lab12 !]]** {{:projets:fuz:lab12.jpg?600|}} ===== 4. Idées de fonctionnalités à développer ===== ==== 4.1 Fonctionnalités simples ==== * facilité d’upload simple sans identifiant via une page web * via URL & son QR-code * màj auto de l’affichage après upload * affichage instantané de l’image uploadée pour sentiment de satisfaction usagÈre ! * floutage de visages à l’upload * Mode panorama random de toutes les images peu importe le dossier (de base) * Synchronisation/fédération des dossiers d'images entre différents lieux possédant un digiCadre : syncthing ? filebrowser ? * Système de bandeau/notifications de message à laisser aux autres digiCadres * Intégration des notifications du salon matrix interhack ==== 4.2 Fonctionnalités "avancées" ==== * Mode panorama sélectif par album * via des “albums” : un dossier = un album, permet de montrer les événements spécifiques pour accueillir de nouvelles personnes et se remémorer * mode panorama mosaïque ===== 5. Auto-doc digiCadre déclinaison images memes ===== ⚠️ Attention, cette version ne contient pas de système de floutage ou de modération quelconque en cas d'upload d'une image avec un visage, ou si une personne avec les accès met quelque chose d'oppressif. ⚠️ ==== 5.1 Choix techniques ==== * Après évaluation des différentes solutions techniques, le choix d'un vieux (2011) **Raspberry Pi 1** a été fait sur un système d'exploitation + optimisé, léger et rapide « **[[https://dietpi.com/|DietPi]]** » en comparaison de ([[https://www.raspberrypi.com/software/|rapsberry pi OS]] qui est vraiment trop lourd pour les vieux modèles 1 & 2), cela peut-être n'importe quel système d'exploitation linux et matériel léger/lowtech/vieux car l'affichage d'images ne consomme que très peu de ressources. * l'environnement de bureau (DE/Desktop Environment) léger « **[[https://www.lxde.org/|LXDE]]** » * **[[https://filebrowser.org/|FileBrowser]]** pour gérer l'ajout d'images et le logiciel * **[[https://feh.finalrewind.org/|feh]]** pour l'affichage des images statiques & pdfs en mode diaporama. * Cette installation avec vieux raspberry pi + dietpi + lxde + Filebrowser + feh a été "déployée" au fuz et au [[https://lebib.org|bib]] * Petit détail nécessaire, dans notre cas on veut utiliser ces vieux écrans carrés au ratio "4/3" qui traînent partout, du coup si vous avez pas d'écran HDMI comme nous il vous faudra un adapteur HDMI vers VGA(bleu) ou DVI(blanc), sur le raspberry 1 vous avez aussi port video composite(jaune) pour brancher le truc sur une télévision. ==== 5.2 Installation & configuration du digiCadre ==== Vous n'avez jamais installé un Raspeberry PI ? Il vous faut une carte SD pour le stockage, aussi il y a des petits guides [[https://raspberrytips.fr/raspberry-pi-imager-guide/|pour installer DietPi ou autre système d'exploitation sur votre Raspberry Pi]]. Aussi si besoin si votre RPI était tout cassé comme moi cet article pour [[https://kb.adamsdesk.com/hardware/identify-raspberry-pi-board/|reconnaître son vieux rpi]]. Dans ce tutoriel le "contrôle" pour l'installation et la configuration de votre Raspberry est fait grâce à « SSH », **sur DietPi SSH est activé de base**, voici [[https://raspberry-pi.fr/connecter-ssh-raspberry-pi/|un tutoriel pour utiliser SSH dans le cas de Raspberry Pi OS(anciennement Raspbian)]]. **🕰️🏄️ Si c'est la 1ère fois que vous installez un système d'exploitation, utilisez un Terminal ou que vous bidouillez un Raspberry, comptez au moins une voir deux heures au moins en cas de pépin, si vous pouvez, aidez-vous avec une personne qui connaît et cela devrait prendre moins d'une heure facile ! 💅💪** * Téléchargez [[https://dietpi.com/#download|dietPi.com]] correspondant à votre modèle de Raspberry (voir 5.3 si vous ne savez pas identifier votre modèle de Raspberry) avec [[https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/|Raspberry Pi Imager]] * utilisateur·ices de base, accessibles en SSH : ''%%root/dietpi%%'' & ''%%dietpi/dietpi%%'' * DietPi va vous demander de changer vos mots de passe, le « Global » (utilisé pour vous connecter à File Browser, syncthing et autres), et le mot de passe utilisateur·ice "normal" ce sera celui pour se connecter en SSH * une fois l'installation terminée, il y a plusieurs choses à installer & configurer * lancer de ''%%dietpi-softwares%%'', choisir « browse packages » et cocher %%Lxde%% et %%File Browser%% * configurer l’auto-login via ''%%dietpi-config%%'', dans ''AutoStart Option'' choisir ''%%2 Automatic Login%%'' * ajout de ''%%autologin-user=userDediéAuDémarrage%%'' dans ''%%/etc/lightdm/lightdm.conf%%'' (j'ai eu besoin de retourner dans le menu AutoStart de ''dietpi-config'' et redémarrer pour que cela fonctionne) * ''%%dietpi-launcher%%'' pour vérifier vos autres besoins au cas où (retourner votre écran à 90°, désactiver les drivers son, désactiver l'usb, etc.) * après l'installation il faut installer ''feh'' toujours via le Terminal en SSH ''sudo apt install feh'' * [[https://dietpi.com/docs/software/cloud/#file-browser|Documentation **File Browser** pour gérer les ports, droits etc ]], creez vos users et dossiers nécessaires pour envoyer vos premières images dans **File Browser** * les arguments de la commande ''feh'' qu’on va utiliser dans le détail ci-dessous -Z Auto Zoom -x Borderless -F Fullscreen -Y hide pointer -B image background -q quiet no error reporting -z Randomise -r Recursive search all folders in folders -D Slide delay in seconds * un hub USB ''TP-Link UE300'' a flingué le linul/rpi/la carte SD/dietPi, il a fallu changer de carte SD et réinstaller * lancement du panorama d'images automatiquement au démarrage du raspberry * la solution d'utiliser un ''custom.sh'' dans ''dietpi-autostart'' ne marche pas car feh ne démarre pas dans X via le script ''custom.sh'', il démarre avant que X se lance, ce script est donc plutôt adapté pour un serveur * utilisation du système autostart de lxde : ''%%/etc/xdg/lxsession/LXDE/autostart%%'', suppression de ''%%@xscreensaver -no-splash%%'' pour virer l'écran de veille, ajout de la commande feg avec “@” devant dans le cas du fichier ''autostart'' : ''%%@/usr/bin/feh -Y -x -D 35 -B black -F -Z -z -r --debug /mnt/votreDossier/ > /var/log/feh-digicadre.log 2>&1 &%%'', si besoin il est possible de voir les erreurs éventuelles dans ''/var/log/feh-autostart.log''. * Pour envoyer de nouvelles images, il faut être sur le réseau local avec les accès correspondants à votre File Browser * Dans le cas du fuz user : ''%%dietpi%%'', mdp idem, accessible courant février 2024 à l'adresse : http:%%//%%192.168.1.215:8084/files/memes/ * Améliorations à faire au point 7. ==== 5.3 Divers pré-install/post-install ==== * si jamais il y a un problème de paquets corrompus : ''%%apt-get clean%%'' et ''%%rm -R /var/lib/apt/lists/* -vf%%'' * Si jamais il y a un problème de droits : %%chown -R filebrowser:dietpi /mnt/votreDossier%% * ne pas désinstaller/désactiver ''%%DietPi-RAMlog%%'' ===== 6. Auto-documentation digiCadre déclinaison avec photos d'humains ===== FIXME deface automatique ===== 7. À faire ===== ==== 7.1 À faire "priorisé" ==== * trouver les doublons, ''fdupes'' testé et assez fonctionnel * https://askubuntu.com/questions/1308613/how-to-remove-slightly-modified-duplicate-images * https://piwigo.org/forum/viewtopic.php?id=31411 * màj du slideshow après nouveau fichier ? * argument ''inotify'' dans feh pour màj quand les gens chargent une image ? * fixme au espace disque en + sur le rpi du fuz ! (courant février 2024 environ 400 Mo de libre) ==== 7.2 À faire "à suivre" ==== * Prioriser/trier cette liste huhu ┬┴┬┴┤(・_├┬┴┬┴ * **Imaginer un système / fonctionnement qui interconnecte ou « fédère » les dossiers d'images des différents hackerspaces et lieux ou le digiCadre existe** * fichiers trop lourds ? inotifywait avec compression/conformation/déduplication avec fdupes ? * Déclinaison photos d'humains : flouter les visages automatiquement * Déclinaison photos d'humains : suppr les exifs * Comment faire en tant qu'usagÈre du cadre pour choisir une sélection de photos (un album photo) en particulier ? * fbi ou encore NautiluX/slide sont trop peu user-friendly * Améliorer la facilité d’uploader des images, pc/smartphone * Accompagnement & cooptation en guise de modération ? Quid de la facilité d’upload selon le dossier/l’événement ? * sur batterie ? https:%%//%%www.circuitbasics.com/how-to-power-your-raspberry-pi-with-a-lithium-battery/ * gif + video * https:%%//%%www.reddit.com/r/linuxquestions/comments/abn0ke/best_alternative_to_feh_that_can_play_gifs/ * backups ? * accès depuis l’extérieur de l’Aéri ? * éthique : les corps des gens sont des DP * modération : limites de la cooptation dans la durée ? Quel suivi de qui a accès si quelqu’un·e met des photos horribles ===== 8. Recherches ===== ==== 8.1 sur batterie ==== * https://www.circuitbasics.com/how-to-power-your-raspberry-pi-with-a-lithium-battery/ ==== 8.2 Dawa ==== * Issu de ce pad : https://md.globenet.org/Gmt8aDmLSba2MVfMmoukew# * bug fdupes et file browser ? fdupes dit : ''unable to delete file: File contents changed during processing!'' FIXME * https://github.com/NautiluX/slide * https://github.com/bobburgers7/pi-video-photo-slideshow * https://blog.balena.io/make-a-web-frame-with-raspberry-pi-in-30-minutes/ * https://github.com/balena-labs-projects/balena-dash * https://www.balena.io/blog/build-a-smart-photo-slideshow-with-balenacloud/ * https://github.com/balena-io-experimental/photo-slideshow * https://github.com/balena-io-experimental/photo-gallery * https://github.com/Geektoolkit/Dynaframe3 * https://github.com/simsong/picture_frame * https://github.com/mrworf/photoframe * https://www.makeuseof.com/tag/7-fabulous-raspberry-pi-picture-frame-projects/ * https://github.com/avanc/photOS/tree/master * https://github.com/asmaamirkhan/BlurryFaces * https://github.com/ORB-HD/deface