Item QCM
Il existe trois types d'items de QCM, qui ont un déroulement proche mais pas équivalent. Chacun a un rôle différent dans le test et utilise certains attributs.
Attributs
-
id
: identifiant unique -
type
:(tuto|training|test)
-
pret
:Asset Mixte
→ le son à déclencher pour dire à l'utisateur de toucher une image quand il est prêt, ainsi que l'image à afficher.
Cette image sera affichée au centre de l'écran en gros et disparait dès qu'elle est touchée
Si cet attribut estNull
, cette étape est ignorée -
consigne
:Son
→ le son à déclencher dès que l'utilisateur est prêt
Si cet attribut estNull
, cette étape est ignorée - reveil : Son -> le son se déclenche au bout de 8 secondes d'inactivité de l'utilisateur quand c'est à son tour de jouer. Si cet attribut est Null, il ne se lance pas.
-
fond
:Asset Image
→ l'image à afficher dans la zone de question.
Si l'image est plus petite que la zone de question (1920×850
), l'image est centrée dans cette zone. (optionnel) on agrandit l'image (par des facteurs entiers ?) jusqu'à obtenir l'image la plus grande possible pour la zone de question -
liste_choix
: tableau de Choix → toutes les propositions possibles parmi lesquelles choisir -
randomiser
:Boolean
→True
: les choix sont affichés dans un ordre aléatoire tiré au moment de l'affichage
Par défaut :False
-
enumerer
:Boolean
→True
: il faut lire les choix possibles à l'utilisateur après la consigne
Par défaut :False
-
surligner
:Boolean
→True
: quand on lit les choix possibles, on surligne l'élément correspondant
Par défaut :True
(n'a pas de sens sienumerer
estFalse
) -
separateurChoix
:Sound
→ un son à jouer lors de l'énumération entre l'avant-dernier et le dernier choix -
explication
:Sound
→ un son d'explication de la réponse à l'item -
surlignerExplication
:Float
→ au bout de combien de secondes d'explication on surligne la bonne réponse
Par défaut :0
Null
→ pas de surlignage -
miseEnAction
:Sound
→ un son déclenchant la phase de mise en action
Par défaut : `Null`` -
transition
:Sound
→ un son déclenché juste avant de passer à l'item suivant
Par défaut :Null
-
description
:String
→ un texte de description de l'item à l'usage des chercheurs
Déroulement selon le type d'Item
Les attributs nécessaires et le déroulement dépendent du type d'item. Ci-dessous, on fait la description la plus complète et pour chaque étape, on indique quels sont les types d'items concernés
-
tuto, training, test
Création de l'affichage- Dimensionnement et affichage du fond
- Si
randomiser
, calcul de l'ordre d'affichage des choix - Dimensionnement et affichage de chacun des choix dans la zone correspondante
-
tuto, training, test
Prêt
sipret
n'est pasNull
afficher l'image, lire le son correspondants et attendre que le sujet touche l'image -
tuto, training, test
Consigne
lecture de laconsigne
si nonNull
-
tuto, training, test
Liste choix
sienumerer
(et si lesChoix
ont un son associé) on lit les sons de chaquechoix
avec une pause d'une demi seconde (à pouvoir faire varier) entre chaque son- si
surligner
on met en surbrillance l'image du choix au moment où il est lu - si
separateurChoix
n'est pasNull
entre l'avant dernier choix et le dernier on lit le sonseparateurChoix
- si
-
tuto
Explication- On lit le son
explication
(s'il n'est pasNull
) en lançant un chronomètre lors de son lancement - Si
surlignerExplication
n'est pas nul, quand le chronomètre atteintsurlignerExplication
on surligne la bonne réponse à l'item
- On lit le son
-
tuto
Mise en action
On litmiseEnAction
s'il n'est pasNull
-
tuto, training, test
Action utilisateur
L'utilisateur choisit l'un des choix possibles -
tuto, training
Feedback
On déclenche le sonfeedback
du choix sélectionné -
tuto, training, test
Stockage de la réponse
Pour chaque utilisateur, un objet json désigne chaque item. -
test
Mise à jour score
+1
si le choix est la bonne réponse -
training
Explication
cf. étape 4 -
tuto, training, test
Transition
On littransition
s'il n'est pasNull
JSON
Chaque épreuve a un objet JSON associé, dont la forme peut être légèrement différente selon le type
Tutoriel
{
"id":"tutoRime",
"type":"tuto",
"consigne":"tutoRimeCons",
"enumerer":true,
"surligner":true,
"choix":[
{
"id":"tutoRimeApe",
"image":"food1",
"son":"ape",
"correct":false,
"feedback":"err"
},
{
"id":"tutoRimeIca",
"image":"food2",
"son":"ica",
"correct":false,
"feedback":"err"
},
{
"id":"tutoRimeSelo",
"image":"food3",
"son":"selo",
"correct":true,
"feedback":"fb+selo"
}
],
"explication":"bimo+selo",
"surlignerExplication":1.2,
"miseEnAction":"action selo"
}
Entrainement
{
"id":"trainRime2",
"type":"training",
"pret":"ready",
"consigne":"Stani_cons",
"enumerer":true,
"surligner":true,
"randomiser":true,
"choix":[
{
"id":"trainRimeDino",
"image":"food1",
"son":"Dino",
"correct":false,
"feedback":"Stani_dino"
},
{
"id":"trainRimeLebai",
"image":"food2",
"son":"Lebaï",
"correct":false,
"feedback":"Stani_lebaï"
},
{
"id":"trainRimeTeiki",
"image":"food3",
"son":"Teiki",
"correct":true,
"feedback":"Stani_teiki"
}
],
"transition":"2test"
}
Test
{
"id":"rimeFRF3",
"type":"test",
"pret":"ready",
"consigne":"rime FFRmstr03",
"enumerer":true,
"surligner":true,
"randomiser":true,
"choix":[
{
"id":"crali1",
"image":"food1",
"son":"rime FFRchx07",
"correct":true
},
{
"id":"crali2",
"image":"food2",
"son":"rime FFRchx08",
"correct":false
},
{
"id":"crali3",
"image":"food3",
"son":"rime FFRchx09",
"correct":false
}
]
}