Annonce

  •  » Utilisation
  •  » [1.7.0] tags ou étiquettes issues de digikam 0.9.2

#1 2007-09-23 15:32:58

PlisNuX
Membre
2007-09-23
23

[1.7.0] tags ou étiquettes issues de digikam 0.9.2

Bonjour à tous,

Avant toute chose, bravo pour ce logiciel de gestion de photo en ligne !
Je suis un utilisateur depuis bientôt un an et j'ai toujours pu trouver la réponse à mes questions en utilisant un moteur de recherche ou la fonction recherche du forum.
<MyLife>
A l'origine, j'utilisais mapivi pour la gestion des tags IPTC mais il faut reconnaitre qu'il n'est vraiment pas très "user friendly" surtout lorsqu'on a pris l'habitude d'utiliser des logiciels en gtk.
Ensuite ça a été jbrout avec lequel je n'ai pas trop accroché, je me suis senti parfaitement à l'aise sur Digikam .0.9.2 (la version finale).
Je décide de refaire un peu les tags de certaines photos, d'en mettre sur celles qui n'en avait pas, etc...
Je passe le tout à la moulinette bash et admire le résultat dans la version 1.6.2 de PhpWebGallery, et là c'est le "drame"... l'arborescence des tags de digikam sont affichés dans PhpWebGallery.
Je me dit que c'est peut-être à mon ancienne version, et je décide tant qu'a faire à upgrader à la 1.7.0 et de resynchroniser : pas mieux !
</MyLife>

Mon Problème :
je n'ai pas tout compris à la discution, mais je pense avoir ce même problème
Pour retrouver la hiérarchie de ses tags, Digikam les stocks le chemin complet ses étiquettes. Ce n'est pas un bug mais une fonctionnalité ?!
Je vais reprendre le même exemple vu qu'il nous a fait un beau ASCII Art :)

City
    \_Paris [x]
         \_Places
                \_NotreDame [x]
                \_EiffelTower
                \_Trocadero [x]

En cochant "Paris , NotreDame , Trocadero" il va les stocker sous la forme :
"City/Paris" , "City/Paris/Places/NotreDame" , "City/Paris/Places/Trocadero"
DigiKam affichera "correctement" les tags sélectionnés à savoir : "City" , "NotreDame" , "Trocadero" le problème c'est que PhpWebGallery ne le voit pas sous cet angle.

