Extension:PageImages
Cette extension est maintenue par l'équipe Web. |
![]() É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 |
Licence | WTFPL v2.0 |
Téléchargement | |
|
|
Quarterly downloads | 209 (Ranked 48th) |
Public wikis using | 3,896 (Ranked 23rd) |
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
- Téléchargez et placez le(s) fichier(s) dans un répertoire appelé
PageImages
dans votre dossierextensions/
. - Ajoutez le code suivant à la fin de votre fichier
LocalSettings.php
:wfLoadExtension( 'PageImages' );
- Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.
API
L'extension PageImages fournit les informations d'image en ajoutant une prop=pageimages
à l'API properties pour action=query
.
prop=pageimages (pi)
- This module requires read rights.
- Source: PageImages
- License: WTFPL
Returns information about images on the page, such as thumbnail and presence of photos.
- piprop
Which information to return:
- thumbnail
- URL and dimensions of thumbnail image associated with page, if any.
- original
- URL and original dimensions of image associated with page, if any.
- name
- Image title.
- 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
- 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
- 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 (and image exists)
pageimage?: string // Source image filename (basename of original.source).
// piprop.thumbnail (and image exists)
thumbnail?: {
source: string // Thumbnail image URL.
width: number // Thumbnail image width in pixels.
height: number // Thumbnail image height in pixels.
}
// piprop.original (and image exists)
original?: {
source: string // Source image URL.
width: number // Source image width in pixels.
height: number // Source image height in 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"
}
}
}
}
|
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 on local wiki
[
'type' => 'db',
'page' => 'MediaWiki:Pageimages-denylist',
'db' => false,
],
// Page on Wikimedia Commons, for other Wikimedia projects using direct DB access
[
'type' => 'db',
'page' => 'MediaWiki:Pageimages-denylist',
'db' => 'commonswiki',
],
// Page on Commons, for third-party sites using web access
[
'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.
$wgPageImagesDenylistExpiry détermine la durée de mise en cache de la liste, en secondes. Par défaut : 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.
Valeur par défaut : false
.
$wgPageImagesNamespaces est un tableau d'espaces de noms sur lequel PageImages sera activé. Par défaut: NS_MAIN.
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)
$wgPageImagesOpenGraph active ou désactive les balises meta OpenGraph (peut être utile si d’autres extensions gèrent ces balises) (1.39+).
Par défaut : true
$wgPageImagesOpenGraphFallbackImage est l’URL de l’image de repli qui sera affichée lorsqu’il n’y a pas d’image sur une page.
Par défaut :
false
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 .
Le nom de la propriété est page_image_free
et sa valeur est le nom de l'image.
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 convenable 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 est à true
seulement pour les projets Wikipedia; tous les autres projets peuvent obtenir les images d'ailleurs que dans 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 . Toutes les autres images seront évaluées négativement et ignorées.
- Largeurs d'image définies dans
Soyez plus technique s'il vous plait...
Pageimages remplit les images chaque fois que l'accroche LinksUpdate s'exécute.
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.
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.
Notes de mise à jour
- Depuis MediaWiki 1.37,
$wgPageImagesBlacklist
et$wgPageImagesBlacklistExpiry
ont été renommés respectivement en$wgPageImagesDenylist
et$wgPageImagesDenylistExpiry
. 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. - Depuis MediaWiki 1.37, la valeur de la page par défaut pour
$wgPageImagesDenylist
a été modifiée deMediaWiki:Pageimages-blacklist
àMediaWiki:Pageimages-denylist
. 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.
Voir aussi
Cette extension est utilisée par au moins un des projets Wikimédia. Cela signifie probablement que l’extension est assez stable et fonctionnelle pour être utilisée sur des sites à fort trafic. Recherchez le nom de cette extension dans le CommonSettings.php de Wikimédia et dans le fichier de configuration InitialiseSettings.php pour situer les endroits où elle est installée. Une liste complète des extensions installées sur un Wiki donné peut être visualisée sur la page Special:Version de ce wiki. |
Cette extension est incluse dans les paquets et / ou les fermes de wikis suivants : Cette liste ne fait pas autorité. Certaine fermes de wikis ou d'hébergeurs peuvent contenir ce extension même s'ils ne figurent pas ici. Vérifiez toujours cela dans votre environement avant de confirmer. |