Librairie Quiz - Analyse

Un article de ScriptdigitalWiki.

Jump to: navigation, search

Analyse d'une librairie de quiz pour la préparation aux tests GED - Moteur de quiz


Sommaire

Mandat

Le mandat principal de cette analyse est de proposer l'architecture d'une librairie de quiz pour la préparation aux tests GED. Le mandat sous-jacent est d'analyser les types de quiz proposés actuellement par la SOFAD, ainsi que ceux des GED, et de concevoir une librairie tenant compte de ces formats de quiz (majoritairement QCM - Question Choix Multiples) pour permettre une réutilisation de cette librairie dans un contexte autre que les GED. L'orientation technique du mandat étant d'essayer de reprendre des spécifications existantes (notamment QTI IMS- IMS Question & Test Interoperability Specification), et d'utiliser des outils Open Source comme le XML, PHP5 et XSLT.

Description des types de quiz

GED

Le comportement attendu de la librairie Quiz en développement devra être conforme aux spécifications élaborées dans le document Design pédagogique.

  • Les GED comportent un pré test et un post test.
  • Pré test et post test ont un format QCM.
  • Pas de passage obligatoire du pré test au post test.
  • Pré test
    • Une balise propose le pré test dans les leçons pour que l'utilisateur puisse tester les connaissances liées à cette leçon.
    • Le pré test ne peux pas être repris s'il est complété.
    • Le pré-test peut être suspendu s'il n'est pas complété.
    • Le pré test ne se sert pas d'un score mais indique si une leçon doit être reprise ou non.
    • Le pré test n'a pas de limite de temps.
  • Post test
    • Le post test est proposé à la fin d'un cheminement préparatoire pour tester les objectifs de compétence de ce cheminement.
    • Le post test possède un score.
    • Le post test peut être repris s'il est complété.
    • Le post test ne peut pas être suspendu s'il est incomplet.
    • Le score est conservé pour les deux dernières itérations du post test.
    • Le post test possède une durée suggérée.
    • Le post test possède une feuille de réponse qui devra simuler la feuille de réponse en damier GED.

Sciences humaines et biologies

  • Il y a deux type de format de quiz.
    • QCM
    • Question principale divisée en question subsidiaire dont les réponses sont au format QCM
  • Le passage d'un quiz à l'autre est lié à la réussite d'autres quiz.
  • Une balise propose à l'utilisateur le quiz à l'intérieur d'un module.
  • Le quiz peut être repris.
  • Si le quiz est échoué, le quiz doit être repris si l'utilisateur veut accéder aux autres modules (qui contiennent en général des quiz).
  • Il n'y a pas de score, le quiz est réussi ou pas.
  • Il n'y a pas de limite de temps pour faire le quiz.

Tests de classement en mathématique

  • Le format du test est QCM.
  • Une balise propose les tests.
  • Le test peut être interrompu et repris.
  • Selon le résultat du premier test, d'autres tests peuvent être proposés.
  • Un test réussi ne peut pas être repris à moins d'accéder à nouveau à la page de démarrage du test.
  • Pas de score affiché.

Analyse

Les trois environnements étudiés (GED, quiz, tests de classement) s'articulent autour d'axes principaux.

  • Format du test
    • QCM
    • Multi QCM
  • Continuité du test
    • Interrompre
    • Reprendre
      • Échec
      • Réussite
  • Passation
    • Passage selon des critères à un autre test, module ou section d'un cours/leçon
    • Navigation
  • Score
    • Affichage
    • Persistance
    • Type
      • Bolléen (réussi/échec)
      • Numérique (80)

Il clair que malgré les différences apparentes entre les trois environnements de test (GED, quiz, tests de classement), les ressemblances l'emportent, ce qui permet de penser qu'un prototype de librairie de quiz conçu pour les GED pourra servir aussi en sciences humaines, biologie et mathématique.

Au coeur de la librairie Quiz sera le fichier XML décrivant l'environnement du quiz et contenant le modus operandi du test. Ce fichier XML devrait donc couvrir les axes principaux listés plus haut. Ce fichier s'inspirera d'un profil XML basé sur les spécifications IMS QTI et le concept de Content Packaging (voir aussi la norme SCORM2004, "Sharable Content Object Reference Model (SCORM®) 2004"). Le document Librairie Quiz donne un exemple de description XML d'un test, et un exemple de description XML des questions inspirés par les normes citées plus haut.

Plus concrètement, un test pourrait ressembler à ceci:

  • Un fichier XML de description du test (IMS:assessmentTest) qui pointe vers:
  • plusieurs fichiers XML constituant les questions/réponses (IMS:assessmentItem)
  • Des fichiers XSL pour convertir le XML en XHTML

Un quiz dans ce format sera joué par la librairie Quiz. Essentiellement, la librairie Quiz servira à aiguiller le XSLT, et à accueillir à chaque étape, les données engendrées par l'interaction avec l'utilisateur.

  • Afficher le quiz
  • Assurer la continuité du quiz
  • Assurer la navigation/passation
  • Assurer la persistance du score

