This page is a translated version of the page Help:Import and the translation is 98% complete.

Manuel de MediaWiki : I. LecteursII. ÉditeursIII. Administrateurs

Index | Guide pour le manuel | Principes éditoriaux | MediaWiki | +/-

Meta-Wiki Importer icon
Meta-Wiki Importer icon

Il y a deux types d'import, tous deux accessibles via Special:Import :

  • transwiki import, aussi appelé interwiki import : importe les pages directement depuis un autre wiki ; les paramètres du wiki de destination déterminent quelles sources wikis sont activées ; message avec id 'import-interwiki-text' (discussion) apparaît ; après "Transférer des pages dans un espace de noms", vous pouvez spécifier un espace de noms cible ; l'option "tous" signifie en réalité "identique à l'original".
  • upload import : importer un fichier dans un format spécial XML produit par l'export de pages d'un autre wiki ; message avec id 'importtext' (discussion) apparaît ;

Voir la page Importer pour plus d'informations sur les groupes d'utilisateurs effectuant ces actions.

Import transwiki

Sur beaucoup de wikis Wikimedia, l'importation de transwiki est également désactivée, elle donne message avec id 'importnosources' (discussion) : No wikis from which to import have been defined and direct history uploads are disabled.. Cependant, les pages de commons:, foundation:, w :, cs: et fr: peuvent actuellement être importées dans Meta, et les pages de Meta peuvent être importées dans mw:. L'acte d'importation est ajouté à l'historique de la page et à Special:Log/import.

Si une page importée a le même nom qu'une page existante dans le wiki cible, la page est remplacée si la page importée est plus récente (en fonction des horodatages). Si une erreur s'est produite lors de l'importation, vous pouvez constater que l'importation est partiellement terminée (certaines pages ont été importées, mais pas toutes). Étant donné que les pages sont remplacées, tenter à nouveau l'importation ne devrait pas poser de problème.

Si vous avez spécifié d'inclure des informations d'historique, vous devez également afficher des informations sur les modifications dans l'historique des pages importées et dans les contributions de l'utilisateur. Les modifications n'apparaîtront pas dans les modifications récentes (ni positionnées au moment de la modification initiale, ni au moment de l'importation). L'effet sera similaire à une fusion d'historique complète et il peut être assez difficile de déterminer plus tard quelles modifications ont été importées.

L'option "Inclure tous les modèles" permet d'importer les modèles figurant sur une page importée. Si cela n'est pas utilisé, ils seront en liens rouges à moins qu'un modèle du même nom existe sur le wiki cible. Si cela est utilisé, les modèles du même nom sur le wiki cible seront remplacés et l'importation comprendra non seulement les modèles de la page importée, mais également tous les modèles utilisés dans ces modèles. Il est possible d'importer une collection de pages en créant spécialement une page qui les transclut et en important cette page avec l'option on. Cependant, cela doit être fait avec beaucoup de précautions ou cela peut entraîner beaucoup plus d'importations que souhaité - à nouveau, tous les modèles sur les pages incluses et tous les modèles imbriqués dans ces modèles seront importés.

Les applications utiles d'importation incluent :

  • lorsqu'une page est déplacée vers un autre wiki et modifiée par la suite, placez l'historique dans le wiki cible ; ceci est particulièrement utile si la page source devient plus difficile à trouver à cause des déplacements de page, etc.
  • lorsqu'une page est déplacée vers un autre wiki et supprimée sur le wiki source, conservez l'historique.
  • afin d'avoir des modèles qui existent sur un autre wiki/sous-domaine.
  • sur certains projets tels que wikisource et wiktionary, pour déplacer du contenu multilingue entre sous-domaines linguistiques.

Mise en œuvre

Pour vérifier si votre wiki a le droit transwiki correctement configuré et, le cas échéant, avec quel wikis, vous pouvez interroger votre wiki à l'aide de l'API.

La configuration s'exprime par <param name="interwikisource" description="Pour les imports interwiki: wiki à partir duquel il faut importer"> …

