Export Métadonnées DT dans JPG avec tags IPTC

Bonjour,
Utilisateur depuis de nombreuses années de Lightroom, j’essaye depuis quelques semaines de transférer mon flux de travail photos vers Darktable (sous Windows). Pas trop de problème au niveau traitement des photos, je découvre même des modules très puissants, par contre je tombe sur un os au niveau des méta.

En résumé mon flux ‹ avant › était
Importation de RAW ou JPEG dans LR, Sélection des meilleurs photos (étoiles ou labels couleurs), rangement dans des collections, Géotag optionnel, traitement/améliorations, tagguage, ajout de titre et légende, export en JPG (dans un service cloud). Dans Wordpress (mon site est sous WP, vous savez le CMS qui fait tourner 40% du Web!), import des photos dans la bibliothèque de médias, création d’article avec galeries contenant des photos de la bibliothèques. Je précise cela, car l’importation des photos dans Wordpress récupère automatiquement le Titre et la légende des photos si ceux-ci sont dans les tags IPTC Headline et IPTC Caption…et Lightroom créé bien ses tags IPTC quand on les renseigne et que l’on exporte les photos.

Avec mes premiers essais d’export depuis DT2.4.0, je viens de m’apercevoir que ne recupèrait aucun texte/legende sous WP. J’ai donc regardé avec XNView ce qu’exporte DT et où.
Le Tag DT ‹ Description › dans un tag EXIF ‹ Description de l’image › créé par DT
Le Tag DT ‹ Titre › n’est pas créé en EXIF (?)
Le Tag DT ‹ Auteur › est créé en EXIF
Le Tag DT ‹ Droit › est créé en EXIF
Je n’ai pas trouvé le tag Diffuseur.
Bref, rien en IPTC!

Je n’ai rien trouvé dans les parametres DT pour configurer l’export IPTC.
Mes questions:
-Quelqu’un a t-il déjà traité ce problème?
-Y aurait t’il un moyen de configurer cela via des fichiers de configuration ou des parametres de lancement de DT.
-Sinon une autre méthode simple… Je sais qu’il existe un outil magique exiftool, mais cela m’obligerai a passer par un export local, et de plus je n’ai pas trouvé d’exemple asses précis de copie de tag vers autre tag.

Merci d’avance pour voter aide.

Oui, effectivement et la réponse est simple darktable ne gère pas l’IPTC pour le moment. Et visiblement WP ne gère pas les exifs, c’est ça?

Un script LUA à l’export ?

Il y a des plugins WP qui permettent d’afficher certains EXIF (Vitesse, focales…) mais le module d’import de la bibliothèque, non, c’est IPTC ou rien (c’est d’ailleurs un standard en terme de publication)
C’est un peu étonnant car je suis tombé sur des demandes dans ce sens qui datent de plus de 5 ans https://redmine.darktable.org/issues/8698
Bien dommage :s
[hr]

C’est quoi?

http://www.darktable.org/usermanual/fr/lua_chapter.html

Merci pour le tuyau. Par contre, je suis bien incapable d’écrire moi même un tel script.
J’ai donc cherché un peu et trouvé dans les paquets de script LUA un script dont le fonctionnel semble très proche de mon besoin https://github.com/chrik5/lua-scripts/tree/exiftool/contrib , le script https://github.com/chrik5/lua-scripts/blob/exiftool/contrib/exiftool_export.lua

Par contre, ca ne marche pas.
J’ai copié comme indiqué le paquet de scripts dans

%LOCALAPPDATA%\darktable\lua

et créé un fichier

%LOCALAPPDATA%\darktable\luarc

dans lequel j’ai ajouté une ligne

require "contrib/exiftool_export"

pour activer le script exiftool_export.lua
J’ai copié le binaire exiftool pour windows dans C:\Windows et également vérifié que je pouvais bien lancer exiftool depuis l’invite de commande.
Malheureusement même après avoir fermé et relancé DT, je n’ai aucune nouvelle option dans ou en dessous de module exporter sélection.

J’ai du rater une étape, mais je ne vois pas laquelle…

As-tu essayé dans luarc :

require "exiftool_export"

en mettant exiftool_export directement dans %LOCALAPPDATA%\darktable\lua (pas dans un sous-dossier de lua)

Autre suggestion, rajoute dans luarc :

require "yield"

Et place yield.lua dans %LOCALAPPDATA%\darktable\lua

Je viens d’essayer, ca ne change rien. Pour info, le fichier est encodé en UTF8, c’est bon? J’ai essayé en ANSI c’est pas mieux.

UTF8 c’est bon.

As-tu LUA sur ton Windows ? Dans les préférences de DT, vois-tu tout à droite « options lua » ?

Si non… http://lua-users.org/wiki/LuaBinaries

