Manual:ImportDump.php/fr


 * Les méthodes recommandées ici sont à usage général mais lentes avec des ensembles de données de grande taille. Voir la section sur l'import de grands wikis ci-dessous.

Le fichier importDump.php est un script de maintenance pour importer les fichiers des dumps XML dans le wiki actuel. Il lit les pages à partir d'un fichier XML tel qu'il est produit par Special:Export ou, et les sauvegarde dans le wiki actuel. Il fait partie des scripts de maintenance de MediaWiki et se trouve dans le dossier de maintenance de votre installation MediaWiki.



Description des opérations
Le script indique la progression de l'exécution par incrément de 100 pages (valeur par défaut), en affichant le nombre de pages et de révisions importées par seconde pour chaque incrément, afin que vous puissiez suivre l'activité et voir qu'il n'y a pas de blocage. Peut pendre 30 secondes ou plus entre chaque incrément.

Le script est robuste car il saute les pages qui ont déjà été chargées précédemment plutôt que de les réécrire, il peut ainsi reprendre très rapidement là où il a été interrompu. Il affiche encore la progression en faisant cela, ce qui permet d'avancer assez vite.

Les pages seront importées en conservant l'horodatage de chaque modification. A cause de cette fonctionnalité, si une page importée est plus ancienne que la page existante, seule l'historique de la page sera remplie mais la nouvelle version ne sera pas remplacée par l'ancienne. Si ce comportement n'est pas souhaité, il faut d'abord supprimer les pages existantes avant d'importer, ou les modifier de sorte à revenir à la dernière version importée signalée dans l'historique.

Le wiki reste utilisable durant l'import.

Le wiki semble désorganisé et il manque la plupart des modèles; pratiquement tous les liens sont en rouge mais la situation s'améliore au fil de la progression des imports.

Exemples
Si vous avez un accès au shell, vous pouvez appeler importdump.php à partir de votre répertoire de maintenance ainsi (ajoutez les chemins si nécessaire) :

ou ceci :

où  est le nom du fichier de dump XML. Si le fichier est compressé et a pour extension  ou   (mais pas   ni  ), il se décompresse automatiquement.

Puis utilisez pour importer les images :

php importImages.php ../path_to/images

Après importDump.php, vous pouvez exécuter rebuildrecentchanges.php pour mettre à jour le contenu de la page Special:Recentchanges.

Si vous avez importé un dump avec le paramètre, vous devrez exécuter rebuildall.php pour initialiser tous les liens, les modèles et les catégories.

FAQ


Comment passer en mode debug ?
Utiliser l'option  dans la commande en ligne



Comment faire un essais à vide (sans données dans la base) ?
Utiliser l'option  dans la commande en ligne



Messages d'erreur


Erreur à l'ouverture du flux
Si vous obtenez l'erreur « failed to open stream: No such file or directory », vérifiez que le fichier en question existe bien et que PHP a le droit d'y accéder.



Entré
roots@hello:~# php importImages.php /maps gif bmp PNG JPG GIF BMP

Erreur
> PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/mcrypt.ini on line 1 in Unknown on line 0 > Could not open input file: importImages.php

Cause
Avant d'exécuter importImages.php vous devez d'abord vous placer dans le répertoire maintenance dans lequel ce script se trouve.



Erreur à l'exécution de MAMP
DB connection error: No such file or directory (localhost)

Solution
Utiliser les informations de connexion spécifiques à la base de données



Importer la Wikipedia anglophone ou d'autres wikis de grande taille
Pour les fichiers de données très grands, importDump.php peut prendre beaucoup de temps (des jours voire des semaines); il existe des méthodes alternatives plus rapides si vous voulez restaurer un site complet, voir.

Si les autres méthodes ne fonctionnent pas, voici des pistes pour utiliser importDump.php pour importer les gros wikis afin de réduire au maximum le temps d'attente...



