Jump to content

Extension:PageImages

From mediawiki.org
This page is a translated version of the page Extension:PageImages and the translation is 100% complete.
Cette extension est sous relecture de code par les stewards et n'est pas maintenue activement. (T252249) Aucune nouvelle requête de fonctionnalité ne sera prise en compte durant cette période.
Manuel des extensions MediaWiki
PageImages
État de la version : stable
Implémentation API , Extension de l'analyseur
Description Enregistre les informations concernant les images représentant une page
Auteur(s) Max Semenik (MaxSemdiscussion)
Dernière version mises à jour continues
Politique de compatibilité Versions ponctuelles alignées avec MediaWiki. Le master n'est pas compatible arrière.
MediaWiki 1.37+
PHP 7.3.19+
Modifie la base
de données
Non
  • $wgPageImagesOpenGraphFallbackImage
  • $wgPageImagesExpandOpenSearchXml
  • $wgPageImagesDenylistExpiry
  • $wgPageImagesNamespaces
  • $wgPageImagesDenylist
  • $wgPageImagesScores
  • $wgPageImagesLeadSectionOnly
  • $wgPageImagesOpenGraph
  • $wgPageImagesAPIDefaultLicense
Licence WTFPL v2.0
Téléchargement
Traduire l’extension PageImages sur translatewiki.net si elle y est disponible
Problèmes Tâches ouvertes · Signaler un bogue

L'extension PageImages collecte les informations concernant les images utilisées sur une page.

Son but est de renvoyer une vignette unique, la plus appropriée associée à un article.

PageImages fournit aussi aux parties tierces telles que Facebook, des possibilités d'extraction des métadonnées du protocole OpenGraph concernant les articles du wiki.

Installation

Cette extension est fournie avec MediaWiki 1.34 et supérieur. Les instructions de configuration restantes doivent encore être suivies.
  • Téléchargez et placez le(s) fichier(s) dans un répertoire appelé PageImages 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/PageImages
    
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php  :
    wfLoadExtension( 'PageImages' );
    
  • Configurer si nécessaire
  • Pour attribuer initialement les images de page aux pages, exécutez le script initImageData.php à partir du répertoire de maintenance des extensions (/path/to/extensions/PageImages/maintenance/)
  • Yes Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.

Configuration

$wgPageImagesDenylist est un tableau de sources pour les listes d’images interdites. Les images listée ne seront jamais selectionnées comme des images de page. Exemples :

$wgPageImagesDenylist = [
	// Page du wiki local
	[
		'type' => 'db',
		'page' => 'MediaWiki:Pageimages-denylist',
		'db' => false,
	],
	// Page de Wikimedia Commons, pour d'autres projets Wikimedia utilisant un accès direct à la base de données
	[
		'type' => 'db',
		'page' => 'MediaWiki:Pageimages-denylist',
		'db' => 'commonswiki',
	],
	// Page de Commons, pour les sites tiers utilisant l'accès web
	[
		'type' => 'url',
		'url' => 'http://commons.wikimedia.org/w/index.php?title=somepage&action=raw',
	],
];

Plus d'une source peut être utilisée au même moment.

