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
Hors ligne
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 !!
Hors ligne
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.
Hors ligne
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 ?
Hors ligne
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: [Forum, topic 16475] Petit coup de main pour du code PHP
Hors ligne
$tags = explode(',', "ardèche,nuit,lavoir,bsa,bourg saint andéol"); $s = ''; foreach ($tags as $tag) { $s .= '-IPTC:Keywords="'.$tags.'" '; }
Hors ligne
@Nicolas, on va continuer sur le sujet plus technique afin de ne pas rentrer dans le détail içi.
Merci pour ton aide.
=> [Forum, topic 16475] Petit coup de main pour du code PHP
Hors ligne
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)
Hors ligne
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) => [Forum, topic 16475] Petit coup de main pour du code PHP
;-)
Hors ligne
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.
Hors ligne
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.
Hors ligne