Intégration des informations EXIF et IPTC dans les images avec Photoshop

Quel photographe n’a pas rêvé d’indiquer automatiquement sur ses photographies les informations EXIF de prise de vue ? Est-ce réalisable avec Photoshop ? Ce guide explore comment insérer simplement des informations EXIF et IPTC sur vos photos à l'aide de scripts Photoshop, compatible avec les versions CS2 et CS3.

Préambule : la programmation de Photoshop

Les scripts, également appelés "actions" dans la palette dédiée, permettent de mémoriser et de réexécuter une succession d'actions utilisateur. Cependant, ces scripts présentent des limites, notamment l'absence de conditions, de paramètres ou la récupération d'informations relatives à une composition. C'est là qu'intervient la fonctionnalité de programmation des scripts de Photoshop.

Photoshop prend en charge plusieurs types de scripts :

  • AppleScript : spécifique aux plateformes Mac.
  • VBScript : spécifique aux plateformes PC sous Windows.
  • Javascript : compatible avec les deux plateformes (extensions .jsx ou .js).

Ce guide se concentrera sur la création de scripts JSX en raison de leur compatibilité multiplateforme. Les scripts JSX peuvent être exécutés via le menu Fichier / Script, soit en les chargeant manuellement via le bouton Parcourir..., soit en les copiant dans le sous-répertoire \Paramètres prédéfinis\Scripts du répertoire d'installation de Photoshop pour une utilisation directe dans des actions enregistrables.

Pour approfondir vos connaissances en programmation Photoshop, consultez le sous-répertoire \Guide des scripts présent dans le répertoire d'installation de Photoshop (nécessite des notions de programmation).

Capture d'écran du menu Fichier > Script dans Photoshop

Insérer EXIFs et IPTC dans vos photographies : méthodologie

L'objectif est de créer des scripts réutilisables pour intégrer des métadonnées dans vos images. Les métadonnées se trouvent dans l'objet info de chaque document ouvert dans Photoshop, ce qui permet de lire les champs EXIF et IPTC.

Insérer les données EXIFs

La lecture des données EXIF peut être complexe. Photoshop offre un accès relativement aisé à ces données via son modèle objet, bien que leur organisation ait évolué entre les versions.

Avec Photoshop CS2 :

Il est possible d'afficher les données EXIF dans une boîte de dialogue en utilisant l'instruction alert en JavaScript. L'information est stockée après un code à 6 chiffres. Par exemple, la sensibilité ISO est stockée après le code 134855. Des fonctions de manipulation de chaînes de caractères permettent d'en extraire les valeurs.

Voici un exemple de code pour récupérer l'ouverture utilisée :

// Lecture des informations EXIF contenues dans l'imagevar header = " 133434 ";for(n = 0; n < DocActif.info.exif.length; n = n + 1 ) { var oTemp = DocActif.info.exif[n][1]; // Ouverture focale if(oTemp.indexOf(" 133437")!=-1) { var exifOuverture = oTemp.substr(header.length,oTemp.length-header.length); }}oTextItem.contents = exifOuverture; // On écrit l'ouverture dans notre calque de texte

Photoshop pré-formate les données EXIF, ce qui simplifie leur lecture. Voici une liste de "marqueurs" EXIF intéressants :

  • 133434 : Durée d’exposition (ex: "1/30 sec")
  • 136867 : Date de prise de vue (nécessite un traitement pour un format utilisable)
  • 100272 : Modèle d’appareil photo utilisé (ex: "Canon EOS 5D")
  • 133437 : Ouverture (ex: "f/4.5")
  • 134855 : Sensibilité ISO
  • 137386 : Longueur focale (ex: "100.0 mm")
  • 137380 : Correction d’exposition (ex: "0.00" ou "-0.33")

Vous pouvez intégrer ces codes dans le morceau de code précédent pour récupérer et formater les informations EXIF selon vos besoins.

Avec Photoshop CS3 :

La gestion des champs EXIF a été modifiée dans CS3. Il a fallu adapter le code et ajouter des fonctions pour simplifier le traitement. Ces fonctions doivent être insérées juste après la déclaration de DocActif et avant les variables utiles.

