Mise à jour

Moodle est conçu pour être mis à jour sans problème de toute version antérieure à toute version ultérieure.

Consultez également la page Mise à jour à Moodle 2.0, Mise à jour à Moodle 2.1, Mise à jour à Moodle 2.2, Mise à jour à Moodle 2.3, Mise à jour à Moodle 2.4, Mise à jour à Moodle 2.5, Mise à jour à Moodle 2.6 ou Mise à jour à Moodle 2.7 en fonction de la version que vous voulez installer.

Il n'est pas nécessaire de passer par l'installation des versions intermédiaires (exception faite du passage direct vers Moodle 2.3, 2.4, 2.5, 2.6 ou 2.7, sans passer par Moodle 2.2, qui n'est pas possible).

Pour mettre à jour une installation de Moodle, vous devez suivre les étapes suivantes :

Avant de mettre à jour

Les nouvelles versions de Moodle amènent leur lot de nouveautés. Parfois, certaines fonctionnalités existantes sont modifiées, voire supprimées. Le mode de fonctionnement de certains éléments peut également changer. Il faut donc se renseigner avant la mise à jour d'un serveur en production, pour ne pas risquer de perdre des fonctionnalités utiles. Une bonne idée est de tester la mise à jour sur une copie de votre site en production.

Mise à jour de plusieurs versions

En général, il est possible de mettre à jour sans passer par chaque version de Moodle, et en "sautant" des versions. Vous pouvez par exemple évoluer de 2.0 -> 2.1 ou de 1.9 -> 2.2. Mais il y a des exceptions, et de trop larges "sauts" ne sont pas possibles. Par exemple, il n'est pas possible de passer directement de 1.6 à 2.2, ni de 2.0 à 2.4.

Il y a donc des versions par lesquelles il est obligatoire de "passer", tout en "sautant" les versions intermédiaires (comprendre mettre à jour directement vers cette version avant de passer à une version supérieure). Ainsi, et en fonction de votre version d'origine, vous pourrez évoluer de la sorte (les versions entre parenthèses peuvent être "sautées") :

1.6 (-> 1.7 ou 1.8) -> 1.9 (-> 2.0 ou 2.1) -> 2.2 (-> 2.3) (-> 2.4) (-> 2.5) (-> 2.6) -> 2.7

Les raisons principales :

  • Moodle 1.6 apportait le support de l'encodage UTF-8 ;
  • les définitions de rôles par défaut obtenues avec la version 1.7 ne sont pas idéales pour les versions suivantes, et la version 1.8 comporte de légers mais désagréables bogues touchant la fonctionnalité des groupes ;
  • la version 2.2 a apporté de nombreuses modifications. C'est donc un passage obligatoire pour les mises à jour ultérieures.

Relire la documentation d'installation et vérifier les prérequis

Prenez le temps de relire la documentation d'installation. Avant de faire la mise à jour, assurez vous que votre serveur respecte tous les prérequis nécessaires pour installer cette nouvelle version de Moodle, via Administration > Serveur > Environnement.

Placer votre site en mode de maintenance

Avant de commencer la mise à jour de votre site, vous devriez le placer en Mode de maintenance afin d'éviter que les non administrateurs ne se connectent, et modifient des choses.

Sauvegarder les données importantes

Bien que cela ne soit pas strictement nécessaire, faire avant toute mise à jour une sauvegarde d'un système en production est toujours une excellente idée, au cas où il faudrait revenir à l'état précédent. En fait, il est toujours judicieux de mettre en place un système automatique de sauvegardes périodiques - par exemple : quotidiennes - de Moodle sur votre serveur.

Voici les trois zones que vous devez sauvegarder :

Le dossier contenant le logiciel Moodle proprement dit

Effectuez une copie de ces fichiers avant la mise à jour, afin que vous retrouviez vos réglages (fichier config.php) et toutes les parties que vous avez ajoutées, à savoir les modules, blocs, thèmes, langues, etc.

Le dossier de données (moodledata)

C'est là que se trouvent les contenus déposés dans le Moodle (par exemple les ressources des cours ou les devoirs remis par les étudiants), c'est pourquoi il est essentiel d'avoir une copie de sauvegarde de ces fichiers (même si vous ne faites pas de mise à jour). Les mises à jour déplacent ou renomment parfois les dossiers à l'intérieur du dossier de données.

Les fichiers de sessions ./moodledata/sessions ne sont pas à sauvegarder, semble-t-il.

La base de données

La plupart des mises à jour de Moodle modifient la structure des tables de la base de données, en ajoutant ou modifiant des champs. Chaque base de données peut être sauvegardée de différentes manières. Une des façons de sauvegarder une base de données MySQL est de la transférer (dump) dans un fichier SQL. La commande Unix suivante transfère ainsi la base de données appelée moodle :

mysqldump -u username -p -C -Q -e --create-options moodle > moodle-backup-2013-06-19.sql

À la place de username, mettez-y le nom d'utilisateur de votre base de données. Le commutateur -p indique que vous devrez taper votre mot de passe pour cet utilisateur.

Si l'hôte de votre base de données n'est pas le même que celui sur lequel vous lancez la commande de sauvegarde, vous devrez le spécifier en outre dans la commande mysqldump, à l'aide du commutateur -h :

mysqldump -u username -p -h databasehost -C -Q -e --create-options moodle > moodle-backup-2013-06-19.sql 

Une autre possibilité est l'utilisation de la fonction Exporter de l'interface web optionnelle MySQL Admin de Moodle pour effectuer la même opération. Cette interface peut être téléchargée ici. Il s'agit d'une intégration de PHPMyAdmin pour l'interface d'administration de Moodle.

Installer le nouveau logiciel Moodle

Utilisation d'une version compressée

Ne décompressez pas votre version téléchargée dans une ancienne installation, à moins que vous ne sachiez vraiment ce que vous faites : les anciens fichiers restant en place posent parfois des problèmes dans de nouvelles installations. La meilleure façon de procéder est de renommer le dossier Moodle actuel, puis de décompresser l'archive téléchargée dans un dossier portant le nom de l'ancienne version.

mv moodle moodle.backup
tar xvzf moodle-2.7.tgz

Copiez ensuite votre config.php et les autres ajouts que vous avez faits, par exemple

cp moodle.backup/config.php moodle
cp -pr moodle.backup/theme/mytheme moodle/theme/mytheme

Utilisation de Git

Vous pouvez utiliser Git pour mettre à jour votre Moodle. Vous devez d'abord faire une extraction Git dans votre répertoire racine Moodle (vide).

Voyez Git pour administrateurs pour plus de détails.

Si vous avez modifié des fichiers de la distribution officielle Moodle, lisez attentivement les messages d'avertissement retournés par Git pour voir si des conflits existent. Dans tous les cas, vos thèmes personnalisés et les ajouts non-standards ne seront pas modifiés.

Après la mise à jour avec Git, n'oubliez pas de visiter la page d'administration du Moodle pour terminer le processus de mise à jour.

Mise à jour en ligne de commande

Sur les serveur Linux et Mac OS X, Moodle 2 permet de lancer les mises à jour en ligne de commande au lieu de passer par l'interface web. Cette façon de procéder est en général plus fiable, notamment pour de gros sites.

Terminer la mise à jour

La dernière étape consiste à lancer le processus de mise à jour dans Moodle.

Pour cela, il suffit de visiter la page d'administration de votre Moodle : http://example.com/moodle/admin

Il n'est pas nécessaire d'être connecté en tant qu'administrateur.

Moodle détectera automatiquement la nouvelle version et effectuera toutes les mises à jour nécessaires dans la base de données et dans le système de fichiers. S'il est incapable d'effectuer quelque opération par lui-même (très rarement), des messages seront affichés, vous expliquant les actions à faire manuellement.

Si tout se passe bien (aucun message d'erreur ne s'affiche), vous pouvez commencer à utiliser votre nouvelle version de Moodle et profiter de ses nouvelles fonctionnalités !

Si la mise à jour génère des problèmes, visitez le site moodle.org et laissez un message sur le forum Installation Support (en anglais) ou Assistance technique (en français).

Vérifier la mise à jour (optionnel)

Si vous souhaitez vérifier que le schéma de la base de données mise à jour correspond à celle d'une nouvelle installation (ce qui devrait être le cas), vous devriez consulter la page Vérification du schéma de la base de données.

Voir aussi