fcad-core-dragon 2.1.1 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +7 -7
- package/.gitlab-ci.yml +124 -0
- package/.prettierrc +11 -11
- package/.vscode/extensions.json +8 -8
- package/.vscode/settings.json +46 -16
- package/CHANGELOG +520 -520
- package/README.md +57 -57
- package/documentation/.vitepress/config.js +114 -114
- package/documentation/api-examples.md +49 -49
- package/documentation/composants/app-base-button.md +58 -58
- package/documentation/composants/app-base-error-display.md +59 -59
- package/documentation/composants/app-base-popover.md +68 -68
- package/documentation/composants/app-comp-audio.md +75 -75
- package/documentation/composants/app-comp-branch-buttons.md +111 -111
- package/documentation/composants/app-comp-button-progress.md +53 -53
- package/documentation/composants/app-comp-carousel.md +53 -53
- package/documentation/composants/app-comp-container.md +53 -53
- package/documentation/composants/app-comp-input-checkbox-next.md +42 -42
- package/documentation/composants/app-comp-input-dropdown-next.md +34 -34
- package/documentation/composants/app-comp-input-radio-next.md +39 -39
- package/documentation/composants/app-comp-input-text-next.md +35 -35
- package/documentation/composants/app-comp-input-text-table-next.md +34 -34
- package/documentation/composants/app-comp-input-text-to-fill-dropdown-next.md +53 -53
- package/documentation/composants/app-comp-input-text-to-fill-next.md +31 -31
- package/documentation/composants/app-comp-jauge.md +31 -31
- package/documentation/composants/app-comp-menu-item.md +55 -55
- package/documentation/composants/app-comp-menu.md +29 -29
- package/documentation/composants/app-comp-navigation.md +41 -41
- package/documentation/composants/app-comp-note-call.md +53 -53
- package/documentation/composants/app-comp-note-credit.md +53 -53
- package/documentation/composants/app-comp-play-bar-next.md +53 -53
- package/documentation/composants/app-comp-pop-up-next.md +93 -93
- package/documentation/composants/app-comp-quiz-next.md +235 -235
- package/documentation/composants/app-comp-quiz-recall.md +53 -53
- package/documentation/composants/app-comp-svg-next.md +53 -53
- package/documentation/composants/app-comp-table-of-content.md +50 -50
- package/documentation/composants/app-comp-video-player.md +82 -82
- package/documentation/composants.md +46 -46
- package/documentation/composants_critiques/ModelPageComposant.md +53 -53
- package/documentation/composants_critiques/app-base-module.md +43 -43
- package/documentation/composants_critiques/app-base-page.md +48 -48
- package/documentation/composants_critiques/app-base.md +311 -311
- package/documentation/composants_critiques/main.md +15 -15
- package/documentation/demarrage.md +50 -50
- package/documentation/deploiement.md +57 -57
- package/documentation/index.md +33 -33
- package/documentation/markdown-examples.md +85 -85
- package/documentation/public/vite.svg +14 -14
- package/documentation/public/vuejs.svg +1 -1
- package/documentation/public/vuetify.svg +5 -5
- package/eslint.config.js +60 -60
- package/junit-report.xml +182 -0
- package/package.json +66 -59
- package/playwright/index.html +12 -0
- package/playwright/index.js +21 -0
- package/playwright-ct.config.js +95 -0
- package/src/$locales/en.json +157 -157
- package/src/$locales/fr.json +120 -120
- package/src/assets/data/onboardingMessages.json +47 -47
- package/src/components/AppBase.vue +1171 -1169
- package/src/components/AppBaseButton.vue +90 -95
- package/src/components/AppBaseErrorDisplay.vue +438 -438
- package/src/components/AppBaseFlipCard.vue +84 -84
- package/src/components/AppBaseModule.vue +1639 -1634
- package/src/components/AppBasePage.vue +867 -866
- package/src/components/AppBasePopover.vue +41 -41
- package/src/components/AppBaseSkeleton.vue +66 -66
- package/src/components/AppCompAudio.vue +261 -256
- package/src/components/AppCompBranchButtons.vue +508 -508
- package/src/components/AppCompButtonProgress.vue +137 -132
- package/src/components/AppCompCarousel.vue +342 -336
- package/src/components/AppCompContainer.vue +29 -29
- package/src/components/AppCompInputCheckBoxNx.vue +325 -323
- package/src/components/AppCompInputDropdownNx.vue +302 -299
- package/src/components/AppCompInputRadioNx.vue +287 -284
- package/src/components/AppCompInputTextNx.vue +156 -153
- package/src/components/AppCompInputTextTableNx.vue +205 -202
- package/src/components/AppCompInputTextToFillDropdownNx.vue +343 -340
- package/src/components/AppCompInputTextToFillNx.vue +316 -313
- package/src/components/AppCompJauge.vue +81 -81
- package/src/components/AppCompMenu.vue +6 -1
- package/src/components/AppCompMenuItem.vue +246 -240
- package/src/components/AppCompNavigation.vue +977 -972
- package/src/components/AppCompNoteCall.vue +167 -161
- package/src/components/AppCompNoteCredit.vue +496 -491
- package/src/components/AppCompPlayBarNext.vue +2290 -2288
- package/src/components/AppCompPopUpNext.vue +508 -504
- package/src/components/AppCompQuizNext.vue +515 -510
- package/src/components/AppCompQuizRecall.vue +355 -350
- package/src/components/AppCompSVGNext.vue +346 -346
- package/src/components/AppCompSettingsMenu.vue +177 -172
- package/src/components/AppCompTableOfContent.vue +433 -427
- package/src/components/AppCompVideoPlayer.vue +377 -377
- package/src/components/AppCompViewDisplay.vue +6 -6
- package/src/components/BaseModule.vue +55 -55
- package/src/composables/useIdleDetector.js +56 -56
- package/src/composables/useQuiz.js +89 -89
- package/src/composables/useTimer.js +172 -172
- package/src/directives/nvdaFix.js +53 -53
- package/src/externalComps/ModuleView.vue +22 -22
- package/src/externalComps/SummaryView.vue +91 -91
- package/src/main.js +493 -476
- package/src/module/stores/appStore.js +960 -947
- package/src/module/xapi/ADL.js +520 -520
- package/src/module/xapi/Crypto/Hasher.js +241 -241
- package/src/module/xapi/Crypto/WordArray.js +278 -278
- package/src/module/xapi/Crypto/algorithms/BufferedBlockAlgorithm.js +103 -103
- package/src/module/xapi/Crypto/algorithms/C_algo.js +315 -315
- package/src/module/xapi/Crypto/algorithms/HMAC.js +9 -9
- package/src/module/xapi/Crypto/algorithms/SHA1.js +9 -9
- package/src/module/xapi/Crypto/encoders/Base.js +105 -105
- package/src/module/xapi/Crypto/encoders/Base64.js +99 -99
- package/src/module/xapi/Crypto/encoders/Hex.js +61 -61
- package/src/module/xapi/Crypto/encoders/Latin1.js +61 -61
- package/src/module/xapi/Crypto/encoders/Utf8.js +45 -45
- package/src/module/xapi/Crypto/index.js +53 -53
- package/src/module/xapi/Statement/activity.js +47 -47
- package/src/module/xapi/Statement/agent.js +55 -55
- package/src/module/xapi/Statement/group.js +26 -26
- package/src/module/xapi/Statement/index.js +259 -259
- package/src/module/xapi/Statement/statement.js +253 -253
- package/src/module/xapi/Statement/statementRef.js +23 -23
- package/src/module/xapi/Statement/substatement.js +22 -22
- package/src/module/xapi/Statement/verb.js +36 -36
- package/src/module/xapi/activitytypes.js +17 -17
- package/src/module/xapi/launch.js +157 -157
- package/src/module/xapi/utils.js +167 -167
- package/src/module/xapi/verbs.js +294 -294
- package/src/module/xapi/wrapper.js +1895 -1895
- package/src/module/xapi/xapiStatement.js +444 -444
- package/src/plugins/analytics.js +34 -34
- package/src/plugins/bus.js +12 -8
- package/src/plugins/gsap.js +17 -17
- package/src/plugins/helper.js +355 -358
- package/src/plugins/i18n.js +27 -26
- package/src/plugins/idb.js +227 -227
- package/src/plugins/save.js +37 -37
- package/src/plugins/scorm.js +287 -287
- package/src/plugins/xapi.js +11 -11
- package/src/public/index.html +33 -33
- package/src/router/index.js +57 -57
- package/src/router/routes.js +312 -312
- package/src/shared/generalfuncs.js +344 -344
- package/src/shared/validators.js +1018 -1018
- package/tests/component/AppBaseButton.spec.js +53 -0
- package/tests/component/pinia.spec.js +24 -0
- package/{src/components/tests__ → tests/unit}/AppBaseButton.spec.js +53 -53
- package/tests/unit/AppCompInputCheckBoxNx.spec.js +59 -0
- package/tests/unit/AppCompInputDropdownNx.spec.js +51 -0
- package/tests/unit/AppCompInputRadioNx.spec.js +59 -0
- package/tests/unit/AppCompInputTextNx.spec.js +44 -0
- package/tests/unit/AppCompInputTextTableNx.spec.js +77 -0
- package/tests/unit/AppCompInputTextToFillDropdownNx.spec.js +60 -0
- package/tests/unit/AppCompInputTextToFillNx.spec.js +45 -0
- package/tests/unit/AppCompQuizNext.spec.js +114 -0
- package/tests/unit/AppCompVideoPlayer.spec.js +177 -0
- package/{src/components/tests__ → tests/unit}/useTimer.spec.js +91 -91
- package/vitest.config.js +28 -19
- package/vitest.setup.js +28 -0
- package/src/components/AppBaseButton.test.js +0 -21
|
@@ -1,235 +1,235 @@
|
|
|
1
|
-
# Quiz
|
|
2
|
-
|
|
3
|
-
*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.
|
|
4
|
-
|
|
5
|
-
## Aperçu
|
|
6
|
-
|
|
7
|
-
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 affiche la rétroaction en dessous du quiz.
|
|
8
|
-
|
|
9
|
-
## Comportement
|
|
10
|
-
|
|
11
|
-
*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.
|
|
12
|
-
|
|
13
|
-
Le *json* doit avoir les informations suivantes :
|
|
14
|
-
|
|
15
|
-
- id
|
|
16
|
-
- type
|
|
17
|
-
- enonce
|
|
18
|
-
- choix de réponse
|
|
19
|
-
- solution
|
|
20
|
-
- rétroaction
|
|
21
|
-
- valeur de point
|
|
22
|
-
- le nombre essais
|
|
23
|
-
|
|
24
|
-
```json
|
|
25
|
-
{
|
|
26
|
-
"id": "Axx_Pxx_Qxx",
|
|
27
|
-
"type_question": "",
|
|
28
|
-
"ennonce": "",
|
|
29
|
-
"choix_reponse": [],
|
|
30
|
-
"solution": "",
|
|
31
|
-
"rétroaction": {
|
|
32
|
-
"retro_neutre": {} ,
|
|
33
|
-
"retro_positive": {} ,
|
|
34
|
-
"retro_negative": {}
|
|
35
|
-
},
|
|
36
|
-
"valeur_points": null,
|
|
37
|
-
"max_essai": null
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
Peu importe le type de quiz développé, ce sont les informations nécessaires pour créer un quiz.
|
|
42
|
-
|
|
43
|
-
Le paramètre *ennonce* doit absolument recevoir une structure html.
|
|
44
|
-
|
|
45
|
-
::: warning Attention
|
|
46
|
-
Prenez note que *valeur_points* n'est pas fonctionnel pour l'instant.
|
|
47
|
-
:::
|
|
48
|
-
|
|
49
|
-
## Paramètre
|
|
50
|
-
|
|
51
|
-
### Voici les paramètres généraux à tous les quiz
|
|
52
|
-
|
|
53
|
-
#### ID
|
|
54
|
-
|
|
55
|
-
**Type:** `String` _(Axx_Pxx_Qxx)_
|
|
56
|
-
|
|
57
|
-
**Usage:** Obligatoire.
|
|
58
|
-
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**.
|
|
59
|
-
|
|
60
|
-
#### TYPE_QUESTION
|
|
61
|
-
|
|
62
|
-
**Type:** `String` _(choix_mult | choix_unique | dropdown | reponse_ouverte | texte_tableau | texte_troue | texte_troue_select)__
|
|
63
|
-
|
|
64
|
-
**Usage:** Obligatoire.
|
|
65
|
-
Définie le type de question.
|
|
66
|
-
|
|
67
|
-
#### ENNONCE
|
|
68
|
-
|
|
69
|
-
**Type:** `String`
|
|
70
|
-
|
|
71
|
-
**Usage:** Obligatoire.
|
|
72
|
-
Définie l'énoncé textuel de la question.
|
|
73
|
-
|
|
74
|
-
#### RETROACTION
|
|
75
|
-
|
|
76
|
-
**Type:** `Object` retro_positive | retro_negative | retro_neutre
|
|
77
|
-
|
|
78
|
-
**Usage:** Obligatoire.
|
|
79
|
-
Définie la rétroaction à afficher pour la question. Doit /referencesléter une des situations ci-dessous:
|
|
80
|
-
|
|
81
|
-
- 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.
|
|
82
|
-
|
|
83
|
-
- 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.
|
|
84
|
-
|
|
85
|
-
#### VALEUR_POINTS
|
|
86
|
-
|
|
87
|
-
**Type:** `Number | Null`
|
|
88
|
-
|
|
89
|
-
**Usage:** Optionnel.
|
|
90
|
-
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.
|
|
91
|
-
|
|
92
|
-
#### MAX_ESSAI
|
|
93
|
-
|
|
94
|
-
**Type:** `Number | Null`
|
|
95
|
-
|
|
96
|
-
**Usage:** Optionnel.
|
|
97
|
-
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.
|
|
98
|
-
|
|
99
|
-
### Voici les paramètres spécifique pour les inputs et les types de solutions
|
|
100
|
-
|
|
101
|
-
### Quiz réponse ouverte
|
|
102
|
-
|
|
103
|
-
[Exemple d'un objet quizData de réponse ouverte](../ref/quizDataReponseOuverte.json)
|
|
104
|
-
|
|
105
|
-
#### CHOIX_REPONSE
|
|
106
|
-
|
|
107
|
-
**Type:** `Null`
|
|
108
|
-
|
|
109
|
-
**Usage:** Obligatoire.
|
|
110
|
-
Doit être mis à `null` si la question ne présente pas un choix de réponse.
|
|
111
|
-
|
|
112
|
-
#### SOLUTION
|
|
113
|
-
|
|
114
|
-
**Type:** `String | Null`
|
|
115
|
-
|
|
116
|
-
**Usage:** Obligatoire.
|
|
117
|
-
Définie la solution pour la question.
|
|
118
|
-
|
|
119
|
-
### Quiz réponse radio et réponse checkbox
|
|
120
|
-
|
|
121
|
-
[Exemple d'un objet quizData de réponse radio](../ref/quizDataChoixUnique.json)
|
|
122
|
-
|
|
123
|
-
[Exemple d'un objet quizData de réponse checkbox](../ref/quizDataChoixMult.json)
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
#### CHOIX_REPONSE
|
|
127
|
-
|
|
128
|
-
**Type:** `Array{Object} | Null`
|
|
129
|
-
|
|
130
|
-
**Usage:** Obligatoire.
|
|
131
|
-
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.
|
|
132
|
-
Le type d'objet contenu de l'array change selon le type de quiz:
|
|
133
|
-
- Le type `reponse_simple` pour les quiz `choix_unique` || `choix_mult`
|
|
134
|
-
|
|
135
|
-
#### SOLUTION
|
|
136
|
-
|
|
137
|
-
**Type:** `Number | Array | Null`
|
|
138
|
-
|
|
139
|
-
**Usage:** Obligatoire.
|
|
140
|
-
Définie la solution pour la question. Doit contenir une des valeurs ci-dessous:
|
|
141
|
-
|
|
142
|
-
- un Array ( *IDs* des solutions, dans le cas de la question type choix_mult)
|
|
143
|
-
- Null dans le cas où aucune solution n'est attendu/exigé (reponse_ouverte sans validation)
|
|
144
|
-
|
|
145
|
-
### Quiz réponse liste déroulante
|
|
146
|
-
|
|
147
|
-
[Exemple d'un objet quizData de réponse liste déroulante](../ref/quizDataDropdown.json)
|
|
148
|
-
|
|
149
|
-
#### CHOIX_REPONSE
|
|
150
|
-
|
|
151
|
-
**Type:** `Array{Object} | Null`
|
|
152
|
-
|
|
153
|
-
**Usage:** Obligatoire.
|
|
154
|
-
Définie l'ensemble des choix proposés pour chaque réponse.
|
|
155
|
-
|
|
156
|
-
#### SOLUTION
|
|
157
|
-
|
|
158
|
-
**Type:** `Array | Null`
|
|
159
|
-
|
|
160
|
-
**Usage:** Obligatoire.
|
|
161
|
-
Définie la solution pour la question.
|
|
162
|
-
|
|
163
|
-
### Quiz texte tableau
|
|
164
|
-
|
|
165
|
-
[Exemple d'un objet quizData de texte tableau](../ref/quizDataTextTableau.json)
|
|
166
|
-
|
|
167
|
-
#### CHOIX_REPONSE
|
|
168
|
-
|
|
169
|
-
**Type:** `Array{Object}`
|
|
170
|
-
|
|
171
|
-
**Usage:** Obligatoire.
|
|
172
|
-
Définie l'ensemble des rangés du tableau avec chaque rangé ayant une réponse.
|
|
173
|
-
|
|
174
|
-
#### SOLUTION
|
|
175
|
-
|
|
176
|
-
**Type:** `Array{Object} | Null`
|
|
177
|
-
|
|
178
|
-
**Usage:** Obligatoire.
|
|
179
|
-
Définie la solution pour la question.
|
|
180
|
-
|
|
181
|
-
### Quiz texte trou
|
|
182
|
-
|
|
183
|
-
[Exemple d'un objet quizData de texte trou](../ref/quizDataTexteTroue.json)
|
|
184
|
-
|
|
185
|
-
#### TEXTE_BASE
|
|
186
|
-
|
|
187
|
-
**Type:** `String`
|
|
188
|
-
|
|
189
|
-
**Usage:** Obligatoire.
|
|
190
|
-
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%$`.
|
|
191
|
-
|
|
192
|
-
#### SOLUTION
|
|
193
|
-
|
|
194
|
-
**Type:** `Array{Object} | Null`
|
|
195
|
-
|
|
196
|
-
**Usage:** Obligatoire.
|
|
197
|
-
Définie la solution pour la question.
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
### Quiz texte trou à liste déroulante
|
|
201
|
-
|
|
202
|
-
[Exemple d'un objet quizData de texte trou à liste déroulante](../ref/quizDataTextTrouSelect.json)
|
|
203
|
-
|
|
204
|
-
#### CHOIX_REPONSE
|
|
205
|
-
|
|
206
|
-
**Type:** `Array{Object}`
|
|
207
|
-
|
|
208
|
-
**Usage:** Obligatoire.
|
|
209
|
-
Définie l'ensemble des choix proposés pour chaque réponse.
|
|
210
|
-
|
|
211
|
-
#### TEXTE_BASE
|
|
212
|
-
|
|
213
|
-
**Type:** `String`
|
|
214
|
-
|
|
215
|
-
**Usage:** Obligatoire.
|
|
216
|
-
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%$`.
|
|
217
|
-
|
|
218
|
-
#### SOLUTION
|
|
219
|
-
|
|
220
|
-
**Type:** `Array{Object} | Null`
|
|
221
|
-
|
|
222
|
-
**Usage:** Obligatoire.
|
|
223
|
-
Définie la solution pour la question.
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
## Style
|
|
228
|
-
|
|
229
|
-
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.
|
|
230
|
-
|
|
231
|
-
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*.
|
|
232
|
-
|
|
233
|
-
## Accessibilité
|
|
234
|
-
|
|
235
|
-
Pour l'instant aucune action n'a été fait pour l'accessibilité.
|
|
1
|
+
# Quiz
|
|
2
|
+
|
|
3
|
+
*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.
|
|
4
|
+
|
|
5
|
+
## Aperçu
|
|
6
|
+
|
|
7
|
+
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 affiche la rétroaction en dessous du quiz.
|
|
8
|
+
|
|
9
|
+
## Comportement
|
|
10
|
+
|
|
11
|
+
*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.
|
|
12
|
+
|
|
13
|
+
Le *json* doit avoir les informations suivantes :
|
|
14
|
+
|
|
15
|
+
- id
|
|
16
|
+
- type
|
|
17
|
+
- enonce
|
|
18
|
+
- choix de réponse
|
|
19
|
+
- solution
|
|
20
|
+
- rétroaction
|
|
21
|
+
- valeur de point
|
|
22
|
+
- le nombre essais
|
|
23
|
+
|
|
24
|
+
```json
|
|
25
|
+
{
|
|
26
|
+
"id": "Axx_Pxx_Qxx",
|
|
27
|
+
"type_question": "",
|
|
28
|
+
"ennonce": "",
|
|
29
|
+
"choix_reponse": [],
|
|
30
|
+
"solution": "",
|
|
31
|
+
"rétroaction": {
|
|
32
|
+
"retro_neutre": {} ,
|
|
33
|
+
"retro_positive": {} ,
|
|
34
|
+
"retro_negative": {}
|
|
35
|
+
},
|
|
36
|
+
"valeur_points": null,
|
|
37
|
+
"max_essai": null
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
Peu importe le type de quiz développé, ce sont les informations nécessaires pour créer un quiz.
|
|
42
|
+
|
|
43
|
+
Le paramètre *ennonce* doit absolument recevoir une structure html.
|
|
44
|
+
|
|
45
|
+
::: warning Attention
|
|
46
|
+
Prenez note que *valeur_points* n'est pas fonctionnel pour l'instant.
|
|
47
|
+
:::
|
|
48
|
+
|
|
49
|
+
## Paramètre
|
|
50
|
+
|
|
51
|
+
### Voici les paramètres généraux à tous les quiz
|
|
52
|
+
|
|
53
|
+
#### ID
|
|
54
|
+
|
|
55
|
+
**Type:** `String` _(Axx_Pxx_Qxx)_
|
|
56
|
+
|
|
57
|
+
**Usage:** Obligatoire.
|
|
58
|
+
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**.
|
|
59
|
+
|
|
60
|
+
#### TYPE_QUESTION
|
|
61
|
+
|
|
62
|
+
**Type:** `String` _(choix_mult | choix_unique | dropdown | reponse_ouverte | texte_tableau | texte_troue | texte_troue_select)__
|
|
63
|
+
|
|
64
|
+
**Usage:** Obligatoire.
|
|
65
|
+
Définie le type de question.
|
|
66
|
+
|
|
67
|
+
#### ENNONCE
|
|
68
|
+
|
|
69
|
+
**Type:** `String`
|
|
70
|
+
|
|
71
|
+
**Usage:** Obligatoire.
|
|
72
|
+
Définie l'énoncé textuel de la question.
|
|
73
|
+
|
|
74
|
+
#### RETROACTION
|
|
75
|
+
|
|
76
|
+
**Type:** `Object` retro_positive | retro_negative | retro_neutre
|
|
77
|
+
|
|
78
|
+
**Usage:** Obligatoire.
|
|
79
|
+
Définie la rétroaction à afficher pour la question. Doit /referencesléter une des situations ci-dessous:
|
|
80
|
+
|
|
81
|
+
- 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.
|
|
82
|
+
|
|
83
|
+
- 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.
|
|
84
|
+
|
|
85
|
+
#### VALEUR_POINTS
|
|
86
|
+
|
|
87
|
+
**Type:** `Number | Null`
|
|
88
|
+
|
|
89
|
+
**Usage:** Optionnel.
|
|
90
|
+
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.
|
|
91
|
+
|
|
92
|
+
#### MAX_ESSAI
|
|
93
|
+
|
|
94
|
+
**Type:** `Number | Null`
|
|
95
|
+
|
|
96
|
+
**Usage:** Optionnel.
|
|
97
|
+
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.
|
|
98
|
+
|
|
99
|
+
### Voici les paramètres spécifique pour les inputs et les types de solutions
|
|
100
|
+
|
|
101
|
+
### Quiz réponse ouverte
|
|
102
|
+
|
|
103
|
+
[Exemple d'un objet quizData de réponse ouverte](../ref/quizDataReponseOuverte.json)
|
|
104
|
+
|
|
105
|
+
#### CHOIX_REPONSE
|
|
106
|
+
|
|
107
|
+
**Type:** `Null`
|
|
108
|
+
|
|
109
|
+
**Usage:** Obligatoire.
|
|
110
|
+
Doit être mis à `null` si la question ne présente pas un choix de réponse.
|
|
111
|
+
|
|
112
|
+
#### SOLUTION
|
|
113
|
+
|
|
114
|
+
**Type:** `String | Null`
|
|
115
|
+
|
|
116
|
+
**Usage:** Obligatoire.
|
|
117
|
+
Définie la solution pour la question.
|
|
118
|
+
|
|
119
|
+
### Quiz réponse radio et réponse checkbox
|
|
120
|
+
|
|
121
|
+
[Exemple d'un objet quizData de réponse radio](../ref/quizDataChoixUnique.json)
|
|
122
|
+
|
|
123
|
+
[Exemple d'un objet quizData de réponse checkbox](../ref/quizDataChoixMult.json)
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
#### CHOIX_REPONSE
|
|
127
|
+
|
|
128
|
+
**Type:** `Array{Object} | Null`
|
|
129
|
+
|
|
130
|
+
**Usage:** Obligatoire.
|
|
131
|
+
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.
|
|
132
|
+
Le type d'objet contenu de l'array change selon le type de quiz:
|
|
133
|
+
- Le type `reponse_simple` pour les quiz `choix_unique` || `choix_mult`
|
|
134
|
+
|
|
135
|
+
#### SOLUTION
|
|
136
|
+
|
|
137
|
+
**Type:** `Number | Array | Null`
|
|
138
|
+
|
|
139
|
+
**Usage:** Obligatoire.
|
|
140
|
+
Définie la solution pour la question. Doit contenir une des valeurs ci-dessous:
|
|
141
|
+
|
|
142
|
+
- un Array ( *IDs* des solutions, dans le cas de la question type choix_mult)
|
|
143
|
+
- Null dans le cas où aucune solution n'est attendu/exigé (reponse_ouverte sans validation)
|
|
144
|
+
|
|
145
|
+
### Quiz réponse liste déroulante
|
|
146
|
+
|
|
147
|
+
[Exemple d'un objet quizData de réponse liste déroulante](../ref/quizDataDropdown.json)
|
|
148
|
+
|
|
149
|
+
#### CHOIX_REPONSE
|
|
150
|
+
|
|
151
|
+
**Type:** `Array{Object} | Null`
|
|
152
|
+
|
|
153
|
+
**Usage:** Obligatoire.
|
|
154
|
+
Définie l'ensemble des choix proposés pour chaque réponse.
|
|
155
|
+
|
|
156
|
+
#### SOLUTION
|
|
157
|
+
|
|
158
|
+
**Type:** `Array | Null`
|
|
159
|
+
|
|
160
|
+
**Usage:** Obligatoire.
|
|
161
|
+
Définie la solution pour la question.
|
|
162
|
+
|
|
163
|
+
### Quiz texte tableau
|
|
164
|
+
|
|
165
|
+
[Exemple d'un objet quizData de texte tableau](../ref/quizDataTextTableau.json)
|
|
166
|
+
|
|
167
|
+
#### CHOIX_REPONSE
|
|
168
|
+
|
|
169
|
+
**Type:** `Array{Object}`
|
|
170
|
+
|
|
171
|
+
**Usage:** Obligatoire.
|
|
172
|
+
Définie l'ensemble des rangés du tableau avec chaque rangé ayant une réponse.
|
|
173
|
+
|
|
174
|
+
#### SOLUTION
|
|
175
|
+
|
|
176
|
+
**Type:** `Array{Object} | Null`
|
|
177
|
+
|
|
178
|
+
**Usage:** Obligatoire.
|
|
179
|
+
Définie la solution pour la question.
|
|
180
|
+
|
|
181
|
+
### Quiz texte trou
|
|
182
|
+
|
|
183
|
+
[Exemple d'un objet quizData de texte trou](../ref/quizDataTexteTroue.json)
|
|
184
|
+
|
|
185
|
+
#### TEXTE_BASE
|
|
186
|
+
|
|
187
|
+
**Type:** `String`
|
|
188
|
+
|
|
189
|
+
**Usage:** Obligatoire.
|
|
190
|
+
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%$`.
|
|
191
|
+
|
|
192
|
+
#### SOLUTION
|
|
193
|
+
|
|
194
|
+
**Type:** `Array{Object} | Null`
|
|
195
|
+
|
|
196
|
+
**Usage:** Obligatoire.
|
|
197
|
+
Définie la solution pour la question.
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
### Quiz texte trou à liste déroulante
|
|
201
|
+
|
|
202
|
+
[Exemple d'un objet quizData de texte trou à liste déroulante](../ref/quizDataTextTrouSelect.json)
|
|
203
|
+
|
|
204
|
+
#### CHOIX_REPONSE
|
|
205
|
+
|
|
206
|
+
**Type:** `Array{Object}`
|
|
207
|
+
|
|
208
|
+
**Usage:** Obligatoire.
|
|
209
|
+
Définie l'ensemble des choix proposés pour chaque réponse.
|
|
210
|
+
|
|
211
|
+
#### TEXTE_BASE
|
|
212
|
+
|
|
213
|
+
**Type:** `String`
|
|
214
|
+
|
|
215
|
+
**Usage:** Obligatoire.
|
|
216
|
+
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%$`.
|
|
217
|
+
|
|
218
|
+
#### SOLUTION
|
|
219
|
+
|
|
220
|
+
**Type:** `Array{Object} | Null`
|
|
221
|
+
|
|
222
|
+
**Usage:** Obligatoire.
|
|
223
|
+
Définie la solution pour la question.
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
## Style
|
|
228
|
+
|
|
229
|
+
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.
|
|
230
|
+
|
|
231
|
+
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*.
|
|
232
|
+
|
|
233
|
+
## Accessibilité
|
|
234
|
+
|
|
235
|
+
Pour l'instant aucune action n'a été fait pour l'accessibilité.
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Model de page
|
|
3
|
-
|
|
4
|
-
---
|
|
5
|
-
::: warning 🚩 Important
|
|
6
|
-
Utilisez ce model comme depart pour écrire la page de votre composant:
|
|
7
|
-
|
|
8
|
-
1) Copiez /dubliquez cette page
|
|
9
|
-
2) Renommez votre copie avec le nom de votre composant
|
|
10
|
-
3) Édtitez la page en rempliçant les sections qui conserne votre composant.
|
|
11
|
-
:::
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
Composant pour ....
|
|
15
|
-
|
|
16
|
-
## Aperçu
|
|
17
|
-
|
|
18
|
-
Le composant permet de...
|
|
19
|
-
Et culpa explicabo est amet voluptas qui fuga deleniti. Sed consectetur minus aut animi modi sed natus pariatur.
|
|
20
|
-
|
|
21
|
-
## Comportement
|
|
22
|
-
|
|
23
|
-
Lorem ipsum dolor sit amet. At quas quis qui velit tenetur aut suscipit error id iure doloremque ad velit explicabo. Sit repellat praesentium aut perferendis illum qui omnis recusandae est explicabo dolores in quia tempore qui totam velit.
|
|
24
|
-
|
|
25
|
-
## Référence du composant
|
|
26
|
-
|
|
27
|
-
**ModelComposantPage** `<model-composant/>`
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
## Paramètre
|
|
31
|
-
|
|
32
|
-
Aucun paramètre n'est nécessaire pour ce composant.
|
|
33
|
-
|
|
34
|
-
### Props
|
|
35
|
-
|
|
36
|
-
| Propriété | Type | Description | valeur par défaut |
|
|
37
|
-
|:----------|:-----------------|:-----------------------------------------------------------------------------------------------------------------------------------|:-------|
|
|
38
|
-
| page | Object | données brutes de la page à créer | Doit contenir au minimum les valeurs suivantes: `{id, type, activityRef }`. Référez-vous à la section sur la [création de page](/guide/pageType.html#qu-est-ce-qu-une-page) pour une liste exhaustive des valeurs de la propriété. |
|
|
39
|
-
|
|
40
|
-
### Slots
|
|
41
|
-
`content`[named-slot] - Eos nemo officiis a ducimus officiis aut delectus obcaecati qui dolor consequatur.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
## Style
|
|
45
|
-
|
|
46
|
-
`nomde class`[class]
|
|
47
|
-
|
|
48
|
-
Aucune manipulation requise.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
## Accessibilité
|
|
52
|
-
Aucune manipulation requise.
|
|
53
|
-
|
|
1
|
+
---
|
|
2
|
+
title: Model de page
|
|
3
|
+
|
|
4
|
+
---
|
|
5
|
+
::: warning 🚩 Important
|
|
6
|
+
Utilisez ce model comme depart pour écrire la page de votre composant:
|
|
7
|
+
|
|
8
|
+
1) Copiez /dubliquez cette page
|
|
9
|
+
2) Renommez votre copie avec le nom de votre composant
|
|
10
|
+
3) Édtitez la page en rempliçant les sections qui conserne votre composant.
|
|
11
|
+
:::
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
Composant pour ....
|
|
15
|
+
|
|
16
|
+
## Aperçu
|
|
17
|
+
|
|
18
|
+
Le composant permet de...
|
|
19
|
+
Et culpa explicabo est amet voluptas qui fuga deleniti. Sed consectetur minus aut animi modi sed natus pariatur.
|
|
20
|
+
|
|
21
|
+
## Comportement
|
|
22
|
+
|
|
23
|
+
Lorem ipsum dolor sit amet. At quas quis qui velit tenetur aut suscipit error id iure doloremque ad velit explicabo. Sit repellat praesentium aut perferendis illum qui omnis recusandae est explicabo dolores in quia tempore qui totam velit.
|
|
24
|
+
|
|
25
|
+
## Référence du composant
|
|
26
|
+
|
|
27
|
+
**ModelComposantPage** `<model-composant/>`
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## Paramètre
|
|
31
|
+
|
|
32
|
+
Aucun paramètre n'est nécessaire pour ce composant.
|
|
33
|
+
|
|
34
|
+
### Props
|
|
35
|
+
|
|
36
|
+
| Propriété | Type | Description | valeur par défaut |
|
|
37
|
+
|:----------|:-----------------|:-----------------------------------------------------------------------------------------------------------------------------------|:-------|
|
|
38
|
+
| page | Object | données brutes de la page à créer | Doit contenir au minimum les valeurs suivantes: `{id, type, activityRef }`. Référez-vous à la section sur la [création de page](/guide/pageType.html#qu-est-ce-qu-une-page) pour une liste exhaustive des valeurs de la propriété. |
|
|
39
|
+
|
|
40
|
+
### Slots
|
|
41
|
+
`content`[named-slot] - Eos nemo officiis a ducimus officiis aut delectus obcaecati qui dolor consequatur.
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## Style
|
|
45
|
+
|
|
46
|
+
`nomde class`[class]
|
|
47
|
+
|
|
48
|
+
Aucune manipulation requise.
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
## Accessibilité
|
|
52
|
+
Aucune manipulation requise.
|
|
53
|
+
|