Extension:DynamicPageList4
État de la version : stable |
|
|---|---|
| Implémentation | Balise, Fonction d'analyseur |
| Description | Create lists of other articles based on their category, namespace, title, references or template usage and include contents or arguments of template calls of those articles into your page. |
| Auteur(s) | Universal Omega |
| Dernière version | 4.0.5 (2026-02-05) |
| MediaWiki | 1.44.0+ |
| Modifie la base de données |
Oui |
| Composer | universal-omega/dynamic-page-list4 |
|
|
| Licence | Licence publique générale GNU v3.0 ou supérieur |
| Téléchargement | |
| Exemple | DynamicPageList4 Manual |
| Traduire l’extension DynamicPageList4 sur translatewiki.net si elle y est disponible | |
L'extension DynamicPageList4 est un outil de reporting pour MediaWiki, listant les membres et intersections de catégories sous divers formats et détails. Pour la documentation complète, voir le manuel.
Lorsqu'il est appelé avec un ensemble de paramètres de sélection, DynamicPageList4 affiche une liste de pages liées à une ou plusieurs catégories Les sélections peuvent également être basées sur des facteurs tels que l'auteur, l'espace de noms, la date, un motif de noms, l'utilisation de modèles, ou bien encore des références à d'autres articles. Le résultat prend différentes formes, certaines d'entre-elles intègrent des éléments d'articles sélectionnés.
Cette extension est appelée avec la fonction d'analyse {{#dpl: .... }} ou la balise d'analyse <DPL>.
Une implémentation compatible Wikimedia de certaines fonctionnalités peut être appelée avec <DynamicPageList>.
Des recherches complexes peuvent aboutir à des requêtes de bases de données coûteuses en temps. Toutefois, par défaut tout résultat est mis en cache pendant une heure afin de réduire la nécessité de réexécuter la requête chaque fois que la page est chargée. La page du manuel Autres paramètres contient les informations sur les paramètres qui peuvent être utilisés pour désactiver le cache et permettre des mises à jour instantanées.
- Manuel et documentation complète
- Manuel DynamicPageList4
- Code source
- Code source
- Bogues et demandes de fonctionnalités
- Suivi des problèmes et des demandes
Installation
- Télécharger et placez le(s) fichier(s) dans un répertoire appelé
DynamicPageList4dans votre dossierextensions/. - Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
wfLoadExtension( 'DynamicPageList4' );
- Configurer si nécessaire.
Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.
Configuration
Voici les paramètres de configuration de DPL4 avec leur valeur définie par défaut.
Pour les modifier, assurez-vous qu'ils sont définis avant d'inclure l'extension sur le wiki.
| Paramétrage | Valeur par défaut | Description |
|---|---|---|
$wgDPLAllowedNamespaces
|
[]
|
Par défaut, tous les espaces de noms existants sont utilisés lorsque DPL4 est initialisé. Personnalisez ce paramètre avec un tableau de constantes d'espaces de noms pour contraindre DPL4 à travailler uniquement sur ces espaces de noms. |
$wgDPLAllowUnlimitedCategories
|
false
|
Mettez ce paramètre à true afin d'ignorer $wgDPLMaxCategoryCount et autoriser les catégories sans limite. Merci de noter que plus vous sélectionnez de catégories dans une requête, plus vous risquez de ralentir, voire même de planter les serveurs.
|
$wgDPLAllowUnlimitedResults
|
false
|
Mettez ce paramètre à true pour ignorer $wgDPLMaxResultCount et autoriser les résultats sans limite. Merci de noter qu'un grand nombre de résultats peuvent ralentir ou faire échouer le chargement des pages.
|
$wgDPLAlwaysCacheResults
|
false
|
Initialiser à true pour ignorer 'allowcachedresults' et toujours activer le cache de l'analyseur.
|
$wgDPLCategoryStyleListCutoff
|
6 | Nombre maximum d'éléments dans une liste de catégories avant d'être interrompue. |
$wgDPLFunctionalRichness
|
3 | Définit le niveau de paramètres disponibles pour les utilisateurs finaux. |
$wgDPLMaxCategoryCount
|
8 | Nombre maximum de catégories permises dans les requêtes. |
$wgDPLMaxQueryTime
|
10000 | Temps maximum autorisé pour les requêtes en base de données (millisecondes). |
$wgDPLMaxResultCount
|
500 | Nombre maximum de résultats de requête à renvoyer. |
$wgDPLMinCategoryCount
|
0 | Nombre minimum de catégories permises dans les requêtes. |
$wgDPLOverrideParameterDefaults
|
[]
|
An associative array of parameter names and their override values. These values replace the default parameter values defined in ParametersData, but only if the current defaults differ. |
$wgDPLQueryCacheTime
|
0 | Configurer le temps de recherche dans le cache. Le cache de la requête ne peut pas être purgé. Valeur suggérée entre 30 et 600. |
$wgDPLRecursivePreprocess
|
true
|
Use Parser::recursivePreprocess() to improve performance by preserving the internal cache, reducing redundant template parsing.
|
$wgDPLRecursiveTagParse
|
false
|
Faites une analyse récursive des balises sur les balises d'analyse <dpl>, en convertissant les balises et les fonctions telles que les mots magiques comme {{PAGENAME}}. Ceci est similaire à l'appel de la fonction d'analyse {{#dpl}}, mais peut ne pas fonctionner de la même manière dans tous les cas.
|
$wgDPLRunFromProtectedPagesOnly
|
false
|
Initialiser à true pour permettre à DPL3 se s'exécuter uniquement sur les pages protégées. Ceci est recommandé si les administrateurs de wiki ont des problèmes avec des utilisateurs malveillants qui créent des requêtes informatiquement intensives.
|
La variable globale $wgNonincludableNamespaces est automatiquement respectée par DynamicPageList3.
Cela empêchera de voir le contenu des espaces de noms listés, dans la sortie de DynamicPageList3.
$wgDPLMaxResultCount est une LIMITE sur la requête SQL elle-même. Certains paramètres de requête DynamicPageList3 tels que includematch sont appliqués néanmoins après la requête SQL, donc les résultats ici peuvent être facilement perturbants.
Richesse fonctionnelle
DynamicPageList3 possède de nombreuses fonctionnalités déverrouillées en fonction du niveau de richesse fonctionnelle maximum.
Certaines peuvent provoquer une charge élevée du processeur ou de la base de données et doivent être utilisées avec modération.
$wgDPLFunctionalRichness = 0– équivalent à DynamicPageList de Wikimedia (intersection)$wgDPLFunctionalRichness = 1– ajoute des paramètres de formatage supplémentaires$wgDPLFunctionalRichness = 2– ajoute des fonctionnalités équivalentes de performance pour les modèles et les liens de pages$wgDPLFunctionalRichness = 3– permet des fonctionnalités d'inclusion de page plus coûteuses et des requêtes d'expressions régulières$wgDPLFunctionalRichness = 4– not recommended for public websites. Includes debugging parameters for testing and development.
Utilisation
Fonctionnalités DPL étendues
Les listes de pages dynamiques étendues sont invoquées en utilisant la fonction d'analyse {{#dpl: .... }}, ou la balise d'extension de l'analyseur <DPL>...</DPL>.
Compatibilité arrière
La fonctionnalité compatible avec l'extension DynamicPageList de Wikimedia peut être invoquée avec <DynamicPageList>...</DynamicPageList>.
Vous trouverez plus d'informations sur la page du manuel de compatibilité.
Philosophie de l'utilisation et aperçu
En supposant qu'il existe certains articles écrits sur les pays ces articles auront typiquement trois choses en commun :
- Ils appartiendront à une catégorie commune
- Ils auront une structure similaire de chapitres, c'est-à-dire qu'ils contiendront des paragraphes intitulés Religion ou Histoire
- Ils utiliseront un modèle qui sert à présenter de manière agréable (par exemple, sous forme de wikitable) les éléments de données courts très structurés (Capitale, Habitants, ..)
Générer un rapport basé sur le pays
S'il fallait rédiger un rapport sur les pays pratiquant une religion donnée, cela pourrait facilement être fait avec les paramètres category et linksto.
{{#dpl:
category=countries
|linksto=Pastafarianism
}}
Avec DynamicPageList3, vous pouvez :
- Générer une liste de tous ces articles (ou un échantillon aléatoire)
- Afficher les métadonnées des articles (popularité, date de dernière mise à jour, ..)
- Afficher un ou plusieurs chapitres des articles (transclusion du contenu)
- Afficher les valeurs des paramètres transmises au modèle commun
- Organiser les articles de manière appropriée
- Présenter le résultat dans un tableau triable
- Générer la sortie sur plusieurs colonnes
Etapes nécessaires
Chercher les articles à lister :
- Sélectionner avec une combinaison logique des catégories (AND, OR, NOT)
- Indiquer un intervalle pour le nombre de catégories auxquelles l'article doit être attribué
- Sélectionner avec une combinaison logique des espaces de noms (AND, OR, NOT)
- Définir un motif qui corresponde au nom de l'article
- Nommer une page à laquelle l'article doit ou ne doit pas être lié
- Nommer un modèle que l'article doit ou ne doit pas utiliser
- Nommer un motif textuel qui doit apparaître dans les liens externes d'une page
- Exclure ou inclure les redirections
- Restreindre votre recherche à des pages stables ou de qualité (versions marquées)
- Utiliser d'autres critères de sélection tels que l'auteur, la date de la dernière modification, etc.
- Définir les expressions régulières qui correspondent au contenu des pages que vous souhaitez inclure
Organiser la liste résultat des articles selon
- Article title
- Article display title
- Taille de l'article
- Date de la dernière modification
- Dernier utilisateur ayant modifié
Définir les attributs à afficher
- Nom de l'article
- Espace de noms de l'article
- Taille de l'article
- Date de la dernière modification
- Date du dernier accès
- Dernier utilisateur ayant modifié
Définir le contenu à afficher
- Article complet
- Contenu de certaines sections (identifiées par leur titre)
- Parties de texte (définies par des balises spéciales dans l'article)
- Valeurs des appels aux modèles
- Utiliser un modèle personnalisé pour afficher les sorties
Définir le format de sortie
- Indique l'entête et le pied de page pour la sortie par défaut
- Utiliser une liste ordonnée (non ordonnée)
- Utiliser les tableaux
- Formater les champs de table individuellement en appliquant des modèles sur leur contenu
- Utiliser le listing du style des catégories
- Tronquer le titre ou le contenu à sa longueur maximale
- Ajouter un lien à l'article ou à l'une ou à plusieurs de ses sections
Considérations
Performance
L'exécution du code et l'accès à la base de données de DPL3 sont généralement rapides pour les recherches de catégories et d'articles.
Cependant, l'utilisation de paramètres de correspondance LIKE et REGEXP flous et (ou) la demande de grands ensembles de données peuvent entraîner des temps d'accès longs à la base de données.
Le temps d'analyse doit aussi être pris en considération.
Par exemple, faire entrer les résultats d'une requête d'images dans un modèle qui les affiche entraînera une transformation des médias dans l'analyseur pour chacun d'eux.
Cela peut facilement utiliser 2Mo de RAM pour la transformation d'un média.
It is recommended to configure the following configuration options:
$wgDPLMaxQueryTime']– allows configuration of the max execution length for queries, in milliseconds$wgDPLQueryCacheTime– allows configuration of the query cache. It also supports PoolCounter to limit query concurrency.
Voir aussi
Lectures complémentaires
DynamicPageList3 peut faire beaucoup plus que ce que nous pouvons expliquer ici.
Le manuel complet est disponible avec la description de tous les paramètres.
- Manuel:Gestion des données dans MediaWiki – Aperçu et comparaison.
| Cette extension est incluse dans les fermes de wikis ou les hôtes suivants et / ou les paquets : |
- Stable extensions/fr
- Tag extensions/fr
- Parser function extensions/fr
- Extensions supporting Composer/fr
- LoadExtensionSchemaUpdates extensions/fr
- ParserAfterTidy extensions/fr
- ParserFirstCallInit extensions/fr
- GPL licensed extensions/fr
- Extensions in GitHub version control/fr
- All extensions/fr
- Extensions included in Miraheze/fr
- Category extensions/fr
- List extensions/fr
- Special page extensions/fr
- Table extensions/fr
- Page content extensions/fr
- Tag cloud extensions/fr
- Category intersection extensions/fr
