#1 2019-09-19 08:28:14

dmfisch
Membre
2019-09-02
5

mandat pour plugin: lecture XMP metadata rating pour classement

Bonjour,
J'ai besoin d'une fonctionnalité et suis disposé à rémunérer la création d'un plugin, à mettre ensuite à la disposition de tous!

Je rêve d'avoir le classement "étoiles" XMP rating des photos apparaitre dans piwigo
Ainsi le classement effectué lors du tri apparait dans la photothèque en ligne

Cela n'a pas besoin d'interagir avec le classement piwigo, mais doit être recherchable

ce système est employé par entre autres adobe lightroom et Photoshop et Canon?

ce défi a été abordé en anglais dans https://piwigo.org/forum/viewtopic.php?id=29173

Merci à tous pour votre attention!

David

    Piwigo 2.9.5
    Système d'exploitation: Linux
    PHP: 7.3.8
    MySQL: 5.6.33-log
    Bibliothèque graphique: ImageMagick 6.8.9-9

Hors ligne

#2 2019-09-19 09:14:25

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
14704

Re: mandat pour plugin: lecture XMP metadata rating pour classement

Bonjour,

pour ceux qui ne maitrise pas bien l'anglais tu peux faire une petite explication en français ?


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#3 2019-09-19 10:47:18

dmfisch
Membre
2019-09-02
5

Re: mandat pour plugin: lecture XMP metadata rating pour classement

Je traduis ci-après les interventions du fil suivant:
https://piwigo.org/forum/viewtopic.php?id=29173

executive 2019-03-23 09:17:12

executive a écrit:

Je souhaite développer une manière de importer le classement étoilé d'adobe lightroom dans piwigo. Je n'ai pas encore décidé si je veux convertir ce classement en mots-clefs génériques, ou si je veux / peu l'intégrer avec le système de classement propre à piwigo.

Ce classement est écrit comme une valeur entière (integer value) dans le champ *rating". Ce champ fait partie des métadonnées XMP incorporées aux images. Le standard XMP (eXtensible Metadata Platform) est une norme open publiées par adobe en 2012 et semble être menée à succéder à l'IPTC.

Jusqu'ici, en employant tools/metadata.php, je ne suis pas capable de lire ces données XMP dans Piwigo.
-Exiftool peu lire et écrire des données XMP
-ImageMagick peu seulement lire des données XMP

Commande ImageMagick:

Code:

Code:

convert -ping sample-rating.jpg xmp:-

<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 11.11'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>

 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Rating>3</xmp:Rating>
 </rdf:Description>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end='w'?>

executive a écrit:

Plus de recherche nécessaire...
En tout cas, avant que je m'y plonge complètement, je voulais en faire part pour voir si quelqu'un d'autre avait essayé, ou si des bribes de code existaient déjà.
Salutations
Dernière modification par executive (2019-03-23 11:57:10)

executive 2019-03-23 22:33:38

executive a écrit:

L'[extension by grum] Advanced Metadata indique pouvoir lire ces données XMP, malheureusement elle date d'il y a 7 ans et est incompatible avec Piwigo >2.4
J'ai essayé de la copier dans Piwigo, mais je n'ai pas pu l'activer:
Parse error: Invalid numeric literal in ........./plugins/AMetaData/JpegMetaData/TagDefinitions/IptcTags.class.php on line 2184

Code:

static function attributesLabel($attributeCode)
    {
      if(is_string($attributeCode))
      {
        @$attributeCode=(int)$attributeCode;
      }

      switch($attributeCode)
      {
        case 001: $returned="Current"; break;
        case 002: $returned="Analysis"; break;
        case 003: $returned="Archive material"; break;
        case 004: $returned="Background"; break;
        case 005: $returned="Feature"; break;
        case 006: $returned="Forecast"; break;
        case 007: $returned="History"; break;
>        case 008: $returned="Obituary"; break;
        case 009: $returned="Opinion"; break;
        case 010: $returned="Polls & Surveys"; break;
        case 011: $returned="Profile"; break;
        case 012: $returned="Results Listings & Tables"; break;
        case 013: $returned="Side bar & Supporting information"; break;
        case 014: $returned="Summary"; break;
        case 015: $returned="Transcript & Verbatim"; break;
        case 016: $returned="Interview"; break;
        case 017: $returned="From the Scene"; break;
        case 018: $returned="Retrospective"; break;
        case 019: $returned="Statistics"; break;
        case 020: $returned="Update"; break;
        case 021: $returned="Wrap-up"; break;
        case 022: $returned="Press Release"; break;
        default:
          $returned="unknown code ".$attributeCode;
          break;
      }
      return($returned);
    }

