Manipuler les métadonnées de ses images JPEG

Comme tout photographe le sais, les images contiennent, en plus de ce qui est nécessaire pour les afficher, des métadonnées qui permettent d'avoir des informations sur l'image en question. Ces données peuvent contenir énormément d'informations, par exemple le modèle de l'appareil photo, le temps d'exposition, la version du logiciel de retouche d'images et bien d'autres encore. Nous allons ici nous intéresser à l'édition des métadonnées des images jpeg à l'aide des outils jhead et exif.

Les différents types de données

Les métadonnées les plus connues est sans doute les données EXIF. Ce pendant, ce ne sont pas les seules existantes, et le format jpeg peut contenir plusieurs types de métadonnées simultanément, à savoir :

  • Données EXIF : Extrêmement fréquentes, au point certains utilisent le terme exif pour désigner toutes les métadonnées. Attention, EXIF ne gère que les caractères ASCII, on ne dois donc pas utiliser de caractères spéciaux (caractères accentués, etc).
  • Données XMP : Assez fréquentes, principalement utilisées par les logiciels Adobe (Adobe étant le créateur de XMP). Contrairement à EXIF, XMP permet l'utilisation de caractères spéciaux.
  • Données IPTC : Ancêtre de XMP, les données IPTC ne sont presque plus utilisées aujourd'hui.
  • Un commentaire : Simple texte destiné à commenter l'image, relativement peu utilisé. On y évitera les caractères spéciaux.

Afficher les données

Bien qu'en général l'interface graphique permette en quelques clics d'obtenir les principales données exif, les consulter avec des outils en ligne de commande peut s'avérer utile pour obtenir une liste complète.

Affichage les métadonnées les plus importantes

jhead image.jpg

Liste des tags EXIF

exif -l image.jpg | grep -e '*' -e 'EXIF tags in'

Affichage le contenu du tag EXIF "ISO Speed Ratings"

exif -t "ISO Speed Ratings" toto.jpg

Liste des tags EXIF avec leur valeur associée

file="image.jpg"; for tag in `exif -l "$file" | grep '*' | sed 's/0x[0-9a-f]* //g' | sed 's/  .*//g' | tr ' ' '%'`; do tag=`echo -n $tag | tr '%' ' '`; echo -n "${tag}"; exif -t "$tag" "$file" | grep 'Value' | sed 's/  Value//g'; done;

Modifier le commentaire

Une des fonctionnalités des plus génériques qui soit, un commentaire sur l'image. Un bémol sur le fait que trop peu de logiciels permettent de l'afficher, ne partez surtout pas du principe que, parce que vous voyez les données EXIF (ou autre), alors vous verrez le commentaire. La manière al plus simple d'ajouter un commentaire à une image avec jhead est d'utiliser l'option -ce qui ouvre l'éditeur de texte par défaut et ajoute ce que vous y aurez entré :

jhead -ce image.jpg

Dans le cas où vous avez à insérer régulièrement le même commentaire, vous préférerez sans doute écrire ce commentaire dans un fichier texte externe et dire à jhead d'utiliser le contenu de ce fichier :

jhead -ci commentaire.txt image.jpg

Ajouter un copyright

EXIF propose plusieurs champs dédiés à cet effet :

  • Artist : nom de la personne ayant créé l'image
  • Copyright : informations sur le copyright

Éditons-les avec exif :

exif --tag "Artist" --ifd=0 --set-value="Toto" -o image.jpg image.jpg
exif --tag "Copyright" --ifd=0 --set-value="(c) 2012 Toto - This work is licensed under a CC BY-NC-SA licence" -o image.jpg image.jpg

Il est bon d'indiquer plus d'informations concernant le copyright dans la section de commentaire de l'image.

Supprimer des métadonnées

jhead dispose d'options permettant de supprimer certaines métadonnées :

  • -dc : Supprime le commentaire.
  • -de : Supprime les données EXIF uniquement.
  • -di : Supprime les données IPTC uniquement.
  • -dx : Supprime les données XMP uniquement.
  • -du : Conserve les données EXIF et le commentaire, supprime tout le reste en servant pas au rendu de l'image.
  • -purejpg : Supprime toutes les métadonnées.

Le manuel spécifie bien que l'option -du permet d'enlever toute métadonnée ayant été laissée par un logiciel tiers et je en peux que confirmer cette affirmation. Après test, les métadonnées introduites par mon reflex ont été conservées alors que celles que GIMP à ajouté ont été retirées. Si jamais vous faites partis de ceux qui n'aiment pas payer certains logiciels haut de gamme, vous savez maintenant quoi faire pour éviter de vous faire remarquer...

Un petit script

Parce que nettoyer les métadonnées inutiles et insérer un copyright est assez fastidieux, j'ai écrit un petit script, jece (si vous avez plus d'imagination que moi pour le nom, je suis prenneur), permettant d'automatiser la tâche. Il est à disposition de tous sur github : jece.

Aller plus loin