Manuel:Mise à jour

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:Upgrading and the translation is 100% complete.

Other languages:
Alemannisch • ‎Bahasa Indonesia • ‎Deutsch • ‎English • ‎Mirandés • ‎Nederlands • ‎Türkçe • ‎Zazaki • ‎català • ‎dansk • ‎español • ‎español de América Latina • ‎français • ‎italiano • ‎magyar • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎sicilianu • ‎čeština • ‎Ελληνικά • ‎беларуская • ‎български • ‎русский • ‎العربية • ‎سنڌي • ‎فارسی • ‎हिन्दी • ‎মেইতেই লোন্ • ‎中文 • ‎日本語 • ‎한국어

Présentation générale

Transfert de fichiers

Choisissez une méthode pour transférer les fichiers :

Préalable

Lisez le fichier texte UPGRADE inclus dans MediaWiki.

  1. Vérifiez les prérequis
  2. Lisez les notes de version
  3. Sauvegardez les fichiers existants et la base de données
  4. Décompressez les nouveaux fichiers
  5. Mettez à jour les extensions
  6. Exécutez le script de mise à jour pour vérifier la base de données
  7. Testez la mise à jour

Vérifier les paramètres nécessaires

MediaWiki 1.31 nécessite :

  • PHP 7.0.0+
  • L'une des options suivantes :
    • MySQL 5.5.8+ (ou équivalent MariaDB)
    • PostgreSQL 9.2+
    • SQLite 3.3.7+
    • Oracle 9.0.1+

Si vous utilisez PostgreSQL, veuillez lire également Manual:Upgrading Postgres .

Pour plus d'information, lisez Manual:Installation requirements/fr et Compatibilité .

Lisez les notes de version

Dans l'archive de l'installation ou dans les fichiers copiés/exportés de Git sont présents des fichiers nommés en majuscules dont l'un contient les notes de version RELEASE-NOTES (wiki). Il est maintenant temps de l'ouvrir et de rechercher ce qui a changé dans cette version.

Vider la file des tâches en attente d'exécution

Pour des raisosn de performance, certaines action sur la base de données sont retardées, et gérées par la file des travaux. Ces tâches sont rangées dans la base de données et contiennent des paramètres avec les informations indiquant les actions à réaliser. Il est vivement conseillé d'exécuter ces tâches en attente avant de faire la mise à jour du wiki, pour éviter qu'elles n'abortent dans le cas où la spécification des paramètres viendrait à changer d'une version à l'autre. Utilisez runJobs.php pour exécuter toutes les tâches en attente et vider la file d'attente avant de réaliser la mise à jour.

Sauvegarder les fichiers existants et la base de données

Instructions complètes : Manual:Backing up a wiki

