Importer des fichiers en format « GIFT »
Le format GIFT est le format le plus exhaustif pour l'importation de questions dans le module de tests de Moodle. Il permet l'importation de questions à Choix multiples, Vrai/Faux, à Réponses courtes, d'Appariement et Numériques, ainsi que l'insertion de _____ pour le format « Mot manquant ». Les différents types de questions peuvent être utilisés ensemble dans un seul fichier texte. Le format permet également l'insertion de commentaires, de titres de questions, de feedbacks et de coefficients.
L'encodage de votre fichier doit être UTF-8 (à moins que vous n'utilisiez que des caractères ASCII). Un exemple de fichier de questions peut être téléchargé ici : gift/examples.txt.
Préambule
Chaque question d'un fichier GIFT ne doit pas contenir de ligne vide, car les lignes vides servent à délimiter par les lignes vides. Si vous devez afficher une ligne vide dans votre question, vous pouvez utiliser la notation \n. Des lignes de commentaires peuvent être ajoutés n'importe où dans le fichier, mais elles doivent commencer alors par deux barres obliques (//) au début de la ligne.
Types de questions
Choix multiples
Pour les questions à choix multiples, les réponses incorrectes sont préfixées d'un tilde (~) et la réponse correcte d'un signe égal (=).
Quel est le nom du héros du Comte de Monte-Cristo ?{~Jean Valjean ~Étienne Lantier =Edmond Dantès}
Le format Mot manquant insère automatiquement une ligne à compléter (comme cela _____) au milieu du texte. Pour obtenir ce résultat, placez les réponses là où vous voulez que la ligne apparaisse. Les signes _____ ne sont insérés que si les réponses sont placées avant la ponctuation finale.
Le héros du Comte de Monte-Cristo s'appelle {~Jean =Edmond ~Philippe} Dantès.
Tous les types de questions permettent ce format Mot manquant.
Une ligne vide (deux retours de chariot) doit séparer les différentes questions. Les réponses peuvent être écrites sur des lignes séparées et même indentées, dans un souci de clarté :
L'histoire des Trois Mousquetaires se déroule au { ~quinzième ~seizième =dix-septième } siècle. De quelle pays sont originaires les caractères japonais ? { ~Inde =Chine ~Corée ~Égypte}
Réponse courte
Dans ce format, les réponses sont toutes préfixées d'un signe égal (=), indiquant que toutes sont correctes. Les réponses ne peuvent contenir de tilde.
Quel est le nom du héros du Comte de Monte-Cristo ?{=Dantès =Edmond Dantès} Deux plus deux égale {=quatre =4 =IV =Quatre}.
S'il n'y a qu'une seule bonne Réponse courte, elle peut être écrite sans le signe égal, à moins qu'elle ne puisse être confondue avec une question Vrai/Faux.
Vrai/Faux
La réponse indique ici lequel des énoncés est vrai ou faux. La réponse s'écrit {TRUE} ou {FALSE}, ou de façon abrégée {T} ou {F}.
Étienne Lantier est le héros du Comte de Monte-Cristo.{F} Le Soleil se lève du côté Est.{T}
Appariement
Les paires correspondantes doivent commencer par un signe égal (=) et sont séparées par le symbole « -> » (sans les guillemets). Il doit y avoir au moins trois paires.
Question d'appariement. { =Terme 1 -> Correspondance 1 =Terme 2 -> Correspondance 2 =Terme 3 -> Correspondance 3 } Faites correspondre les pays ci-dessous avec leur capitale. { =Canada -> Ottawa =Italie -> Rome =Japon -> Tokyo =Inde -> New Delhi }
Les questions d'appariement ne permettent ni les feedbacks, ni les coefficients.
Numérique
La réponse d'une question numérique doit commencer par le signe dièze (#). Elle peut contenir une marge d'erreur, écrite immédiatement après la réponse correcte, séparée par un signe deux-points (:). Si par exemple la réponse est située entre 1.5 et 2.5, on écrira {#2:0.5}. Si aucune marge d'erreur n'est spécifiée, elle est assimilée à 0.
En quelle année est né Wolfgang Amadeus Mozart ? {#1756} Quelle est la valeur de π (3 décimales) ? {#3.1415:0.0005}.
On peut aussi donner la réponse numérique sous la forme d'un intervalle de la façon suivante : {#minimum..maximum}.
Quelle est la valeur de π (3 décimales) ? {#3.141..3.142}.
L'interface graphique (navigateur) de Moodle ne permet pas les réponses numériques multiples, mais le code de Moodle les permet, tout comme le format GIFT. On peut ainsi spécifier différents intervalles numériques, ce qui est particulièrement utile en le combinant avec des coefficients. Si plusieurs réponses numériques sont utilisées, elles doivent être séparées par un signe égal (=), comme les réponses courtes.
En quelle année est né Wolfgang Amadeus Mozart ? {# =1756:0 =%50%1756:2}
Comme l'interface de Moodle ne permet pas les réponses multiples pour les questions numériques, il n'y a aucun moyen de les voir, ni de les modifier autrement qu'en supprimant et en ré-important la question, ou en modifiant directement la base de données (DANGER !).
Options
En plus de ces types de questions, les options suivantes sont offertes grâce à ce format : commentaires, nom de question, feedback et coefficients.
Commentaires
Les commentaires ne seront pas importés dans Moodle. Il servent à documenter les questions. Toutes les lignes de commentaire commencent par une double barre oblique (sans compter les espaces ou tabulations qui précèdent). Ces lignes seront simplement ignorées lors de l'importation.
// Sous-titre : voici une question numérique Combien font 2 + 2 ? {#4}
Nom de question
Un nom de question peut être indiqué en le plaçant avant la question, entouré par des double deux-points.
::Origine des caractères Kanji::De quel pays sont originaires les les caractères japonais Kanji ? {=Chine} ::Période des Trois Mousquetaires::L'histoire des Trois Mousquetaires se déroule au {~quinzième ~seizième =dix-septième} siècle.
Si aucun nom de question n'est donné, la question elle-même est utilisée par défaut.
Feedback
Un feedback peut être inclus avec chaque réponse. Il suffit de placer le feedback immédiatement après la réponse, séparé par un dièze (#).
Quelle est a réponse à cette question à choix multiples ?{ ~réponse fausse#Feedback pour la réponse fausse ~autre réponse fausse#Autre feedback pour cette réponse fausse =bonne réponse#Excellent !} Quel est le nom du héros du Comte de Monte-Cristo ?{ =Dantès#Excellente réponse ! =Edmond Dantès#Excellente réponse !} Étienne Lantier est le héros du Comte de Monte-Cristo.{ FALSE#Faux, il s'agit de Edmond Dantès. #En effet, c'est Edmond Dantès}
Pour les questions à choix multiples, le feedback n'est affiché que pour la réponse sélectionnée par l'étudiant. Pour la réponse courte, le feedback est affichée uniquement si l'étudiant a donné la réponse correcte correspondante. Pour les questions Vrai/Faux, il peut y avoir une ou deux chaînes pour le feedback. La première est affichée si la réponse donnée est incorrecte, la deuxième si la réponse est fausse.
Coefficients (en %)
Les coefficients sont disponibles pour les questions à choix multiples et pour les questions à réponse courte. Les coefficients peuvent être inclus en faisant suivre le tilde (pour les questions à choix multiples) ou le signe égal (pour les questions à réponse courte) par le pourcentage désiré, entouré de signes pour-cent (par exemple %50%). Cette option peut être combinée avec les feedbacks.
Une question.{ ~Réponse fausse ~%50%Réponse valant la moitié des points =Réponse donnant tous les points} ::Résidence de Jésus::Jésus Christ résidait à { ~Jérusalem#C'était une ville importante, mais de la mauvaise réponse. ~%25%Bethléhem#Il y est né, mais n'y a pas grandi. ~%50%Galilée#Soyez plus précis. =Nazareth#Oui ! C'est cela !}. ::Résidence de Jésus:: Jésus Christ résidait à { =Nazareth#Oui ! C'est cela ! =%75%Nazireth#Juste, mais mauvaise orthographe. =%25%Bethléhem#Il y est né, mais n'y a pas grandi.}
Les deux derniers exemples sont en fait une même question, une première fois comme question à choix multiples, la deuxième sous la forme de question à réponse courte.
Il est possible de spécifier ainsi des coefficients non disponibles dans l'interface graphique (navigateur) de Moodle. Le menu Correspondance des notes sur la page d'importation détermine comment de tels coefficients sont traités. Vous pouvez soit demander qu'une erreur soit affichée, soit que le coefficient soit ajusté au plus proche d'un coefficient valable pour la question.
Spécifier un format texte pour la question
Le texte de la question (et seulement ce texte) peut comporter un texte optionnel spécifiant son format. Les formats actuellement disponibles sont moodle (format automatique Moodle), html (format HTML), plain (texte pur) et markdown (format Markdown). Le format doit être indiqué entre crochets immediatement avant le texte de la question. Plus d'informations sur les formats de texte dans Moodle. ::Période des Trois Mousquetaires::L'histoire des Trois Mousquetaires se déroule au {~quinzième ~seizième =dix-septième} siècle.[markdown]L'histoire des *Trois Mousquetaires* se déroule au { ~quinzième ~seizième =dix-septième } siècle.
Réponses multiples
L'option réponses multiples est utilisée pour des questions à choix multiples ou deux ou plusieurs réponses doivent être choisies afin d'obtenir tous les points. On active cette option en donnant aux diverses réponses des coefficients, aucune réponse ne donnant le total des points.
Les personnages suivants apparaissent dans les Trois mousquetaires ? { ~L'abbé Faria ~%50%Constance Bonacieux ~%50%L'abbé d'Herblay ~Le capitaine Némo}
On remarque qu'il n'y a aucun signe égal dans aucune réponse. Le total des coefficients ne doit pas excéder 100%, sans quoi une erreur surviendrait dans Moodle. Pour éviter que les étudiants obtiennent 100% en sélectionnant systématiquement toutes les réponses, il est conseillé d'inclure des coefficients négatifs pour les réponses fausses.
Les personnages suivants apparaissent dans les Trois mousquetaires ? { ~%-50%L'abbé Faria ~%50%Constance Bonacieux ~%50%L'abbé d'Herblay ~%-50%Le capitaine Némo}
Caractères spéciaux ~ = # { } :
Ces symboles ~ = # { } : contrôlent le fonctionnement de ce filtre et ne peuvent pas être utilisés comme du texte normal à l'intérieur des questions. Ils sont appelés des caractères de contrôle. Vous aurez parfois besoin d'utiliser l'un de ces caractères, par exemple pour afficher une formule mathématique dans une question. Pour pouvoir contourner ce problème en « échappant » ces caractères de contrôle. Cela signifie simplement placer une barre oblique inverse (\) avant le caractère en question, de sorte que le filtre l'utilisera comme un caractère littéral plutôt que comme un caractère de contrôle. Par exemple :
Quelle opération donne 5 ? { ~ \= 2 + 2 = \= 2 + 3 ~ \= 2 + 4 } ::Caractères de contrôle GIFT:: Lequel des caractères suivants n'est pas un caractère de contrôle pour le format d'importation GIFT ? { ~ \~ # \~ est un caractère de contrôle. ~ \= # \= est un caractère de contrôle. ~ \# # \# est un caractère de contrôle. ~ \{ # \{ est un caractère de contrôle. ~ \} # \} est un caractère de contrôle. = \ # Correct ! la barre oblique inverse \ n'est pas un caractère de contrôle. Mais elle est utilisée pour "échapper" les caractères de contrôle. }
Lorsque la question est importée, la barre oblique inverse est retirée, et n'est pas enregistrée dans Moodle.
Indiquer des catégories
Il est possible de modifier la catégorie dans laquelle les questions seront ajoutées, en l'indiquant dans le fichier d'importation GIFT. Vous pouvez changer cette catégorie autant de fois que vous le voulez à l'intérieur de ce fichier. Toutes les questions après l'indication de catégorie jusqu'à la prochaine indication (ou la fin du fichier) seront ajoutées à la catégorie indiquée. La catégorie spécifiée dans l'interface d'importation sera utilisée jusqu'à la première indication dans le fichier. Pour que ceci fonctionne, il est nécessaire de cocher la case Depuis le fichier : dans l'interface d'importation.
Pour indiquer les catégories dans le fichier, placez-y une ligne comme ci-dessous (avec une ligne vide avant et après).
$CATEGORY: sciences/maths/analyseor simply
$CATEGORY: latinLe premier exemple indique une catégorie située dans une autre, etc. Dans l'exemple ci-dessus, les questions seront placéesdans la catégorie analyse. Les catégories seront créées si elles n'existent pas.
Autres options
Les réponses courtes peuvent être rendues sensibles à la casse des caractères en remplaçant « 0 » par « 1 » dans la ligne suivante :
$question->usecase = 0; // Ignore case