Jump to content

Extension:CommonsMetadata

From mediawiki.org
This page is a translated version of the page Extension:CommonsMetadata and the translation is 100% complete.
Manuel des extensions MediaWiki
CommonsMetadata
État de la version : stable
Implémentation API
Description Tentatives d'extraction des métadonnées à partir des pages de Commons
Auteur(s) Brian Wolff (bawolffdiscussion)
Politique de compatibilité Versions ponctuelles alignées avec MediaWiki. Le master n'est pas compatible arrière.
MediaWiki 1.25+
PHP 5.4+
Modifie la base
de données
Non
  • $wgCommonsMetadataForceRecalculate
  • $wgCommonsMetadataPublicDomainPageUrl
  • $wgCommonsMetadataSetTrackingCategories
Licence Licence publique générale GNU v2.0 ou ultérieur
Téléchargement
Traduire l’extension CommonsMetadata sur translatewiki.net si elle y est disponible
Problèmes Tâches ouvertes · Signaler un bogue

L'extension CommonsMetadata est une tentative d'extraction des métadonnées contenues dans les pages de Wikimedia Commons, mais elle est également disponible dans tous les autres projets Wikimedia. Elle ajoute quelques informations supplémentaires à l'API imageinfo , en fonction des modèles et des catégories présentes dans la description de l'image. Elle est utilisée par plusieurs extensions et outils (tels que Extension:MultimediaViewer , Extension:VisualEditor , Extension:MobileFrontend , Mobile-Content-Service (MCS)) pour fournir de meilleures fenêtres contextuelles (lightbox) et dialogues de sélection d'images.

Sous sa forme actuelle l'extension représente une solution temporaire, éventuellement remplacée par Wikidata dans Commons.

Installation

  • Téléchargez et placez le(s) fichier(s) dans un répertoire appelé CommonsMetadata dans votre dossier extensions/.
    Les développeurs et les contributeurs au code doivent à la place installer l'extension à partir de Git en utilisant:
    cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CommonsMetadata
    
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php  :
    wfLoadExtension( 'CommonsMetadata' );
    
  • Yes Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.

Motivation et choix de conception

Voir mailarchive:wikitech-l/2013-August/071593.html

L'extension présuppose les points suivants.

  • Viendra le moment où Wikidata prendra le contrôle de la gestion des métadonnées sur Commons. Pour éviter les modifications qui génèrent des ruptures qui devront bientôt être modifiées à nouveau, l'extension doit fonctionner avec des métadonnées communes comme elle l'est actuellement (c'est-à-dire sans introduire de nouvelles fonctions d'analyse). D'où la capture d'écran.
  • Le contenu de nombreux champs de page de description de Commons possède une mise en forme riche (en particulier : les liens, les italiques, le gras). Dans certains cas, des éléments plus complexes comme des images incluses.
    • Comme résultat l'extension génère le HTML analysé (le wikicode rencontre des problèmes, le texte brut ne capture pas les données).
    • En outre, les données ont tendance à être formatées pour l'affichage à destination d'humains plutôt que (par exemple) pour les dates formatées par la machine. Quand le champ de la date dit quelque chose comme « vers 1600 », il est difficile de le convertir en une date précise (mais beaucoup d'exemples peuvent l'être).
    • Pour transmettre cela, appliquez également le formatage aux métadonnées EXIF, qui sont contrôlées sur le wiki (par exemple, Commons relie le nom de l'appareil photo à un article de Wikipedia).
  • Si nous ne pouvons pas extraire l'information de la page de description, mais que le fichier a le nom de l'auteur marqué dans les métadonnées EXIF/XMP/iptc, nous devons utiliser cela comme solution de repli.
  • Idéalement, un tel système serait spécifique à Commons au plus possible, avec une partie Commons et une partie non-Commons séparée.
  • Les pages de description de Commons possèdent des descriptions en plusieurs langues. Beaucoup d'utilisateurs voudront probablement une seule langue.
    • Cette implémentation s'applique selon chaque convention linguistique, sur les dates et les choses. En outre, pour les champs explicitement multilingues (description), il existe une option pour renvoyer toutes les langues ou une seule. Même en mode langue unique, certaines éléments restent toujours spécifiques à la langue (comme le séparateur des milliers pour les nombres).

Configuration

Paramètre Par défaut Description
$wgCommonsMetadataSetTrackingCategories false Ajouter les catégories de trace suivantes aux pages des fichiers quand l'information correspondante n'est pas fournie, soit via les modèles de la page du fichier, soit (pour certaines) des métadonnées EXIF :
  • Fichiers sans licence lisible par une machine (commonsmetadata-trackingcategory-no-license)
  • Fichiers sans description lisible par une machine (commonsmetadata-trackingcategory-no-description)
  • Fichiers sans auteur lisible par une machine (commonsmetadata-trackingcategory-no-author)
  • Fichiers sans source lisible par une machine (commonsmetadata-trackingcategory-no-source)
  • Fichiers sans brevet lisible par machine (commonsmetadata-trackingcategory-no-patent) (pour les fichiers 3D)
$wgCommonsMetadataPublicDomainPageUrl https://commons.wikimedia.org/wiki/Help:Public_domain Lien utilisé pour l'attribut 'license' dans le balisage schema.org pour les fichiers du domaine publique.
$wgCommonsMetadataForceRecalculate false Forcer le calcul des métadonnées même si l'image provient d'un dépôt externe qui les auraient fournies. Ceci concerne le développement local.

Tests

Avertissement Avertissement : Si vous développez ou testez cette extension, nous vous recommandons de ne pas recopier les modèles de Commons pour les métadonnées des images, car ils prennent beaucoup de temps à la compilation et possèdent des dépendances complexes comme Scribunto. Au lieu de cela, obtenez une version étendue avec seulement le wikicode et le HTML et ajoutez (ou pas) manuellement, les différentes références des paramètres. Voir l'exemple (à utiliser avec Special:Import). Ou utiliser Vagrant qui inclut quelques modèles par défaut.

Lors du test avec des images distantes (par exemple des images de Commons si vous avez activé $wgUseInstantCommons ), vous pouvez définir $wgCommonsMetadataForceRecalculate = true; pour forcer CommonsMetadata à analyser la page de description de l'image et à extraire les métadonnées (normalement, si le référentiel distant avait également CommonsMetadata installé, il copierait simplement la sortie de l'API à partir de là).