Parallèliser les imports
Vous pouvez essayer d'exécuter importDump.php plusieurs fois simultanément à partir du même dump en utilisant l'option ...

Lors d'un essai sous Ubuntu, le script a été lancé plusieurs fois simultanément (sur le même dump décompressé) dans des fenêtres séparées en utilisant l'option  . Avec un laptop à 4 coeurs, l'éxécution du script dans 4 fenêtres séparées a accéléré l'import d'un facteur 4. Dans l'expérience, le paramètre   a été mis à   pour avoir   pages par instance, et l'import a été suivi (vérifié régulièrement), pour arrêter chaque instance avant de mettre en cache la suivante.

Cette expérience n'a pas été faite en lançant plusieurs instances sans le paramètre --skip-to afin d'éviter un blocage potentiel -- si vous faites ceci sans utiliser  , ou que vous laissez les instances interagir entre elles, veuillez fournir vos résultats et commentaires sur la page de discussion. Dans cette expérience 2 des fenêtres on interagit sans fournir d'erreur. Les instances du script ont semblé chacune revenir en arrière.

Avec   la situation est différente du cas habituel; les incréments de progression ne sont pas affichés durant les sauts mais le curseur clignote simplement. Après quelques minutes, le rapport de progression commence à s'afficher.



Segmenter les données
Il est peut être intéressant de segmenter les donnée d'abord avec un splitter xml, avant de les importer en parallèle. Puis exécuter importDump.php sur chacun des segments dans une fenêtre séparée, afin d'éviter les effets de bord potentiels. (si vous êtes parvenu à segmenter le dump de sorte à ce qu'ils suive ce processus indiquez le svp sur la page de discussion).



Importer d'abord les espaces de noms les plus utiles
Pour accélérer l'import des parties les plus importantes du wiki, utilisez le paramètre  . Importer les modèles en premier car les articles sans modèle opérationnel ont une mise en page horrible. Importez ensuite les articles. Ou faites les deux simultanément dans différentes fenêtres tel qu'il est dit ci-dessus, en commençant d'abord par les modèles car ils se chargent plus vite et n'interagissent pas avec la, ou les fenêtres des articles.

l'espace de noms Main n'a pas de préfixe, il doit donc être spécifié en utilisant un  . Main et Article échouent durant l'exécution en renvoyant des erreurs.

Une fois terminé, il faut repasser  à nouveau pour avoir les pages des autres espaces de noms.



Estimer le temps d'exécution
Avant de pouvoir estimer le temps que va durer un import, il vous faut connaître le nombre total de pages contenues dans le wiki à importer. Ceci est affiché sur Special:Statistics dans chaque wiki. Depuis octobre 2023, la Wikipedia anglophone possède plus de 59,000,000 pages, y compris les pages de tout type telles que les pages de discussion, les redirections, etc. mais sans compter les fichiers d'images (files).

Pour voir la vitesse de progression de l'import, aller sur la page Special:Statistics du wiki de réception. Notez l'heure et le nombre total de pages. Puis revenez plus tard et notez de combien ce numéro a changé. Convertissez cela en pages par jour, puis divisez le nombre total de pages du wiki à importer par ce nombre, pour estimer le nombre de jours qu'il vous faudra.

Par exemple dans l'expérience ci-dessus, l'import en utilisant le parallèlisme pour un nombre total de pages de trouvé dans Special:Statistics, fait que le wiki augmente d'environ 1,000,000 pages par jour. C'est pourquoi il faudra environ 59 jours à cette vitesse pour importer les 59,000,000 pages (situation en octobre 2023) de la Wikipedia anglophone (sans compter les images).

Résolution des problèmes
Voir aussi : Problèmes communs liés à l'import des dumps

Si des erreurs apparaissent quand vous importez les fichiers, il peut être nécessaire d'utiliser l'option.



Voir aussi

 * - autres méthodes d'import.
 * - instructions pour créer un dump.