Mise à jour à Moodle 2.0

Attention : vous consultez actuellement la documentation dédiée aux versions 2.x de Moodle. La documentation pour les versions 3.x de Moodle est consultable ici : Mise à jour à Moodle 2.0.

Nouveauté
Moodle
2.0
Cette page liste des informations spécifiques à la mise à jour vers Moodle 2.0. Elle doivent être utilisées en conjonction avec les informations générales de mise à jour de Moodle.

Pour passer à Moodle 2.0, vous devez avoir Moodle 1.9 installé. Si vous utilisez une version plus ancienne (comme 1.8), vous devez d'abord passer à Moodle 1.9 !

Attention : Nous vous recommandons très fortement de tester la mise à jour sur une COPIE de votre site de production, afin de tester que tout fonctionne comme prévu. Moodle 2.0 est une mise à jour très importante qui exige plus de planification et de tests que ce à quoi vous êtes habitué avec les versions précédentes. S'il vous plaît, lisez attentivement cette page avant de continuer !

Prérequis système

  • PHP 5.2.8 minimum. La dernière version PHP 5.3.x (ou ultérieure) est recommandée.
  • Les bases de données supportées sont les suivantes :
  • Un navigateur internet respectant les standards de ces dernières années, par exemple :
    • Firefox 3 ou version ultérieure
    • Safari 3 ou version ultérieure
    • Google Chrome 4 ou version ultérieure
    • Opera 9 ou version ultérieure
    • MS Internet Explorer 7 ou version ultérieure (Même Google ne supporte plus IE6)
    • etc

Planifier le passage à Moodle 2.0

Moodle 2.0 est sensiblement différent des versions qui existaient avant. Vous devez vous attendre à beaucoup de changements, impliquant plus de planification et d'essais avant la mise à jour. Il est fort probable que ce ne sera pas aussi simple que les mises à niveau précédentes vers les versions antérieures. Lisez ce document attentivement et suivez les conseils. Demandez dans les forums si vous n'êtes pas sûr de la moindre chose. N'essayez pas de mettre à jour votre énorme site de production 1.9 sur un week-end sans aucun test préalable !

Si vous voulez "juste essayer", très bien, mais s'il vous plaît faites le sur une copie de test de votre site de production.

Si vos utilisateurs et administrateurs sont habitués à Moodle 1.9, notez qu'il y a des changements dans l'interface utilisateur. Encore une fois, c'est une très bonne idée de mettre à niveau une copie de votre site et d'établir comment vous serez impactés par les changements et quelles formations et soutiens prévoir pour vos utilisateurs (le cas échéant).

Considérez également le fait de ne pas mettre à jour du tout. Cela peut être l'occasion de recommencer avec un site refait de zéro, et de migrer vos cours réellement utiles uniquement (notez que la restauration des cours Moodle 1.9 n'est possible qu'à partir de Moodle 2.1).

Avant de procéder à la mise à jour