Même si les scripts de mise à jour sont maintenus et robustes, les choses peuvent mal tourner. Avant de procéder à la mise à jour du schéma de base de données, faites une sauvegarde complète du wiki, incluant à la fois la base de données et les fichiers :

  • le contenu du wiki, en commençant par la base de données (assurez-vous de spécifier correctement le jeu de caractères, vérifiez d'abord dans Localsettings.php). Il peut être utile de générer un export XML en plus de l'export SQL de la base de données.
  • MySQL, les deux exports SQL et XML sont à utiliser avec la commande mysql:
mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb > file.sql
mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb --xml > file.xml
  • PostgreSQL, un export de la base de données à utiliser avec la commande pg_restore :
pg_dump --create -Fc wikidb > file.db.dump
  • SQLite, utilisez un script de MediaWiki pour créer la sauvegarde :
php wikifolder/maintenance/sqlite.php --backup-to file
  • les images et autres fichiers multimédia (le contenu du dossier images, logo personnalisé /skins/common/images/wiki.png)
  • les fichiers de configuration, comme par exemple Localsettings.php et .htaccess (si présent)
  • les fichiers du programme MediaWiki, en incluant tous les habillages et les extensions en particulier si vous les avez modifiés.

Décompresser les nouveaux fichiers

Utiliser le paquet d'archive

Vous pouvez ramener les nouveaux fichiers en utilisant FTP ou la ligne de commande. Privilégiez la ligne de commande si vous y avez accès ! Celle-ci sera beaucoup plus rapide que de transférer les fichiers un à un parmi les milliers via FTP.

Vous devriez extraire les fichiers de l'archive tarball dans un répertoire vide sur votre serveur. Si vous choisissez d'extraire l'archive de la nouvelle version directement à la racine de votre ancienne version, plutôt que dans un nouveau répertoire, suivez les instructions dans Sauvegarde des fichiers existants et de la base de données sinon, les adaptations préalablement effectuées pourraient être perdues sans possibilité de les retrouver pour les ré-appliquer. Extraire l'archive à la racine de votre copie de production de MediaWiki risque de laisser derrière des fichiers de l'ancienne version de MediaWiki qui peuvent interférer avec le code mis à jour. Il est recommandé de décompresser les nouveaux fichiers dans un nouveau répertoire, et ensuite d'appliquer les modifications sur le nouveau répertoire (restaurer LocalSettings.php, le dossier des images, les extensions, et autres modifications comme les apparences personnalisées)

Client FTP ou interface graphique

Si vous ne pouvez pas utiliser le mode ligne sur votre serveur, téléchargez l'archive MediaWiki en local sur votre ordinateur et utilisez 7zip pour extraire l'archive sur votre PC local.

Une fois les fichiers extraits localement, utilisez le client FTP de votre choix pour téléverser les dossiers et fichiers sur le serveur.

Ligne de commande

Il est possible que vous ayez à exécuter les commandes en tant que sudo si votre compte courant n'a pas toutes les permissions d'écriture dans le dossier d'installation du wiki. Lors de l'extraction de l'archive tarball de MediaWiki normalement un nouveau dossier va se créer pour la nouvelle version de MediaWiki et vous devrez y copier les anciens fichiers de configuration et le dossier 'images' depuis le dossier où se trouve l'ancienne installation :

$ cd /path/to/your/new/installation/  
$ wget https://releases.wikimedia.org/mediawiki/1.31/mediawiki-1.31.1.tar.gz
$ tar -xvzf mediawiki-1.31.1.tar.gz 
$ rm mediawiki-1.31.1.tar.gz

Les utilisateurs d'(Open)Solaris doivent utiliser gtar ou :

$ gzip -dc mediawiki-1.31.1.tar.gz | tar xf -

Autres fichiers

Après avoir extrait les archives, vous devez copier ou déplacer certains fichiers et dossiers depuis l'ancien répertoire d'installation vers le nouveau :

  • LocalSettings.php, qui contient les options de votre précédente configuration.
  • Le répertoire images (ou uploads dans des versions antérieures), qui contient tous les fichiers hébergés sur le wiki, sauf si vous avez spécifié un dossier différent pour le téléversement des fichiers. Vous devrez changer le propriétaire et les permissions de façon appropriée, par exemple avec find ./images -type d -exec chmod 755 {} \; et chgrp -R apache images si l'utilisateur web est apache.
  • Certaines extensions du répertoire extensions. Vous devriez toujours utiliser des versions actualisées des extensions ; il n'est pas garanti que les anciennes extensions fonctionnent avec une version plus récente de MediaWiki.
  • Si utilisez un logo personnalisé, ce fichier doit aussi être restauré à partir de la sauvegarde. Avant la version 1.24 il se trouve habituellement dans skins/common/images/. À partir de la version 1.24 il se trouve dans le dossier resources/assets/ ou dans images/ si vous avez préféré l'utiliser. Dans ce cas ajoutez-le dans Localsettings.php, par exemple avec $wgLogo = "$wgScriptPath/images/logo.png";
  • Les habillages personnalisés au sein du répertoire skins.
  • Toutes modifications réalisées sur les anciens fichiers d'installation ou aux extensions.
  • Les éventuels fichiers .htaccess (si vous utlisez Apache et que vous y avez défini des règles).

Une fois fait ceci, faites de ce nouveau dossier le dossier publié sur le serveur, ou renommez l'ancien dossier d'installation, et ensuite renommez le nouveau dossier pour qu'il coïncide avec l'ancien nom.

En utilisant Git

Si vous utilisez Git , exportez les fichiers dans un dossier vide et ensuite copiez uniquement les fichiers modifiés dans le nouveau répertoire comme détaillé dans la section précédente.

Si vous mettez à jour vers MediaWiki 1.25 ou supérieur, vous devrez aussi installer certaines bibliothèques PHP externes via Composer ou une archive maintenue la ferme de wikis de Wikimedia. Plus de détails sur l'installation et l'actualisation des bibliothèques externes au sein de la documentation téléchargée depuis Git.

Utilisation de patch

Un petit fichier de patch est habituellement disponible pour une mise à niveau de version mineure. Téléchargez manuellement et extrayez le fichier de correctif de the dumps site ou suivez les instructions avec wget ci-dessous. Les patchs sont incrémentaux, vous ne pouvez pas sauter une version.

  1. cd à votre répertoire principal MediaWiki (celui avec LocalSettings.php).
  2. Téléchargez le fichier de patch et faites un gunzip dessus.
  3. Utilisez patch -p1 --dry-run pour vérifier ce qui sera changé (par exemple, patch -p1 --dry-run -i mediawiki-x.xx.x.patch)
  4. Si tout va bien, lancez patch à nouveau sans --dry-run.
  5. Vérifiez votre Special:Version et vous devriez voir le nouveau numéro de version en place.

Fichiers restants susceptibles de provoquer des erreurs

Si vous installez dans le même répertoire que l'ancienne version, il est possible que les anciens fichiers causent des problèmes avec la nouvelle version.

Version de MediaWiki : 1.18

Si vous n'utilisez pas profiling, mais que vous avez un fichier StartProfiler.php dans le répertoire racine de MediaWiki, vous pouvez voir apparaître des erreurs de référence à /includes/Profiler.php . En effaçant ou renommant le fichier StartProfiler.php , vous corrigerez cette erreur. Le fichier StartProfiler.sample , qui est aussi dans le répertoire racine de MediaWiki, peut servir de modèle au cas où vous activeriez le profiling à l'avenir.

Version de MediaWiki : 1.23

MediaWiki 1.23 abandonne le mécanisme de découverte automatique des fichiers d'habillage embarqués. Après la mise à jour vers cette version, vous devez vérifier directement que les anciens fichiers Chick.php, Nostalgia.php, Simple.php et Standard.php dans le répertoire skins/ de même que les sous-répertoires correspondants dans skins/, ont été supprimés. MédiaWiki enregistrera les avertissements si certains d'entre-eux sont encore présents, pour vous aider à vous en souvenir (vous aurez aussi besoin d'ajuster les habillages personnalisés pour suivre une convention similaire). Voir Manual:Skin autodiscovery pour les détails.

Version de MediaWiki : 1.24

MediaWiki 1.24 modifie les chemins des fichiers d'habillage système. Après avoir fait la mise à jour vers cette version, vous devez vérifier directement que les anciens fichiers CologneBlue.php, Modern.php, MonoBook.php et Vector.php du répertoire skins/ , ne sont plus présents. Voir Manual:Skin autodiscovery pour les détails.

Mettre à jour les extensions

Certaines extensions ont été mises à jour pour fonctionner avec la nouvelle version de MediaWiki. Vérifiez de que vous utilisez bien la dernière version de ces extensions. Il est possible que vous ayez à faire les mises à jour manuellement pour les extensions personnalisées.

Les différentes archives de distribution .tar contiennent quelques sous-ensembles des extensions ainsi qu'un numéro de version pour vous aider à mettre à jour en choisissant celui compatible avec la version de votre coeur de système MédiaWiki.

L'extension Distributor fonctionne bien pour la plupart des personnes qui veulent une capture des extensions compatible avec les versions que leur MédiaWiki peut supporter.

Si vous désirez beaucoup d'extensions alors le téléchargement à partir de Git est probablement la meilleure chose. Si vous ne possédez pas Git et voulez mettre à jour un grand nombre d'extensions, vous pouvez utiliser mwExtUpgrader.


Adaptez votre LocalSettings.php

Si vous utilisez le LocalSettings.php de l'ancienne version, il est possible que vous deviez l'adapter en fonction de l'utilisation qu'en fait la nouvelle version :

Enregistrement de l'habillage

Depuis MediaWiki 1.24, les habillages embarqués tels que Vector, Monobook, Modern et CologneBlue ne font plus partie du coeur de MediaWiki, et ils doivent être enregistrés explicitement dans LocalSettings.php pour pouvoir être utilisés, sinon MediaWiki vous avertira que vous n'avez pas installé ces habillages.

Voici ce que vous devez ajouter à LocalSettings.php quand vous mettez à jour à partir d'une version plus ancienne que la 1.24 et que vous voulez mettre à disposition l'un des habillages suivants :

wfLoadSkin( 'Vector' );
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Modern' );
wfLoadSkin( 'CologneBlue' );

Ce code concerne MediaWiki 1.25 et ultérieur. Pour MediaWiki 1.24 vous avez besoin d'utiliser le code suivant :

require_once "$IP/skins/Vector/Vector.php";
require_once "$IP/skins/MonoBook/MonoBook.php";
require_once "$IP/skins/Modern/Modern.php";
require_once "$IP/skins/CologneBlue/CologneBlue.php";

Les autres habillages peuvent encore ne pas avoir été adaptés au nouveau système d'enregistrement des habillages, aussi reportez-vous à la page de documentation de chacun d'eux pour voir comment l'enregistrer proprement en cas de problème.

Enregistrement d'extension

Depuis MediaWiki 1.25, les extensions utilisent un nouveau système d'enregistrement des extensions .

Auparavent votre LocalSettings.php aurait inclu quelque chose comme :

require_once "$IP/extensions/Cite/Cite.php";
require_once "$IP/extensions/Gadgets/Gadgets.php";
require_once "$IP/extensions/ImageMap/ImageMap.php";
require_once "$IP/extensions/InputBox/InputBox.php";
require_once "$IP/extensions/Nuke/Nuke.php";
require_once "$IP/extensions/ParserFunctions/ParserFunctions.php";
require_once "$IP/extensions/Poem/Poem.php";
require_once "$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php";
require_once "$IP/extensions/WikiEditor/WikiEditor.php";

Cela peut être converti en :

wfLoadExtension( 'Cite' );
wfLoadExtension( 'Gadgets' );
wfLoadExtension( 'ImageMap' );
wfLoadExtension( 'InputBox' );
wfLoadExtension( 'Nuke' );
wfLoadExtension( 'ParserFunctions' );
wfLoadExtension( 'Poem' );
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
wfLoadExtension( 'WikiEditor' );

Nous sommes en train d'adapter les extensions pour utiliser le nouveau système d'enregistrement. Les extensions qui ne sont pas adaptées doivent utiliser l'ancienne méthode d'installation. Reportez-vous aux instructions d'installation sur la page des extensions pour plus d'information.

Autres variables

Certaines variables peuvent être obsolètes ou même avoir été retirées. Le fait de les avoir dans LocalSettings.php n'a habituellement pas de conséquences. De nouvelles variables peuvent être ajoutées dans les versions les plus récentes, ou certaines variables peuvent voir leur type modifié. D'ordinaire, nous essayons d'utiliser pour elles, des valeurs saines par défaut, et dans le cas d'une modification de type, de conserver la compatibilité ascendante. Dans tous les cas, lisez les notes de livraison pour voir ces changements.

Exécuter le script de mise à jour

Vous pouvez mettre à jour la base de données MediaWiki de deux manières : soit à partir de la ligne de commande, soit à partir du navigateur web. Si vous avez accès au shell de votre serveur, la mise à jour à partir de la ligne de commande est recommandée, car cela réduit le risque que le processus de mise à jour soit interrompu par un dépassement de temps ou par la reinitialisation de la connexion.

Le script essayera aussi de télécharger toute dépendance manquante dont MediaWiki aurait besoin.

Ligne de commande

Allez à la ligne de commande sur votre serveur, ou par shell SSH ou équivalent. Vous pouvez accéder à la ligne de commande en vous connectant sur votre serveur par SSH. Si le PC local à partir duquel vous travaillez est sous Microsoft Windows, vous aurez besoin d'un outil tel que PuTTY pour utiliser SSH. A partir de la ligne de commande ou du shell, placez-vous dans le répertoire maintenance et exécutez le script de mise à jour:

$ php update.php

Sur un serveur Linux, si vous obtenez une erreur, essayez d'exécuter la même commande en tant que root (sudo php maintenance/update.php). Notez pour les installations simples sous Windows (par exemple avec XAMPP ): D'abord s'assurer que votre serveur web (comme Apache) et que votre base de données (comme MySQL) sont montés (accessibles). Ensuite exécutez update.php: cliquez-droit dessus, sélectionnez « Ouvrir avec », et accédez à PHP.exe. La fenêtre de dialogue de la commande résultante se fermera vraisemblablement automatiquement quand la mise à jour du schéma sera terminée.

Vous pourriez voir un messge indiquant que votre version de PHP est trop ancienne et que MediaWiki réclame une version plus récente. Après ce message, la mise à jour s'arrête. Le motif de cette erreur est que la ligne de commande peut utiliser une autre version de PHP que celle que vous avez quand vous exécutez MediaWiki à partir du serveur web. Quand ce message apparaît, vérifiez si vous pouvez exécuter une nouvelle version de PHP dans le shell en utilisant une commande différente: ceci pourrait être par exemple php5 ou php56. La disponibilité d'une autre version et - si elle est installée - son nom, dependent de la configuration de votre serveur. Si cela ne fonctionne pas, demandez à votre hébergeur; il saura sûrement.

MediaWiki va scruter le schéma existant et le mettre à jour pour qu'il puisse travailler avec le nouveau code, en ajoutant des tables et des colonnes en fonction des besoins.

Si vous utilisez une base de données partagée, vous devez passer le paramètre --doshared si vous voulez que les tables partagées soient mises à jour. Sinon elles ne resteront inchangées par le script de mise à jour.

Que faire en cas d'erreur "ALTER command denied to user" (ou similaire)

Dans le cas où le script échoue avec un message similaire à :

Error: 1142 ALTER command denied to user 'wiki'@'localhost' for table 'mytable' (localhost)
ERROR: must be the owner of the mytable relation 

Cela signifie que vous devez vérifier que vous avez bien défini $wgDBadminuser et $wgDBadminpassword dans votre fichier LocalSettings.php (dans le répertoire principal). C'est l'utilisateur et le mot de passe nécessaire au script pour accéder à la base de données.

Dans certains cas, une ancienne variable $wgDBmwschema (pour Postgres) semble être lue pour le nom de la table au lieu de $wgDBname, même quand MySQL est utilisé. Dans ce cas, supprimez simplement la définition de $wgDBmwschema dans LocalSettings.php.

Que faire en cas d'erreur "unexpected T_STRING"

Les utilisateurs qui exécutent update.php individuellement à partir de leur ligne de commande peuvent rencontrer l'erreur suivante :

syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' \
in ~/maintenance/commandLine.inc on line 13

Cette erreur apparait quand vous exécutez update.php sous php4.

Les personnes qui ont leur site hébergé chez des fournisseurs qui mettent à disposition à la fois php4 et php5, doivent suivre les étapes suivantes :

  1. sur la ligne de commande, entrez 'whereis php5'
  2. dès que vous avez identifié le chemin vers php5, affichez le contennu du répertoire php5/bin
  3. une fois le nom de l'exécutable php trouvé (php ou php5), entrez le chemin complet pour exécuter update.php

Voici un exemple :

$ whereis php5
$ ls -la /usr/local/php5/bin
$ /usr/local/php5/bin/php update.php

Que faire en cas d'erreur 'register_argc_argv is set to false' =

Vous pouvez rencontrer cette erreur :

Cannot get command line arguments, register_argc_argv is set to false
  1. Allez dans ~/maintenance. Modifiez un fichier 'php.ini' existant, ou créez-en un.
  2. Ajoutez une ligne comme ceci :
register_argc_argv=true
  1. Réexécutez update.php sous php

Navigateur web

Version de MediaWiki : 1.17
Voir aussi update.php

Si votre base de données est déja imposante et utilisée à un haut niveau, alors il ne faut pas utiliser la mise à jour par le web, par exemple parceque le processus de mise à jour vas échouer faute de temps suffisant quand le maximum_execution_time sera atteint. Dans ce cas vous devez utiliser update.php à partir de l'interface ligne de commande (pas à partir du web). Que signifie exactement "imposante", cela dépend de votre serveur (par exemple de ses performances, de la charge et du temps maximal d'exécution que PHP attribue à l'exécution du script). Si votre wiki est trop gros pour la mise à jour par web et que votre fournisseur d'hébergement n'autorise pas l'accès aux commandes en mode ligne, alors vous devez migrer votre wiki vers un autre compte d'hébergement possédant - lui - un accès réel au shell.

  1. Faites toujours une copie de sauvegarde (back up) avant la maintenance de la base de données.
  2. Avec votre navigateur web, allez à /mw-config/. Par exemple, si votre wiki se trouve sur http://example.org/w/index.php, allez sur http://example.org/w/mw-config/.
  3. Choisissez votre langue et cliquez sur continuer.
  4. L'installation existante devrait être détectée. Suivez les instructions à l'écran pour en faire la mise à jour.
    Si la "clé de mise à jour" est demandée, ouvrez votre fichier LocalSettings.php et cherchez la valeur assignée à $wgUpgradeKey .

Il peut arriver que la mise à jour par web semble ne pas fonctionner : au lieu de voir le menu initial de l'écran de sélection de langue, vous pouvez obtenir une page wiki vide, avec éventuellement des messages d'erreur. Dans ce cas il est probable que votre serveur web utilise les règles de réécriture (- Rewrite Rules - probablment pour les URLs courtes), qui ne vous montrent pas le moteur de mise à jour dans mw-config/, mais sur une page wiki à Mw-config/, avec un "M" majuscule. Dans ce cas, renommez le fichier .htaccess pour le temps de la mise à jour. Vous devriez ensuite pouvoir accéder à la mise à jour par web.

Avertissement Avertissement : Si vous suivez cette méthode, assurez-vous de re-changer le nom du fichier .htaccess après avoir lancé le script de mise à jour! Sinon les URLs courtes et peut être aussi d'autres éléments pourraient être cassés.

Tester la mise à jour

Une fois que la mise à jour s'est terminée, explorez le wiki et vérifiez que les opérations suivantes s'exécutent comme désiré :

  • afficher des pages
  • modifier des pages
  • téléverser un fichier
  • consultez Special:Version et vérifiez que la version affichée est correcte et que les extensions sont présentes.

Foire aux questions

Quelles sont les difficultés lors de la mise à jour ?

Si le seul fichier que vous avez modifié est LocalSettings.php , et que vous faites la mise à jour de la 1.5 ou ultérieure, le processus est très simple. La quantité de travail à fournir par un humain n'est que de quelques minutes. Les modifications du schéma de la base de données prendront un temps proportionnel à la taille de votre base de données — potentiellement des heures pour les wikis avec des millions de pages, mais pour des tailles plus typiques de quelques milliers de pages, cela prendra habituellement quelques secondes.

Les mises à jour mineures, à l'intérieur de la même version majeure, disons de la 1.13.0 vers la 1.13.1, ne nécessitent aucune modification du schema. Il vous suffit de mettre à jour les fichiers. La base de données n'a pas à être mise à jour, et donc il n'est pas nécessaire de lancer le script d'installation.

Faire la mise à jour de la 1.4 ou antérieure est potentiellement compliqué car la prise en charge des familles de caractères autres que UTF-8 a été sautée, et le schéma pour ranger du texte en masse a changé. Veuillez lire la section correspondante du fichier UPGRADE .

La mise à jour devient difficile si vous avez modifié notre code source, et que vous ne voulez pas que vos modifications soient écrasées. Les outils tels que diff, patch, Meld ou WinMerge peuvent vous être utiles. Il y a aussi des risques de perturbation si vous utilisez des extensions qui n'ont pas été maintenues. Mettez à jour vos extensions au même moment que vous mettez à jour MediaWiki.

Si vous avez modifié l'habillage, ou si vous utilisez un habillage personnalisé, vous devrez probablement l'ajuster pour le rendre compatible avec la nouvelle version de MédiaWiki.

Note Note : Au lieu de patcher votre css "global" et les fichiers js (javascript) à chaque fois, vous pouvez simplement ajouter le code à votre MediaWiki:Common.js et vos pages MediaWiki:Common.css. Comme ceux-ci font partie de la base de données qui sera réutilisée dans la mise à jour, vous n'aurez plus à patcher les fichiers du coeur de MediaWiki.

Que faire si je mets à jour à partir d'une très vieille version ? En une étape ou en plusieurs ?

Cela dépend: si vous effectuez une mise à niveau à partir de MediaWiki version 1.4 ou antérieure, vous devez commencer par effectuer une mise à niveau vers MediaWiki 1.5. Si vous mettez à niveau à partir d'un wiki Latin-1, utilisez upgrade1_5.php (présent dans MediaWiki 1.5) pour convertir en UTF-8 les parties pertinentes de la base de données ($wgUseLatin1 doit être défini à true dans vos LocalSettings.php pour que cela fonctionne). Ensuite, exécutez update.php, puis initialisez l’option $wgLegacyEncoding dans LocalSettings.php avec la valeur du codage précédemment utilisé par le wiki (par exemple, windows-1252). C’est en gros la manière dont Wikipedia et d’autres sites de la Wikimedia Foundation ont été mis à niveau de MediaWiki 1.4 à 1.5 - voir le fichier des paramètres pertinents (attention: page très grande!) et quelques notes connexes sur Wikitech. Vous devrez peut-être mettre à niveau vers MediaWiki 1.4 avant d’exécuter le script upgrade1.5 . Si vous voulez faire un vidage des tables de la base de données (par exemple MySQL) de votre wiki Latin-1, assurez-vous que le type du champ old_text de la table text vaut mediumblob, et non pas mediumtext, pour éviter les problèmes d'encodage de caractères.

Si vous effectuez une mise à niveau à partir de MediaWiki 1.5 ou plus récent, vous pouvez procéder à la mise à niveau en une étape, de votre ancienne version à la dernière version stable. La grande majorité des rapports, ainsi que des tests automatisés, indiquent que le faire en une seule étape fonctionne parfaitement. Si vous avez du mal à le croire, lisez cet article de la liste de diffusion. Cependant, veuillez noter que lorsque vous mettez à jour à partir d'anciennes versions, les chances de rencontrer des erreurs PHP sont plus grandes que lorsque vous effectuez une mise à jour à partir de la version qui précède la nouvelle version. Vous auriez quand même reçu ces erreurs, même si vous n'aviez pas sauté de versions, mais aussi dans la cas où vous auriez fait à chaque fois les mises à jour individuelles. Si vous avez sauté des versions, vous les auriez eues toutes en même temps. Cela rendra la mise à jour plus difficile, mais n'oubliez pas que vous n'aurez pas de problème si vous mettez à jour les versions intermédiaires, que vous avez sautées!

Dois-je faire une sauvegarde préalable ?

Réponse courte : oui.

Réponse plus longue : cela dépend de a) la valeur que vous prêtez à vos données, b) la difficulté à créer une sauvegarde et c) l'expérience que vous avez en entretien et administration de MySQL.