Fait. Aucune différence.
Par contre j’ai essayé avec Hello World, et là j’ai bien un PopUp ‹ Hello World › qui s’ouvre au lancement de DT.
[hr]

Non. La doc http://www.darktable.org/usermanual/fr/lua_chapter.html ne parle pas d’installation.
Je vais l’installer.

Bon si tu as « Hello World », c’est que LUA est bien sur ta machine, je vois pas autrement.

J’ai mis exiftool_export sur ma machine Ubuntu, selon la méthode que je t’ai prescrite et j’ai bien l’option apparue dans la table lumineuse, sous « exporter sélection ».

Je ne comprend pas comment installer LUA pour Windows. Il y a plein de binaires différents mais pas d’installeur. Si je prend juste la DLL lua53.dll, je l’a copie ou?
Peut être que LUA n’est pas supporté ou pas entièrement supporté dans la version Windows 2.4 de DT.
En tout cas, je n’ai pas d’options LUA dans les préférences générales de DT

Y’a pas un mode debug?
[hr]

Je viens de vérifier, il y a bien un fichier C:\Program Files\darktable\bin\lua53.dll
Donc normalement LUA est inclus avec DT

Comme je l’écrivais, si « Hello World » s’est affiché, ça doit être que LUA est fonctionnel sur la machine, je ne vois pas autrement…

Pour le mode debug de DT, c’est normalement darktable -d lua (pour debugger LUA), mais de ce que j’en ai constaté, ça n’avait pas l’air d’être implémenté sur Windows…

Puisque tu as Hello World ! Lua doit être installé correctement.

As-tu essayé en ligne de commande « darktable -d lua » pour voir s’il n’y a pas un message quelconque ?

Salut,
Je viens de tester avec ubuntu, pas de pb. En revanche avec windows, pas de menu pour l’export …

Merci pour le test, cela confirme mon constat
[hr]

Oui. Sous windows, rien de particulier, ca lance Darktable normalement (du moins en apparence).

Plusieurs pistes :

  • Est-ce que le fichier que tu as importé s’appelle bien exiftool_export.lua ?

  • Si tu as importé à partir du lien Github, as tu bien cliqué sur le bouton raw en haut à droite, avant de faire le copier/coller ?

  • En utilisant un éditeur de texte genre notepad++ par exemple, peux-tu insérer une ligne
    print(« Hello World ! ») dans le script à la ligne 49 ou 50, par exemple, puis voir si le message s’affiche dans DT ? Si ça fonctionne déplace la ligne un peu plus loin. Vers la ligne 75 et 120 par exemple

D’abord, merci d’essayer de résoudre mon pb :wink:

Oui mon fichier s’appelle bien exiftool_export.lua, mais 'importé n’est pas le terme que j’emploirait.

Non, je suis sous windows donc je n’ai pas de apt-get ou autre pour récupérer directement les fichiers
Je suis allé sur ce lien https://github.com/chrik5/lua-scripts/tree/exiftool
J’ai cliqué sur le bouton vert ‹ Clone or Download ›, puis Download ZIP
J’ai donc récupéré sur ma machine un fichier de 102k lua-scripts-exiftool.zip, je l’ai dézippé puis j’ai copié tous les fichiers dans [size=small][font=Monaco, Consolas, Courier, monospace]%LOCALAPPDATA%\darktable\lua[/font][/size]
[font=Arial][size=small]Ensuite, sur les conseils de manu, j’ai recopié le script qui m’interesse (exiftool_export.lua) du sous-répertoire Contrib vers le répertoire lua.[/size][/font]

[font=Arial][size=small]Je viens de réaliser ce test[/size][/font]

[font=Arial][size=small]D’abord, si je fais print(« Hello World ! »), je n’ai rien.[/size][/font]
[font=Arial][size=small]Par contre si le fait [/size][/font][color=#339933]dt[/color][font=Arial][size=small].print(« Hello World ! »), j’ai :[/size][/font]
[font=Arial][size=small]En ligne 49, ca marche ! :slight_smile: [/size][/font]
[font=Arial][size=small]En ligne 75, Nada ! :huh: [/size][/font]
[font=Arial][size=small]En ligne 120, re Nada ! :frowning: [/size][/font]

[font=Arial][size=small]Je ne sais pas trop ce que ca signifie, j’imagine que le script se plante avant la ligne 75 (mais que sous Windows!)[/size][/font]

[font=Arial][size=small]Euh ca veut pas dire que LUA n’est pas indépendant de l’OS?[/size][/font]

ou que le script fait des suppositions sur le format de chemin de fichier qui est différent entre les OS. \ vs /, espace dans le chemin, des caractères interdits… on n’est jamais 100% indépendant de l’OS dès que l’on accède à des ressources.

Je ne vous aucun chemin ni / ou \ dans le script. Il ne fait que 165 lignes.