Mise à jour à Moodle 3.2

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

Pour passer à Moodle 3.2, vous devez impérativement avoir Moodle 2.7 ou plus récent installé ! Si vous utilisez une version plus ancienne (comme 2.5.x), vous devez d'abord passer à Moodle 2.7 !

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.

Prérequis système

Plugins et thèmes additionnels

Les différents plugins et thèmes que vous aviez installés sur votre site devront être remplacés par une version compatible avec Moodle 3.2 avant de faire la mise à jour (lire ci-après).

  • Vérifiez dans la Base de données des plugins Moodle si une version Moodle 3.2 de vos plugins est disponible et copiez les sources dans l'arborescence de votre code Moodle.
  • La mise à jour des plugins s'effectuera en même temps que celle de Moodle.
  • S'il n'existe pas de version compatible avec Moodle 3.2 d'un de vos plugins et si celui-ci fait échouer la mise à jour, vous pouvez supprimer le code de ce plugin avant de mettre à jour, plutôt que de le désinstaller, de manière à conserver les données associées à ce plugin. Une version compatible arrivera peut-être ultérieurement.

Il existe une liste des plugins compatibles Moodle 3.2 dès le jour de sa sortie, beaucoup d'autres plugins peuvent être compatibles Moodle 3.2 plus tard.

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 3.2
  • 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).

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

Si votre site Moodle a été mis à jour depuis de nombreuses versions antérieures (surtout avant 2.0), il risque d'y avoir quelques problèmes avec le schéma de la base de données (par rapport à une nouvelle installation 3.2). Cela peut entraîner l'échec de la mise à jour. Si votre site a commencé avant Moodle 2.0, 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 3.2 suivez les instructions sur la page mise à jour de Moodle.

Sur les serveurs Linux, Moodle 3.2 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 2.x ou 3.x devrait fonctionner correctement, mais si vous regardez le fichier config-dist.php fourni avec Moodle 3.2, vous verrez qu'il y a plus d'options (ou des options différentes) disponibles. C'est une bonne idée d'adapter votre ancien fichier config.php en vous basant sur le fichier config-dist.php fourni avec Moodle 3.2.

Cron

Cron a subi une profonde refonte avec Moodle 2.7 (MDL-25499) et supporte depuis à la fois des tâches planifiées et des tâches « ad hoc ».

Les avantages de ces changements sont :

  • La planification de chaque tâche peut être configurée par l'administrateur ;
  • Les tâches peuvent tourner en parallèle ;
  • Le processus de Cron s'appuie sur un verrou pour empêcher la même tâche de tourner en même temps à partir d'appels différents ;
  • Les clusters avec plusieurs nœuds applicatifs identiques sont supportés, vous pouvez faire tourner le Cron sur chacun d'eux.

En conséquence de quoi le Cron peut être lancé bien plus souvent, ce qui signifie, par exemple, que les notifications des forums peuvent partir plus vite. Pour profiter au maximum du nouveau système de Cron, il est fortement recommandé que les administrateurs augmentent la fréquence à laquelle le Cron tourne à au moins « une fois par minute ».

Vous devrez peut-être également modifier les scripts automatisés que vous avez pour analyser la sortie de cron. Il n'est plus possible de surveiller simplement la sortie de Cron à la recherche de la chaîne "Le Script Cron s'est terminé correctement" (si c'est ce que vous faisiez). Une autre solution consisterait à surveiller la sortie de la chaîne "task failed". Si vous détectez qu'une tâche échoue, voici quelques conseils (en anglais) pour le débogage de ces échecs.

Avant la mise à niveau, il se pouvait que l'échec d'une seule tâche planifiée entraîne l'arrêt complet du Cron avant son terme. Désormais, l'échec d'une seule tâche n'empêchera plus le reste des tâches du Cron de Moodle de s'exécuter, de sorte que vous pouvez découvrir des bugs précédemment masqués. C'est une bonne idée de surveiller de près la sortie du Cron après la mise à niveau en 3.2 !

