csv_optique: Convertir un fichier CSV en questions Moodle

csv_optique.moodleR Documentation

Convertir un fichier CSV en questions Moodle

Description

Cette fonction permet de convertir un fichier CSV, au format « lecture optique », en un fichier XML de questions pour Moodle

Usage

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 = '\"', 
                    ... )

Arguments

fichier.csv

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.

forcer.multiple

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

melanger.reponses

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é.

somme.nulle

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

fichier.xml

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.

nv.fichier

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)

embellir,deja.HTML

Actuellement inutilisés, prévus pour une version future

categorie.base

La catégorie de base à utiliser pour créer les questions. Elle contiendra toutes les questions du fichier.

dossier.images

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

sep.images

Les codes servant à encadrer un nom d'image dans les textes du fichier CSV.

inserer.images

Si TRUE, les images sont incluses dans le fichier XML. Sinon, seul le lien est construit.

sep.formules

Les codes servant à encadrer une formule mathématique à convertir grâce à latex dans les textes du fichier CSV.

sep.SMILES

Les codes servant à encadrer un code SMILES à convertir en formule chimique grâce à openbabel dans les textes du fichier CSV.

sep, header, quote

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.

Details

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.

Value

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.

Attention!

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.

Author(s)

Emmanuel Curis emmanuel.curis@parisdescartes.fr (sur une idée de Wilfrid Cariou)

See Also

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.

Examples

  # Conversion du fichier d'exemple fourni
  #  (à placer dans le répertoire de travail)
## Not run: 
  csv_optique.moodle( "exemple_optique.csv" )

## End(Not run)

SARP.moodle documentation built on June 8, 2023, 6:37 a.m.