Fred's Gallery Generator

Je republie cette page puisque apparemment il reste des utilisateurs de ce petit script :)

À leur attention donc, revoilà la page de fgg :

Version courante : 1.2

Pour les utilisateurs d'appareils photo numériques, la création de galeries HTML est laborieuse. Comme je ne trouvais pas d'outil satisfaisant pour créer mes galleries, j'ai fini par en écrire un en Perl. Il est très simple et crée des fichiers HTML très faciles à éditer (par exemple pour ajouter des commentaires). Le source HTML lui même est parfaitement lisible.
Ce programme est principalement destiné à la création de galeries de photos ou tout au moins d'images de grande taille.

Attention, fgg a été écrit pour mes besoins spécifiques, il n'est donc pas nécessairement adapté à ce que vous voulez faire, surtout si vous cherchez quelque chose de complexe.

Addendum 2006, Notez que ce script est assez facile à modifier. En revanche il n'est plus maintenu, j'utilise actuellement Gallery qui est plus adapté à mes besoins. fgg peut toutefois rendre des services si on veut rapidement créer une petite page. Ceci dit les utilisateurs de KDE auront peut-être remarqué que konqueror (le gestionnaire de fichiers / client web) de KDE dispose d'un module permettant de transformer un répertoire de photos en galerie HTML. Il existe probablement un gadget similaire dans Gnome.

Comment ça marche

