Jump to content

Manuel:Paramètres de Special:Export

From mediawiki.org
This page is a translated version of the page Manual:Parameters to Special:Export and the translation is 100% complete.

Voir aussi : Manuel:DumpBackup.php

Les pages wiki peuvent être exportées dans un format XML spécial pour être téléversées sur un autre MediaWiki.[1] Voir Aide:Exporter pour plus de détails.

Paramètres disponibles

Vous trouverez ci-dessous la liste des paramètres disponibles pour Special:Export à compter de la version 1.16. Tous les paramètres ne sont pas accessibles à partir de l'interface utilisateur.

Paramètre Type de variable Description
action chaîne Non utilisé; initialisé à envoyer dans le formulaire d'exportation.
Sélection de page
/ (sans paramètre) Sélectionne jusqu'à une page, par exemple Special:Export/Sandbox.
pages ? Une liste de titres de pages, séparés par des caractères de saut de ligne (%0A). Au maximum 35 pages.
addcat/nom_de_catégorie chaîne ? Ces derniers ont été ajoutés plus tard. addcat renvoie tous les membres de la catégorie catname qui lui ont été ajoutés. Si $wgExportFromNamespaces est activé, addns et nsindex font la même chose, mais avec des espaces de noms et leurs indices numériques. Au maximum 5 000 titres de pages seront renvoyés.

Par exemple ceci vaut pour toutes les pages de en:Category:Books :

https://en.wikipedia.org/w/index.php?title=Special:Export&addcat&catname=Books&pages=XXXX

addns/index_espace_de_noms
Trier
dir[2] chaîne Doit valoir desc pour récupérer les révisions dans l'ordre chronologique inverse.

Le fonctionnement par défaut quand ce paramètre est omis est de récupérer les révisions dans l'ordre ascendant des horodatages (du plus ancien au plus récent).

Limiter les résultats
offset[2] ? Horodatage (non compris) à partir duquel commencer. Plusieurs formats sont permis y compris le format sur 14 caractères habituellement utilisé par MediaWiki, et un format ISO 8601 comme celui qui est produit par le vidage XML.
limit[2] entier Nombre maximum de révision à renvoyer. Si vous demandez plus d'un maximum spécifique fonction du site (défini dans $wgExportMaxHistory  : 1 000 sur les projets Wikimedia en ce moment), il sera réduit à ce nombre.

Cette limite est cumulative sur toutes les pages spécifiées dans le paramètre pages. Par exemple, si vous demandez une limite de 100, pour deux pages avec 70 révisions chacune, vous en obtiendrez 70 pour l'une et 30 pour l'autre.[3]

curonly booléen Inclure uniquement la version courante (par défaut pour les requêtes GET)
history ? Inclure l'historique complet ce qui redéfinit dir, limit, et offset.

Cela ne fonctionne pas pour tous, disons que https://en.wikipedia.org/w/index.php?title=Special:Export&pages=US_Open_(tennis)&history=1&action=submit fonctionne bien et donne toutes les révisions mais https://en.wikipedia.org/w/index.php?title=Special:Export&pages=India&history=1&action=submit ne le fait pas.

Autres
templates ? Inclut tout modèle transclus dans les pages listées pour l'export.
listauthors booléen Inclut pour chaque page, la liste des noms de tous les contributeurs avec leur identifiant d'utilisateur. La fonctionnalité est désactivée par défaut; elle peut être activée en modifiant $wgExportAllowListContributors .
pagelink-depth entier Inclut toutes les pages liées jusqu'au niveau de profondeur indiqué. Limité à $wgExportMaxLinkDepth (par défaut 0 désactive la fonctionnalité) ou 5 si l'utilisateur n'a pas l'autorisation de modifier les limites.
wpDownload ? Enregistre le gtéléchargement dans un fichier dont le nom inclut l'horodatage du moment. Implémenté via l'entête HTTP content-disposition:attachment.

Le paramètre URL des requêtes ne fontionne pas

Les paramètres dir, offset et limit ne fonctionnent que pour les requêtes POST. Les requêtes GET via une URL sont ignorées.

Lorsque vous utilisez l'URL comme dans un navigateur, l'envoi est fait avec GET. Dans le script ruby, vous utilisez POST.

Par exemple, la requête de paramètre suivante ne fonctionne pas, elle renvoie toutes les révisions d'une page malgré la limite du paramètre de 5.

https://en.wikipedia.org/w/index.php?title=Special:Export&pages=XXXX&offset=1&limit=5&action=submit

Récupérer les 5 dernières versions

Une requête POST est générée par cURL quand vous passez -d "". Ci-dessous nous récupérons les 5 dernières versions de la page d'accueil de la Wikipedia anglophone et sa page de discussion :

curl -d "" 'https://en.wikipedia.org/w/index.php?title=Special:Export&pages=Main_Page%0ATalk:Main_Page&offset=1&limit=5&action=submit'

