Quiz
Quiz est le composant qui gère principalement toutes les actions principales de tous les types de quiz de l'application, sans être un gestionnaire.
Aperçu
Le composant quiz importe et affiche les données. Selon les données entrer dans la feuille json, quiz se charge d'utiliser le bon type de quiz. Il gère aussi tout ce qui est validation pour tout type de quiz, si validation il y a. Il fait l'appelle du pop-up et transmet l'information du fichier json au pop-up pour l'affichage.
Comportement
Quiz doit absolument être lié avec un fichier json lors de son appelle. Si le fichier json comporte une erreur, le quiz ne fonctionnera pas.
Le json doit avoir les informations suivantes :
id
type
enonce
choix de réponse
solution
rétroaction
valeur de point
le nombre essais
{ "id": "Axx_Pxx_Qxx", "type_question": "", "ennonce": "", "choix_reponse": [], "solution": "", "rétroaction": { "retro_neutre": {} , "retro_positive": {} , "retro_negative": {} }, "valeur_points": null, "max_essai": null }
Peu importe le type de quiz développé, ce sont les informations nécessaires pour créer un quiz.
Le paramètre ennonce doit absolument recevoir une structure html.
Attention
Prenez note que valeur_points et max essais ne sont pas fonctionnels pour l'instant.
Pour la structure des objets attendus dans les types de rétroaction, utilisez les options d'un pop-up. Réfrérez vous la page du pop-up pour plus d'information.
Paramètre
Voici les paramètres généraux à tous les quiz
ID
Type: String
(Axx_Pxx_Qxx)
Usage: Obligatoire.
Définie l'identification unique pour le quiz/ la question. Cet ID est constitué de la référence de l'activité Axx , référence de la page Pxx et un numéro du Quiz Qxx.
TYPE_QUESTION
Type: String
(choix_mult | choix_unique | dropdown | reponse_ouverte | texte_tableau | texte_troue | texte_troue_select)_
Usage: Obligatoire.
Définie le type de question.
ENNONCE
Type: String
Usage: Obligatoire.
Définie l'énoncé textuel de la question.
CONSIGNE_TECHNIQUE
Type: String | Null
Usage: Obligatoire.
Définie la consigne technique à afficher spécifiquement pour la question. Doit être laissé à vide ou être mis à null
si aucune consigne spécifique n'est nécessaire pour la question.
RETROACTION
Type: Object
retro_positive | retro_negative | retro_neutre
- retro_positive:
Object
[pop-up]
| Null
- retro_negative:
Object
[pop-up]
| Null
- retro_neutre:
Object
[pop-up]
Usage: Obligatoire.
Définie la rétroaction à afficher pour la question. Doit /referencesléter une des situations ci-dessous:
Une rétraction particulière est attendue selon le type de réponse de l'utilisateur. Les clés
retro_positive , retro_negative , retro_neutre
doivent être remplies.Aucune rétroaction particulière n'est demandée. Les clés
retro_positive
,retro_negative
peuvent contenir un string vide ou être miseNull
et la cléretro_neutre
doit être remplie pour la rétroaction générale à afficher.
VALEUR_POINTS
Type: Number | Null
Usage: Optionnel.
Définie la valeur de la question en termes de points. Doit être mit à null
si aucune valeur n’est nécessaire pour le quiz.
MAX_ESSAI
Type: Number | Null
Usage: Optionnel.
Définie le nombre d'essai permit pour ce quiz. Doit être mis à null
si aucun aucune condition d'essai maximum n'est nécessaire pour le quiz.
Voici les paramètres spécifique pour les inputs et les types de solutions
Quiz réponse ouverte
Exemple d'un objet quizData de réponse ouverte
CHOIX_REPONSE
Type: Null
Usage: Obligatoire.
Doit être mis à null
si la question ne présente pas un choix de réponse.
SOLUTION
Type: String | Null
Usage: Obligatoire.
Définie la solution pour la question.
Quiz réponse radio et réponse checkbox
Exemple d'un objet quizData de réponse radio
Exemple d'un objet quizData de réponse checkbox
CHOIX_REPONSE
Type: Array{Object} | Null
Usage: Obligatoire.
Définie l'ensemble des choix proposés pour la réponse. Doit être mis à null
si la question ne présente pas un choix de réponse. Le type d'objet contenu de l'array change selon le type de quiz:
- Le type
reponse_simple
pour les quizchoix_unique
||choix_mult
SOLUTION
Type: Number | Array | Null
Usage: Obligatoire.
Définie la solution pour la question. Doit contenir une des valeurs ci-dessous:
- Number ( ID de la solution, dans le cas de la question type choix_unique)
- un Array ( IDs des solutions, dans le cas de la question type choix_mult)
- Null dans le cas où aucune solution n'est attendu/exigé (reponse_ouverte sans validation)
Quiz réponse liste déroulante
Exemple d'un objet quizData de réponse liste déroulante
CHOIX_REPONSE
Type: Array{Object} | Null
Usage: Obligatoire.
Définie l'ensemble des choix proposés pour chaque réponse.
SOLUTION
Type: Array | Null
Usage: Obligatoire.
Définie la solution pour la question.
Quiz texte tableau
Exemple d'un objet quizData de texte tableau
CHOIX_REPONSE
Type: Array{Object}
Usage: Obligatoire.
Définie l'ensemble des rangés du tableau avec chaque rangé ayant une réponse.
SOLUTION
Type: Array{Object} | Null
Usage: Obligatoire.
Définie la solution pour la question.
Quiz texte trou
Exemple d'un objet quizData de texte trou
TEXTE_BASE
Type: String
Usage: Obligatoire.
Définie le texte où les entrées de champs textes seront insérées. L'emplacement des entrés est indiqué dans le texte avec $%KEY%$
.
SOLUTION
Type: Array{Object} | Null
Usage: Obligatoire.
Définie la solution pour la question.
Quiz texte trou à liste déroulante
Exemple d'un objet quizData de texte trou à liste déroulante
CHOIX_REPONSE
Type: Array{Object}
Usage: Obligatoire.
Définie l'ensemble des choix proposés pour chaque réponse.
TEXTE_BASE
Type: String
Usage: Obligatoire.
Définie le texte où les entrées de champs textes seront insérées. L'emplacement des entrés est indiqué dans le texte avec $%KEY%$
.
SOLUTION
Type: Array{Object} | Null
Usage: Obligatoire.
Définie la solution pour la question.
Style
Lorsque vous sélectionnez une réponse, la classe select est ajoutée à l'élément sélectionné. Lors de la validation des éléments, toutes les bonnes réponses ont la classe good et toute les mauvaises réponses on la classes bad. Un jeu de classes est utilisé dans la feuille sass de chaque type de input pour identifier les bonnes réponses, les mauvaises réponses, les mauvaises réponse sélectionnées et les bonnes réponses sélectionnées.
Aucune classe supplémentaire ne peut être ajoutée au élément du quiz. Vous ne pouvez jouer qu'avec le conteneur parent du quiz pour ajouter des classes ou id. Par défaut, le quiz et ses éléments ont l'id que vous définissez dans la feuille json.
Accessibilité
Pour l'instant aucune action n'a été fait pour l'accessibilité.