erAck 2019-03-23 22:44:34

erAck a écrit:

Ma simple hypothèse: les valeurs numérique avec des zéro non significatif sont considérées comme des nombres octal, où 008 n'est pas valable, Essaye de supprimer tout les zéro non significatif

executive 2019-03-23 23:21:04

executive a écrit:

Cool, j'ai supprimé les zéro non significatif. j'ai des avertissements mais le plugin s'est activé:

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; StringReader has a deprecated constructor in .../plugins/AMetaData/JpegMetaData/External/php-gettext/streams.php on line 48

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; FileReader has a deprecated constructor in .../plugins/AMetaData/JpegMetaData/External/php-gettext/streams.php on line 84

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; CachedFileReader has a deprecated constructor in .../plugins/AMetaData/JpegMetaData/External/php-gettext/streams.php on line 145

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; gettext_reader has a deprecated constructor in .../plugins/AMetaData/JpegMetaData/External/php-gettext/gettext.php on line 36

Warning: Cannot modify header information - headers already sent by (output started at .../plugins/AMetaData/JpegMetaData/External/php-gettext/streams.php:48) in .../include/page_header.php on line 101

executive 2019-03-23 23:28:20

executive a écrit:

J'ai passé le plug-in en mode avancé pour voir toute les metadonnées, mais à présent j'ai une erreur:
Fatal error: Uncaught Error: Call to undefined function trigger_action() in .../plugins/AMetaData/amd_pip.class.inc.php:97 Stack trace: #0 .../include/functions_plugins.inc.php(279): AMD_PIP->loadMetadata() #1 .../picture.php(152): trigger_notify('loc_begin_pictu...') #2 {main} thrown in .../plugins/AMetaData/amd_pip.class.inc.php on line 97

Code:

trigger_action('amd_jpegMD_loaded', $this->jpegMD);

executive 2019-03-24 01:13:05

executive a écrit:

Le plugin unclus une page test PHP, et il a pu afficher le tag XMP rating de mon image tes
A parcourir le code, il me semble que ce procédé se passe à un bas niveau.
sans recourir à de fonctions PHP ni des extensions, Maitriser ce code semble complexe


Images attachées

Hors ligne

#4 2019-09-19 11:23:24

dmfisch
Membre
2019-09-02
5

Re: mandat pour plugin: lecture XMP metadata rating pour classement

suite des traductions du fil suivant:
https://piwigo.org/forum/viewtopic.php?id=29173

eliz82 2019-03-25 11:56:26

eliz82 a écrit:

Si tu as exiftool installé sur ton serveur web, importer les données xmp en mots-clef piwigo devrait être une tâche aisée:

inject data from exiftool output to piwigo exif data array
https://piwigo.org/forum/viewtopic.php? … 79#p169579

you need to modify my example for the exiftool command line to read the xmp
https://stackoverflow.com/a/26976859/4481831

then import the data from exif to tags/keywords using the normal method
http://piwigo.org/forum/viewtopic.php?id=28203

Si tu m’envoie une image échantillon avec des xmp je peu faire des essais

executive 2019-03-25 19:56:08

executive a écrit:

Je pense pas que mon hébergement autorise les appels (calls) exec, mais je vais essayer, Merci.
voila une image

executive 2019-03-25 23:43:48

executive a écrit:

J'ai découvert que j'ai la possibilité d'activer shell_exec en activant all functions dans php.ini (disable_functions = "").
J'ai pu afficher la sortie d'exiftool dans un script de test PHP

Quoi qu'il en soit, cela (activer shell_exec) me semble être une mauvaise idée

eliz82 2019-04-01 19:49:18

eliz82 a écrit:

J'ai eu un peu de temps aujourd'hui et ai fait quelque test selon mon dernier billet:
Plugin personnel