Mes questions :
- Est-ce que c'est prévu par la norme IPTC ou c'est Digikam qui a fait sa sauce pour des raisons propre au fonctionnement du logiciel ?
- D'autres logiciels (sous windows notament) utilisent t'ils cette méthode (c'était pas le cas de mapivi et jbrout sous linux) ?
- Si c'est prévu par la norme, est-ce que les équipes de PhpWebGallery ont prévu d'adapter la synchronisation dans une future version en conséquence ?

- En bonus : Est-ce que quelqu'un a déjà constaté ce problème et l'a contourner dans un script bash ou dans le code php ?

Voila, voila.
J'espère que je ne vais pas avoir à retourner vers mapivi juste pour la gestion des tags ! Il était presque parfait ce DigiKam...

Hors ligne

#2 2007-09-23 22:37:50

galain
Former Piwigo Team
2007-09-20
32

Re: [1.7.0] tags ou étiquettes issues de digikam 0.9.2

Salut

Effectivement je pense que c’est un système propre à DigiKam, afin de pouvoir créer un lien entre leur système d’étiquettes (qui date d'avant que Digikam gère l’IPTC) et les tags IPTC.

Mais tu n’es pas obligé de faire des arborescences avec Digikam. On peut se débrouiller en réglant "conditions pour obtenir une correspondance" avec "ET entre les étiquettes".
On peut alors obtenir la même chose que quand on coche plusieurs tags avec l'option "Tous les tags" dans PhpWebGallery. (ou "n'importe quel" si on choisit "OU" dans Digikam)

Mais si l'arborescence reste très courte, ça peut rester exploitable.

Ceci dit je ne connais pas très bien DigiKam. Celui-ci gère mal l’encodage des caractères pour les données IPTC. Tant que ce problème n’est pas réglé, je préfère ne pas l'utiliser (ça devrait être réglé prochainement. Il existe un patch non-officiel et un patch officiel est en cours de réalisation. Cf ici : http://bugs.kde.org/show_bug.cgi?id=132244 )

Malheureusement, il n'est pas le seul. La plupart des logiciels que j'ai essayé sous Linux ou Windows (Mapivi, Jbrout, Exifer, Xnview...) sont incapables de gérer correctement l’encodage des caractères.
Il me faut utiliser libiptcdata ou exiftool qui fonctionnent très bien. (j'ai vu il y a quelques jours un patch qui permettrait à Jbrout d'utiliser libiptcdata)

Hors ligne

#3 2007-09-24 04:47:46

PlisNuX
Membre
2007-09-23
23

Re: [1.7.0] tags ou étiquettes issues de digikam 0.9.2

C'est bien ce que je pensais... DigiKam a fait un truc de son coté.

Malheureusement, c'est le seul logiciel (sous linux) qui ai les principales fonctions que je recherche.

Je suis en train de terminer un script se basant sur le logiciel "iptc" pour remettre ça comme il faut.
Je le diffuserais ici si ça intéresse du monde.

Hors ligne

#4 2007-09-24 10:26:23

laurent.duretz
Équipe Piwigo
22 France
2004-06-29
693

Re: [1.7.0] tags ou étiquettes issues de digikam 0.9.2

Plusieurs choses.

La norme IPTC limite l'emploi des caractères ASCII non signés. Cela signifie que les caractères accentués, cédilles et autres particularités ne sont pas supportés sans être codés autrement (&eacute; pour un é par exemple). A ce jour, beaucoup d'outils de manipulation d'images ne s'inquiètent pas de cette limitation car ils ne se placent pas dans une logique de partage d'images entre sites/applications mais dans une logique de collection privée d'images.

Pour les problèmes de codage, il me semble que DigiKam signale les caractères non supportés dans certains champs mais ne le fait pas sur tous les champs.

Pour les tags, la norme IPTC considère qu'un tag est une information supplémentaire apportée à une image. Ce n'est donc qu'une chaîne de caractères. Interpréter cette chaîne de caractères comme une arborescence est le choix de chaque application et c'est celui qu'a fait DigiKam.

Enfin, que PWG adopte ce choix à son tour n'a pas été encore mis à l'ordre du jour. Pour donner mon avis, je dirai que s'écarter de la norme IPTC ne devrait pas revenir à PWG. Par contre cela peut peut-être faire l'objet d'un plugin.

Dernière modification par laurent.duretz (2007-09-24 10:27:43)


« Entre Ce que je pense, Ce que je veux dire, Ce que je crois dire, Ce que je dis, Ce que vous avez envie d'entendre, Ce que vous entendez, Ce que vous comprenez... il y a dix possibilités qu'on ait des difficultés à communiquer. Mais essayons quand même... »
[ Bernard Werber ]

Hors ligne

#5 2007-09-24 17:47:31

galain
Former Piwigo Team
2007-09-20
32

Re: [1.7.0] tags ou étiquettes issues de digikam 0.9.2

laurent.duretz a écrit:

La norme IPTC limite l'emploi des caractères ASCII non signés. Cela signifie que les caractères accentués, cédilles et autres particularités ne sont pas supportés sans être codés autrement (&eacute; pour un é par exemple).

Bonjour

Peux-tu préciser sur quoi tu t'appuies pour affirmer cela ? Car d'après pas mal de choses que j'ai lu à ce sujet,  c'est plutôt la croyance que les tags IPTC devraient se limiter l'ASCII  qui est complètement fausse.
Il existe un tag iptc (Coded Character Set, 1:90. Chaptire 5 des spécifications je crois) qui permet de spécifier le jeu de caractère employé. Si on veut utiliser l'UTF-8, on peut très bien (c'est ce que je fais d'ailleurs !)

Le problème vient plutôt du fait que peu de logiciels supportent cette possibilité et préconisent alors de n'utiliser que le ASCII (un désastre pour le français...).
Comme c'est expliqué sur cette page, c'est une des raisons de cette croyance :
http://peccatte.karefil.com/Software/Metadata.htm#IPTC

Le modèle IPTC-NAA permet de coder les champs selon divers jeux de caractères étendus. Les logiciels actuels devraient donc être capables de gérer correctement les accents, les signes diacritiques, etc. Il n'en est rien - si l'on utilise des caractères étendus lors de la saisie des informations dans Photoshop par exemple, ces informations ne sont pas correctement affichées sur une autre plate-forme. Adobe préconise de n'utiliser que l'ASCII 7 bits [ce qui est inacceptable pour beaucoup de langues!] parce que le standard IPTC n'autorise que ce jeu de caractères [ce qui est faux!]

Quelqu'un d'autre explique que ce n'est guère courant en raison de la complexité de la méthode qui, de plus, est mal documentée :
http://www.dgrin.com/archive/index.php/t-25024.html

IPTC does actually support character set encoding. It uses dataset 1:90 (Coded Character Set) to identify the encoding. Unfortunately it's not widely used because it employs a rather complex system (ISO 2022 control sequences) that is confusing documented. Some libraries do already have support for it (libiptc, possibly ImageMagick) and I suspect PHP's image functions do, or if not should soon. The most common implementation is that IPTC capable apps write Latin-1 or MacRoman encodings but generally without setting 1:90. UTF-8 capable IPTC apps set 1:90 (to ESC%G / hex 1B2547

Mis à part libiptc, il y a l'excellent exiftool (écrit en perl)
L'auteur de ce programme parle de ce sujet ici et dit comment bien renseigner ce champ pour utiliser l'UTF8 : http://www.cpanforum.com/threads/2114

Il y a aussi une longue discussion dans le lien que j'ai donné à propos du bug de Digikam (qui devrait être prochainement réglé je l'espère). L'auteur de XnView a parlé également de faire des corrections, mais depuis longtemps déjà.

Dernière modification par galain (2007-09-24 17:52:10)

Hors ligne

#6 2007-09-25 00:35:36

PlisNuX
Membre
2007-09-23
23

Re: [1.7.0] tags ou étiquettes issues de digikam 0.9.2

Voilà, je ne suis pas un scripteur né, mais j'ai le résultat attendu après quelques maux de têtes avec les awk-howto :)
Edit 2 : il fallait bien entendu lire maux et non mots...


AVERTISSEMENT !
Comme avec tous scripts non testé pleinement, ne travaillez pas avec vos photos originales !


j'ai utilisé "iptc" pour faire le script, mais c'est sûrement adaptable à Exif2 et autres Exif-tools...
je le modifierais en fonction des avantages de chaqu'un et de mes limites en matière de scripting.

Edit : Le program "iptc" est dans le paquet debian/*buntu : libiptcdata-bin - Library to parse IPTC metadata (programs)

Au début, les tags ressemblent à ça :

Code:

iptc DSC03122.JPG | grep Keywords
 2:025:00 Keywords             String      12  Art/Statues
 2:025:01 Keywords             String      13  Architecture
 2:025:02 Keywords             String      22  Architecture/Chateaux
 2:025:03 Keywords             String      28  Lieux/Chateau de Versailles

je génère avec awk des lignes à exécuter dans un fichier temporaire  que j'exécute ensuite :

Code:

iptc ./test/DSC03122.JPG | grep '2:025' | awk -F/ 'BEGIN{print"#!/bin/bash"} split ($1, kw, " ") {if ($0 ~ /\//) print "iptc --modify=" kw[1],"-v","\"" $NF "\"","$1"}' > ./test/DSC03122.JPG.iptc

chmod +x ./test/DSC03122.JPG.iptc
sh ./test/DSC03122.JPG.iptc ./test/DSC03122.JPG

contenu du fichier de commande awk génère :

Code:

cat ./test/DSC03122.JPG.iptc

#!/bin/bash
iptc --modify=2:025:00 -v "Statues" $1
iptc --modify=2:025:02 -v "Chateaux" $1
iptc --modify=2:025:03 -v "Chateau de Versailles" $1

On vérifie le résultat :

Code:

iptc DSC03122.JPG | grep Keywords
 2:025:00 Keywords             String       7  Statues
 2:025:01 Keywords             String      13  Architecture
 2:025:02 Keywords             String       8  Chateaux
 2:025:03 Keywords             String      21  Chateau de Versailles

C'est lourd comme procédure mais je suis loin d'être un expert, et puis _ça marche chez moi_

Le code ajoué dans PhpWebGallery pour que celà soit fait avant la création de la galerie :

Attention mon script se base sur une ancienne version de se script que j'ai modifié, les variables ont peut-être changé depuis !
De plus, si vous changez les variables, faites attention à ne pas toucher à vos photos originales.

Code:

iptc "$GALLERY_PATH/$GALERY_NAME/$new_name" | grep '2:025' | awk -F/ 'BEGIN{print"#!/bin/bash"} split ($1, kw, " ") {if ($0 ~ /\//) print "iptc --modify=" kw[1],"-v","\"" $NF "\"","$1"}' > "$GALLERY_PATH/$GALERY_NAME/$new_name.iptc"

chmod +x "$GALLERY_PATH/$GALERY_NAME/$new_name.iptc"
sh "./$GALLERY_PATH/$GALERY_NAME/$new_name.iptc" "$GALLERY_PATH/$GALERY_NAME/$new_name"
rm -f "$GALLERY_PATH/$GALERY_NAME/$new_name.iptc"

Si j'ai le temps, je vais essayer de faire un truc moins cochon et me basant sur la dernière version de PhpWebGallery.

Dernière modification par PlisNuX (2007-09-25 10:00:59)

Hors ligne

#7 2007-09-25 09:35:01

laurent.duretz
Équipe Piwigo
22 France
2004-06-29
693

Re: [1.7.0] tags ou étiquettes issues de digikam 0.9.2

galain a écrit:

laurent.duretz a écrit:

La norme IPTC limite l'emploi des caractères ASCII non signés. Cela signifie que les caractères accentués, cédilles et autres particularités ne sont pas supportés sans être codés autrement (&eacute; pour un é par exemple).

Bonjour

Peux-tu préciser sur quoi tu t'appuies pour affirmer cela ? Car d'après pas mal de choses que j'ai lu à ce sujet,  c'est plutôt la croyance que les tags IPTC devraient se limiter l'ASCII  qui est complètement fausse.
Il existe un tag iptc (Coded Character Set, 1:90. Chaptire 5 des spécifications je crois) qui permet de spécifier le jeu de caractère employé. Si on veut utiliser l'UTF-8, on peut très bien (c'est ce que je fais d'ailleurs !)

Effectivement, je me suis prononcé un peu trop tôt et mes sources étaient incorrectes.

Il existe un champ IPTC permettant de définir le jeu de caractères.

Dernière modification par laurent.duretz (2007-09-25 09:35:21)


« Entre Ce que je pense, Ce que je veux dire, Ce que je crois dire, Ce que je dis, Ce que vous avez envie d'entendre, Ce que vous entendez, Ce que vous comprenez... il y a dix possibilités qu'on ait des difficultés à communiquer. Mais essayons quand même... »
[ Bernard Werber ]

Hors ligne

#8 2008-01-07 05:04:29

PlisNuX
Membre
2007-09-23
23

Re: [1.7.0] tags ou étiquettes issues de digikam 0.9.2

Le script a été modifié, et aujourd'hui, j'utilise exiftool.
Pour ce post : http://forum.phpwebgallery.net/viewtopi … 202#p79202

Hors ligne

#9 2008-09-11 23:48:57

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12644

Re: [1.7.0] tags ou étiquettes issues de digikam 0.9.2

Topic très intéressant, désolé de ne pas l'avoir vu...

PlisNuX, Digikam gère les tags de façon hierarchique, c'est un choix que n'a pas fait PhpWebGallery car nous avons déjà les catégories qui sont très puissantes et déjà hierarchisées. Dans PhpWebGallery, les tags sont une classification plane. Il y a donc en effet un choix à faire entre :

1. synchroniser les tags Digikam avec les catégories PhpWebGallery pour reproduire la hierarchie
2. ne récupérer que le dernier niveau de tag Digikam pour le stocker en tant que tag PhpWebGallery

Dans toute la discussion, ne vois que la solution 2 qui a été envisagée. C'est un peu dommage :-) A moins que tu affectionnes particulièrement le mode de navigation que propose les tags (et c'est vrai que moi aussi j'aime bien, ça correspond très exactement à l'idée que je me fais des tags)


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#10 2008-09-18 23:14:31

PlisNuX
Membre
2007-09-23
23

Re: [1.7.0] tags ou étiquettes issues de digikam 0.9.2

z0rglub a écrit:

Topic très intéressant, désolé de ne pas l'avoir vu...

PlisNuX, Digikam gère les tags de façon hierarchique, c'est un choix que n'a pas fait PhpWebGallery car nous avons déjà les catégories qui sont très puissantes et déjà hierarchisées. Dans PhpWebGallery, les tags sont une classification plane. Il y a donc en effet un choix à faire entre :

1. synchroniser les tags Digikam avec les catégories PhpWebGallery pour reproduire la hierarchie
2. ne récupérer que le dernier niveau de tag Digikam pour le stocker en tant que tag PhpWebGallery

Dans toute la discussion, ne vois que la solution 2 qui a été envisagée. C'est un peu dommage :-) A moins que tu affectionnes particulièrement le mode de navigation que propose les tags (et c'est vrai que moi aussi j'aime bien, ça correspond très exactement à l'idée que je me fais des tags)

Salut z0rglub,

Je ne vois pas comment mettre en place ta solution N°1.
Peux-tu m'en dire un peu plus ?

Personnellement, j'ai limité les ajouts d'infos IPTC sur les photos de ma galerie en attendant la version stable 0.10 de digikam qui utilisera XMP et sortira peut-être en même temps que la version stable de Piwigo? :)

Hors ligne

  •  » Utilisation
  •  » [1.7.0] tags ou étiquettes issues de digikam 0.9.2

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact