Gwenview est très bien pour regarder les photos. Son interface est très proche de l'autre truc que j'utilisait sous windows (vous savez un jeu de mots sur un groupe de rock ;)). De plus il permet en un petit click de faire pivoter une image. Cool comme ca on peux les redresser facilement. Mais il y a un problème, quand on fait cela, la date du fichier change (ce qui en soit est normal, il a été modifié). En cherchant un peu je suis tombé sur un bug qui concerne ce problème : Bug 108537. Super me dis-je c'est résolu ! Bon cela semble concerner les kipi-plugins[1], ni une ni deux, j'installe, je teste ... ca marche pas :( En regardant un peu plus loin, je pense déceler d'ou ca viens. Ubuntu fournit la version 0.1.12 de la libkipi (en date du 07/02). Or le bug sus-nommé a été corrigé le 11/07 et sans doute livré dans la 0.1.2 du 06/10 (Voir sur Sourceforge) Gasp ! J'ai donc deux solutions : je recompile la dernière version ou je me débrouille autrement ... faineantise aidant, je décide de scripter sauvagement ! Mon appareil photo insere dans les fichiers un certain nombre d'infos (c'est le format exif) Pourquoi ne pas essayer d'utiliser ces infos (qui contiennent la date) pour changer celle de mes fichiers ? Donc avec quelques outils simples (bash, touch, ls, grep, cut, tr) et un autre bien utile (exif) voici un petit one-liner qui permet de changer la date des photos jpg par celle contenue dans les informations exif du dit fichier : for i in *.JPG;
do
touch -m -t `exif -mi "$i"|grep -m 1 0x0132|cut -f2|cut -d ":" -f1-4|tr -d ": "` "$i";
ls -l "$i"
done
Bon, y'a aucune gestion d'erreur, mais si j'ai un peu de temps, j'en ferait un service menu pour Konqueror Quelques lignes d'explications : entre les `` on remplace par l'affichage de l'execution de
  • exif -mi : dump des infos exif du fichier avec les id (plutot que les noms de tag) et des separations par tabulation
  • grep -m 1 0x0132 : recupération de la 1ere ligne contenant le tag 0x0132 (Date et heure, voir les specs exif 2.1 sur le site exif.org)
    0x0132 2005:10:08 13:22:21
  • cut -f2 : recup de la date (separateur implicite: tabulation)
    2005:10:08 13:22:21
  • cut -d ":" -f1-4 : on ne garde que YYYY:MM:DD HH:MM (pas besoin des secondes pour changer la date)
    2005:10:08 13:22
  • tr -d ": " : on supprime les : et espaces
    200510081322
La, on a construit la nouvelle date pour passer à touch -m -t date>. -m pour changer uniquement la date de modification (ni celle de creation, ni celle d'acces) et -t pour donner une date. et voila ! [1] : c'est un ensemble de plugins dont le but est de fournir des outils de traitement d'image unifiés aux applications KDE.