Devoirs

L'ancien module « Devoir (2.2) » a été supprimé des modules de base et a été remplacé par un substitut pour permettre le maintien des liens existants et permettre la conversion lors de la restauration de sauvegardes de cours disposant de l'ancien module vers le nouveau module.

Si vous utilisez encore l'ancien module « Devoir (2.2) », après la mise à niveau vers Moodle 3.0, toutes les activités « Devoir (2.2) » seront masquées. Vous devez exécuter l'outil de mise à jour des devoirs pour démasquer ces activités.

Si vous avez vraiment besoin de continuer à utiliser l'ancien module « Devoir (2.2) », vous devez mettre à jour le code pour Moodle 3.0, puis remplacer le dossier "mod/assignment" par celui de https://github.com/moodlehq/Moodle-mod_assignment/releases avant de terminer la mise à niveau.

Problèmes qui pourraient vous affecter

Rôles personnalisés nécessitant un accès à l'administration du site

Tous les rôles personnalisés qui nécessitent l'accès à toute partie de l'administration du site et qui n'utilisent pas le modèle du rôle Gestionnaire devront être autorisés pour la nouvelle capacité moodle/site:configview.

Modules retirés

Les modules suivants ont été retirés de la distribution standard de Moodle 3.2 :

  • Le module d'authentification RADIUS (s'appuyant sur la fonction mcrypt de PHP qui est devenue obsolète depuis PHP 7.1)
  • Le dépôt Alfresco (ne fonctionne pas avec Alfresco 5.0.c ou supérieur)

Les thèmes Base et Canvas ont également été retirés de la distribution standard de Moodle 3.2. Ces thèmes ne peuvent pas être utilisés en tant que tel mais peuvent être utilisés comme thème parent.

Configuration des courriels sortants (SMTP)

Tous les paramètres de messagerie concernant le courrier sortant se trouvent maintenant dans la section « Configuration du courrier sortant » dans Administration du site > Serveur > Courriel > Configuration du courriel sortant. Il n'y a plus de paramètre « Toujours envoyer à partir d'une adresse sans réponse ». Au lieu de cela, il y a un paramètre « Domaines de courriel autorisés » (allowedemaildomains). Si vous souhaitez envoyer des courriels à partir des adresses réelles des utilisateurs, vous devez ajouter les domaines autorisés par votre serveur de messagerie à cette liste. L'envoi de courriels provenant d'adresses électroniques ne correspondant pas au domaine de l'expéditeur sera détecté par les clients et de tels messages pourraient être classés comme spam. Moodle n'utilisera plus de courrier électronique de support comme Return-Path.

Recommandations sur l'évolution des paramètres

Certains paramètres d'administration et rôles ont changé de valeurs par défaut dans Moodle 3.2. Ces modifications ne seront pas automatiquement appliquées aux sites mis à niveau. Les modifications suivantes sont recommandées pour améliorer la sécurité, l'expérience de l'utilisateur et la navigation :

  • Dans Administration du site > Présentation > Navigation, « Afficher mes catégories de cours » (navshowmycoursecategories) devrait être réglé sur Non si vous utiliser un thème avec une navigation à plat comme Boost.
  • Dans Administration du site > Notes > Réglages généraux, la « Méthode de navigation » (grade_navmethod) devrait être réglée sur Onglets pour améliorer l'expérience de navigation, surtout quand on utilise le thème Boost qui ne propose pas de bloc 'Administration'.
  • Dans Administration du site > Présentation > Navigation, « Lier les catégories de l'administration » (linkadmincategories) devrait être réglé sur Oui pour améliorer l'expérience de navigation, surtout quand on utilise le thème Boost qui ne propose pas de bloc 'Administration'.
  • Dans Administration du site > Sécurité > Sécurité HTTP, deux nouveaux paramètres « Liste d'hôtes bloqués pour cURL » (curlsecurityblockedhosts) et « Liste de ports cURL autorisés » (curlsecurityallowedport) sont destinés à améliorer la sécurité des requêtes cURL (utilisées dans les blogs, les URL des dépôts, etc.). Il est recommandé de bloquer localhost et ces alias, et d'autoriser les ports 443 (pour HTTPS) et 80 (pour HTTP).
  • Dans Administration du site > Cours > Réglages par défaut des cours, le « Format » par défaut des cours (moodlecourse/format) a été changé pour Thématique au lieu d'Hebdomadaire, et le 'Nombre de sections' par défaut (moodlecourse/numsections) a été changé à 4 au lieu de 10.

