Utiliser des jeux de données dans Moodle
Le principe
Cette fonctionnalité permet d'afficher du contenu différent – que cela soit dans des questions d'une activité Test ou dans d'autres activités Moodle – à différents utilisateurs.
Ceci permet par exemple de créer des tests où chaque étudiant voit une version légèrement différente des questions. Cela évite de devoir créer manuellement plusieurs variantes de la même question.
Chaque jeu de données est associé aux étudiant·e·s, en fonction de leur appartenance à un groupe dans le cours Moodle. On peut ainsi par exemple facilement créer un grand nombre de questions différentes et afficher une version différente de chaque question à chaque utilisateur, sans avoir à effectuer tout le travail manuellement.
Cette nouvelle fonctionnalité de Moodle a été développée par le Centre de Soutien à l'Enseignement à l'Université de Lausanne suite à une demande émanant d'enseignant·e·s. Elle est désormais disponible à l'ensemble de la communauté, et a de même été rendue publique : ainsi, tous les utilisateurs de Moodle – à l'UNIL ou ailleurs – peuvent ajouter cette fonctionnalité à leur plateforme et en bénéficier.
Sans cette fonctionnalité, il faudrait créer une question par utilisateur·rice avec à chaque fois un changement mineur (ce qui, dépendant le nombre d’étudiant·e·s et la longueur du Test, peut représenter plusieurs milliers de questions à créer), alors qu'il suffit ici de créer le nombre de questions que comporte le Test (par exemple 10) et, pour chaque utilisateur·rice, la question s’affichera avec un contenu légèrement différent selon la personne qui la visionne. Ceci permet de simplifier la création des activités Test, et d'utiliser un système permettant de définir, pour chaque question, une version différente. Pour ce faire, des jeux de données ont été créés, à raison d'un par étudiant·e.
Exemple :
Jeu de données 1 :
- question : quelle est la capitale de la Suisse ?
- réponse 1 : Berne
- réponse 2 : Zurich
Jeu de données 2 :
- question : quelle est la capitale de l'Allemagne ?
- réponse 1 : Berlin
- réponse 2 : Bonn
Nous observons dans l'exemple ci-dessus que ces deux questions sont de la même forme. Nous pourrions donc les créer dans des jeux de données distincts, puis demander au Test Moodle d'afficher la question correspondant à l'utilisateur concerné. Plutôt que de créer 100 questions presque identique pour 100 étudiant·e·s différents, il suffit alors de créer une question et d'indiquer à Moodle quelle version de la question afficher à chacun·e.
Création des jeux de données
Créez une activité de type "Base de données" dans un cours et rendez-la inaccessible aux étudiants. Il n'est pas nécessaire qu'elle soit indisponible, mais cela permet d'éviter la falsification ou l'accès non désiré aux données. Le nom de l'activité de base de données ne peut contenir que des lettres non accentuées majuscules ou minuscules, des chiffres, et les caractères "-" et "_"., comme par exemple "jeux_de_donnees".
Il est ensuite nécessaire de créer les champs en cliquant sur l'onglet "Champs", puis en créant des champs de type "Texte court" comme sur l'image ci-dessous :
- Un champ de texte court du nom de "datasetname" – ceci permettra (voir plus bas) d'identifier le jeu de données ;
- Un champ de texte court du nom de "itemname" - ceci permettra (voir plus bas) d'identifier un élément, qui se retrouvera dans tous les jeux de données – dans notre exemple ci-dessus ceci sera le nom de la question qu'il faut appeler.
- Autant de champs de type texte court que nécessaire – ceux-ci sont les propriétés de l'élément dans le jeu de données ; ces champs doivent être nommés selon la même règle que le nom de la base de données : chiffres, lettres, "-" ou "_" – dans l'exemple ci-dessus nous aurions par exemple "texte_question", "reponse1" et "reponse2" ;
- Il faut créer autant de ces textes courts qu'il y a aura de questions et de réponses possibles pour chacune d'entre elles comme suit :
- "texte_question" pour pouvoir ensuite référencer la question
- "reponse1" pour la première réponse possible, "reponse2" pour la deuxième réponse possible, etc.
- Il faut créer autant de ces textes courts qu'il y a aura de questions et de réponses possibles pour chacune d'entre elles comme suit :
Option 1 : ajouter manuellement des données
Créez ensuite dans la Base de données autant de fiches que nécessaire. Ces fiches permettent de paramétrer quelles questions et réponses possibles seront affichées à l'élève en fonction de la base de données qui lui ai associée. Pour reprendre l'exemple ci-dessus, il faudrait créer 2 fiches :
-
- fiche 1 :
- datasetname : A
- itemname : question1
- texte_question : quelle est la capitale de la Suisse ?
- reponse1 : Berne
- reponse2 : Zurich
- fiche 2 :
- datasetname : B
- itemname : question1
- texte_question : quelle est la capitale de l'Allemagne ?
- reponse1 : Berlin
- reponse2 : Bonn
- fiche 1 :
Option 2 : ajouter des données à partir d'une feuille Excel
Les jeux de données peuvent être crées dans un logiciel tiers (par exemple dans un tableur Excel), il suffit alors d'utiliser la fonction "Importer des fiches" pour importer le fichier CSV. Pour ce faire, le fichier doit être formulé comme suit, avec le nom des champs dans la première ligne, puis une ligne par fiche :
datasetname | itemname | texte_question | reponse1 | reponse2 |
A | question1 | quelle est la capitale de la Suisse ? | Berne | Zurich |
B | question1 | quelle est la capitale de l'Allemagne ? | Berlin | Bonn |
[ ... etc ... ] |
Il est recommandé de construire la base de données comme suit : les premières lignes avec toutes les variantes de la question 1 pour tous les différents datasets (jeux de données), ensuite la même chose pour toutes les variantes de la question 2, etc.
Il est très important de respecter le nom des éléments affichés en gras, ces noms sont reliés aux paramètrages de la base de données et ne pas respecter leur syntaxe peut amener au non-fonctionnement de l'activité. Pour créer plusieurs questions, il est donc possible de les nommer "question1", "question2", "question3"... et pour les différentes réponses "reponse1", reponse2", "reponse3"...
Dans le cas où les différentes réponses sont des chiffres, le CSE peut générer automatiquement des réponses fausses qui semblent probables afin d'éviter de perdre du temps à imaginer à la main un grand nombre de mauvaises réponses.
Associer les étudiant·e·s aux jeux de données
Lorsque la base de données est prête à être utilisée, vous pouvez créer des groupes afin d'associer les différents jeux de données aux différents utilisateur·rice·s de la page Moodle. Pour cela, rendez vous dans l'onglet "Participants" puis cliquez sur "Utilisateurs inscrits" et enfin sur "Groupes" :
Ces groupes doivent être nommés "dataset_<nom du jeu de données>", donc dans notre exemple "dataset_A" et "dataset_B". La prochaine étape consiste ensuite à ajouter les étudiant·e·s aux différents groupes afin de les relier à un jeu de données.
Créer les questions pour le testdynamiques
La dernière étape consiste à ajouter des questions sous le bon format pour qu'elles récupèrent automatiquement les données de la base de données. Pour ce faire, il est soi possible de commencer par créer des questions dans la banque de questions de la page Moodle puis de les ajouter à un test :
Ou alors, il est aussi possible de d'abord ajouter une activité "Test" puis d'ajouter les questions au fur à mesure.
Dans les deux cas, les seuls types de questions qui pourront être créées devront être de type "Choix multiple" et respecter la syntaxe suivante :
- Texte de la question : {{jeux_de_donnees:question1:texte_question}}
- Réponse 1 : {{jeux_de_donnees:question1:reponse1}}
- Réponse 2: {{jeux_de_donnees:question1:reponse2}}
Résultat
En ne créant qu'une seule question, un utilisateur faisant partie de groupe "dataset_A" voit la question portant sur la Suisse et un utilisateur faisant partie du groupe "dataset_B" voit la question portant sur l'Allemagne.
Le CSE peut vous accompagner lors de la mise en place de jeux de données dans votre enseignement. Pour toute information supplémentaire, veuillez prendre contact avec l'équipe de support du CSE à l'adresse cse@unil.ch.