« MediaWiki/Migration des données 2 » : différence entre les versions

Aller à la navigation Aller à la recherche
mAucun résumé des modifications
 
(19 versions intermédiaires par le même utilisateur non affichées)
Ligne 10 : Ligne 10 :


=== Installation MediaWiki ===
=== Installation MediaWiki ===
* création du dossier <code>\\nouveauserveur\phpwamp\www\konoburo\</code>
* création du dossier <source inline>\\nouveauserveur\phpwamp\www\konoburo\</source>
* copie de MediaWiki
* copie de MediaWiki
* lancement de l'installation :
* lancement de l'installation :
Ligne 22 : Ligne 22 :
** éditeurs : CodeEditor, VisualEditor, WikiEditor
** éditeurs : CodeEditor, VisualEditor, WikiEditor
** greffons analyseur syntaxique : CategoryTree, Cite, ImageMap, InputBox, ParserFunctions, Poem, Scribunto, SyntaxHighlight_GeSHi, TemplateData
** greffons analyseur syntaxique : CategoryTree, Cite, ImageMap, InputBox, ParserFunctions, Poem, Scribunto, SyntaxHighlight_GeSHi, TemplateData
** Manipulateurs de médias : PdfHandler
** Manipulateurs de médias : PdfHandler (inclus dans le tron commun de MediaWiki 1.37.0)
** divers : MultimediaViewer, OATHAuth, TextExtracts
** divers : MultimediaViewer, OATHAuth, TextExtracts
** téléversement de fichier activé
** téléversement de fichier activé
Ligne 29 : Ligne 29 :
** habillage :  
** habillage :  
*** Metrolook
*** Metrolook
** extensions :  
** extensions :
*** Auth_remoteuser
*** Highlightjs_Integration
*** intersection
*** MsUpload
*** NewestPages
*** NoTitle
*** NoTitle
*** MsUpload
*** Purge
*** Purge
*** NewestPages
*** Highlightjs_Integration


=== Export en masse ===
=== Export en masse ===
Depuis le wiki de départ, exporter les données avec historique :
Depuis le wiki de départ, exporter les données avec historique :
* <code>\\ancienserveur\phpwamp\www\konoburo\maintenance\</code>
* <source inline>\\ancienserveur\phpwamp\www\konoburo\maintenance\</source>
* avec l'historique des versions :
* avec l'historique des versions :
** <code>php.exe dumpBackup.php --full --quiet > konoburo-20211029.xml</code>
** <source inline>php.exe dumpBackup.php --full --quiet > konoburo-20211029.xml</source>
* uniquement la version courante :
* uniquement la version courante :
** <code>php dumpBackup.php --current --quiet > konoburo-20211110-1421.xml</code>
** <source inline>php dumpBackup.php --current --quiet > konoburo-20211110-1421.xml</source>
* uniquement la version courante des modèles (espace de nom <code>10</code>) :
* uniquement la version courante des modèles (espace de nom <code>10</code>) :
** <code>php dumpBackup.php --current --quiet --filter=namespace:10 > konoburo-20211110-1422.xml</code>
** <source inline>php dumpBackup.php --current --quiet --filter=namespace:10 > konoburo-20211110-1422.xml</source>