Vous pouvez également vérifier les configurations globales à l’adresse http://noc.wikimedia.org/conf/highlight.php?file=InitialiseSettings.php et regardez la section wgImportSources.

Si aucun transwiki n'est configuré, recherchez le consensus de votre communauté locale pour configurer le transwiki et identifier les wikis que vous souhaitez importer. Les demandes de modification de la configuration doivent être enregistrées sur Phabricator:. Vous devriez fournir un lien vers la page de discussion de votre communauté dans votre demande.

Une requête de l'API sur votre wiki local afficherait également les droits du groupe d'utilisateurs. Recherchez la balise <add>.

Assignation des droits d'importation transwiki

La plupart des droits transwiki sont attribués aux utilisateurs à la suite d'une discussion réussie sur le wiki de leur communauté, suivie d'une demande adressée aux stewards à l'adresse Steward requests/Permission. Certains wikis ont demandé et obtenu l'accord des bureaucrates locaux pour qu'ils puissent attribuer ce droit. Vérifiez auprès de votre wiki la situation actuelle.

Importation de téléchargement

L'exportation, ainsi que le format des pages exportées, sont décrits dans mw:Help:Export. Normalement, tout utilisateur peut exporter des pages wiki dans un fichier, mais pour importer des pages dans un wiki à partir d'un fichier, vous devez disposer des privilèges « Sysop » sur ce wiki. Donc, si vous avez votre propre installation MediaWiki, alors vous devriez pouvoir voir la page 'Spécial: Import' ici. Au sein de la famille de projets wiki de Wikimedia Foundation, seuls les utilisateurs disposant du droit d'utilisateur importupload peuvent importer des pages dans un wiki à partir d'un fichier ; cela inclut uniquement les membres du groupe "importateur" Importer et les stewards.

Pour importer des pages wiki de votre ordinateur, cliquez simplement sur Parcourir pour localiser le fichier sur votre système de fichiers local.

Modifier le fichier d'importation

Dans le cas de l'importation par téléchargement, en raison du format de fichier lisible, le fichier XML peut facilement être édité entre l'exportation et l'importation. Cela doit être fait avec prudence et intégrité, il est possible d'effectuer des éditions antidatées et d'utiliser de faux noms d'utilisateur. En combinaison avec la suppression, on peut "réviser l'historique". Les applications de cette édition comprennent :

  • ajouter une note au sommaire de modification concernant l'importation
  • changer les noms d'utilisateur et/ou les noms de page pour éviter les conflits de noms (juste entre les balises de titre et entre les balises de nom d'utilisateur ou aussi dans les liens et les signatures)
  • changer les noms des espaces de noms en noms génériques ou applicables (idem)

