extension:292
Eric B a écrit:
Maintenant que j arrive presque correctement à afficher et synchroniser les metadonnées IPTC, je me demande s il serait possible de faire dans l autre sens, cad de la DB vers les fichiers jpg, typiquement écrire le champ "comment" des IPTC, tout en ne touchant pas au reste (exif, makernotes, xmp, reste des IPTC, etc intouchées).
Si c est pas possible par un script php, pourrait on envisager l usage de exiftool pour ceci, cad générer un fichier batch appellant exiftool set iptc:comment <contenu de la image.comment> <fichier img>, à voir la structure exiftool
Bonjour,
Avec quel plugin, j'en suis au début et une chose importante que je veux faire. Merci.
Bien que j avais bien avancé ds le dev du plugin, je ne l ai jamais vraiment utiliser à grande échelle car j ai tjs eu des soucis d encoding des caractères sur certains fichiers seulement.
Plusieurs pbs qui avaient freiner ma démarche:
1) PHP en ne gère PAS l'unicode nativement. C'est mon principal grief. Il faut ruser pour ce que l on veut: http://www.phpwact.org/php/i18n/utf-8
A cause de cela, L export de données qui sont en UTF8 à la source (DB) n est pas garanti
2) la ligne de commande cmd.exe sous Windows est bien limitée aussi.
Sur ce dernier point, il faut bien faire attention à la police de caractère active (ne PAS utiliser "raster" qui est le truc par défaut mais qqch type Lucida Console), et au code page. Si on veut de l'utf8 en sortie, chcp 65001 est nécessaire
Notez que si vous n utilisez que le latin1 / ISO 8859-1, ces pbs de devraient pas apparaitre.
[rappel technique] caractères historiquement encodés sur 7bits (ASCII, de l epoque d unix et du C). Suivant les régions, il y a des extensions pour un codage sur 8 bits, par ex le latin1 en Europe de l ouest pour les accents & co. Les caractères cyrilliques ou asiatiques utilisent d autres encodages, d'où un pb d interopérabilité si on veut un systeme universel.
Ce que l on appelle Unicode est en général l UTF16, codant tout sous 16bits -> gaspillage de place.
L UTF8 est un meilleur compromis: encodage extensible sur 1 à 4 octets, cad 8 à 32bits. On peut coder tous les caractères existants, et avec seulement 8 bits occupés pour les caractères n en demandant pas plus.
Merci Eric B de passer ^^
Pour la technique, j'ai migré dans l'autre sujet. Mais tu verras, y a du progrès. Je n'ai plus eu de problèmes avec mes accents. Ils proviennent de photos traitées soit avec Lightroom soit avec XnView. En gros, avec la dernière monture de exiftool, le paramètre -L et l'UTF-8 ne sont pas à ajouter dans le batch. Moyennant quoi, j'ai eu des résultats parfaits.
Maintenant c'est plus une bricole (CF mon dernier message sur le sujet technique) => topic:16475
;-)
Tu t en sors?
Je dois avouer que j ai le maintien des caractères accentuées reste parfois un mystère.
AMHO, il faudrait éviter le passage par la ligne de commande de Windows qui doit interpréter le texte enregistré ds le .bat. Cette interprétation est parfois problématique.
Et même à la source, je ne comprends pas pq le fichier généré par le script prend bien les caractères ds certains cas et pas ds d autres, j ai sans doute des fichiers jpg avec des exif enregistrés de facon différentes (tantôt unicode, tantôt latin-1)
@Nicolas, on va continuer sur le sujet plus technique afin de ne pas rentrer dans le détail içi.
Merci pour ton aide.
=> topic:16475
$tags = explode(',', "ardèche,nuit,lavoir,bsa,bourg saint andéol"); $s = ''; foreach ($tags as $tag) { $s .= '-IPTC:Keywords="'.$tags.'" '; }
Le plugin Tags2Files récupère les données contenues la BDD pour ensuite écrire un fichier batch.
Je vais te l'expliquer avec des détails dans l'autre sujet que je viens d'ouvrir: topic:16475
Quel est le contexte ?
D'où vient -IPTC:Keywords="ardèche,nuit,lavoir,bsa,bourg saint andéol" ?
Si la variable de base contient l'ensemble des mots clés c'est facile et si c'est un tableau c'est encore plus facile. Quel est le cas ?
Bon bah voilà, j'ai trouvé le point litigieux.
Au lieu que le batch contienne l'élément suivant :
-IPTC:Keywords="ardèche,nuit,lavoir,bsa,bourg saint andéol"
Il faut qu'il soit écrit de la manière suivante :
-IPTC:Keywords="ardèche" -IPTC:Keywords="nuit" -IPTC:Keywords="lavoir" -IPTC:Keywords="bsa" -IPTC:Keywords="bourg saint andéol"
Donc chaque mot clé doit être précédé de la commande -IPTC:Keywords=
Là, ça implique de mettre la main dans le code :-/
J'ai besoin d'aide pour faire fonctionner ce plugin correctement ! Merci.
Je progresse encore !
Les caractères accentués sont maintenant pris en compte ! Il fallait que je mette à jour exiftool tout simple.
Par contre, les tags apparaissent ardèche,nuit,lavoir,bsa,bourg saint andéol soit un seul bloc.
Mais je progresse !!
Ca y est, après un long moment à comprendre, il suffisait de ne pas mettre d'espaces dans les chemins et ne pas ajouter les guillemets.
Bon... ça progresse. C'est déjà super !
Mais... ça ne fonctionne pas au niveau des caractères accentués. J'ai essayé en UTF-8 et en ANSI-Latin mais ça me détériore toujours mes accents une fois dans la photo. Pourtant, j'utilise exiftool.exe
Je remonte le sujet car je n'arrive toujours pas à faire fonctionner le plugin Tags2File.
Besoin d'un coup de main Eric B.
euh, à moins d'avoir un accès complet au serveur (ce qui n est pas le cas chez free), le plugin est plutot pensé pour une utilisation locale: les fichiers image doivent être accessible par l outil, cad sur ton HDD et non sur le serveur! Ainsi, le script va "se contenter" de marquer le chemin de chq fichier et d affecter les tags à ce fichier via l outil choisi (par ex exiftool).
je ne comprends pas trop d ou peut venir la différence d tags2file vs tag2file, ceci n apparait pas chez moi (test en local uniquement).
Teste en cours mais je suis bien vite arrêté :'(
J'ai toujours ce message:
Invalid URL - plugin Tags2File not active
L'url en question est la suivante:
http://imageairsoft.free.fr/Galerie/admin.php?page=plugin§ion=Tags2File%2Fdb_export_image_metadata.php
Ma configuration est en pièce jointe.
Merci :-)
[EDIT]
Je crois savoir d'où vient le problème. Dans l'url, il est indiqué "Tags2File" alors que la page de gestion (CF ma capture) c'est "Tag2File". Il y a donc un "s" qui traîne (ou pas) au mauvais endroit ;)