mercredi 28 mai 2014

Banque de questions de Moodle vers Word

Un enjeu majeur dans le travail avec Moodle peut être la validation des questions montées en prévision de quiz. En effet, si les questions sont montées directement dans Moodle, il devient difficile de les exporter pour en faire une révision linguistique ou tout simplement les faire valider par un expert n'ayant pas accès au portail. Or, il existe une solution simple qui passe par l'utilisation d'un plug-in complémentaire à Moodle, le plug-in Microsoft Word table format (wordtable).

Le plug-in

Pour dire vrai, ce plug-in agit essentiellement comme un modèle d'importation/exportation de questions d'une banque de question. Le plug-in propose une démarche qui permet (1) d'exporter le contenu d'une banque de questions, (2) d'éditer sa banque de question à l'aide de word et (3) d'importer dans Moodle une banque de questions.

Le coût

Il n'y a pas de frais pour l'utilisation de ce plug-in afin d'exporter de Moodle vers Word (point 1 plus haut). Le plug-in permettant l'édition dans Word est également gratuit. Par contre, si on désire importer dans Moodle des questions créées à l'aide de l'éditeur Word, on est limité à une importation de 5 questions dans Word. Cette limite peut être retirée pour un paiement de 200 € par année ou par l'utilisation du module de conversion en ligne Free Moodle2Word conversions.

Mon choix

Comme je désire essentiellement exporter le contenu d'une banque de questions de Moodle vers Word, que je trouve que 200 € est trop élevé pour mes besoins et que je ne peux absolument pas utiliser un outil de conversion en ligne, je me contenterai d'utiliser le plug-in pour réaliser une exportation de Moodle vers Word de mes banques de questions (point 1). De toute façon, je préfère éditer mes banques de questions directement au format XML via Notepad++.

Notons néanmoins que les deux autres options sont disponibles. Le lecteur pourra se référer à la documentation du plug-in et de l'éditeur pour plus de détails.

Un fondamental - Les plug-ins et mon site de production

Au sein de notre institution, nous tentons de limiter au maximum l'intégration de plug-ins provenant de sources tierses. Aussi, il m'est difficile d'installer simplement Microsoft Word table format (wordtable) sur notre instance de production. Comme je désire exporter les banques de questions depuis Moodle vers Word, j'utiliserai donc un serveur local pour installer le plug-in et faire l'exportation des banques de questions Moodle vers un fichier Word. Le tout m'évitera d'installer un plug-in tiers sur notre site de production.

On notera par ailleurs que peu d'utilisateurs seront amenés à faire ce type d'exportation au sein de notre institution, ce qui limite l'impact de la complexité liée à l'installation d'un serveur local. C'est également pour cette raison qu'il n'est pas utile pour nous d'installer ce plug-in en production.

Préparer l'écosystème

Je prépare d'abord mon écosystème pour faire le travail.
  • Moodle sur un serveur local
    • D'abord, j'ai dû installer un serveur local de Moodle. Le plus simple ici est de passer par le site moodle.org pour télécharger une version de Moodle locale (Windows ou Mac). J'ai téléchargé la dernière version à jour de Moodle (v2.7).
    • On lance ensuite son installation du serveur local et de son instance locale de Moodle.
    • Une autre option aurait été d'installer un serveur local indépendant (EasyPHP, XAMPP ou MAMP) et d'y installer Moodle par la suite... utile si on veut faire plus de développement et de tests avec différentes applications. Dans mon cas, trop de travail pour pas beaucoup plus, l'installateur de Moodle fait déjà le travail (basé sur XAMPP)
  • Prérequis à l'installation du plug-in
    • En suivant les consignes d'installation du plug-in, on constate qu'il est d'abord nécessaire d'être administrateur du portail où sera installé le plug-in. On l'installera sur notre Moodle local, donc pas de problème, j'en suis 100% admin.
    • Il faut avoir les droits en écriture dans le répertoire /question/format/, ce qui est déjà le cas avec ma solution d'installation locale.
    • Je tiens à préciser (pas fait dans la doc formelle du plug-in) qu'on doit disposer des droits suffisant (ex.: enseignant éditeur d'un cours) sur notre portail de production pour pouvoir exporter les questions depuis une banque de question d'un cours. Ça peut paraître évident, mais vaut mieux préciser.
    • S'assurer que le support XSLT soit supporté par notre installation. Dans mon cas, il s'agit du seul paramètre essentiel étant donné que je ne ferai que de l'exportation. Si on désire également importer, on devra également activer CURL. Cela dit, de mon côté, je n'ai eu aucune modification à faire aux paramètres du système. Tout était déjà activé à l'installation.
    • Pour tous les détails, se rapporter à la page de présentation du plug-in.
  • Installation du plug-in sur le serveur local
    • J'ai téléchargé l'archive du plug-in depuis sa page de description.
    • J'ai suivi la procédure décrite dans la section Installation instructions (within Moodle).
    • Détail intéressant, la note entre le point 3 et 4 est vrai... ça ne marche pas si on essaie d'installer directement depuis notre installation locale de Moodle en se connectant au site moodle.org... j'ai testé.