Utilisation

Utiliser l'API imageinfo , et inclure extmetadata en tant que propriété d'information d'image spécifiée par iiprop.

Exemple

https://commons.wikimedia.org/w/api.php?action=query&prop=imageinfo&format=json&iiprop=extmetadata&iilimit=10&titles=File%3ACommon%20Kingfisher%20Alcedo%20atthis.jpg

Voir cet exemple dans le bac à sable de l'API :

https://www.mediawiki.org/wiki/Special:ApiSandbox#action=query&prop=imageinfo&format=json&iiprop=extmetadata&iilimit=10&titles=File%3ACommon%20Kingfisher%20Alcedo%20atthis.jpg

Données renvoyées

L'extension fournit actuellement les éléments suivants dans le champ extmetadata de la réponse (les noms des champs ont été choisis, quand c'était possible, pour suivre le format IPTC-IIM utilisé dans les entêtes EXIF) :

Données basées sur les données lisible par une machine du modèle Information :

  • ImageDescription – description de l'image
  • Artist – nom de l'auteur (peut contenir du HTML complexe, plusieurs auteurs, etc)
  • Credit – source
  • DateTimeOriginal – heure de création (horodatage ISO 8601 séparé avec espace quand c'est possible, mais peut être toute autre description textuelle d'une date, éventuellement avec du HTML à l'intérieur)
  • ObjectName – titre (pour un livre ou un tableau; sinon uniquement le nom du fichier)
  • Permission – contenu du champ Permission du modèle. Peut être plusieurs choses différentes (modèle de licence, OTRS ID, détails sur la manière d'attribuer...)
  • AuthorCount – nombre de modèles avec les auteurs (par exemple livre, photographe...) Le nombre actuel d'auteurs peut être supérieur si un modèle décrit plusiseurs auteurs dans une même chaîne.

Données basées sur les données lisibles par une machine du modèle Location :

  • GPSLatitude – latitude
  • GPSLongitude – longitude
  • GPSMapDatum – type de coordonnées (actuellement seul WGS-84 est reconnu)

Données basées sur les données lisibles par une machine dans le modèle licence :

  • LicenseShortName – nom de la licence sous forme courte lisible par un humain
  • LicenseUrl
  • UsageTerms
  • Copyrighted – True ou False (pour les images du domaine publique)

Pour les images qui ont plusieurs licences, ces valeurs ne sont pas fiables actuellement.

  • Attribution – attribution personnalisée pour remplacer Artist + Credit (peut venir aussi du modèle Information)
  • AttributionRequired – simili booléen (phab:T86726), indique s'il existe une contrainte judiciaire sur l'attribut
  • NonFree – simili booléen, true indique que l'image n'est pas sous licence libre (utilisé uniquement pour les images qui ne sont pas de Commons).

Autres données :

  • CommonsMedadataExtension – contient le numéro de version de l'analyseur de métadonnées; principalement à usage interne
  • License – la meilleure chose pour la licence de l'image est peut être de déclarer (pour utilisation générale interne de MediaViewer, pourrait changer; LicenseShortName est probablement plus fiable)
  • Categories – liste des catégories auxquelles appartient l'image, séparées par | .
  • Assessments – liste séparée par | des déclarations de l'image (actuellement cinq valeurs sont prises en charge : poty, potd, featured, quality, valued). Basé sur les noms analysés de catégorie, ne fonctionne probablement pas avec les images hébergées hors de Commons.
  • Restrictions – réutilise les restrictions telles que les droits des marques commerciales ou de personnes; c'est un tableau de mots-clés (nom des classes de cette table sans le préfixe restriction-). Voir aussi les icônes restrict-* dans MediaViewer.
  • DeletionReason – s'il est initialisé, le modèle est considérer à supprimer. (Basé sur le modèle nuke, probablement non fiable en dehors de Commons). Contient le motif de la suppression, sous une forme acceptable pour la journalisation, par conséquent il peut donc prêter à confusion (par exemple l'utilisation des verbes au passé quand il n'a pas encore été décidé si l'image serait supprimée)

Voir aussi