Depuis la naissance de mon petit, je mitraille : mon Canon SX10 flashouille à tout va.
Avec un volume de photos qui a depuis longtemps dépassé la dizaine de gigas, il me fallait un outil pour trier tout ça. Et avec mes cartes SD de 8 Go, je ne fais que rarement le transfert sur mon ordinateur. Et donc... Je ne m'y retrouve plus. Les dates, les occasions, tout se mélange. Et ce n'est pas un clicodrome genre Picasa qui allait me convenir : pratique pour bidouiller une photo, mais mal adapté pour les grands volumes.
Un des gros bons points du numérique, c'est que l'appareil qui prend la photo enregistre dans cette dernière quelques informations utiles, selon un format standard appelé EXIF. Sous Linux, on trouve pas mal de logiciel capables d'exploiter ce format, mais je cherchais un truc un peu particulier : un outil capable de traiter, en mode batch, plusieurs centaines de fichiers, pour les classer dans des répertoires différents, selon certains critères définis par moi-même. Et j'ai donc trouvé exiftool, un script Perl qui permet ce genre de sport, le truc parfait pour le geek moyen.
Il est très bien documenté, aussi je vais simplement donner un exemple, correspondant à mon utilisation, relativement basique : il s'agit, à partir de fichiers en vrac dans un répertoires, de tout ranger. Un répertoire sera créé pour chaque jour où une photo aura été prise, et dans ce répertoire seront rangées toutes les photos prises ce jour, renommées selon le format suivant : AAAAMMJJ-HHmmss.ext. Autrement dit, pour une photo prise le 1er janvier 2010 à 00H15 et 24 sec : 20100101-001524.jpeg.
La commande correspondante :
exiftool -r '-FileName<${DateTimeOriginal}' -d "%Y%m - %B/%Y%m%d-%H%M%S.%%e" .
Très pratique, et extrêmement rapide. Ensuite il ne reste plus qu'à renommer les répertoires pour savoir de quoi il retournait ce jour-là.