Cette fonction permet de convertir un fichier CSV, au format « lecture optique », en un fichier XML de questions pour Moodle
csv_optique.moodle( fichier.csv,
forcer.multiple = FALSE, melanger.reponses = TRUE,
somme.nulle = FALSE,
fichier.xml = if ( TRUE == nv.fichier )
gsub( "\\.[Cc][Ss][Vv]$",
".xml", fichier.csv )
else get( "fichier.xml",
envir = SARP.Moodle.env ),
nv.fichier = TRUE,
embellir = TRUE, deja.HTML = FALSE,
categorie.base = "",
dossier.images = ".",
sep.images = c( '@@', '@@' ), inserer.images = TRUE,
sep.formules = c( '@\\$', '\\$@' ),
sep.SMILES = c( '@\\{', '\\}@' ),
sep = ";", header = TRUE, quote = '\"',
... )
De façon invisible, une liste des data.frames des questions après traitement de chaque fichier. Elle n'a guère d'autre intérêt que pour détecter l'origine d'un problème de conversion.
Un vecteur de chaînes de caractères contenant les noms des fichiers à convertir. Chacun des fichiers est traité indépendamment, mais avec les mêmes valeurs des options qui suivent.
Si TRUE
, les questions sont toujours
considérées comme des réponses à choix multiples (l'étudiant pourra
cocher plusieurs réponses). Sinon, si une seule bonne réponse est
proposée, la question est à choix unique (l'étudiant ne pourra
choisir qu'une seule réponse).
Si TRUE
, autorise Moodle à permuter aléatoirement l'ordre des
réponses lorsqu'il pose la question. Sinon, l'ordre du fichier est
tout le temps utilisé.
Cette option précise comment gérer les réponses incorrectes du
QCM. Si FALSE
, les réponses incorrectes ont une note nulle.
Si TRUE
, les réponses incorrectes se voient attribuer une
note négative telle que la somme de ces notes vaut -1, de sorte que
si l'étudiant coche toutes les cases du QCM, il a 0 (sauf bien sûr
si toutes les cases correspondent à des questions correctes...).
Le nom du fichier XML à créer ou un fichier XML déjà créé avec
debuter_xml.moodle
. Par
défaut, la fonction crée un fichier de même nom que le premier
fichier fourni, en remplaçant l'extension .csv
par
.xml
.
Une valeur logique indiquant si l'on veut créer un nouveau fichier
(TRUE
) ou utiliser un fichier XML déjà ouvert avec
debuter_xml.moodle
(FALSE
)
Actuellement inutilisés, prévus pour une version future
La catégorie de base à utiliser pour créer les questions. Elle contiendra toutes les questions du fichier.
Le dossier d'image où trouver les images à
intégrer au fichier XML, ou l'URL de base pour les trouver dans
Moodle (voir definir_dossier.image.moodle
).
Les codes servant à encadrer un nom d'image dans les textes du fichier CSV.
Si TRUE
, les images sont incluses dans
le fichier XML. Sinon, seul le lien est construit.
Les codes servant à encadrer une formule mathématique à convertir grâce à latex dans les textes du fichier CSV.
Les codes servant à encadrer un code SMILES à convertir en formule chimique grâce à openbabel dans les textes du fichier CSV.
Options pour read.table
, correspondant au format d'un
fichier CSV par défaut lorsqu'il est créé par Libre office ou Excel.
Autres options pour read.table
, si nécessaire.
Moodle est assez peu permissif pour les notes exprimées en pourcentage; en particulier, lorsque ce pourcentage ne tombe pas juste (33% pour trois bonnes réponses, par exemple), à cause de l'arrondi il peut rejeter le fichier créé. Dans ce cas, désactivez l'arrêt en cas d'erreur et demandez l'arrondi à la note la plus proche pour pouvoir importer les questions.
Emmanuel Curis emmanuel.curis@parisdescartes.fr (sur une idée de Wilfrid Cariou)
Ces fonctions réalisent la conversion d'un ou plusieurs fichiers CSV de questions pour Moodle en un fichier XML. Les questions sont nécessairement des QCM.
Ce fichier doit être au format utilisé par les lecteurs optiques de QCM. La première ligne, qui donne le numéro de question, est ignorée, ainsi que la première colonne. Chacune des autres colonnes correspond à une question différente.
Pour chaque question, la première ligne indique le titre, la suivante l'énoncé. Ensuite, les réponses possibles et leur justesse alternent.
Insérer des images
Il est possible de faire référence à une image dans les textes
(énoncés, réponses, commentaires) en encadrant le nom de fichier de
l'image par les séparateurs choisis, par défaut @@
. Il est
possible de redimensionner l'image en faisant suivre le nom de l'image
d'un point d'exclamation, puis de la largeur, du caractère x et de la
hauteur. Attention, il semblerait que Moodle ne déforme pas les
images, quelles que soient les dimensions demandées. Par défaut,
l'image sera incluse au fichier XML.
Deux types d'image peuvent être créés au vol : les formules
mathématiques et les formules chimiques. Voir les fonctions
inserer_formule.moodle
et
inserer_SMILES.moodle
pour plus de détails.
Les fonctions de base de création de questions pour plus de souplesse, et en particulier pour créer des questions non gérées par le format de fichier ci-dessus.
csv.moodle
pour convertir un fichier CSV au format
proposé par SARP.moodle, permettant de gérer davantage de sortes de
question.
# Conversion du fichier d'exemple fourni
# (à placer dans le répertoire de travail)
if (FALSE) {
csv_optique.moodle( "exemple_optique.csv" )
}
Run the code above in your browser using DataLab