Une faute dans la mise à jour peut laisser votre base de données dans un état instable, entre deux version. Une erreur PHP ou MySQL pourrait survenir durant la mise à jour en laissant votre base de données partiellement traitée. Dans de telles situations il est possible qu'une personne puisse corriger ce problème avec beaucoup de travail manuel. Néanmoins, il serait plus facile de faire simplement une sauvegarde de la base de données juste avant de lancer update.php et de continuer avec. Sinon vous y passeriez - inutilement - toutes vos heures de travail.

La récupération est souvent complexe. Les volontaires des forums de support ne se sentiront pas trop concernés si vous avez négligé de faire une sauvegarde et qu'ensuite vous avez besoin d'aide pour récupérer tout ce qui a été cassé par le mise à jour. Une meilleure solution c'est, de réinstaller votre sauvegarde, puis de signaler le bogue sur le projet MediaWiki correspondant dans le processus de mise à jour qui a causé le dysfonctionnement.

Puis-je conserver mon fichier LocalSettings.php ?

Oui, mais il se peut que vous deviez faire quelques petits changements. Le format de LocalSettings.php est fondamentalement compatible avec les versions précédentes. Les changements qui peuvent casser la compatibilité de Localsettings.php seront documentés dans la section "Changements dans la configuration" des notes de version.

