IMAGIZER : Trier, classer, sélectionner, archiver et publier ses photos
Objectif:
Imagizer est une suite composée de deux executables (selector et generator) et de quelques bibliothèques (exif, imagizer, exiftran, ...) qui permettent de classer, de trier, de donner un titre, d'archiver, de sélectionner et finalement de produire des pages web statiques à partir des photos initiales. Tout est fait protéger les images originales.
«Selector» est conçu pour tourner sur une station graphique, il cherche toutes les photos au format JPEG dans les sous répertoires, les classe en fonction de leur date, propose de leur donner un titre et de les selectionner en vu de générer des pages webs. Selector sait tourner tout seul les images qui en ont besoin (disponible sur les APN Canon et les reflex)
«Generator» est un programme conçu pour tourner sur un serveur (web), il fabrique les pages HTML et s'occupe de la connectivité entre les pages. C'est une variante du programme curator écrit par Martin Blais avec des templates optimisés.
Première étape : «selector»
Au lancement, «selector» trie toutes les photos trouvées dans le répertoire indiqué en option, à défaut celui précisé dans le fichier de configuration /etc/imagizer.conf. Elles sont renommées en fonction de leur date et de l'appareil d'origine. Ceci est particulièrement utile pour mélanger les photos provenant des divers appareils photos numériques sans cohérence dans les noms des fichiers.
ATTENTION à ne pas lancer le programme sur un répertoire trop «en amont» car selector vous renommerait toutes les photos qu'il a trouvé !!! Un message d'avertissement vous permet de quitter le programme en cas de fausse manipulation.
Si un tag exif définit l'orientation de la photo, celle-ci peuvent être tournée automatiquement (disponible sur les APN Canon entre autre) : il faut cocher l'option dans le menu préférences et les sauvegarder. On peut toujours tourner les photos si nécessaire et leur donner un titre.
options de selector :
- -le répertoire de départ (à défaut, le répertoire /mnt/photo, si il ne le trouve pas, une fenêtre s'ouvre et permet de le sélectionner).
Informations accessibles :
- APN : marque et modèle.
- Photo : résolution et taille, heure de prise de vue, focale, ouverture, vitesse, utilisation du flash et iso équivalente.
Actions possibles :
- Titre : donne un titre à la photo. Ce titre sera ajouté aux données JPEG. Il est enregistré que la photo soit sélectionnée ou non.
- Précédente : permet de revenir à la photo prise immédiatement avant. (Ctrl Up)
- Suivante : permet de passer à la photo prise immédiatement après. (Ctrl Down)
- Rotation à gauche: permet de tourner la photo de 90° dans le sens anti-horaire. (Ctrl + Left)
- Rotation à droite : permet de tourner la photo de 90° dans le sens horaire. (Ctrl + Right)
- Sélectionner : ajoute la photo la liste des photos sélectionnées.
- Poubelle : déplace les photos dans la poubelle, un répertoire nommée "Trash"
- Editer : utilise gimp pour modifier une copie de l'image. l'original (sacrée tout comme le négatif) est conservée
- Filtrer : applique un masque de contraste (désaturer / inverser / superposer)
Dans les menus :
- fichier :
- nommer : propose de changer le nom du répertoire contenant les photos du jour courant.
- Exécuter : lance la copie de toutes les photos sélectionnées dans un répertoire "Selected" ainsi que la génération des vignettes (160x120) et des images pour l'affichage web (800x600).
- Navigation :
- par jour
- par image ou 10 images
- par image sélectionnée ou non ; avec ou sans titre
- Préferences :
- Autorotate : permet de tourner automatiquement les images si l'APN le permet. sinon cela ralenti juste l'initialisation du programme
- Nombre par page : nombre d'image maximum par page web génerées
Deuxième étape : «generator»
«Generator» est un programme qui va réaliser une galerie de photos à partir du répertoire "Selected". La seule option qu'il est nécessaire de lui fournir est le répertoire de départ. Generator n'a pas besoin d'interface graphique et peut donc être lancé par CRON sur un serveur. Pour les options du programme nous vous invitons a vous reporter à l'aide sur curator, en effet generator est une version dérivée de curator (http://furius.ca/curator/). Un exemple des pages web réalisées avec les templates par défaut de «generator» est donné ici : http://www.alezan.org/photo/html/dirindex.html Il existe une autre disposition des pages dont un exemple est disponible ici : http://imagizer.terre-adelie.org
Dépendances
Strictes :
Python-2.3 ou plus récent (http://www.python.org/)
Python-imaging / PIL (http://www.pythonware.com/products/pil/)
Python-glade2 / pygtk (http://www.pygtk.org/)
pyexiv2 (http://tilloy.net/dev/pyexiv2/)
Autres :
Numarray est nécessaire pour le filtre par masque de contrast (http://www.stsci.edu/resources/software_hardware/numarray)
The Gimp (éditeur d'image) est appelable directement (http://www.gimp.org/)
exiftran : Une version modifiée de exiftran est fournie en binaire pour linux x86, x86_64 et windows. (http://linux.bytesex.org/fbida/)
Télécharger
La suite de programmes «Imagizer» est fonctionnelle et testé depuis deux ans sur 10Go d'images sans problèmes majeurs, néanmoins certaines fonctionnalités ne sont pas encore implémentées (CF todolist) et il existe surement des bugs mais nous serions ravis que vous nous signaliez à «kieffer at terre - adelie dot org» ou «mike at alezan dot org». Vous pouvez télécharger un paquet dans différents formats
http://www.terre-adelie.org/devel/imagizer.zip (windows ou linux) Vous pouvez également nous contacter pour avoir acces au CVS et ainsi bénéficier des dernières mises à jour et nous aider à chasser les bugs
Installer Imagizer sous linux
Imagizer dispose d'un programme d'installation setup.py qui copie les executables dans /usr/bin et installe les bibliotheques, les executables et les images. Il faut l'executer en root en precisant # python setup.py install
Installer Imagizer sous windows (Pas au point)
Les programmes s'installent de la même façon que sous Unix, sauf que par défaut les bibliothèques nécessaires ne sont pas installées. Pour vous faciliter la tache, elles ont toutes été rassemblées
http://www.terre-adelie.org/devel/gtk-win32-devel-2.8.18-rc1.exe
http://www.terre-adelie.org/devel/numarray-1.5.1.win32-py2.4.exe
http://www.terre-adelie.org/devel/numpy-0.9.8.win32-py2.4.exe
http://www.terre-adelie.org/devel/pycairo-1.0.2-1.win32-py2.4.exe
http://www.terre-adelie.org/devel/pygtk-2.8.6-1.win32-py2.4.exe
Les chemins d'installations standards ont ete conserves et toutes les installations ont ete faites comme administrateur.
Pour installer imagizer : décompresser l'archive zip puis double-clickez sur "setup.py". Il faut alors choisir le répertoire ou les pages web seront stockées.
A la fin de l'installation, les deux scripts selector.py et generator.py sont installes dans c:\python24\scripts. il suffit de créer un raccourci sur le bureau.
Exécuter selector.py et sélectionner le répertoire initial de l'arborescence, par exemple le répertoire "Mes Images",
Important : une fois l'initialisation finie, sauvegarder la configuration dans le menu préferences.
ToDo list
- Préparer automatiquement des archives sur CD ou DVD afin de les visionner sur lecteur de DVD de salon (Done).
- Internationaliser l'interface graphique. Pour l'instant majoritairement en français mais partiellement localisée.
- Le portage de la suite sous d'autres OS. Python étant multi-plateforme, il ne reste plus qu'a recompiler "exiftran" sous d'autres OS (cygwin, bof, mingw32 semble mieux, merci Djoume). Un des objectif étant d'avoir un executable unique sous windows à l'aide de py2exe. C'est vraiment un problème, on cherche un pro de python sous windows, macOS, ... ! Visiblement Windows n'apprécie pas d'avoir un fichier ouvert en lecture qui est modifié ...
- passer exiftran en bibliotheque python à l'aide d'un wrapper, je ne sais pas si cela apportera beaucoup de performance en plus.
- Pourquoi ne pas se passer completement de exiftran et passer tout en python ?
Ancienne interface
Un grand merci à Sandor de s'être prêté au jeu de la photo ...
Wiki Terre-Adelie