La librairie Quiz utilisera comme environnement de programmation PHP5 (extension SimpleXML, extension XSLT, extension DOM). Idéalement, il devrait y avoir une configuration minimale pour la librairie Quiz, celui-ci se servant des données contenues dans les fichiers XML pour donner les quiz. En se basant essentiellement sur le XML et le XSLT pour donner les instructions d'affichages, de navigation et l'ensemble des autres opérations sous-jacentes aux quiz, en s'inspirant de normes reconnues, on augmente ainsi l'interopérabilité avec d'autre LMS (Learning Management System).

PHP5 est particulièrement bien équipé pour traiter le XML. L'extension SimpleXML peut servir à introspecter l'assessmentTest.xml (l'environnement et le modus operandi du quiz) pour ensuite afficher les assessmentItem.xml (questions/réponses) après les avoir transformés avec l'extension XSLT. La simplicité qu'offre SimpleXML en convertissant le XML dans des types natifs de PHP, est alliée à la possibilité d'utiliser xpath contre l'arbre construit par SimpleXML.

assessmentTest.xml et Content Packaging

Au coeur du moteur de quiz sera donc le fichier XML de description du quiz nommé assessmentTest.xml et inspiré par la norme IMS QTI. Le fichier de description comportera des instructions sur la continuité, la navigation, la passation et le score. En outre, le fichier de description comportera des références aux questions/réponses, c.-a.-d. des références aux fichiers assessmentItem.xml. Les fichiers des questions assessmentItem.xml comporteront eux-mêmes des références aux ressources contenues dans le quiz. L'image suivante représente ce à quoi pourrait ressembler un quiz pour les GED. Tandis que l'image qui suit celle-ci est une autre représentation d'un quiz au format Content Packaging.

Un quiz dans le site GED

image: repertoires-cp.jpg


Quiz au format Content Packaging image:test-contentpackaging.jpg

Processus de production (workflow)

Voici découpé en trois grandes étapes (requête, affichage, rétroaction) le processus de traitement d'un quiz. Il s'agit d'une illustration schématisée qui montre les différents contrôleurs/librairies qui seraient mis à contribution dans ce processus. On remarquera qu'assessmentTest.php est ici un "front controller". C'est à travers l'instance propre à un quiz d'assessmentTest.php que les requêtes http seront effectuées et que les différentes interfaces du quiz seront affichées.

1 - Requête

Le quiz est lancé quand on accède au fichier assessmentTest.php d'un quiz particulier. Par exemple à

http://example.org/www/sites/GED/tests/ged-test_01/assessmentTest.php

Le fichier assessmentTest.php lance le contrôleur aiguilleur.inc qui se sert alors d'introspection.inc pour saisir l'identifiant du quiz, et vérifier qu'une session de quiz ne porte pas ce nom. Si une nouvelle session est nécessaire, aiguilleur.inc relance introspection.inc pour créer une structure de donnée à partir d'assessmentTest.xml est des fichiers assessmentItem.xml. aiguilleur.inc créé ensuite une session pour ce quiz avec cette structure de donnée. Ensuite, aiguilleur.inc lance affichage.inc pour montrer la section du quiz qui correspond au statut de continuité du quiz (nouveau/repris).

image:aiguilleur-lancement.jpg

2 - Affichage

Quand aiguilleur.inc lance affichage.inc, il passe en paramètre l'identifiant du quiz, ce qui permet à navigation.inc de vérifier grâce à la librairie Stockage, l'état du quiz. Avec ces données (état du quiz, identifiant du quiz), affichage.inc peut choisir des gabarits XSLT spécifiques à la situation à traiter. Le résultat de cette opération sera ensuite envoyé par affiche.inc au fureteur de l'utilisateur.

image:aiguilleur-affichage-test.jpg

3 - Rétroaction

Quand l'utilisateur enregistre ses réponses, aiguilleur.inc charge la librairie Stockage de conserver ces réponses. Ensuite, aiguilleur.inc lance navigation.inc pour donner les paramètres de la "vue" à affichage.inc qui utilisera les gabarits xslt indiqués. Le parcours est à peu près le même dans le cas de la correction, sauf qu'ici, aiguilleur.inc lance score.inc et passation.inc, tandis qu'il aura recours à Stockage pour conserver le score.

image:aiguilleur-retroaction.jpg

API ServicesQuiz

Tel que proposé, seul PHP5 pourra interfacer avec les librairies formant la librairie Quiz.

PHP5->Moteur de Quiz

Il serait intéressant ultérieurement de créer une interface REST au moteur de Quiz.

REST->PHP5->Moteur de quiz.

Cela abstrairait la librairie Quiz et permettrait une plus grande interopérabilité. Aussi, il serait aussi possible de plus facilement s'interfacer avec d'autres normes liées aux quiz comme les API Javascript de SCORM2004.

API Javascript SCORM2004->REST->PHP5->Moteur de quiz



Références

Spécifications