Retour : Page Principale > sommaire aide > sommaire aide logiciels

Moodle

Moodle est le logiciel utilisé pour la Plateforme MOOC de Tela Botanica (voir la Fiche appli MOOC)

Ressources Moodle

Comment publier des plugins

Moodle est modulaire, et c'est trop bien parce qu'on peut écrire assez facilement des plugins. Et c'est encore plus trop mieux car on peut les reverser à la communauté, sous réserve qu'ils ne soient pas trop sales. Voici comment achever ce tour de force qui ravira petits et grands.

1. écrire un plugin

Débrouillez-vous avec la doc développeur. Attention à la convention de codage,
Des exemples de plugins créés par Tela Botanica sont listés sur la fiche appli MOOC.

2. le publier

  • Se rendre sur le dĂ©pĂ´t de plugins de Moodle : https://moodle.org/plugins
  • CrĂ©er un compte ou se connecter ("connexion" en haut Ă  droite, puis suivre les instructions)
  • Se rendre sur https://moodle.org/plugins/registerplugin.php
  • Suivre les instructions; en gros il faut envoyer une archive zip du plugin, remplir plein de champs, mettre des captures d'Ă©cran, et puis voilĂ 
La validation des plugins prend du temps; des fois les mecs mettent un mois à passer voir, mais ils sont très sympa.

Les trucs Ă  savoir

Moodle est super vaste, une chatte n'y retrouverait pas ses petits. Voici quelques trucs bien pratiques que si on les sait pas c'est la galère.

Migration

Parfois on souhaite faire une copie d'une installation de Moodle vers un autre site (ex: répercuter le test sur la prod' ou vice-versa). Eh ben c'est pas si facile !
Pour la version 3 (actuellement utilisée - 2016-05-12), suivre cette procédure ("recommended method") :
https://docs.moodle.org/30/en/Moodle_migration
Note : à la fin de la procédure, le site de destination sera également en mode "maintenance", ce qui fait qu'on ne peut pas y accéder, à moins d'être administrateur. Il faut donc se rendre dans /admin manuellement pour accéder au login, se connecter en administrateur, puis désactiver le mode maintenance.

Exporter un cours

Le cours de 2016 était beaucoup trop gros pour pouvoir être intégralement exporté via l'interface d'export de Moodle, le script pédalait à l'infini.
Il faut installer moosh http://moosh-online.com/ et croiser les doigts.
Et lancer dans un screen une commande du genre : ~/www/moodle$ ~/moosh/moosh.php -v course-backup --fullbackup --filename /home/moodle/backup-moosh.mbz 2
Lancement depuis le repertoire de moodle de la commande moosh avec mode verbose de la sous commande course-backup avec les options fullbackup et filename et à la fin l'argument 2 pour identifier le cours à exporter. (pas sûr que ce soit très compréhensible, à reformuler)
Malgré un export réussi (de 17Go), l'import n'a jamais fonctionné. Ça bloquait sur une incompatibilité de rôles, surement un problème de version (export en v30, import en v34).
La solution fut d'exporter Moodle dans son intégralité puis de faire les mises à jour autour.

Après la migration

Une liste de trucs à surveiller après avoir migré :

  • intĂ©gration Google Analytics
  • activer le CRON
  • copier le dossier "moodle-fichiers", qui contient certaines images du thème, PDF, etc.
  • connexion Ă  l'annuaire externe TB (si applicable)
    • implique d'activer OpenVPN pour avoir accès Ă  Agathis
  • connexion avec Google+ et Facebook
  • vider le cache
  • vĂ©rifier les captcha Google
  • sortir du mode dĂ©veloppeur
  • config.php : enlever le mode debug

Script de conversion pour l'import de termes dans un glossaire

Petit programme PHP écrit le 2016-05-30 par Mathias.
Telecharger le fichier (4.0kB) (flemme de faire un dépôt pour ça) :

Prérequis (à faire une seule fois)

  • enregistrer ce fichier quelque part dans un dossier; c'est ce dossier dans lequel on placera / gĂ©nĂ©rera les fichiers glossaire
  • que ce fichier ait les droits d'exĂ©cution : faire un clic droit, puis cliquer sur "propriĂ©tĂ©s"; dans l'onglet "permissions", s'assurer que "exĂ©cuter - autoriser l'exĂ©cution du fichier comme un programme" est cochĂ©e
  • avoir Ubuntu et PHP (cli) installĂ©s sur sa machine

Marche Ă  suivre

  • aller sur https://docs.google.com/spreadsheets/d/1laeFdnGeJr935iXeY8g47rqxxWm6CCdHvCNXiI4l59Q/edit#gid=0 https://docs.google.com/spreadsheets/d/1KXNmI4v9GEtzChTZzgb6oPyUtDEF9ti7GGAe-g_6ikI/edit#gid=0 , cliquer sur "File" => "Download as" => "Comma separated values (.csv, current sheet)" => enregistrer le fichier quelque part
  • copier ce fichier sous le nom "glossaire.csv" au mĂŞme endroit que le fichier programme
  • double-cliquer sur le programme et choisir "lancer" => un fichier "glossaire.xml" apparaĂ®t sous vos yeux Ă©bahis, sinon appelez un(e) informaticien(ne)
  • se rendre sur Moodle, s'identifier avec le compte administrateur
  • afficher le glossaire, puis dans le menu "administration du glossaire", cliquer sur "importer des articles" note: si le glossaire contient dĂ©jĂ  des articles que vous voulez mettre Ă  jour, il faut vider le glossaire d'abord (voir section ci-dessous)
  • choisir le fichier glossaire.xml gĂ©nĂ©rĂ© par le programme Ă  l'Ă©tape 3 et appuyer sur "envoyer". C'est tout bon !

Vider le glossaire

Pour mettre à jour des articles (termes) du glossaire, il faut d'abord effacer les termes existants. Sans quoi, selon le réglage général de Moodle, vous obtiendrez un rejet de la mise à jour, ou un doublon.
L'ennui est qu'on ne peut pas vider un glossaire, il faut soit effacer les entrées une à une (#zermi) soit détruire le glossaire et le recréer (#cestpasmieux).

2016-07-07 : modification du code de Moodle (en attente de partage avec la communauté - attention, ne pas mettre à jour Moodle sous peine de perdre ces modifs), dans l'administration du glossaire, une entrée "empty this glossary" est présente en bas et permet de tout vider d'un coup (expérimental).

Notes

  • en ligne de commande, le programme prend optionnellement 3 arguments : [fichier source], [fichier destination], [croisillons] et [liaisonautomatique]
  • les valeurs par dĂ©faut sont : "glossaire.csv", "glossaire.xml", "1" et "1"
  • si croisillons est Ă  1, chaque terme et synonyme sera prĂ©cĂ©dĂ© d'un croisillon (#); pour Ă©viter cela, lancer le script Ă  la main en spĂ©cifiant "0" comme 3e argument
  • si liaisonautomatique est Ă  1, les termes seront automatiquement reconnus dans le contenu du cours et un lien vers la dĂ©finition apparaĂ®tra; pour Ă©viter cela, lancer le script Ă  la main en spĂ©cifiant "0" comme 4e argument