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
: