Extension:Popups
Support level: Pending The support level for this extension is currently under review. The Reader Growth Team is the maintainer of last resort for the time being. |
État de la version : stable |
|
|---|---|
| Implémentation | Habillage |
| Description | Affiche des fenêtres contextuelles lorsque les utilisateurs survolent les liens de l’article et les marqueurs de note de bas de page |
| Auteur(s) | |
| MediaWiki | 1.37+ |
| PHP | 5.6+ |
|
|
| Licence | Licence publique générale GNU v2.0 ou ultérieur |
| Téléchargement | |
| Exemple | English Wikipedia |
| Traduire l’extension Popups sur translatewiki.net si elle y est disponible | |
| Problèmes | Tâches ouvertes · Signaler un bogue |
L’extension Popups (appelée Aperçus sur la page Special:Version) affiche les aperçus des pages et des références lors du survol d’un lien avec la souris vers respectivement un article ou une référence. Le premier consiste en un résumé du contenu de l'article, le second indique le contenu complet de la référence.
L’extension est une initiative de l’équipe Design, inspirée par le gadget populaire Navigation popups. Actuellement, cette fonctionnalité est disponible par défaut sur tous les Wikipédia y compris pour les utilisateurs déconnectés. Une description du fonctionnement de l’extension et plus d’informations sur son utilisation sur les projets Wikimedia sont disponibles sur Aperçus des pages.
La fonctionnalité "Aperçu des références" a finalement été ajoutée et vise à répondre à un souhait de la liste des souhaits techniques de la communauté germanophone. Une description plus détaillée ainsi que d'autres informations sur son utilisation sont disponibles sur Prévisualisation de référence.
Dépendances
Cette extension a une forte dépendance avec Extension:TextExtracts et Extension:PageImages lorsqu'elle est utilisée avec la passerelle par défaut mwApiPlain.
Il y a aussi des dépendances optionnelles sur $1 (si vous voulez activer les aperçus des références en version bêta), et Extension:EventLogging et Extension:WikimediaEvents (pour l’instrumentation).
Installation
- Installez les dépendances.
- Téléchargez et placez le(s) fichier(s) dans un répertoire appelé
Popupsdans votre dossierextensions/.
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/Popups
- Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
wfLoadExtension( 'Popups' );
Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.
- Exemple de configuration finale
wfLoadExtensions( [
'TextExtracts',
'PageImages',
'Popups'
] );
$wgPopupsHideOptInOnPreferencesPage = true;
Configuration
| Option | Valeur par défaut | Documentation |
|---|---|---|
$wgPopupsVirtualPageViews
|
false
|
Indique si l'extension doit enregistrer les pages vues virtuelles. |
$wgPopupsHideOptInOnPreferencesPage
|
false
|
Indique si l’option permettant d’activer/désactiver les aperçus des pages doit être masquée sur la page Préférences. |
$wgPopupsOptInDefaultState
|
1
|
(supprimé en 1.43) Visibilité par défaut de Page Previews pour les anciens comptes. Doit être une chaîne de caractères pour la compatibilité avec les paramètres des fonctionnalités bêta. Pour plus d'informations, voir T191888. Cette valeur est convertie en interne en type Bool. Par conséquent, une valeur supérieure ou égale à 2 a la même signification que 1. |
$wgPopupsOptInStateForNewAccounts
|
1
|
(supprimé en 1.43) Visibilité par défaut des Aperçus de pages pour les comptes nouvellement créés (1.32-1.43). Pour plus d'informations, voir T191888. |
$wgPopupsConflictingNavPopupsGadgetName
|
'Navigation_popups'
|
Nom local du gadget Navigation popups utilisé comme identifiant dans MediaWiki:Gadgets-definition. Ce gadget est incompatible avec les aperçus de pages. L’extension se désactivera elle-même pour les utilisateurs qui ont le gadget activé. |
$wgPopupsGateway
|
'mwApiPlain'
|
Indique quelle passerelle utiliser pour récupérer des données des fenêtres Popups. Options disponibles : mwApiPlain, restbasePlain, restbaseHTML. La liste complète et toujours à jour est disponible dans src/gateway/page.js.
|
$wgPopupsRestGatewayEndpoint
|
'/api/rest_v1/page/summary/'
|
Spécifie un point d'accès REST à partir duquel les résumés seront obtenus. Le point d'accès doit respecter les spécifications de Specs/Summary/1.2.0. |
$wgCiteReferencePreviews
|
true
|
Enables Reference Previews when the Extension:Cite is installed. |
$wgCiteReferencePreviewsConflictingRefTooltipsGadgetName
|
ReferenceTooltips
|
Nom local Infobulles de références du gadget utilisé comme son identifiant dans MediaWiki:Gadgets-definition. Ce gadget est incompatible avec les aperçus des références. Les aperçus des références se désactiveront d'eux-mêmes pour les utilisateurs dont le gadget est activé. |
$wgPopupsStatsvSamplingRate
|
0
|
Taux d’échantillonnage pour consigner les données de performance à statsv. |
$wgPopupsPageDisabled
|
Plusieurs pages spéciales. Voir extension.json pour la liste complète. See extension.json for the full list. | Liste des pages qui ne doivent pas afficher de fenêtres popup. Comprend les sous-pages. Ces pages sont soumises à la politique du cache HTML du wiki. Une purge sur ces pages peut être nécessaire pour voir l’effet de cette variable de configuration. Chaque page exclue doit être définie par un nom canonique, par exemple : Special:Userlogin.
|
Contenu des aperçus de page
Les popups de prévisualisation de page affichent une image (si elle est disponible) et un petit extrait de texte.
Image
L’image provient de Extension:PageImages qui renvoie la vignette la plus appropriée associée à un article. Sont ignorés les modèles de maintenance, les procédures bouchon, les icônes de drapeau, etc.
Texte
Les aperçus de page peuvent être configurés avec n’importe quelle API compatible avec le point d'accès du service des résumés de Page content en utilisant $wgPopupsRestGatewayEndpoint. Pour les tiers, nous encourageons l’utilisation de Page Content Service pour profiter de l’utilisation de Popups avec votre wiki local.
Vous pouvez également utiliser l’extension Extension:TextExtracts. Cette extension possède différentes mises en garde et nous ne supportons pas activement l’utilisation de cette API.
Les moteurs de rendu
Ces extensions n’ont actuellement qu’un seul moteur de rendu, celui pour les pages ordinaires.
De nouveaux générateurs de rendus pour différents types de pages, ou des éléments comme les références, peuvent être facilement ajoutés.
Vous devez créer un nouvel objet avec les méthodes suivantes :
initcreatePopupgetOffsetgetClassesprocessPopup
Vous pouvez voir les détails de ces méthodes dans ext.popups.renderer.article.js ou dans ce patch qui ajoute un moteur de rendu pour les références.
API de Page previews
Chaque projet est différent, et ce qui apparaît dans vos prévisualisations dépend fortement du contenu de votre wiki.
L'extension Popups a été optimisée pour travailler avec du contenu similaire à celui de Wikipédia (par exemple, avec du wikicode).
Si votre wiki utilise un type différent de gestionnaire de contenu (comme c'est la cas dans Wikibase) il devra fournir sa propre API.
L'API peut être écrite dans n'importe quelle langage, mais la réponse de l'API doit correspondre aux spécifications définies dans Specs/Summary/1.2.0 .
. La définition de nouvelles API n'est pas l'objet de l'extension Popups.
Une fois définies, vous pouvez configurer les prévisualisations de page pour pointer sur votre API en utilisant l'option de configuration $wgPopupsRestGatewayEndpoint.
Problèmes connus
- Les utilisateurs de l’extension Translate doivent noter que Page Previews demande des prévisualisations dans la langue de contenu de la page. Si l’aperçu contient un bloc traduisible complet, il sera traduit. Si, cependant, l’aperçu contient un bloc traduisible incomplet – parce qu’une phrase est coupée, disons – alors il n’est pas traduit et sera affiché dans la langue de contenu de la page. Si vous observez ce comportement, vous devez envisager de marquer des phrases individuellement dans votre section principale. T167852 est destiné à un public technique mais contient plus d’informations sur le problème sous-jacent.
- Découpage des formules mathématiques longues dans l'aperçu - les formules mathématiques ou chimiques longues (formules plus larges que la largeur de l’aperçu) s’affichent tronquées dans les aperçus. Nous n’avons pas été en mesure d’ajouter un gradient pour indiquer que la formule se poursuit sur l’article lui-même.
- Les petits fichiers peuvent être mis dans Рage information (action=info), mais pas dans les Popups. Certains besoins sont définis ici - pour une image en portrait : hauteur exacte (min) 250 px et largeur max 2 px; pour une image en paysage : largeur exacte (320 min) & hauteur max 200 px[1]. Pour être affichables, les images doivent être transformables en vignettes plus grandes ou égales aux tailles exactes. (Si vous rognez une grande image pour en faire l'image principale d'un article, assurez-vous que la nouvelle image n'est pas plus petite que les tailles indiquées.)
- La fenêtre d'aperçu de certaines pages peut contenir seulement le texte :
There was an issue displaying this preview. Une des raisons à cela est que l'extension TextExtracts ne trouve pas le texte d'introduction pour la page, ce qui peut arriver quand l'article commence par certaines entités telles que la boîte d'information créée par l'extension PortableInfobox. Une solution à cela est de définir$wgPopupsTextExtractsIntroOnly = false;bien que cela puisse entraîner que l'aperçu affiche des entités non souhaitées, comme des titres pour les sections hors introduction. La variable de configuration TextExtracts$wgExtractsRemoveClassespeut ensuite être utilisée pour nettoyer ces entités indésirables de l'aperçu, bien que cela les masque également aux autres utilisateurs de l'API TextExtract.
Extensibilité
Dans MediaWiki 1.40, les extensions et les habillages peuvent étendre la fonctionnalité des aperçus de page avec leurs propres types d'affichages personnalisés. Ils le font en enregistrant un attribut PluginModules dans le fichier extension.json ou skin.json qui pointe vers un module ResourceLoaderModule pouvant enregistrer un type d'aperçu.
{
"attributes": {
"Popups": {
"PluginModules": [
"skins.skinjson.popup"
]
}
}
}
Le module de plug-in doit exporter des informations sur l'instant où l'aperçu doit être affiché (via le sélecteur) et sur la façon dont les données d'aperçu doivent être récupérées (via la bibliothèque de passerelle).
Le sélecteur doit correspondre à une élément qui a l'attribut data-title.
L'attribut data-title sera passé à la fonction fetchPreviewForTitle.
module.exports = {
// identifiant unique représentant votre type d'aperçu.
type,
// sélecteur CSS correspondant à votre type d'aperçu personnalisé.
selector: '.mycustomselector',
// passerelle
gateway: {
fetchPreviewForTitle: ( title, el ) => {
const deferred = $.Deferred();
deferred.resolve( {
title: 'Hello world',
extract: [
`Hi`
],
url: 'https://www.mediawiki.org/wiki/Extension:Popups',
type,
languageCode: 'en',
languageDirection: 'ltr',
thumbnail: undefined,
pageId: -1
} );
return deferred;
}
}
};
Pour les exemples du monde réel, Extension:Math fournit des conseils d'outils et Extension:Cite des prévisualisations de référence.
FAQ
Pourquoi ne puis-je pas copier et coller du texte à partir d’un aperçu ?
Au moment de la rédaction, les inconvénients de le faire l’emportent sur les avantages. Essentiellement, il se résume à diminuer la zone de contact pour lire l’article au complet. Une fois Previews déployé sur Wikipedia en anglais et en allemand, n’hésitez pas à réouvrir cette tâche et à relancer la discussion, mais pour l’instant rien n'est envisagé.
Comment puis-je modifier l’image que je vois sur l’aperçu ?
Voir le Choix des images.
Comment puis-je supprimer le contenu d’un aperçu de page ?
Tout élément marqué avec la classe noexcerpt sera retiré du résumé.
Pourquoi du contenu est supprimé du résumé ?
Tout élément HTML marqué par les classes noexcerpt, mw-ref, reference, noprint, nomobile ou sortkey sera retiré du résumé.
Si le texte doit être affiché dans le résumé, vous ne devez en aucun cas utiliser ces classes dans les modèles servant à la section initiale des articles.
D’où proviennent les résumés ?
Ces données sont fournies par le résumé de l'API REST (wikis de production Wikimedia) ou l'API TextExtracts si votre wiki utilise la passerelle par défaut mwApiPlain.
Pourquoi les phrases entre parenthèses sont-elles supprimées ?
Il y a une discussion intéressante en cours sur T91344 dans Phabricator. Si vous avez une opinion ou si vous voyez des problèmes relatifs à ceci, veuillez nous le faire savoir à cet endroit.
Pourquoi je ne vois pas de popups en dehors des espaces de noms de contenu ?
Les popups apparaissent uniquement sur les liens vers les pages dans les espaces de noms de contenu. C’est une limitation de Popups ; TextExtracts est disponible à partir des autres espaces de noms. Vous pouvez contourner cela en ajoutant d'autres espaces de noms dans $wgContentNamespaces.
Liens
- Page d'aide de Page Previews et page centralisée des commentaires sur MediaWiki.org
- Page d'aide de Reference Previews et page centralisée des commentaires sur MediaWiki.org
- Page d'accueil du projet Reference Previews sur Meta
- Recherche connexe : Gestion des Popups : meilleures pratiques
Notes
| 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 fermes de wikis ou les hôtes suivants et / ou les paquets : |
- Extensions maintained by Reader Teams/fr
- Extensions maintained by Reader Growth/fr
- Extensions maintained by Reader Teams - Level Pending/fr
- Stable extensions/fr
- Skin extensions/fr
- BeforePageDisplay extensions/fr
- GetPreferences extensions/fr
- MakeGlobalVariablesScript extensions/fr
- ResourceLoaderGetConfigVars extensions/fr
- GPL licensed extensions/fr
- Extensions in Wikimedia version control/fr
- All extensions/fr
- Extensions used on Wikimedia/fr
- Extensions included in BlueSpice/fr
- Extensions included in Canasta/fr
- Extensions included in Fandom/fr
- Extensions included in Miraheze/fr
- Extensions included in MyWikis/fr
- Extensions included in ProWiki/fr
- Extensions included in Telepedia/fr
- Extensions included in wiki.gg/fr
- Popup extensions/fr