La liste noire elle même doit contenir des liens wiki vers les fichiers de la liste noire, le reste du contenu est sans rapport (et peut contenir des liens vers d'autres pages). Par exemple :

* [[:File:First denylisted file.png]]
* [[:File:Second denylisted file.jpeg]]
...

Souvenez-vous que les liens des fichiers qui correspondent aux images devant être ajoutées à la page ne fonctionneront pas (ces fichiers sont en liste noire pour une certaine raison, n'est-ce pas ?), donc n'oubliez pas le : au début des liens.

Nom Description Par défaut :
$wgPageImagesDenylistExpiry détermine la durée (en secondes) de la mise en cache de la liste. 15 * 60 (15 minutes)
$wgPageImagesExpandOpenSearchXml si la valeur est true, PageImages remplacera la détection d'image dans le module API opensearch avec ses propres résultats plus précis. false
$wgPageImagesNamespaces tableau d'espaces de noms sur lequel PageImages sera activé.

Après la modification, vous devez exécuter refreshLinks.php pour générer les informations de Page image pour ces espaces de noms (heureusement vous pouvez utiliser le paramètre --namespace pour ne traiter que les pages des espaces de noms concernés car ce script utilise intensément les ressources)

NS_MAIN
$wgPageImagesOpenGraph active (désactive) les balises meta OpenGraph (peut être utile si d’autres extensions gèrent ces balises) (1.39+). true
$wgPageImagesOpenGraphFallbackImage URL de l’image de repli qui sera affichée s’il n’y a pas d’image sur la page. false

Notes de mise à jour vers les versions MediaWiki 1.37+

Depuis MediaWiki 1.37, $wgPageImagesBlacklist et $wgPageImagesBlacklistExpiry ont été renommés respectivement en $wgPageImagesDenylist et $wgPageImagesDenylistExpiry. Depuis MediaWiki 1.37, la valeur de la page par défaut pour $wgPageImagesDenylist a été modifiée de MediaWiki:Pageimages-blacklist à MediaWiki:Pageimages-denylist.

Nous n'avons pas ajouté de code pour assurer la compatibilité arrière et accepter les anciens noms de variable, ce qui signifie que vous devez changer le nom des variables pendant la mise à jour, ou définir les deux noms de variable à l'avance en préparant la mise à jour. Si vous avez ajouté du contenu à MediaWiki:Pageimages-blacklist sur votre wiki, vous devez le renommer durant la mise à jour. Si vous souhaitez préparer la mise à jour, vous pouvez renommer la page sous son nouveau nom, et aussi initialiser $wgPageImagesBlacklist (l'ancien nom de la variable) avec le nouveau nom de page, et la valeur par défaut sera utilisée lors de la mise à jour, ce qui devrait correspondre à votre modification précédente.

API

L'extension PageImages fournit les informations d'image en ajoutant une prop=pageimages à l'API properties pour action=query.

prop=pageimages (pi)

(main | query | pageimages)
  • This module requires read rights.
  • Source: PageImages
  • License: WTFPL

Returns information about images on the page, such as thumbnail and presence of photos.

Specific parameters:
Other general parameters are available.
piprop

Which information to return:

thumbnail
URL and dimensions of thumbnail image associated with page, if any.
name
Image title.
original
URL and original dimensions of image associated with page, if any.
Values (separate with | or alternative): name, original, thumbnail
Default: thumbnail|name
pithumbsize

Maximum width in pixels of thumbnail images.

Type: integer
Default: 50
pilimit

Properties of how many pages to return.

Type: integer or max
The value must be between 1 and 50.
Default: 50
pilicense

Limit page images to a certain license type:

free
Only free images.
any
Best image, whether free or non-free.
One of the following values: any, free
Default: free
picontinue

When more results are available, use this to continue. More detailed information on how to continue queries can be found on mediawiki.org.

Type: integer
pilangcode

Code for the language the image is going to be rendered in if multiple languages are supported

Example:
Get name and 100-pixel thumbnail of an image on the Albert Einstein page.
api.php?action=query&prop=pageimages&titles=Albert%20Einstein&pithumbsize=100 [open in sandbox]


Réponse

{
  // piprop.name (et que l'image existe)
  pageimage?: string // Nom du fichier de l'image source (nom de base de original.source).
  // piprop.thumbnail (et que l'image existe)
  thumbnail?: {
    source: string // URL de la vignette de l'image.
    width: number // Largeur de la vignette de l'image en pixels.
    height: number // Hauteur de la vignette de l'image en pixels.
  }
  // piprop.original (et que l'image existe)
  original?: {
    source: string // URL de l'image source.
    width: number // Largeur de l'image source en pixels.
    height: number // Hauteur de l'image source en pixels.
  }
}


Exemple de requête

Demander l'image de la page pour un article.
Résultat
{
    "query": {
        "normalized": [
            {
                "from": "Lightbox_demo",
                "to": "Lightbox demo"
            }
        ],
        "pages": {
            "162510": {
                "pageid": 162510,
                "ns": 0,
                "title": "Lightbox demo",
                "thumbnail": {
                    "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Crystal_Clear_app_korganizer.png/50px-Crystal_Clear_app_korganizer.png",
                    "width": 50,
                    "height": 50
                },
                "pageimage": "Crystal_Clear_app_korganizer.png"
            }
        }
    }
}

Fonctionnement

Lorsqu'une page est enregistrée avec une image locale, parser exécute les accroches ParserMakeImageParams et LinksUpdate. L'extension PageImages leur répond (ainsi qu'à d'autres accroches) et insère une nouvelle propriété pour la page dans la table page_props . Les noms des propriétés utilisées sont page_image et page_image_free; la valeur est le nom de l'image. Si une page a les deux propriétés, alors les valeurs sont différentes.

L'extension ne range que le nom de l'image sélectionnée. D'autres fonctionnalités peuvent afficher l'image, telles que les informations de page, les cartes de survol, et la recherche Mobile en cours de frappe.

Choix de l'images

Comment vérifier à quelle page une image donnée est associée ?

Les images de page seront listées sur la page ?action=info.

Comment se fait la sélection des images ?

Toutes les images de la page sont collectées et une évaluation est calculée pour chacune d'elle. L'image qui a le plus grand score est choisie pour être l'image de la page. Si le wiki est configuré de sorte à ce que les images contiennent des méta données spécifiant qu'elle ne sont pas libres de droits, l'image avec le meilleur score et qui est également libre de droits est aussi enregistrée. Si aucune image appropriée n'est trouvée, ou si toutes les images donnent un mauvais score (par exemple leur note est négative), la page n'aura aucune image.

Si $wgPageImagesLeadSectionOnly vaut true, seules les images dans la section de tête seront prises en compte. Actuellement, la valeur vaut true seulement pour les projets Wikipedia; tous les autres projets peuvent obtenir les images d'ailleurs que de la section principale.

Comment les images sont-elles évaluées ?

La meilleure image de page possible sur les wikis Wikimedia est l'une des quatre premières images d'article qui ont largeur/hauteur entre 400 et 600 pixels et hauteur/largeur qui est le double en valeur de l'autre dimension.

  • L'algorithme est configurable.
  • Les notes sont calculées comme étant une combinaison de :
    • Largeurs d'image définies dans $wgPageImagesScores['width']
      • Dans les wikis Wikimedia, les images plus petites que 119 pixels sont pondérées très négativement. Les images de largeur 400 à 600 pixels sont favorites, avec une préférence pour la première valeur.
      • Les images à l'intérieur des galeries sont notées séparément avec $wgPageImagesScores['galleryImageWidth']
        • Dans les wikis Wikimedia, les galleries d'images qui sont plus petites que 100 ne sont pas prises en compte.
    • La position dans le document est également considérée comme définie dans $wgPageImagesScores['position']
      • Sur les wikis Wikimedia, seules les quatres premières images qui apparaissent dans le document sont prises en compte.
    • Le rapport largeur / hauteur de l'image est considéré comme $wgPageImagesScores['ratio']
      • Sur les wikis Wikimedia un ratio de 0.4 à 3.1 est permis avec une préférence de 0.6 à 2.1 .
      • La valeur par défaut est $wgPageImagesScores['ratio'] = ["3" => -100, "5" => 0, "20" => 5, "30"=> 0, "31"=> -100]; avec la clé représentant la largeur divisée par la hauteur, arrondie au dixième, et la décimale décalée d'une position vers le droite. Une image de 400px en largeur sur 300px en hauteur aurait pour valeur 13. La valeur de la clé est le multiple de notation associé à ce ratio. Les clés sont sélectionnées et incrémentées à partir de zéro, avec un nouveau multiple de la notation qui n'entre en vigueur que lorsque la clé a atteint ou dépassé sa valeur, mais sans dépasser la clé suivante. Toutes les autres images seront évaluées négativement et ignorées.

Comment les images des pages sont-elles mises à jour ?

Pageimages remplit les images chaque fois que l'accroche LinksUpdate est exécutée, par exemple lorsqu'une page est en cours de modification.

Comment exclure certaines images de page ?

Oui !

Pour le wiki entier, il y existe une page que les administrateurs peuvent modifier : MediaWiki:Pageimages-denylist (exemple). Toute les images qui apparaissent ici ne seront pas des images de page pour aucun article.

Pour les pages spécifiques, ajoutez |class=notpageimage à chaque image que vous voulez exclure. Par exemple, [[File:Example.png|class=notpageimage]]. Voir d'autres informations sur phab:T301588..

If you need to exclude an image in the infobox please refer to the template's documentation. Most templates support a image_class parameter that can be used to disable the image.

e.g.

{{Infobox type
  image=InappropriateImage.png
  image_class=notpageimage
}}

Est-il possible de demander une image de page particulière ?

A partir de MediaWiki 1.44.0, vous pouvez marquer une image qui satisfait au critère indiqué dans la section Comment sélectionner des images ? en lui ajoutant |class=pageimage. Généralement, il est conseillé de le faire en dernier recours, car il supprime l'algorithme de notation d'image, ce qui signifie que l'image peut ne pas être adaptée à l'endroit où elle est affichée (par exemple la résolution, la licence ou la position).

Il est préférable d'ajouter, dans la mesure du possible, la vignette préférée comme première image de l'article.

Comment voir l'image d'une page ?

En utilisant le lien Informations sur la page dans la barre latérale (ou en ajoutant ?action=info à l'URL) vous pourrez voir le choix d'image actuel.

Comment supprimer une mauvaise image ?

« pageimage » change uniquement lorsqu'un lien vers un article est modifié. En cas d'urgence, vous pouvez ajouter/supprimer les liens de la page, ou revenir en arrière si nécessaire. Purger ne fonctionnera pas. Pour des urgences plus importantes veuillez remplir un ticket sur Phabricator.

Pourquoi l'image de ma page est une boîte vide ?

Ceci a plutôt rapport au contenu vidéo de votre article. Si un fichier vidéo commence par un écran blanc, celui-ci deviendra la vignette par défaut et s'il est utilisé comme une image de page, il deviendra l'image de la page. Nous travaillons actuellement à la correction de ce problème, ce qui vous permettra de changer la vignette par défaut d'une vidéo. Voir : phab:T92457 et phab:T22647 pour davantage d'informations.

Voir aussi