Notez que si deux versions de la page ont le même horodatage (car l'une d'entre elles a été chargée avec le même horodatage qu'une version préexistante), la version la plus récente (importée) apparaîtra dans l'historique de modification, mais pas dans l'article lui-même.

Voir mw:Manual:XML Import file manipulation in CSharp pour un exemple d'utilisation de ces fichiers XML dans Visual Studio .NET C#.

Fusionner les historiques et autres complications

Voir aussi mw:Manual:Importing_XML_dumps#Troubleshooting.

Si l'importation comprend des informations d'historique et que les modifications impliquaient un nom d'utilisateur utilisé par quelqu'un d'autre dans le projet d'importation, l'importation de téléchargement devrait être appliquée et les occurrences du nom d'utilisateur dans le fichier XML devraient d'abord être remplacées par un autre nom pour éviter toute ambiguïté. Si le nom d'utilisateur n'a pas encore été utilisé dans le projet d'importation, les contributions des utilisateurs sont néanmoins disponibles, bien qu'un compte ne soit pas créé automatiquement.

Tout comme lorsqu'une page est référencée dans un lien et/ou insérée dans une URL, les noms d'espace de nom génériques sont automatiquement convertis. Si un préfixe n'est pas un nom d'espace de nom, la page arrivera dans l'espace de nom principal. Cependant, par exemple "Meta:" peut être ignoré (supprimé) sur un projet qui utilise ce préfixe pour la liaison interwiki. Il peut être souhaitable de le modifier dans le fichier XML en "Projet:" avant de l'importer.

Si un nom de page existe déjà, l'importation des révisions d'une page portant ce nom entraînera la fusion des historiques de page. Notez qu'après l'insertion d'une révision entre deux révisions existantes dans l'historique de page, la modification apportée par l'utilisateur qui a effectué la modification suivante semble différente de ce qu'elle a été réellement : pour voir la modification réelle effectuée par l'utilisateur, il faut prendre la diff entre les deux révisions déjà existantes, pas la diff par rapport à celle insérée. Par conséquent, cela ne devrait pas être fait, sauf pour reconstruire le vrai historique de la page.

Une révision n'est pas importée si une révision de la même page, à la même date et heure (identique à la seconde) existe déjà. En pratique, cela se produit uniquement lorsque la révision a déjà été importée auparavant (soit sur le wiki courant, soit un peu plus tôt vers un autre wiki, soit sur les deux wikis si la révision est importée depuis un troisième site).

Un résumé de modification peut faire référence à une autre page et éventuellement être lié à une autre page. Cela peut prêter à confusion lorsque la page a été importée mais pas la page cible.

Le résumé des modifications n'indique pas automatiquement que la page a été importée, mais dans le cas d'une importation par téléchargement, vous pouvez l'ajouter aux résumés des modifications dans le fichier XML avant l'importation. Cela peut éviter certaines sources potentielles d'ambiguïté et/ou de confusion. Lorsque vous modifiez le fichier XML avec rechercher/remplacer, notez que l'ajout d'un texte aux résumés de modification nécessite de distinguer les modifications comportant déjà un résumé de modification, donc des balises de commentaire dans le fichier XML et celles ne comportant pas ces balises. S'il existe plusieurs paires de balises de commentaire, seule la dernière est effective.

Contributions d'utilisateur

Sans dispositions pour les conflits de noms d'utilisateur, la liste des contributions des utilisateurs indique :

  • les modifications apportées par la personne enregistrée sous le nom d'utilisateur concerné par le projet
  • pour chaque wiki à partir duquel des pages ont été importées, les modifications des pages importées avant importation, par l'utilisateur qui, dans le projet source, porte le nom d'utilisateur concerné

Si, au moment de l'importation, la page n'existait pas encore sur le site cible, vous pouvez distinguer les deux en comparant l'heure d'importation et l'heure de la modification.

Si la page utilisateur et la page de discussion utilisateur n'ont pas de lien de contributions utilisateur dans la marge de la page, l'utilisateur n'est pas enregistré, donc toutes leurs modifications sont importées.

Transfert à grande échelle

Pour un transfert à grande échelle, une personne disposant de privilèges de système suffisants, peut déplacer des données sur le serveur, ce qui est plus pratique que d'envoyer des fichiers XML volumineux du serveur à l'ordinateur local d'un utilisateur, puis de nouveau au serveur.

Les gros fichiers peuvent être refusés pour deux raisons. La limite d'upload PHP, qui se trouve dans le fichier de configuration php.ini :

 ; Maximum allowed size for uploaded files.
 upload_max_filesize = 20M

Et aussi la variable cachée limitant la taille dans le formulaire de saisie. Se trouve dans le code source de mediawiki, includes/specials/SpecialImport.php:

   <input type='hidden' name='MAX_FILE_SIZE' value='20000000' /> 

Peut-être devriez-vous changer les quatre directives suivantes dans php.ini :

; Maximum size of POST data that PHP will accept.
post_max_size = 20M
max_execution_time = 1000  ; Maximum execution time of each script, in seconds
max_input_time = 2000	    ; Maximum amount of time each script may spend parsing request data
; Default timeout for socket based streams (seconds)
default_socket_timeout = 2000

Voir aussi

  • data dumps décrit le script de maintenance maintenance/importDump.php qui fournit un autre mécanisme d'importation, mais n'est pas toujours resté en ordre de marche avec les dernières versions de MediaWiki.
  • Importer