Avec les photos numériques on ne compte pas, on prend des dizaines (voir des centaines) de photos puis on les importe sur le PC pour les trier. Personnellement j'utilise gThumb car il est léger, simple à utiliser, n'est pas usine à gaz, dispose de fonctionnalités assez avancées et en plus est intégré nativement dans Ubuntu.
Le premier de ces tris est le renommage, j'ai l'habitude de renommer mes photos en fonction de la date de prise de vue (+ une numérotation) ce qui permet par la suite d'effectuer un tri chronologique dans l'explorateur de fichiers et d'avoir un nom unique.
il est possible de renommer massivement des photos en fonction des données EXIF avec gThumb mais le meilleur résultat que j'ai pu en tirer est un nom de fichier sous la forme 2006-11-04--19.41.56_007.jpg. C'est presque le résultat attendu sauf que je n'ai pas trouvé le moyen d'enlever le double tiret et les secondes qui sont superflus. Voila le pourquoi de ce script, utilisé via les scripts nautilus, en deux clics il permet de renommer une série de photos sous la forme 2006-11-04_19.41_007.jpg
Dépendances :
$ sudo apt-get install imagemagick zenity
Script exif_photos_rename_v1.1.sh :
- 27/07/07 - v1.1
- Réorganisation
- Choix du début de numérotation, par défaut à 1
#!/bin/bash
############################################################################################
# Taltan - http://www.taltan.fr - #
############################################################################################
# Script exif_photos_rename_v1.1.sh #
# Licence : GNU / GPL #
############################################################################################
# Renomme les photos selon les données EXIF sous la forme : #
# ${aa}-${mm}-${jj}_${hh}.${min}_${numero}.ext => ex : 2006-11-04_19.41_007.jpg #
# Fonctionne pour une numérotation de 001 à 999 #
############################################################################################
# Dépendances #
############################################################################################
# - Nécessite le paquet imagemagick : http://doc.ubuntu-fr.org/imagemagick #
# - Nécessite le paquet zenity #
# => sudo apt-get install imagemagick zenity #
############################################################################################
# 15/07/07 - v1.0 - Création #
# 27/07/07 - v1.1 - Réorganisation #
# - Choix du début de numérotation, par défaut à 1 #
############################################################################################
## Variables
nb_param="$#" # nb de paramètres passés au script
erreur=0 # initialisation du compteur d'erreurs à 0
## Fonctions début de numérotation
début_numerot ()
{
numParam=`zenity --title "Début de numérotation" --entry-text="1" --entry --text "Par défaut à 1, à modifier le cas échéant :"`
if [ $? != 0 ]; then # si fermeture
exit 1
fi
[ $? -ne 0 ] && exit 2 # si annulation
}
## Fonctions renommage des fichiers
rename_jpeg ()
{
for parametre in "$@"; # pour chaque fichier selectionné
do # faire
old_name="$parametre" # on définie le nom du fichier actuel
date_time=`identify -format "%[EXIF:DateTime]" "$parametre"` # création de la variable date / heure de la photo (ex: 2006:11:04 19:41:30. )
extension=`echo $parametre | awk -F "." '{print $NF}'` # création de la variable extension du fichier (ex : .jpg)
aa=`echo $date_time | cut -d: -f1` # création de la variable année (ex : 2006)
mm=`echo $date_time | cut -d: -f2` # création de la variable mois (ex : 11)
jj=`echo $date_time | cut -d: -f3 | cut -c1-2` # création de la variable jour (ex : 04)
hh=`echo $date_time | cut -d: -f3 | cut -c4-5` # création de la variable heure (ex : 19)
min=`echo $date_time | cut -d: -f4` # création de la variable minute (ex: 41)
# création de la variable numérotation
if [ $numParam -gt 0 ] && [ $numParam -lt 10 ]; then # pour les paramètres 1 à 9
numero=00$numParam # rajouter 2 digit => 001, 002, 003,..., 009
fi
if [ $numParam -gt 9 ] && [ $numParam -lt 100 ]; then # pour les paramètres 10 à 99
numero=0$numParam # rajouter 1 digit => 010, 011, 012,..., 099
fi
if [ $numParam -gt 100 ] ; then # pour les paramètres supérieur à 100
numero=$numParam # ne pas rajouter de digit => 100, 101, 102,...
fi
new_nane=`echo ${aa}-${mm}-${jj}_${hh}.${min}_${numero}.${extension}` # on définie le nouveau nom => 2006-11-04_19.41_num.jpg
cp "$old_name" "${new_nane}" # on renomme le fichier en le copiant
if [ $? = 0 ] ; then # si la copie a reussi
echo "${old_name} => ${new_nane} .... OK"
rm -f "$old_name" # => supprime le fichier original
else # si la copie a echoué
echo "Impossible de renommer $old_name .... NOK" # => message d'erreur
let $[erreur += 1] # incrémentation du compteur d'erreur
fi
let $[numParam += 1] # incrémentation du numéro de paramètre
done
nb_renomme=$(( $nb_param - $erreur )) # création de la variable nombre de fichiers renommés
echo "-----------------------------------------"
echo "Fin de traitement : $# fichiers "
echo "-----------------------------------------"
echo "Fichiers renommes : $nb_renomme"
echo "Fichiers en erreur : $erreur"
echo "-----------------------------------------"
echo "OK, vous pouvez fermer !"
}
## Traitement
if [ "$#" -eq 0 ]; then # si aucun fichier n'est selectionné => mesage d'erreur
zenity --error --title="error" --text="Selectioner au moins 1 fichier"
exit 1
fi
début_numerot
rename_jpeg "$@" | zenity --text-info --title "exif_photos_rename" --width=500 --height=500
Mise en place :
Placer le script exif_photos_rename_v1.1.sh dans le dossier ~/.gnome2/nautilus-scripts, puis le rendre exécutable
$ sudo chmod +x ~/.gnome2/nautilus-scripts/exif_photos_rename_v1.1.sh
Utilisation :
Sélectionner les photos à traiter, puis clic droit / Scripts / exif_photos_rename.sh

Cliquer sur Valider ou modifier le début de numérotation le cas échéant :

Résultat :


NB : _/!\_ Par principe de précaution, je vous conseille de commencer à utiliser un script qui, au final supprime ou modifie un fichier, sur une copie de vos photos, histoire de voir que tout se passe bien 