====== 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. {{http://www.terre-adelie.org/imagizer/intro.png}} 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. {{http://www.terre-adelie.org/imagizer/selector-new.jpg}} 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/) Pour la construction de libexiftran: * libjpeg-dev * libexif-dev * python-dev Autres : * Numpy est nécessaire pour le filtre par masque de contraste (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 bibliothèque d'extension C à imagizer (modification de http://linux.bytesex.org/fbida/). ----- ===== Télécharger ===== La suite de programmes «Imagizer» est fonctionnelle et testé depuis 2004 ans sur 60Go 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». * http://www.terre-adelie.org/ubuntu/python-imagizer_1.0-1_amd64.deb (compilé pour Ubuntu 10.04, 64 bits) * http://www.terre-adelie.org/ubuntu/python-imagizer_1.0-1_i386.deb (compilé pour Ubuntu 10.04, 32 bits) * http://www.terre-adelie.org/devel/python-imagizer_1.1.0-1_amd64.deb (compilé sur debian Squeeze, 64 bits) * http://www.terre-adelie.org/devel/python-imagizer_1.1.0-1_i386.deb (compilé sur debian Squeeze, 32 bits) dans différents formats pour les sources: * http://www.terre-adelie.org/devel/imagizer_1.1.0.orig.tar.gz Il faut alors exécuter "python setup.py install" pour installer le programme ==== Dépot Git ==== git clone http://git.terre-adelie.org/imagizer.git ==== code source en ligne: ==== - terre-adelie.org/imagizer ==== 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** Sous debian / Ubuntu il est possible d'installer imagizer par le gestionnaire de paquets dpkg en éxecutant ./build-package **Important :** une fois l'initialisation finie, sauvegarder la configuration dans le menu préferences. ===== Fonctionnalités annexes ===== * Préparer automatiquement des archives sur CD ou DVD afin de les visionner sur lecteur de DVD de salon. * synchronisation entre des machines * ajout de filigranes aux images exportées ===== ToDo list ===== * 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, exiftran etant compilé a l'installation ... ce devrait être possible. 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é ... * interface multi-threadée (libexiftran est maintenant multithreadé) ===== Ancienne interface ===== {{http://www.terre-adelie.org/imagizer/selector-old.jpg}} Un grand merci à Sandor de s'être prêté au jeu de la photo ...