Rôle "Enseignant non éditeur" à modifier

Comme indiqué dans les Notes de mise à jour de Moodle 3.2, l'enseignant non éditeur ne devrait pas pouvoir accéder à tous les groupes. Les permissions par défaut sur la capacité "Accéder à tous les groupes" (accessallgroups) ont été modifiées pour le rôle "Enseignant non éditeur" pour les nouvelles installations. Par contre, il faudra appliquer cette modification manuellement lors de la mise à jour !

Suppression d'activité asynchrone avec la corbeille

La Corbeille (nouveauté de Moodle 3.1 et activée par défaut) a été reconnue comme responsable de ralentissement de sites lors de la suppression d'activités. Pour résoudre ce problème dans Moodle 3.2, si la corbeille est activée, la suppression de l'activité se fera de façon asynchrone, en arrière-plan. Il est pour cela nécessaire que le cron tourne fréquemment, idéalement toutes les minutes. Faire tourner le Cron toutes les minutes ne ralentira pas le site puisque chaque tâche ne sera exécutée que lorsqu'elle est planifiée.

Lecteurs de média

  • Moodle 3.2 est livré avec un nouveau type de 'Lecteur de média'. Remplacer un lecteur de média dans un thème ne fonctionnera plus ; vous devrez plutôt créer un plugin de lecteur de média.
  • VideoJS est le nouveau lecteur audio et vidéo par défaut. Si vous disposez de filtres avec des lecteurs de média, ils pourraient s'avérer inutiles dans Moodle 3.2.
  • Les lecteurs de média Flowplayer, Windows media player, RealPlayer et Quicktime ont été supprimés dans Moodle 3.2. S'ils sont nécessaires, ils devront être installés dans le dossier media/player. Remarquez que VideoJS inclut un lecteur Flash intégré, donc Flowplayer n'est plus nécessaire. Windows media player, RealPlayer et Quicktime ont été supprimés parce que ces formats sont rarement utilisés et les navigateurs ne les tolèrent plus.

URL MathJax personnalisée

Si vous avez personnalisé l'URL CDN de Mathjax notez que filter_mathjaxloader/httpurl a été supprimé et seul filter_mathjaxloader/httpsurl est utilisé.

Recherche d'adresses IP

Moodle prend désormais en charge la recherche d'adresses IPv6 à l'aide de la base de données GeoIP2 en provenance de Maxmind. Cela remplace la base de données GeoLite utilisée dans les versions précédentes et la nouvelle base de données GeoIP2 devra être installée pour utiliser cette fonctionnalité.

Les liens Compétences et Notes ont bougé

Les liens Compétences et Notes ont bougé en passant du bloc Administration au bloc Navigation (ou nav drawer si vous utilisez Boost). Ainsi le bloc Administration n'a plus besoin d'être affiché aux étudiants.

Support unicode complet pour MySQL

Les installations neuves depuis Moodle 3.2.2 utilisent des pilotes MySQL et MariaDB assurant un support UTF-8 complet. Pour les sites mettant à jour vers Moodle 3.2.2, un script en ligne de commande (CLI) peut être utilisé pour convertir en UTF-8 complet. Lisez Support unicode complet pour MySQL pour les détails.

Voir aussi