Est-ce que mon wiki peut rester en ligne pendant la mise à jour ?

En général oui, néanmoins Git peut le casser temporairement (pendant quelques secondes).

Si vous mettez à jour entre des versions mineures de MediaWiki, il est uniquement nécessaire de mettre à jour les fichiers source.

Note : ce qui suit suppose que vous avez accès à la ligne de commande. Si vous êtes en train de mettre à jour entre des versions majeures de MediaWiki, la procédure recommandée est la suivante :

  1. Décompressez la nouvelle version de MediaWiki dans un nouveau dossier
  2. Préparez ce nouveau dossier : copiez votre LocalSettings.php actuel de l'ancien répertoire, ainsi que les extensions et les habillages personnalisés que vous pouvez avoir installés(s'il y en a). Vérifiez le paramètre $wgLogo dans LocalSettings.php et, si nécessaire, copiez le fichier logo de l'ancien répertoire vers le nouveau répertoire.
  3. Dans les notes de version pour la nouvelle version, vérifiez s'il faut faire des modifications dans LocalSettings.php.
  4. Mettez la base de données en lecture seule en insérant la variable suivante dans LocalSettings.php de l'ancien répertoire; les utilisateurs verront ce message s'ils essaient de modifier une page pendant le processus de mise à jour :
    $wgReadOnly = 'Upgrading to MediaWiki 1.31.1';
    • Ceci n'est plus fonctionnel depuis MediaWiki 1.27, ce qui empêche aussi d'exécuter le script de mise à jour. Une solution de contournement pour les versions après la 1.27 peut être trouvée dans Manuel:$wgReadOnly . Voir aussi task T151833.
  5. Exécutez le script de mise à jour ou via l'interface web dans le nouveau dossier.
  6. Copiez les images du sous-dossier d'images de l'ancien répertoire vers le nouveau.
  7. Permutez l'ancien répertoire avec le nouveau.