Pour créer une galerie, il suffit de copier les images (en JPEG) que vous voulez y faire figurer dans un répertoire. Les fichiers doivent avoir un nom se terminant en .jpg ou .JPG. Ensuite il suffit de lancer fgg depuis ce répertoire. Le programe va créer :

  • Une vignette par image.
  • Trois versions réduites de chaque image : petit, moyen et grand.
  • Quatre fichier HTML par image (les trois créées ci-dessus plus l'originale) montrant l'image et les métadonnées associées (données EXIF notamment).
  • Un fichier index.html montrant toutes les vignettes avec des liens vers les quatres fichiers HTML de chaque image.

Une fois que le programme a tourné, vous pouvez éditer le fichier index.html pour ajouter des commentaires, un titre, etc. J'utilise pour ce faire Mozilla, mais n'importe quel éditeur devrait faire l'affaire, le HTML étant parfaitement lisible. Les pages HTML créées sont en HTML 4.01 transitionnel.

À propos des images créées

fgg crée des images réduites à partir des originaux en fonction des taux de réduction définis dans le programme (par défaut 0.25, 0.5 et 0.75, ces valeurs étant modifiables). Le but est de garantir que la géométrie des images reste inchangée. En revanche, celà signifie que, par exemple, la petite image générée aura une définition qui dépendra de la résolution de l'image originale.

Par exemple, voici le résultat avec des images issues de deux de mes appareils :

Appareil Taille d'origine Petit (0,25) Moyen (0,5) Grand Géométrie
Canon G3 2272x1704 568x426 1136x852 1704x1278 1,33 (4/3)
Fuji MX 1700 1280x1024 320x256 640x512 960x768 1.25

Outils nécessaires

fgg repose sur deux utilitaires :

  • convert qui fait partie de la suite ImageMagick, utilisé pour créer les vignettes et redimensionner les images (ImageMagick est généralement installé, ou installable de base dans toutes les distributions Linux).
  • jhead qui lit les métadonnées et les champs Exif de chaque image.
  • Et évidemment Perl 5.x (il a été écrit avec la version 5.8.0). Perl devrait déjà être installé sur votre système (sauf sous Windows).

J'ai écrit fgg sur une machine Linux. Le programme devrait tourner sous n'importe quelle distribution pourvu que vous éditiez les chemins codés dans le fichier (voir Installation ci-après). Il devrait tourner sans difficultés sous n'importe quel Unix. Apparemment il fonctionne sous Windows (mais plusieurs utilisateurs semblent avoir eu des problèmes). Il devrait tourner sous MacOS X sans problèmes mais je n'ai pas essayé. Quand aux anciennes versions de MacOS ou autres OS étranges de ce genre, aucune idée...

Le programme est personnalisé en éditant directement le source. On peut modifier plusieurs paramètres, la taille des images créées, la couleur des pages, le nombre de colonnes, etc. Le programme est abondamment commenté et devrait être facile à comprendre.

Exemple de sortie

Voici à quoi ressemble la sortie de fgg lorsqu'on le fait tourner dans un répertoire contenant quelques fichiers JPEG :


3 fred@discworld ~/Work/Prog/Perl/Gallery > lc
total 5532
156 callian-weekend-009.jpg 824 img_0230.jpg 296 we-001.jpg
292 f2-004.jpg 820 img_0231.jpg 164 we-002.jpg
640 img_0055.jpg 792 img_0232.jpg
780 img 0076.jpg 768 img_0236.jpg
3 fred@discworld ~/Work/Prog/Perl/Gallery > fgg
This is fgg v1.2
Working on img_0230.jpg
Resolution is 2272 x 1704, ratio is 1.33333333333333
Generating files (images and HTML):
Thumbnail, small, medium, large, done.
Working on img_0231.jpg
Resolution is 2272 x 1704, ratio is 1.33333333333333
Generating files (images and HTML):
Thumbnail, small, medium, large, done.
Working on img_0232.jpg
Resolution is 2272 x 1704, ratio is 1.33333333333333
Generating files (images and HTML):
Thumbnail, small, medium, large, done.
Working on f2-004.jpg
Resolution is 1280 x 1024, ratio is 1.25
Generating files (images and HTML):
Thumbnail, small, medium, large, done.
Working on img_0055.jpg
Resolution is 2272 x 1704, ratio is 1.33333333333333
Generating files (images and HTML):
Thumbnail, small, medium, large, done.
Working on img_0236.jpg
Resolution is 2272 x 1704, ratio is 1.33333333333333
Generating files (images and HTML):
Thumbnail, small, medium, large, done.
Working on img 0076.jpg
Resolution is 2272 x 1704, ratio is 1.33333333333333
Generating files (images and HTML):
Thumbnail, small, medium, large, done.
Working on callian-weekend-009.jpg
Resolution is 1280 x 1024, ratio is 1.25
Generating files (images and HTML):
Thumbnail, small, medium, large, done.
Working on we-001.jpg
Resolution is 1280 x 1024, ratio is 1.25
Generating files (images and HTML):
Thumbnail, small, medium, large, done.
Working on we-002.jpg
Resolution is 1280 x 1024, ratio is 1.25
Generating files (images and HTML):
Thumbnail, small, medium, large, done.
Writing index.html. done.
All done. You can customize the HTML files if you like
Gallery created for 10 images in 46.39 (2.61) secs.
3 fred@discworld ~/Work/Prog/Perl/Gallery >

Notez que les images proviennent de deux appareils différents et ont des résolutions et des géométries différentes. Un des fichiers est nommé avec une espace pour vérifier que ça ne posait pas de problèmes.

fgg est assez verbeux dans son fonctionnement mais au moins comme ça on sait qu'il travaille :)

Téléchargement

fgg est disponible sous forme d'un fichier gzippé : fgg.gz (joint à cette page).

Le logiciel est distribué sous licence GPL.

Installation

L'installation est simple :

  • Téléchargez et décompressez fgg.gz.
  • Vérifiez que jhead et convert de ImageMagick sont bien installés sur votre système.
  • Ouvrez fgg avec votre éditeur préféré (ne vous inquiétez pas même si vous ne savez pas programmer l'édition est simple).

  • Vérifiez que le chemin de la première ligne pointe bien vers votre binaire Perl (par défaut /usr/bin/perl). Utilisez la commande "which perl" pour savoir où se trouve perl si vous ne savez pas.
  • Vérifiez que les chemins de jhead et convert pointent bien vers les binaires correpondants (variables $jhead_bin et $convert_bin). Là encore which est votre ami.
  • Vous pouvez en profiter pour changer la signature qui apparaît sur chaque page (variable $signature).
  • Vous pouvez enfin éditer les autres variables de la section "configuration" qui ne vous plaisent pas.
  • Sauvez le fichier.
  • Copiez le quelque part dans votre $PATH, par exemple dans /usr/local/bin, (vous devrez être root) ou dans $HOME/bin si vous l'avez ajouté à votre PATH.
  • Rendez-le exécutable : chmod +x fgg.

Et voila.

Amusez vous bien. :)

AttachmentSize
fgg.gz3.29 KB

Reply

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <span> <img>
  • Lines and paragraphs break automatically.
  • Images can be added to this post.

More information about formatting options