ATTENTION : Le processus de mise à jour va modifier de manière irréversible le contenu de votre base de données et de votre dossier moodledata de stockage de fichiers. Si quelque chose se passe mal, vous ne pourrez pas revenir en arrière ! Il est vital que vous fassiez de bonnes sauvegardes des dossiers moodledata et de la base de données au cas où vous auriez des problèmes avec la mise à jour. Si vous n'êtes pas sûr de savoir comment faire, lisez Sauvegarde de site ou demandez dans les forums moodle.org (en expliquant quel est votre système d'exploitation).

  • Lisez les Notes de mise à jour de Moodle 2.0
  • Vérifiez que votre serveur respecte tous les prérequis nécessaires pour installer cette version de Moodle, via Administration > Serveur > Environnement.
  • Faites une sauvegarde complète de la base de données !
  • Faites une sauvegarde complète de votre dossier moodledata !
  • Sauvegardez également votre dossier moodle
  • Vérifiez vos sauvegardes soigneusement !
  • Si vous utilisez un accélérateur PHP, videz son cache (Voir la documentation de l'accélérateur PHP que vous utilisez).

Si vous n'utilisez pas encore Moodle 1.9, vous devez d'abord mettre à jour votre Moodle en 1.9 (tant qu'à faire, à la dernière version 1.9.19+) !

Plugins et thèmes optionnels

Si vous avez ajouté ou modifié des plugins optionnels (vos propres développements personnalisés ou depuis la base de données des plugins et modules) ou si vous utilisez un thème non standard, vous devez noter qu'ils ne fonctionneront pas dans Moodle 2.0. Certains plugins ont été modifiés pour fonctionner avec Moodle 2.0, mais un grand nombre n'ont pas encore de version compatible. Le système des thèmes est complètement différent dans la version 2.0, et tous les thèmes personnalisés nécessiteront une réécriture complète.

N'essayez pas d'inclure les plugins optionnels et thèmes (ou n'importe quel autre code version 1.9) dans votre Moodle 2.0, ça ne marchera pas ! Vous devez vérifier pour chaque plugin si une version 2.0 est disponible. Sinon, vous pouvez ignorer le message indiquant que le code est manquant pour le plugin lors de la mise à jour. Vous perdrez la fonctionnalité, mais les tables de la base de données seront conservées (en sommeil) en attente de l'installation d'une version 2.0 du plugin qui serait produite à l'avenir.

Tout code Moodle 1.9 dans votre installation est fort susceptible de bloquer la mise à jour. N'essayez pas !

Changements requis dans la base de données

Moodle 2.x utilise désormais des tables temporaires dans la base de données, en particulier pour les sauvegardes et restaurations. Assurez-vous que le compte utilisateur défini dans le fichier config.php est autorisé à créer des tables temporaires dans la base de données. Pour MySQL, cela est contrôlé par le privilège CREATE TEMPORARY TABLES, et vous pourriez avoir besoin de l'accorder explicitement. Dans d'autres systèmes de base de données, votre compte utilisateur possède probablement déjà cette autorisation.

Vérifier le schéma de la base de données

Si votre site Moodle 1.9 a été mis à jour depuis de nombreuses versions antérieures (surtout avant 1.7), il risque d'y avoir quelques problèmes avec le schéma de la base de données (par rapport à une nouvelle installation 1.9). Cela peut entraîner l'échec de la mise à jour. Si votre site a commencé avant Moodle 1.9, vous devriez vérifier et corriger le schéma de base de données avant la mise à jour.

Vous devriez également :

Mettre à jour

Maintenant que vous avez satisfait les exigences de Moodle 2.0 suivez les instructions sur la page mise à jour de Moodle.

Moodle 2.0 prend en charge l'exécution de la mise à jour en ligne de commande, plutôt que via un navigateur Web. Ceci est susceptible d'être plus fiable, en particulier pour les grands sites.

Après la mise à jour

Le fichier config.php de votre installation 1.9 devrait fonctionner correctement, mais si vous regardez le fichier config-dist.php fourni avec Moodle 2.0, vous verrez qu'il y a plus d'options (ou des options différentes) disponibles (par exemple les pilotes de base de données et paramètres). C'est une bonne idée d'adapter votre fichier config.php ancien en vous basant sur le fichier config-dist.php fourni avec Moodle 2.0.

Pensez à intégrer dans votre fichier config.php les sels de mot de passe que vous aviez, sinon personne ne pourra se connecter !

Modifiez votre appel de cron en ligne de commande, pour pointer vers /admin/cli/cron.php.

En effet, jusqu'à Moodle 1.9, vous pouviez exécuter /admin/cron.php en ligne de commande ou via le Web. Depuis Moodle 2.0, seul le script /admin/cli/cron.php peut être exécuté via la ligne de commande. Voir ici. /admin/cron.php ne peut être appelé que via le web, à l'adresse complète http://adresse-du-site/moodle/admin/cron.php.

Il en est de même pour d'autres scripts, dont les chemins d'appel devront être adaptés (par exemple, pour la synchronisation avec un annuaire LDAP).

Problèmes connus

  • Moodle 2.0 nécessite certaines extensions PHP (par exemple les extensions intl et zip). Si vous ne les avez pas, voyez en fonction de votre système d'exploitation et de votre installation de PHP comment les installer.
  • Si vous aviez personnalisé votre paquetage de langue, les modifications seront perdues, vous devriez lire cette discussion (en anglais)
  • Si vous obtenez une erreur étrange à propos de 'handling of PHP float numbers', veuillez voir cette entrée de FAQ.
  • Si vous obtenez l'erreur 'Coding error detected, it must be fixed by a programmer: Block type admin has been disabled by the administrator.', veuillez lire cette discussion (en anglais)
  • Si vous obtenez l'erreur 'Coding error detected, it must be fixed by a programmer: Block type xxxx has been disabled by the administrator.' quand vous crééz un cours, veuillez lire cette discussion
  • Si vous obtenez l'erreur 'Could not find a top-level course!', il faut vider votre cache PHP, comme indiqué dans cette discussion (en anglais)

Convertir des cours de Moodle 1.9 à Moodle 2.0

Le meilleur moyen actuel est de passer par une mise à jour du site de Moodle 1.9 à 2.0, comme expliqué sur cette page. Il n'est pas possible de restaurer des sauvegardes Moodle 1.9 dans Moodle 2.0, mais c'est possible à partir de Moodle 2.1 (mais pas forcément pour les données des étudiants).

Sinon, certaines personnes ont développé des outils permettant de faire des conversions de ce type :

Voir aussi