diff --git a/posts/2022/2022-11-09-galerie-portable.md b/posts/2022/2022-11-09-galerie-portable.md index d1f8878..4e642b7 100644 --- a/posts/2022/2022-11-09-galerie-portable.md +++ b/posts/2022/2022-11-09-galerie-portable.md @@ -1,17 +1,17 @@ -Quelques mois auparavant, j'ai solutionné mon besoin d'espace disque en déplaçant mes photos du VPs vers un drive, en l'occurrence [la solution kDrive d'Infomaniak](https://www.infomaniak.com/en/kdrive). Pour le partage occasionnel et temporaire, j'avais monté une galerie Web en ligne avec l'application [Lychee](https://lychee.electerious.com/). Le bilan, après quelques mois d'usage, est positif mais l'obligation de recouvrir 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. +Quelques mois auparavant, j'ai solutionné mon besoin d'espace disque en déplaçant mes photos du VPs vers un drive, en l'occurrence [la solution kDrive d'Infomaniak](https://www.infomaniak.com/en/kdrive). Pour le partage occasionnel et temporaire, j'avais monté une galerie Web en ligne avec l'application [Lychee](https://lychee.electerious.com/). 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](https://thumbsup.github.io/). Codé en NodeJS ça n'aurait pas été mon 1er choix quelques années en arrière, mais l'utilisation de projets comme [pigallery2](https://bpatrik.github.io/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ée SQLite pour cela. +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 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 c'est pas rien mais c'est largement envisageable sur le matériel d'aujourd'hui. +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 méthode 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 fichier j'ai vite arrêté et engagé une seconde méthode : j'ai copié une archive zip vers le téléphone (moins de 30 min) et décompressé l'archive (moins de 30 minutes). Et là, indécrotable naïf je cliquer 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ée une autre possibilité : héberger ma galerie derrière un vrai serveur HTTP. +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](https://termux.dev/en/), 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 envisageable à chaque mise à jour de la galerie. Tant qu'à jouer sur son terrain, autant en tirer parti jusqu'au bout : j'ai alors configuré [syncthing](https://syncthing.net/) 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 : +Et je me suis retourné vers l'univers que je connais et qui me procure énormément de satisfaction intellectuelle. J'ai installé [Termux](https://termux.dev/en/), 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](https://syncthing.net/) 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