Code:

add_event_handler('format_exif_data', 'ir_format_exif_data');

function ir_format_exif_data($exif, $filepath) {
  if (!function_exists('shell_exec')) { //check if function is not available
    die('shell_exec is disabled. check php.ini');
  }
  $output = shell_exec('exiftool -g -json -xmp:all "'.$filepath.'"'); //execute external and get the response to variable
  $exiftool_metadata = json_decode($output, true); //convert json to array
  if (isset($exiftool_metadata[0]['XMP'])) { //if XMP data exist
    $exif['XMP'] = $exiftool_metadata[0]['XMP']; //add exiftool_exif to php_exif
  }
  //print('<pre>'.print_r($exif,true).'</pre>'); //debug, help for exif configuration
  return $exif;
}

local config

Code:

$conf['show_exif_fields'] = array(
  'Make',
  'Model',
  'DateTimeOriginal',
  'COMPUTED;ApertureFNumber',
  'XMP;Rating'
  );

$lang['exif_field_Rating'] = 'XMP Rating'; //demo how to change a field name

$conf['use_exif_mapping'] = array(
  'date_creation'        => 'DateTimeOriginal',
  'tags'                 => 'XMP;Rating'
  );

eliz82 a écrit:

Le classement  XMP s'est affiché avec succès et été importé comme tags (à l'upload comme à la re-synchronisation)

executive 2019-04-01 20:18:46

executive a écrit:

Joli! Je travaille sur un nouveau plugin qui emploie imagemagick

dmfisch 2019-09-02 10:46:46

dmfisch a écrit:

Bonjour,
J'ai découvert Piwigo et l'ai installé hier soir,
merci pour votre intérêt dans ce sujet de classement.
Je suis très intéressé par cette fonction, je sui inv^capable de faire du code, mais je suis disponible pour des test et la fourniture de logs.
Vu que j'emploie cette photothèque pour mon activité de photographe professionnel, c'est avec plaisir que j’ai fait une donation à Piwigo, et serais content de mandater quelqu'un et le/la rémunérer pour développer un plugin que toue le monde pourra employer.
Mon souhait est que le classement étoilé XMP apparaissent d'une manière ou d'une autre dans les mots-clefs,
J'ai besoin que les utilisateurs emploient mon classement dans leur filtres et recherches. Mais je n'ai pas besoin que cela soit modifié ou géré par le dispositif de classement  piwigo, Ce serait même contre-productif, faure cohabiter mon opinion et celle des autres est pas une mauvaise idée...
Merci beaucoup!
David

dmfisch 2019-09-02 18:45:50

dmfisch a écrit:

Je pense à l'emploi de mot-clef étoiles, serait-ill possible de composer, d'exprimer des mots-clefs avec 1, 2, 3, 4, 5 symboles étoiles en employant le code unicode U+2605 ou un autre code selon le "langage employé"?
Encoding
HTML Entity    ★   
HTML Entity (hex)    &#x2605;   
HTML Entity (named)    ★   
URL Escape Code    %E2%98%85   
UTF-8 (hex)    0xE2 0x98 0x85   
UTF-8 (binary)    11100010:10011000:10000101   
UTF-16    0x2605   
UTF-32    0x00002605   
Source Code
C, C++, and Java    "\u2605"   
CSS Code    \2605   
JavaScript    "\u2605"   
Perl    \x{2605}   
Python 2    u"\u2605"   
Python 3    \u2605   
Ruby    \u{2605}

executive 2019-09-02 21:03:26

executive a écrit:

Je vais prendre cela en considération. Ceci est un hobby que je fais dans mes (rare) temps libre et mes compétences en code sont faibles, c'est pour cela que je ne peu rien promettre bientôt

Hors ligne

#5 2019-09-19 11:36:27

dmfisch
Membre
2019-09-02
5

Re: mandat pour plugin: lecture XMP metadata rating pour classement

Voila, j'ai aussi indiqué dans le fil anglophone
https://piwigo.org/forum/viewtopic.php?id=29173
que je peu continuer à traduire entre les 2 fils de discussions pour faire avancer le schmilblick.
à bientôt!

Hors ligne

Pied de page des forums

Propulsé par FluxBB

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