MediaWiki/Migration des données 2
La migration des données consiste à ne récupérer que les données (texte, fichiers...)
Généralité
Outil
Procédure
Installation MediaWiki
- création du dossier
\\nouveauserveur\phpwamp\www\konoburo\
- copie de MediaWiki
- lancement de l'installation :
- nom base : konoburo
- préfixe : konoburo_
- wiki privé
- aucune licence
- pas de courriel sortant
- habillage : MonoBook, Timeless, Vector
- pages spéciales : ReplaceText
- éditeurs : CodeEditor, VisualEditor, WikiEditor
- greffons analyseur syntaxique : CategoryTree, Cite, ImageMap, InputBox, ParserFunctions, Poem, Scribunto, SyntaxHighlight_GeSHi, TemplateData
- Manipulateurs de médias : PdfHandler (inclus dans le tron commun de MediaWiki 1.37.0)
- divers : MultimediaViewer, OATHAuth, TextExtracts
- téléversement de fichier activé
- mise en cache des objets PHP
- personnalisation :
- habillage :
- Metrolook
- extensions :
- Auth_remoteuser
- Highlightjs_Integration
- intersection
- MsUpload
- NewestPages
- NoTitle
- Purge
- habillage :
Export en masse
Depuis le wiki de départ, exporter les données avec historique :
\\ancienserveur\phpwamp\www\konoburo\maintenance\
- avec l'historique des versions :
php.exe dumpBackup.php --full --quiet > konoburo-20211029.xml
- uniquement la version courante :
php dumpBackup.php --current --quiet > konoburo-20211110-1421.xml
- uniquement la version courante des modèles (espace de nom
10
) :php dumpBackup.php --current --quiet --filter=namespace:10 > konoburo-20211110-1422.xml
Problème avec Semantic MediaWiki
Certains modèles sont paramétrer pour fonctionner avec l'extension Semantic MediaWiki ; utilisation de la syntaxe [[Attribut::contenu]]
- extrait :
-->{{#if:{{{courriel|}}}|{{courriel|[[A le courriel::{{{courriel|}}}]]}}{{br}}|}}<!--
Modification des modèles contenant des éléments Semantic MediaWiki :
- Modèle:Contact
- Modèle:Infobox Fournisseur
- Modèle:Infobox serveur
- Modèle:Règle proxy
- Modèle:IP
- Modèle:Menu
Import des données
Vers le wiki d'arrivée :
\\nouveauserveur\phpwamp\www\konoburo\maintenance\
php.exe importdump.php < konoburo-20211029.xml
Scripts de maintenance à lancer pour reconstruire :
\\nouveauserveur\phpwamp\www\konoburo\maintenance\
php.exe rebuildrecentchanges.php
Scripts de maintenance à lancer pour les statistiques :
\\nouveauserveur\phpwamp\www\konoburo\maintenance\
php.exe initSiteStats.php
Import des fichiers
S'il faut récupérer les images de l'ancien site :
- source sur le wiki d'origine
\\ancienserveur\phpwamp\www\konoburo\images\
- créer une copie de travail ; exemple du dossier
\\nouveauserveur\Support\ImageAImporter\
- supprimer le contenu des sous-dossiers :
\archive\
\cache\
\deleted\
\temp\
\thumb\
Utilisation du script ImportImages.php
:
- https://www.mediawiki.org/wiki/Manual:ImportImages.php/fr
\\nouveauserveur\phpwamp\www\konoburo\maintenance\php.exe ImportImages.php \\nouveauserveur\Support\ImageAImporter\ --search-recursively
- l'option
--search-recursively
permet d'inclure les sous-dossiers
- l'option
\\nouveauserveur\phpwamp\www\konoburo\maintenance\php.exe ImportImages.php \\nouveauserveur\Support\ImageAImporter\ --search-recursively --extensions=pdf
- --extensions=xls,xlsx,doc,docx,ppt,pptx,gif,jpeg,webp,wav,txt,png
Maintenance
\\nouveauserveur\phpwamp\www\konoburo\maintenance\
php.exe rebuildrecentchanges.php
php.exe initSiteStats.php
Maintenance générale :
- https://www.mediawiki.org/wiki/Manual:Rebuildall.php
- *
php.exe Rebuildall.php
- *
PdfHandler maintenance
Pour reconstruire les vignettes des PDF ; source : https://www.mediawiki.org/wiki/Extension_talk:PdfHandler
php refreshImageMetadata.php -f
php rebuildImages.php
Purge
PurgePage.php : équivalent à action=purge
- commande :
PurgePage.php
- https://www.mediawiki.org/wiki/Manual:PurgePage.php
PurgeList.php :
- commande :
PurgeList.php --all-namespaces
- https://www.mediawiki.org/wiki/Manual:PurgeList.php
Problème sur la recherche plein texte
Source :
Lors de la recherche plein texte, le message suivant s'affiche :
[fe01568bfe677bff2546c789] 2021-12-10 15:45:30: Erreur fatale de type « Wikimedia\Assert\PreconditionException »
Actions réalisées :
rebuildtextindex.php
UpdateSearchIndex.php
- exemple :
c:\temp\php\php.exe updatesearchindex.php -s 20061210160135
Analyse 1 :
- la table
searchindex
est avec le moteurMyISAM
au lieu deInnoDB
!- vu conversion avec phpmyadmin
Analyse 2 :
- la table
searchindex
est avec le codageutf8_general_ci
au lieu debinary
(comme toutes les autres tables) !
Composer
Composer est un gestionnaire de dépendances pour les bibliothèques PHP.
Installation
Installer simplement depuis l'installeur :
- source : https://getcomposer.org/download/
- liaison créée automatiquement avec php :
C:\phpwamp\php\php.exe
- dossier créé par l'installeur, utile pour la désinstallation :
C:\Program Files (x86)\ComposerSetup\
- dossier créé par l'installeur :
C:\ProgramData\ComposerSetup\bin\
- dossier créé par l'installeur :
C:\Users\username\AppData\Roaming\Composer\vendor\bin\
Particularité Windows :
- utiliser la commande
composer.bat --version
en lieu et place de la ligne de commandephp composer-setup.php --version
Le fichier composer.bat
contient :
@echo OFF :: in case DelayedExpansion is on and a path contains ! setlocal DISABLEDELAYEDEXPANSION php "%~dp0composer.phar" %*
Utilisation
Depuis le dossier d'un site MediaWiki (exemple ..\MonWiki\
), la commande suivante met à jour le dossier ..\MonWiki\vendor\
en créer toute l'arborescence nécessaire :
composer.bat update
Serveur Apache
REDEMMARER le serveur Apache pour vider les caches.
Personnalisation
Logo :
- fichier paramètre
LocalSettings.php
:$wgLogos = [ '1x' => "$wgResourceBasePath/resources/assets/konoburo.png" ];
Icone d'onglet :
- $wgFavicon = "$wgScriptPath/favicon.ico";
Personnalisation du menu
- MediaWiki:Sitenotice : permet de personnaliser l'en-tête de page ;
- MediaWiki:Sidebar : permet de personnaliser la barre de menu (positionnée sur la gauche) :
Personnalisation de l'habillage
- MediaWiki:Common.css : personnaliser la présentation pour tout le monde par une feuille de style commune ;
- Utilisateur:Pagep/common.css : personnaliser la présentation pour l'utilisateur uniquement.
Common.css
/* Le CSS placé ici sera appliqué à tous les habillages. */ .catlinks { background-color: #cccf00; border: 1px solid #aaa; padding: 5px; margin-top: 1em; clear: both; } /* Kono Buro, Ph. Page, 29/10/2021, bandeau de menu bleu */ #mw-head { background: #4066aa; } #p-logo { margin-bottom: 0; } #mw-panel div.portal { margin: 0 0.6em 0 -0.3em; padding: 0.25em 0; direction: ltr; background-position: top left; background-repeat: no-repeat; } #mw-panel div.portal h5 { margin: -0.5em 0 0 0; color: white; background: #4066aa; } .vectorTabs ul { padding: 4px; } div.vectorMenu h5 span { background-color: #4066aa; } div.vectorMenu ul { border: solid 2px #4066aa; } pre { background-color: #eef; } /* Le CSS placé ici sera appliqué à tous les habillages. */ /* Ph. Page, 15/04/2020 */ /* position menu de gauche plus haut (ancienne valeur : top: 40px; left: -7px;) */ .mw-body { margin-left: 12.5em; padding: 1.25em .5em 1.5em .5em; top: 25px; left: -17px; } /* Ph. Page, 15/04/2020 */ /* position menu de gauche plus haut (ancienne valeur : top: 40px;) */ .mw-panel { top: 20px; } /* Ph. Page, 15/04/2020 */ /* interligne plus serrée (ancienne valeur 1.6) */ .mw-body-content { line-height: 1.4; } /* Ph. Page, 22/08/2013 */ /* Boîtes déroulantes */ .NavFrame { background: #F9F9F9; border: 1px #AAA solid; padding: 2px; } .NavFrame .NavHead { background: #EFEFEF; border: 0 #AAA solid; text-align: left; font-weight: bold; } .NavFrame .NavContent { padding: 5px 0 } .collapseButton { font-weight: normal; float: right; text-align: right; width: 6em; margin-left: -100%; } pre, code { background-color: #fbfbfb; } .cache { content: '********'; } .cache:hover{ display:block; }
PHP
Extension php_apcu.dll
: