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

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 mise Null 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 quiz choix_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é.

Last Updated: 8/25/2022, 6:50:35 PM
Contributors: lbocquet, coliveiraHome, Huberson Tape, coliveira, ehoulejohnson, huberson tape