var exifData = DocActif.info.exif.toString();var exifArray = explodeArray(exifData,",");////////////////////////////////////////////////////////////////////////// Function: explodeArray (credit: Joe Colson)// Usage: creates array of strings from argument item using delimiter as index// Input: string item, delimiter// Return: tempArray, an array of strings from string argument item////////////////////////////////////////////////////////////////////////function explodeArray(item, delimiter) { tempArray = new Array(); var Count = 0; var tempString = new String(item); while (tempString.indexOf(delimiter) > -1) { tempArray[Count] = tempString.substr(0,tempString.indexOf(delimiter)) tempString = tempString.substr(tempString.indexOf(delimiter) + 1, tempString.length - tempString.indexOf(delimiter) + 1) Count = Count + 1 } return tempArray;}// End explodeArray////////////////////////////////////////////////////////////////////////// Function: getArrayString (credit: Joe Colson)// Usage: searches for string searchString// Input: inputArray, searchString// Return: string PREVIOUS "searchString" in array inputArray// Modif Cédric GIRARD (recherche par code et non par appelation de champs)// cause versions multilingues de Photoshop////////////////////////////////////////////////////////////////////////function getArrayString(inputArray,searchString) { for(n = 0; n < inputArray.length; n = n + 1 ) { if(inputArray[n] == searchString) { return inputArray[n - 1]; } }}// End getArrayString

Le code de récupération des valeurs de champs EXIF est plus simple :

var exifOuverture = getArrayString(exifArray, "33437");

Les codes EXIF à utiliser dans CS3 sont les suivants :

  • 33434 : Durée d’exposition
  • 36867 : Date de prise de vue
  • 272 : Modèle d’appareil photo utilisé
  • 33437 : Ouverture
  • 34855 : Sensibilité ISO
  • 37386 : Longueur focale
  • 37380 : Correction d’exposition
Exemple de données EXIF affichées dans Photoshop

Insérer les champs IPTC

La gestion des champs IPTC est plus simple et identique quelle que soit la version de Photoshop, car il s'agit de propriétés directes de l'objet info du document. L'accès est cependant limité à certaines données IPTC.

Dans un script, l'intégration peut se faire ainsi :

oTextItem.contents = DocActif.info.title; // On écrit le titre de la zone IPTC "Etat" dans notre calque de texte

Voici les principaux champs IPTC accessibles (liste non exhaustive, remplacez "title" dans le code) :

  • title : champs "Titre" de la zone "État" (ou "Titre du document").
  • headline : champs "Titre" de la zone "Contenu" (ou "Titre").
  • caption : champs "Description" (ou "Contenu / Légende").
  • instructions : champs "Instructions" (contient souvent les informations de copyright).

Les scripts JSX prêts à l'emploi

Vous pouvez télécharger des scripts JSX prêts à l'emploi pour une intégration facile. Ces scripts peuvent être copiés dans le sous-répertoire \Paramètres prédéfinis\Scripts de votre installation Photoshop.

Disponibles pour CS2 et CS3, ces scripts incluent par exemple :

  • Insertion EXIF complet avec modele APN.jsx : insère le modèle d'appareil et les EXIF (focale, ouverture, vitesse, ISO, correction d'exposition).
  • Insertion EXIF modele APN.jsx : insère uniquement le modèle d'appareil.
  • Insertion EXIF date courte.jsx : insère la date de prise de vue au format court.
  • Insertion EXIF date longue.jsx : insère la date de prise de vue au format long.
  • Insertion IPTC Description.jsx : insère la description IPTC de l'image.
  • Insertion IPTC Instructions.jsx : insère les instructions IPTC (souvent le copyright).
  • Insertion nom du fichier.jsx : insère le nom du fichier actif.

Après avoir copié les fichiers, relancez Photoshop et vérifiez leur présence dans le menu Fichier / Scripts.

Exemple de résultat obtenu avec un script d'insertion de métadonnées

L'utilisation de ces scripts permet d'ajouter rapidement des informations précieuses à vos images, améliorant ainsi leur organisation et leur recherche.

tags: #afficher #nom #image #photoshop

Articles populaires: