Passer au contenu principal

Utiliser des jeux de données pour personnaliser l'affichage de texte 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.

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

Afin d'obtenir le résultat ci-dessus, 3 étapes principales sont nécessaires, décrites ci-dessous :

  • Création des jeux de données
  • Création du quiz et des questions
  • Activation du filtre

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 :Capture d’écran 2025-02-28 à 15.15.20.png

Il est nécessaire de créer un certain nombre de champs :

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

Pour l'exemple précédent, les champs suivants ont été créés :

image.png

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 est associée. Pour créer une nouvelle fiche, il faut aller dans l'onglet "Bases de données" et cliquer sur "Ajouter une fiche".

image.png

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

Les images ci-dessous représentent la façon dont les fiches doivent être remplies :

image.pngimage.png

Option 2 : ajouter des données à partir d'une feuille Excel

Lorsque les jeux de données contiennent davantage de questions et de réponses que dans l'exemple précédent, il est vivement conseillé de procéder comme suit.

Les jeux de données peuvent être créés dans un logiciel tiers (par exemple dans un tableur Excel). Dans ce cas, il est recommandé de construire la base de données comme suit, avec le nom des champs dans la première ligne, puis une ligne par fiche : 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.

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



Remarque : 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"...

Une fois le fichier (par exemple Excel) est terminé, il est important d'en enregistrer une copie au format .CSV et de connaitre le séparateur (";" / "," / etc). Il suffit ensuite d'utiliser la fonction "Importer des fiches" pour importer le fichier CSV, en choisissant le bon séparateur.

image.png

Dans le cas où les différentes réponses sont numériques, Moodle 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" : 

Capture d’écran 2025-03-04 à 08.54.12.png

Il est possible de créer les groupes de différentes manières :

  • Manuellement : ces groupes doivent être nommés "dataset_<nom du jeu de données>" (voir image ci-), donc dans notre exemple "dataset_A" et "dataset_B" ajouter les étudiant·e·s aux différents groupes afin de les relier à un jeu de données.
  • Automatiquement : au bas de la page de gestion des groupes, sélectionnez créer des groupes automatiquement. Ensuite, il faut bien faire attention à deux paramètres : 
    • Schéma de dénomination - remplir le champ avec : dataset_@
    • Nombre de groupes - celui-ci dépendra du nombre de dataset que vous avez programmé, dans le cadre de l'exemple : 2 (A ; B)
  • Par une activité "choix de groupe" : après avoir créer des groupes de manière manuelle, il est possible de créer une activité "choix de groupe" afin que les étudiants puissent dans lequel ils souhaitent s'inscrire.

Une vidéo explicative de ces 3 méthodes se trouve au lien suivant : https://youtu.be/XNPiGzykFKE?si=Dhtn9R0imxnAZ6PW.

Créer les questions dynamiques

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 soit possible de commencer par créer des questions dans la banque de questions de la page Moodle puis de les ajouter à un test :

Capture d’écran 2025-03-04 à 09.30.17.png

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 : 

  • Nom de la question : {{jeux_de_donnees:question1}}
  • 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}}

De plus, il faut que les bonnes réponses soient au même emplacement pour tous les dataset afin de pouvoir paramétrer correctement la question dans le test. Par exemple, si la bonne réponse c'est la reponse2 dans le dataset A alors, il faut que la bonne réponse soit aussi la reponse2 dans les autres dataset.

Ci-dessous se trouve un autre exemple que le premier vu. Les réponses correctes se situent toutes sous la colonne E, ce qui permet de faire les bons paramétrages lors de la préparation de la question.

image.png

Résultat

Après la création de l'activité test et l'ajout des questions voulues au test, il est encore nécessaire d'activer un filtre permettant la liaison entre la base de données et l'activité test. Pour ce faire, vous pouvez vous rendre dans l'onglet "Plus" puis dans "Filtres".

Capture d’écran 2025-03-04 à 14.00.14.png

Puis, vous pouvez descendre jusqu'à voir le filtre "Jeux de données" et l'activé grâce au bouton blanc à droite.

Capture d’écran 2025-03-04 à 14.16.57.png

Ainsi, en ne créant qu'une seule question, un utilisateur faisant partie du 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 : 

Capture d’écran 2025-03-04 à 14.06.07.pngCapture d’écran 2025-03-04 à 14.10.45.png

Remarque : pour l'administrateur.trice, lors de la prévisualisation du test, il est normal que le test ressemble à ça :

image.png


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.