Les tags EXIF sont ces données enregistrées lors de la prise de vue par l'appareil photo numérique et contenues dans les images au format JPEG. Parmi ces données deux m'intéressent pour classer mes images, le tag d'orientation qui indique si l'image doit être redressée on non et le tag de la date de prise de vue. J'ai testé un petit logiciel libre spécialisé jhead qui va m'être utile pendant quelques temps au moins.
Concernant le tag EXIF d'orientation je n'avais guère de problème jusqu'à présent, j'utilise sous Linux le gestionnaire d'image GThumb qui est capable de redresser les images par lot. Cependant avec l'arrivée de Gimp-2.4 je me suis rendu compte qu'il y avait quand même un problème, car Gimp-2.4 est devenu lui aussi capable de redresser une image couchée. C'est au premier abord fort pratique sauf qu'on peut demander à Gimp d'adopter ce comportement par défaut et là ça peut rapidement devenir confus. Gimp comme GThumb se basent sur le tag EXIF pour redresser l'image mais ni l'un ni l'autre ne modifie ou supprime le tag EXIF. En conséquence si on redresse l'image avec GThumb et bien Gimp qui se base sur le tag EXIF continue à redresser l'image... et donc la tourne alors qu'il ne faudrait pas. Vraiment dommage car il n'y a pas de moyen simple pour dire à Gimp d'arrêter de redresser les images par défaut ! En plus lorsqu'on ouvre une image avec Gimp on ne sait jamais si elle est en réalité couchée et redressée à cause du tag EXIF ou bien en réalité redressée et sans tag EXIF. Il n'y a qu'une solution : modifier ou carrément supprimer ce tag EXIF une fois le redressement effectué. Gimp ne le fait pas, GThumb annonce la possibilité de faire un reset du tag EXIF d'orientation depuis la version 2.10.8 (mars 2007), jhead le fait depuis Mathusalem. Je vais donc utiliser jhead temporairement pour redresser mes photos jusqu'à la mise à jour de mon GThumb-2.7 en version 2.10.
Le tag EXIF de la date de prise de vue ne m'avait guère été utile jusqu'à présent. Mais maintenant beaucoup de gens ont des appareils photos numériques et il est facile de s'échanger des photos prises durant le même évènement. J'ai eu deux fois de suite la posibilité de créer des albums photos à partir de photos prises d'appareils différents. Le classement par date permet alors de les consulter dans l'ordre chronologique sans se soucier de qui a pris la photo ce qui est plutôt sympa. Oui mais... pour que ça fonctionne il faut que les horloges des appareils sont synchronisées, hors ce n'est jamais le cas. La solution la plus simple est de prendre en même temps une photo quelconque avec les différents appareils ainsi on connait le décalage d'horloge entre chaque appareil. Ensuite jhead fera le travail, il permet de décaler d'une valeur donnée toutes les dates EXIF d'un lot de photos, on peut donc ainsi les resynchroniser dans le temps. Ensuite il suffit de mettre toutes les photos dans le même répertoire et puis de les classer par date EXIF. Mieux encore, on peut utiliser à nouveau jhead pour les renommer en fonction de la date EXIF et les classer simplement par nom de fichier.
Jhead s'utilise en ligne de commande mais on peut créer puis utiliser des commandes types depuis pas mal d'applications. Ainsi GQView accepte des commandes, Nautilus applique par lot des scripts, Gimp possède les python-fu qui permettent aussi de lancer des commandes. C'est probablement un python-fu que je vais me faire pour effectuer la synchronisation de façon entièrement automatique à partir de photos prises aux même instants des différents appareils.