Extension:Popups

From mediawiki.org
This page is a translated version of the page Extension:Popups and the translation is 100% complete.
Pour the feature that is powered by this extension, voir : Page Previews.
Manuel des extensions MediaWiki
Popups
É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)
  • Prateek Saxena (user:Prtksxna),
  • Yair Rand,
  • Sam Smith,
  • Joaquín Oltra Hernández,
  • Bahodir Mansurov,
  • Jon Robson,
  • Piotr Miazga,
  • Jeff Hobson
  • WMDE Engineering
MediaWiki 1.37+
PHP 5.6+
Licence Licence publique générale GNU v2.0 ou supérieur
Téléchargement
Exemple English Wikipedia
  • $wgPopupsVirtualPageViews
  • $wgPopupsOptInDefaultState
  • $wgPopupsRestGatewayEndpoint
  • $wgPopupsHideOptInOnPreferencesPage
  • $wgPopupsConflictingRefTooltipsGadgetName
  • $wgPopupsTextExtractsIntroOnly
  • $wgPopupsStatsvSamplingRate
  • $wgPopupsPageDisabled
  • $wgPopupsConflictingNavPopupsGadgetName
  • $wgPopupsOptInStateForNewAccounts
  • $wgPopupsGateway
  • $wgPopupsReferencePreviews
Téléchargements trimestriels 405 (Ranked 11th)
Utilisé par les wikis publics 947 (Ranked 282nd)
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 dans Special:Version) affiche les aperçus des pages et des références lors du survol d’un lien avec la souris vers un article ou respectivement 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 sur toutes les Wikipédia et par défaut, 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 Page Previews.

La fonction Aperçu de référence a finalement été ajoutée et vise à répondre à un souhait de la liste des souhaits techniques de la communauté germanophone. La description plus détaillée ainsi que d'autres informations sur son utilisation sont disponibles sur Aide: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 Fonctionnalités bêta (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

  • Téléchargez et placez le(s) fichier(s) dans un répertoire appelé Popups 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/Popups
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php  :
    wfLoadExtension( 'Popups' );
    
  • Yes 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;
$wgPopupsReferencePreviewsBetaFeature = false;

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 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 tâche 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 Visibilité par défaut de Page Previews pour les comptes nouvellement créés (à partir du deuxième trimestre 2018). Pour plus d'informations, voir tâche 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é.
$wgPopupsConflictingRefTooltipsGadgetName 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é.
$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 .
$wgPopupsReferencePreviews true Indicateur temporaire de fonctionnalité pour désactiver la prévisualisation des références pendant le développement.
$wgPopupsReferencePreviewsBetaFeature true Indique si les aperçus des références doivent être disponibles en version bêta. Si false, les aperçus des références sont activés par défaut pour tous les utilisateurs.
$wgPopupsStatsvSamplingRate 0 Taux d’échantillonnage pour consigner les données de performance à statsv.
$wgPopupsPageDisabled Several special pages. 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.

Contenu des aperçus des références

Le contenu de la fenêtre de prévisualisation des références est directement extrait de la section des références de la page elle-même. Aucun service externe n’est impliqué ici. Si le contenu dépasse la taille du popup, des barres de défilement sont affichées pour que tout puisse être vu.

Types de référence

Les types de référence affichés sont définis en utilisant des classes CSS spécifiques sur la balise ‎<cite> qui peuvent être utilisées pour encapsuler le contenu d’une référence par ex. <ref><cite class="journal"></cite></ref>. Actuellement, les types suivants sont pris en charge : web, journal, book, news, note. En dehors de cela, il y existe toujours un repli générique si ni la balise cite n’a été trouvée, ni une classe appropriée n’a été utilisée. Veuillez noter qu’il n’est pas recommandé d’utiliser les classes CSS directement en wikicode, mais plutôt en créant des modèles.

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 :

  • init
  • createPopup
  • getOffset
  • getClasses
  • processPopup

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.)

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).

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;
                }
        }
};

Cette fonctionnalité en est encore à son balbutiement et comporte quelques bogues (exemple); les commentaires ainsi que les rapports de bogues via Phabricator sont souhaités.

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

Notes