Commençons par un exemple simple, histoire de clarifier :

$ photo_rename.pl --pattern=vacances-%number% img_0001.jpg img_0002.jpg img_0003.jpg
img_0001.jpg => ./vacances-1.jpg
img_0002.jpg => ./vacances-2.jpg
img_0003.jpg => ./vacances-3.jpg

La variable %number% est donc un numéro séquenceur. Là on a fait simple, c'est à dire avec les paramètres par défaut: début de la séquence à 1 et pas de zeros devant le numéro de séquence. Voici donc une utilisation plus avancée de la variable %number%:

$ photo_rename.pl --pattern=vacances-%number:98:3% *.jpg
img_0001.jpg => ./vacances-098.jpg
img_0002.jpg => ./vacances-099.jpg
img_0003.jpg => ./vacances-100.jpg
spirou48.jpg => ./vacances-101.jpg

Allez, ce qui est potentiellement encore plus intéressant, c'est la date. J'ai utilisé les méta-données EXIF pour cela.

$ photo_rename.pl --pattern=vacances-%exif_date%-%number% img_*.jpg
img_0001.jpg => ./vacances-2004.08.01-1.jpg
img_0002.jpg => ./vacances-2004.08.01-2.jpg
img_0003.jpg => ./vacances-2004.08.01-3.jpg

Vous avez compris, on peut changer le format de la date pour faire des choses plus conforme à une nomenclature personnalisée, juste un exemple (pas très utile comme résultat mais c'est pour montrer les possibilités):

$ photo_rename.pl --pattern=vacances-%exif_date:CCYY.MM.DD@hh:mm%-%number% img_*.jpg
img_0001.jpg => ./vacances-2004.08.01@14:03-1.jpg
img_0002.jpg => ./vacances-2004.08.01@14:03-2.jpg
img_0003.jpg => ./vacances-2004.08.01@18:57-3.jpg

La dernière variable disponible répond à la problématique "comment empêcher les internautes de voir ma photo copine/img_0002.jpg, sachant qu'il connaisse l'existence de copine/img_0001.jpg ?" (bien sûr, vous avez interdit au serveur Web de lister les contenus des répertoires). Je réponds: "en ajoutant une chaîne de caractère aléatoire".

$ photo_rename.pl --pattern=vacances-%number:1:2%-%rand:10% img_*.jpg
img_0001.jpg => ./vacances-01-yinwj0nj6k.jpg
img_0002.jpg => ./vacances-02-z364egdgig.jpg
img_0003.jpg => ./vacances-03-3a5gpbfafw.jpg

Dans un outil comme PhpWebGallery, si la photo est dans une catégorie privée, cela rend assez difficile l'accès aux photos si l'administrateur en a décidé ainsi.

L'outil est disponible sous GPL, c'est écrit en Perl et c'est auto-documenté (--help). Téléchargement