Pourquoi mettre à jour ?

Abonnez-vous à la liste mediawiki-announce pour être notifié des nouvelles versions.

Parce que c'est habituellement assez facile, une seule étape de votre version à la dernière et aussi via le web.

Les versions récentes reçoivent des correctifs de sécurité pour protéger votre wiki et votre hôte des vandales, ce qui n'est pas le cas des anciennes versions (voir Cycle de vie des versions ). Ce qui vous donne des dizaines de bonnes raisons pour faire la mise à jour!

Les nouvelles versions majeures sont livrées avec de nouvelles fonctions que vous pourriez utiliser: voir la bulletin de livraison pour les détails. Dans le cas où vous auriez besoin de détails supplémentaires pour convaincre vos chefs de vous laisser faire la mise à jour d'une version viellotte, voici un résumé :

  • Depuis la 1.5, vous pouvez avoir un aperçu des modifications avant sauvegarde aussi sous forme de différentiel.
  • Depuis la 1.9, un bouton annuler est disponible.
  • Depuis la 1.12, le patrolling des Special:NewPages est beaucoup plus facile.
  • Depuis la 1.13, vous pouvez renommer (déplacer) les fichiers.
  • Depuis la 1.14, vous pouvez corriger les doubles redirections automatiquement.
  • Depuis la 1.16, InstantCommons est disponible.
  • Si vous avez un mécanisme de cache adapté, depuis la 1.17 ResourceLoader optimise beaucoup la vitesse de chargement des pages.
  • Depuis la 1.17, le tri sur les catégories a un sens! (particulièrement pour les lettres non anglaises); étendu à 68 langues après 1.21 .
  • Depuis 1.18 et 1.19 , les utilisateurs de toutes les langues ainsi que les genres sont correctement adressés par l'interface ainsi que dans les journaux (avant la 1.15, les genres n'existaient pas du tout).
  • Dans la 1.19 le système d'habillage a été recodé rendant plus facile la réutilisation des parties d'habillages existants dans vos propres habillages.
  • Depuis la 1.20, les diffs sont plus lisibles.
  • Dans la 1.21 et la 1.23, les notifications par courriel sont plus claires et plus prévisibles, rendant votre wiki plus efficace.
  • Depuis la 1.22, la chasse aux vandales (patrolling) demmande moins de temps pour s'exécuter.
  • Dans la 1.24, l'enregistrement des mots de passe a été amélioré pour permettre une meilleure sécurité.
  • Dans la 1.27, la gestion des sessions a été recodée tout comme la gestion de l'authentification des utilisateurs qui a été complètement modernisée.
  • Depuis la 1.29, l'API Action a été recodée et améliorée. Egalement, les permissions du groupe des utilisateurs peuvent maintenant être faites pour une période définissable.

Voir aussi la liste des problèmes corrigés les plus plébiscités sur Bugzilla jusque 2014.

Egalement, à partir de MediaWiki 1.18 nous commençons à embarquer quelques extensions vitals, comme un meilleur éditeur et les outils anti-vandales ConfirmEdit and Nuke; d'autres extensions ont été ajoutées dans les dernières versions.

Voir aussi