Et voici les 5 versions suivantes de la page d'accueil seulement :

curl -d "" 'https://en.wikipedia.org/w/index.php?title=Special:Export&pages=Main_Page&offset=2002-01-27T20:25:56Z&limit=5&action=submit'

Ici l'horodatage de la dernière révision de la requête précédente est copié dans le champ de décalage de l'URL. Parce que le champ de décalage n'est pas inclusif, cette 5e révision n'est plus affichée, et au lieu de cela nous obtenons les révisions de 6 à 10.[4]

Requêtes POST pour télécharger

Un exemple plus explicite, surtout si vous voulez aussi sauver n'importe quoi, serait

curl -d "&pages=Main_Page&offset=1&action=submit" https://en.wikipedia.org/w/index.php?title=Special:Export -o "somefilename.xml"

L'URL de la racine doit suivre les paramètres de MediaWiki... En outre, notez le fait que vous devez ajouter les paramètres de curl à la fin pour enregistrer le fichier en tant que quelque chose. Sinon les résultats défileront sur votre écran et rien ne sera sauvegardé. Ici nous voyons que les serveurs Wikipedia sont en maintenance, c'est pourquoi la méthode précédente affiche une erreur et ne fournit pas le xml.

Si vous avez la liste des titres dans un fichier, disons title-list, vous devez passer la liste comme paramètre de curl et encoder correctement les sauts de ligne (pour une raison quelconque, --data-urlencode et @ ne fonctionnent pas) :

curl -d "&action=submit&pages=$(cat title-list | hexdump -v -e '/1 "%02x"' | sed 's/\(..\)/%\1/g' )" https://en.wikipedia.org/w/index.php?title=Special:Export -o "somefilename.xml"

Si vous souhaitez économiser de la bande passante, vous pouvez aussi ajouter les arguments suivants :

--compressed -H 'Accept-Encoding: gzip,deflate'

Arrêter l'export de votre MediaWiki

N'oubliez pas que si vos utilisateurs ont des difficultés pour sauvegarder leur travail, cela les découragera de contribuer à votre wiki.

Si $wgExportAllowHistory vaut false dans LocalSettings.php , seule la version actuelle peut être exportée, pas l'historique complet.

Par défaut avec les requêtes GET, on ne renvoie que la dernière version (la courante) de chaque page.

Si le paramètre $wgExportAllowHistory vaut true dans LocalSettings.php , et que la case "Inclure seulement la révision actuelle et non l'historique complet" n'est pas cochée, alors toutes les versions de chaque page sont renvoyées.

Pour désactiver complètement l'exportation, vous devez définir une fonction de rappel dans votre LocalSettings.php :

function removeExportSpecial(&$aSpecialPages)
{
	unset($aSpecialPages['Export']);
	return true;
}
$wgHooks['SpecialPage_initList'][] = 'removeExportSpecial';

Si vous voulez définir des droits pour l'exportation, insérez ce qui suit dans votre LocalSettings.php :

// redéfinit SpecialExport, qui est un travail pour MW1.35
// les paramètres de __construct () sont modifiés dans les versions ultérieures
class SpecialExport2 extends SpecialExport {
    public function __construct() {
        parent::__construct();
        $this->mRestriction = 'export';
    }
    public function execute( $par ) {
        $this->checkPermissions();
        parent::execute( $par );
    }
}
function adjustExportSpecial(&$aSpecialPages)
{
	$aSpecialPages['Export'] = SpecialExport2::class;
	return true;
}
$wgHooks['SpecialPage_initList'][] = 'adjustExportSpecial';
$wgGroupPermissions['sysop']['export'] = true; // ajouter le droit d'exporter pour les sysop seulement

Notez-bien que l'export est encore possible si l'API est activée.

Notes

  1. Si cette fonction est activée sur le wiki de destination et que l'utilisateur est un sysop là-bas. L'exportation peut être utilisée pour analyser le contenu. Voir aussi le Flux de syndication pour exporter d'autres informations sauf les pages et Aide:Importer pour l'importation de pages.
  2. 2.0 2.1 2.2 Ces paramètres sont ignorés si soit curonly ou history est fourni, ou passé dans une requête GET (par exemple dans la barre d'adresse d'un navigateur). Voir les requêtes des paramètres d'URL ne fonctionnent pas pour plus d'informations.
  3. L'ordre est par page_id, les pages avec page_id inférieur obtiennent plus de révisions. La raison en est que Special:Export ne fait qu'une seule requête de base de données par requête HTTP. Si vous voulez demander l'historique de plusieurs pages avec de nombreuses révisions chacune, vous devrez le faire page par page.
  4. Cette convention de paramètres est très similaire à celle des pages d'historique de l'interface utilisateur.

Voir aussi

Liens externes