Procédure pour l'exportation

Voici la procédure simplifiée pour l'exportation des banques de questions.
  1. Exporter la banque de question depuis l'installation Moodle Production
    1. Sur notre Moodle Prod, on se rend dans le cours où se trouve la banque de questions à exporter. Attention, si la banque de questions se trouve au niveau d'un test, on devra se positionner sur ce test pour y avoir accès. Autrement, à partir de la page d'accueil d'un cours on peut également exporter les banques de questions positionnées au niveau du système, d'une catégorie ou du cours.
    2. Dans le menu «Administration > Administration du cours > Banque de questions» on clique sur «Exporter».
    3. Sous «Format de fichier», on sélectionne «Format XML Moodle».
    4. Sous «Généraux», dans «Exporter catégorie», on sélectionne la catégorie à exporter.
    5. On conserve coché la case «Exporter la catégorie dans le fichier».
    6. On clique sur le bouton «Exporter des questions vers un fichier».
    7. Ça nous donne un fichier XML que l'on pourra traiter dans la suite.
    8. À NOTER - Si la banque de questions se situe à un niveau de système, on devra éditer le fichier XML avant d'aller plus loin. Voir «Problèmes rencontrés» plus bas pour le détail de la modification à apporter.
  2. Importer la banque de questions dans Moodle local
    1. On passe maintenant à notre installation Moodle local.
    2. On crée un cours.
    3. Dans ce cours, on navigue dans le menu «Administration > Administration du cours > Banque de questions» on clique sur «Importer».
    4. Sous «Format de fichier», on sélectionne «Format XML Moodle».
    5. Sous «Importer des questions d'un fichier», on dépose dans l'encadré «Importation» le fichier XML exporté notre Moodle Prod.
    6. On clique sur le bouton «Importation».
    7. Voilà, la banque de question est importée sur notre Moodle local.
  3. Exporter la banque de question de Moodle local vers Word
    1. Toujours en demeurant dans le même cours, on se rend dans le menu «Administration > Administration du cours > Banque de questions», où on clique sur «Exporter».
    2. Sous «Format de fichier», on sélectionne «Microsoft Word table format (wordtable)», soit le format ajouté par le plug-in que nous avons installé.
    3. On sélectionne la catégorie à exporter, on s'assure que la case «Exporter la catégorie dans le fichier» est bien cochée.
    4. On clique sur le bouton «Exporter des questions vers un fichier».
Voilà!!! Notre fichier Word a été créé.

Problèmes rencontrés

La procédure est au final bien simple. Elle présente néanmoins un enjeu important. En effet, les questions déposées au niveau du système ne semblent pas pouvoir être exportées.

La solution pour régler le problème, est simplement de changer la référence dans le fichier XML pour inscrire «$course$» au lieu de «$system$». À noter, dans le cas où on aurait exporté une catégorie contenant des sous-catégories, cette modification devra être réalisée partout. Pour y arriver, on pourra, à l'aide de Notepad++ faire un rechercher/remplacer du texte «$system$» par «$course$».

Le tout semble régler le problème.

Aucun commentaire:

Enregistrer un commentaire