=== Préparation ===
=== Problème avec Semantic MediaWiki ===
Edition du fichier d'export :
Certains modèles sont paramétrer pour fonctionner avec l'extension Semantic MediaWiki ; utilisation de la syntaxe <code><nowiki>[[Attribut::contenu]]</nowiki></code>
* changement du préfixe de la base de données pour certains articles :
* extrait : <code><nowiki>-->{{#if:{{{courriel|}}}|{{courriel|[[A le courriel::{{{courriel|}}}]]}}{{br}}|}}<!--</nowiki></code>
** article avec espace de nom portail, ancien code <code>100</code> ;
 
** article avec espace de nom portail, nouveau code <code>10</code> pour type "modèle" ;
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 ===
=== Import des données ===
Vers le wiki d'arrivée :
Vers le wiki d'arrivée :
* <code>\\nouveauserveur\phpwamp\www\konoburo\maintenance\</code>
* <source inline>\\nouveauserveur\phpwamp\www\konoburo\maintenance\</source>
* <code>php.exe importdump.php < konoburo-20211029.xml</code>
* <source inline>php.exe importdump.php < konoburo-20211029.xml</source>


Attention, certains paramétrages ne fonctionnent plus :
Scripts de maintenance à lancer pour reconstruire :
* organisation des portails :
* <source inline>\\nouveauserveur\phpwamp\www\konoburo\maintenance\</source>
** il faut renommer les sous-pages des portails avec le préfixe <code>Modèle:</code> ; exemple <code>Portail:Utilisateur/Section</code> de vient <code>Modèle:Portail:Utilisateur/Section</code>
* <source inline>php.exe rebuildrecentchanges.php</source>
*** il est possible de modifier le fichier de données XML :
 
**** ajout du préfixe <code>Modèle:</code> ;
Scripts de maintenance à lancer pour les statistiques :
**** modification de l'espace de nom ; passer de à <code><ns>100</ns></code><code><ns>10</ns></code>
* <source inline>\\nouveauserveur\phpwamp\www\konoburo\maintenance\</source>
* <source inline>php.exe initSiteStats.php</source>


=== Import des fichiers ===
=== Import des fichiers ===
S'il faut récupérer les images de l'ancien site :
S'il faut récupérer les images de l'ancien site :
* source sur le wiki d'origine <code>...\konoburo\images\</code>
* source sur le wiki d'origine <code>\\ancienserveur\phpwamp\www\konoburo\images\</code>
* créer une copie de travail ;
* créer une copie de travail ; exemple du dossier <code>\\nouveauserveur\Support\ImageAImporter\</code>
* supprimer le contenu des sous-dossiers :
* supprimer le contenu des sous-dossiers :
** <code>\archive\</code>
** <code>\archive\</code>
Ligne 77 : Ligne 86 :
Utilisation du script <code>ImportImages.php</code> :
Utilisation du script <code>ImportImages.php</code> :
* https://www.mediawiki.org/wiki/Manual:ImportImages.php/fr
* https://www.mediawiki.org/wiki/Manual:ImportImages.php/fr
* <code>\\nouveauserveur\phpwamp\www\konoburo\maintenance\</code>
* <source inline>\\nouveauserveur\phpwamp\www\konoburo\maintenance\php.exe ImportImages.php \\nouveauserveur\Support\ImageAImporter\ --search-recursively</source>
* <code>php.exe ImportImages.php \\nouveauserveur\Support\ImageAImporter\ --search-recursively</code>
** l'option <code>--search-recursively</code> permet d'inclure les sous-dossiers
** l'option <code>--search-recursively</code> permet d'inclure les sous-dossiers
* <source inline>\\nouveauserveur\phpwamp\www\konoburo\maintenance\php.exe ImportImages.php \\nouveauserveur\Support\ImageAImporter\ --search-recursively --extensions=pdf</source>
** --extensions=xls,xlsx,doc,docx,ppt,pptx,gif,jpeg,webp,wav,txt,png


=== Maintenance ===
=== Maintenance ===
* <code>\\nouveauserveur\phpwamp\www\konoburo\maintenance\</code>
* <source inline>\\nouveauserveur\phpwamp\www\konoburo\maintenance\</source>
* <code>php.exe rebuildrecentchanges.php</code>
* <source inline>php.exe rebuildrecentchanges.php</source>
* <code>php.exe initSiteStats.php</code>
* <source inline>php.exe initSiteStats.php</source>
 
Maintenance générale :
* https://www.mediawiki.org/wiki/Manual:Rebuildall.php
** * <source inline>php.exe Rebuildall.php</source>


==== PdfHandler maintenance ====
==== PdfHandler maintenance ====
Pour reconstruire les vignettes des PDF ; source : https://www.mediawiki.org/wiki/Extension_talk:PdfHandler
Pour reconstruire les vignettes des PDF ; source : https://www.mediawiki.org/wiki/Extension_talk:PdfHandler
* <source lang="bash" inline>php path/to/maintenance/refreshImageMetadata.php -f</source>
* <source inline>php refreshImageMetadata.php -f</source>
* <source lang="bash" inline>php path/to/maintenance/rebuildImages.php</source>
* <source inline>php rebuildImages.php</source>
 
==== Purge ====
PurgePage.php : équivalent à <code>action=purge</code>
* commande : <code>PurgePage.php</code>
* https://www.mediawiki.org/wiki/Manual:PurgePage.php
 
PurgeList.php :
* commande : <code>PurgeList.php --all-namespaces</code>
* https://www.mediawiki.org/wiki/Manual:PurgeList.php
 
=== Problème sur la recherche plein texte ===
Source :
* https://www.mediawiki.org/wiki/Manual:UpdateSearchIndex.php
 
Lors de la recherche plein texte, le message suivant s'affiche :
* <source inline>[fe01568bfe677bff2546c789] 2021-12-10 15:45:30: Erreur fatale de type « Wikimedia\Assert\PreconditionException »</source>
 
Actions réalisées :
* <source inline>rebuildtextindex.php</source>
* <source inline>UpdateSearchIndex.php</source>
* exemple : <source inline>c:\temp\php\php.exe updatesearchindex.php -s 20061210160135</source>
 
Analyse 1 :
* la table <code>searchindex</code> est avec le moteur <code>MyISAM</code> au lieu de <code>InnoDB</code> !
** vu conversion avec phpmyadmin
 
Analyse 2 :
* la table <code>searchindex</code> est avec le codage <code>utf8_general_ci</code> au lieu de <code>binary</code> (comme toutes les autres tables) !


== Composer ==
== Composer ==
Ligne 98 : Ligne 140 :
Installer simplement depuis l'installeur :
Installer simplement depuis l'installeur :
* source : https://getcomposer.org/download/
* source : https://getcomposer.org/download/
* liaison créée automatiquement avec php : <code>C:\phpwamp\php\php.exe</code>
* liaison créée automatiquement avec php : <source inline>C:\phpwamp\php\php.exe</source>
* dossier créé par l'installeur, utile pour la désinstallation : <code>C:\Program Files (x86)\ComposerSetup\</code>
* dossier créé par l'installeur, utile pour la désinstallation : <source inline>C:\Program Files (x86)\ComposerSetup\</source>
* dossier créé par l'installeur : <code>C:\ProgramData\ComposerSetup\bin\</code>
* dossier créé par l'installeur : <source inline>C:\ProgramData\ComposerSetup\bin\</source>
* dossier créé par l'installeur : <code>C:\Users\username\AppData\Roaming\Composer\vendor\bin\</code>
* dossier créé par l'installeur : <source inline>C:\Users\username\AppData\Roaming\Composer\vendor\bin\</source>


Particularité Windows :
Particularité Windows :
* utiliser la commande <code>composer.bat --version</code> en lieu et place de la ligne de commande <code>php composer-setup.php --version</code>
* utiliser la commande <source inline>composer.bat --version</source> en lieu et place de la ligne de commande <source inline>php composer-setup.php --version</source>


Le fichier <code>composer.bat</code> contient :
Le fichier <code>composer.bat</code> contient :
Ligne 113 : Ligne 155 :
php "%~dp0composer.phar" %*
php "%~dp0composer.phar" %*
</source>
</source>
=== Utilisation ===
Depuis le dossier d'un site MediaWiki (exemple <code>..\MonWiki\</code>), la commande suivante met à jour le dossier <code>..\MonWiki\vendor\</code> en créer toute l'arborescence nécessaire :
* <code>composer.bat update</code>


== Serveur Apache ==
== Serveur Apache ==
Ligne 119 : Ligne 165 :
=== Personnalisation ===
=== Personnalisation ===
Logo :
Logo :
* fichier paramètre <code>LocalSettings.php</code> : <code>$wgLogos = [ '1x' => "$wgResourceBasePath/resources/assets/konoburo.png" ];</code>
* fichier paramètre <code>LocalSettings.php</code> : <source inline>$wgLogos = [ '1x' => "$wgResourceBasePath/resources/assets/konoburo.png" ];</source>


Icone d'onglet :
Icone d'onglet :
Ligne 133 : Ligne 179 :


==== Common.css ====
==== Common.css ====
<source lang="css">
<source>
/* Le CSS placé ici sera appliqué à tous les habillages. */
/* Le CSS placé ici sera appliqué à tous les habillages. */
.catlinks {
.catlinks {
Ligne 203 : Ligne 249 :
     line-height: 1.4;
     line-height: 1.4;
}
}


/* Ph. Page, 22/08/2013 */
/* Ph. Page, 22/08/2013 */

Dernière version du 23 juillet 2023 à 20:53

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

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
  • \\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 :

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

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 moteur MyISAM au lieu de InnoDB !
    • vu conversion avec phpmyadmin

Analyse 2 :

  • la table searchindex est avec le codage utf8_general_ci au lieu de binary (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 commande php 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

Personnalisation de l'habillage

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 :

Voir aussi