Bonjour,
Petit retour d'expérience, suite à une mise à jour de Moodle, et la rencontre du message d'erreur "Coding error detected, it must be fixed by a programmer: The data source class does not exist.".
Contexte : mise à jour de plusieurs instances Moodle, de Moodle 3.7 (ou 3.5) vers Moodle 3.11.
Comme indiqué dans les instructions de mise à jour vers Moodle 3.11, la version 3.6 (minimum) de Moodle est nécessaire.
Je n'ai eu aucun problème particulier pour mettre à jour mes différentes plateformes Moodle 3.7 à jour vers Moodle 3.11. Par contre, pris dans l'action, j'ai essayé de mettre à jour l'instance 3.5 vers Moodle 3.11. Lors de la vérification des pré-requis, Moodle m'a directement averti que ma version 3.5 ne correspondait pas, et qu'il fallait la 3.6.
Du coup, j'ai supprimé le contenu du dossier Moodle, et mis à la place Moodle 3.7. C'est à ce moment là que j'ai obtenu le message d'erreur "Coding error detected, it must be fixed by a programmer: The data source class does not exist.".
J'ai d'abord cru qu'il y avait un problème avec les fichiers, et j'ai essayé de les télécharger à nouveau, sans amélioration.
J'ai essayé de cliquer sur l'erreur "error/debug/codingerror" (page inexistante), puis sur sa version anglaise.
Suivant les instructions, j'ai essayé de purger les caches, comme indiqué sur la documentation d'administration en ligne de commande (l'interface web étant inutilisable), avec une commande du style "php admin/cli/purge_caches.php". Malheureusement, cette commande m'a renvoyé le même message d'erreur.
Légèrement paniqué, j'ai effectué une recherche sur ce message d'erreur, et suis tombé sur MDL-57936.
J'ai donc commencé par supprimer un certain nombre de dossiers dans "moodledata" : cache, localcache, sessions, temp
Mais cela n'a pas suffit, et j'ai encore rencontré le même message d'erreur en essayant de purger les caches.
Du coup, en plus des dossiers précédents, et suivant ce commentaire sur MDL-57936, j'ai également supprimé les dossiers lock, muc et trashdir et enfin, j'ai pu lancer la purge des caches et accéder de nouveau à la mise à jour de Moodle !
Je poste donc ce message pour aider d'autres personnes qui tomberaient sur la même problématique que moi.
En résumé, si vous rencontrez ce problème, supprimez dans "moodledata" les dossiers "cache, localcache, lock, muc, sessions, temp, trashdir" avant de lancer la purge des caches en ligne de commande !
Séverin