Accueil

Galerie portable

Hébergement09 Nov 2022

Quelques mois auparavant, j'ai solutionné mon manque d'espace disque en déplaçant mes photos du VPS vers un drive, en l'occurrence la solution kDrive d'Infomaniak. Pour le partage occasionnel et temporaire, j'avais monté une galerie Web en ligne avec l'application Lychee. Le bilan, après quelques mois d'usage, est positif mais l'obligation de recourir au PC pour consulter un album est limitant. Bien sûr, kDrive fournit une application mobile pour parcourir les dossiers et manipuler les fichiers mais ce n'est pas une galerie photo. Ainsi est venue l'idée de remettre en ligne une galerie statique mais sans les images originales pour économiser de l'espace.

J'ai jeté mon dévolu sur thumbsup. Codé en NodeJS ça n'aurait pas été mon 1er choix quelques années en arrière, mais l'utilisation de projets comme pigallery2 m'ont depuis affranchi sur la puissance de Node et la documentation de thumbsup est de bonne qualité, c'est un point important.

Avec des réglages proches de ceux proposés par défaut, en excluant quelques répertoires et en augmentant le nombre d'exécutions simultanées, j'ai généré une galerie HTML statique de moins de 15 Go à partir des 83 Go originaux. La qualité des miniatures est suffisante, les vidéos sont prises en compte. J'ai trouvé le résultat impressionnant. J'ai ajouté un album et regénéré la galerie pour m'assurer que la génération différentielle est rapide. Et c'est effectivement le cas, thumbsup s'appuie sur une base de données SQLite pour cela.

Vu la taille raisonnable de la galerie, une seconde idée s'est imposée : la mise en ligne sur le VPS peut s'envisager dans un second temps et cela nécessitera la mise en place d'un système d'authentification car la galerie est purement HTML. Le premier besoin est plutôt de pouvoir dégainer son smartphone lors d'une discussion et être capable de retrouver tel album ou telle photo dans la photothèque. Et pouvoir le faire sans consommer de donnée mobile c'est encore mieux. Pourquoi ne pas copier cette galerie statique sur mon téléphone ? 15 Go ce n'est pas rien mais c'est largement envisageable sur le matériel d'aujourd'hui.

Ma première tentative a été assez naïve : copier simplement l'arborescence de 83500 fichiers par câble USB. Vu le nombre d'heures annoncées par le gestionnaire de fichiers j'ai vite arrêté et tenté une autre approche : j'ai copié une archive zip vers le téléphone (en moins de 30 min) et j'ai décompressé l'archive (en moins de 30 minutes aussi). Et là, indécrottable naïf je cliquais sur le fichier index.html avec Firefox Android puis Chrome pour réaliser que les liens inter-fichiers ne sont pas supportés ! Pour des raisons de sécurité ? Ou parce que c'est une fonction totalement inutile à la plupart des utilisateurs ? Aucune idée mais je me suis retrouvé le bec dans l'eau. L'adversité m'a soufflé une autre possibilité : héberger ma galerie derrière un vrai serveur HTTP.

Et je me suis retourné vers l'univers que je connais et qui me procure énormément de satisfaction intellectuelle. J'ai installé Termux, le système Linux pour Android, joli joujou que j'avais délaissé et j'ai installé un bon vieux NginX, les termux services, et ma galerie est devenue accessible par le navigateur du téléphone sur http://localhost. Tout était presque parfait, excepté le temps de transfert de la galerie du PC au téléphone. Ce n'est pas supportable à chaque mise à jour de la galerie. Tant qu'à jouer sur son terrain, autant en tirer parti jusqu'au bout : j'ai alors configuré syncthing pour synchroniser les changements via le Wi-Fi entre mon PC sous Fedora et termux. Au final, la mise à jour se résume à deux étapes :

  1. Régénérer la galerie sur le PC avec thumbsup
  2. Lancer syncthing sur le PC et sur termux et laisser faire

A l'heure des synchronisations Cloud avec leurs avantages (croisez les orteils, tout est automatique) et leurs travers (plus personne ne trie quoi que ce soit, on mitraille dans l'instant, les algorithmes choisissent quelles photos rappeler à votre bon souvenir), mon système est désuet : jeter beaucoup de prises de vue, classer par année / événement. Mais il me correspond et je m'interroge sur le leg qui serait laissé aux enfants avec la première méthode.

Votre commentaire