- QT
- AbulEduApplicationV1
- AbulEduAproposV1
- AbulEduAudioV1
- AbulEduButtonListV1
- AbulEduCameraV1
- AbulEduCameraWidgetV1
- AbulEduConstantesV1
- AbulEduEditeur
- AbulEduGraphicsEtiquetteV1
- AbulEduIdentitesV1
- AbulEduInstructionV1
- AbulEduMediaplayerV1
- AbulEduMediathequeGetV1
- AbulEduMenuFeuilleV1
- AbulEduNumericLinearPadv1
- AbulEduQRCodeReaderV1
- AbulEduSingletonV1
- AbulEduSlideWidgetContainerV1
- AbulEduStackedWidgetV1
- AbulEduTexteV1
- AbulEduTextV1
- AbulEduTutorialV1
- AbulEduVirtualKeyboardV1
- AbulEduVisionneuseImageV1
- AbulEduWidgetAssistantEtapesV1
- Affichage des messages d'erreurs
- Affichage dynamique des étapes d'un éditeur
- Bouton croix de fenêtre
- Centrer une fenêtre
- Création fichierdossier temporaire unique
- Créer une AbulÉduApplicationV1 dans QtCreator
- Framework Graphic View
- Framework Graphic Viewodt
- Framework State Machine
- Générer automatiquement un dictionnaire de verbes
- Gérer la modalité des fenêtres
- Gestion des arguments
- Getters par référence et non par valeur
- Installation Qt5
- Installation Qt56
- Normalisation des modules
- Partager des variables avec différents pri
- Redimensionnement application Qt
- Redimensionner un QGraphicsSvgItem
- Tests et Logs sous Windows
- Utilisation de l'assistant AbulEduApplicationV1
- Utiliser des QSharedPointer
Normalisation des échanges entre l'application et le plugin¶
- Tableau de correspondance entre les compétences "internes abuledu" et (par exemple) les compétences Education Nationale
- Chaque logiciel propose des exercices
- Chaque exercice propose nombreTotal questions
- Pour chaque exercice il faut enregistrer
- le niveau
- la compétence visée (telle que formulée par les instructions officielles EducNat) au travers d'un filtre "nom de code interne" (f)
- le score (nombre de réponses exactes / nombre de questions effectivement posées)
- Pour chaque question il faut enregistrer
- la question posée
- la réponse fournie
- la réponse attendue (f)
- le temps de réponse (f)
- les réponses intermédiaires (f)
- la liste des réponses proposées (f)
(f): facultatif
interface de récupération des logs¶
L'objet qui poste l'évènement eventLog DOIT fournir une méthode publique getAbulEduLogs qui retourne un QHash<int, QHash<QString, QString> > (cf Tableaux à trois dimensions) dont la structure est normalisée comme suit:
Exemple général (fondé sur calcul mental)¶
Aide mémoire "français" | Nom de l'exercice | Niveau | Compétence (code "interne abuledu") | Score (cumul) | Nombre total de questions | Nombre de questions déjà posées | Question | Réponse | Réponse attendue | Délais de réponse | Réponse intermédiaire | Réponses proposées | Evaluation de la réponse |
Normalisation des champs -> | exerciceName | level | skill | score | nbTotalQuestions | nbPrintedQuestions | question | answer | expected | answerTime | answerIntermediate | answerProposed | evaluation |
1 | multiplication | Niveau 1 | calculer mentalement des produits | 1 | 10 | 1 | 4*3 | 12 | 12 | 4 | - | - | a |
2 | multiplication | Niveau 1 | calculer mentalement des produits | 1 | 10 | 2 | 4*6 | 20 | 24 | 10 | - | - | d |
3 | multiplication | Niveau 1 | calculer mentalement des produits | 2 | 10 | 3 | 3*1 | 3 | 3 | 2 | - | - | a |
4 | multiplication | Niveau 1 | calculer mentalement des produits | 3 | 10 | 4 | 2*5 | 10 | 10 | 4 | - | - | a |
5 | multiplication | Niveau 1 | calculer mentalement des produits | 4 | 10 | 5 | 3*2 | 6 | 6 | 3 | - | - | a |
6 | multiplication | Niveau 1 | calculer mentalement des produits | 4 | 10 | 6 | 4*2 | 6 | 8 | 4 | - | - | d |
7 | multiplication | Niveau 1 | calculer mentalement des produits | 5 | 10 | 7 | 5*3 | 15 | 15 | 4 | - | - | a |
8 | multiplication | Niveau 1 | calculer mentalement des produits | 6 | 10 | 8 | 3*7 | 21 | 21 | 6 | - | - | a |
9 | multiplication | Niveau 1 | calculer mentalement des produits | 7 | 10 | 9 | 2*8 | 16 | 16 | 5 | - | - | a |
10 | multiplication | Niveau 1 | calculer mentalement des produits | 8 | 10 | 10 | 3*10 | 30 | 30 | 5 | - | - | a |
Exemple pour la calculette capricieuse¶
exerciceName | level | skill | question | answer | answerTime | |
1 | Le bon compte 1 | Trouve 20 en utilisant les touches disponibles | 6+4+7+2+1 = 20 | 23 | ||
2 | Décomposition décimale | Écris une suite d'opérations dont le résultat est 245. Utilise les touches "10" et "100" une fois. Tu peux aussi utiliser les touches mémoires. | 244+1 = 245 | 120 |
Dans le cas suivant, l'exercice est décomposé en plusieurs opérations, chaque opération donne lieu à une ligne de log et l'évènement "envoyant" le log est déclenché lorsque l'utilisateur quitte l'application, change d'exercice ou ... (à définir)
exerciceName | level | skill | question | answer | answerTime | |
1 | décomposition décimale | Écris une suite d'opérations dont le résultat est 245. Utilise les touches "10" et "100" une fois. Tu peux aussi utiliser les touches mémoires. | 100x2=200 | 6 | ||
2 | décomposition décimale | Écris une suite d'opérations dont le résultat est 245. Utilise les touches "10" et "100" une fois. Tu peux aussi utiliser les touches mémoires. | 10x4=40 | 7 | ||
3 | décomposition décimale | Écris une suite d'opérations dont le résultat est 245. Utilise les touches "10" et "100" une fois. Tu peux aussi utiliser les touches mémoires. | 200+40+5=245 | 8 |
Dans certains cas les logs ne peuvent pas forcément sembler utilisables ... mais (a) pour éviter l'usine à gaz de l'éditeur (cette opération est logguée) et (b) "au cas ou" on loggue tout de même. Exemple avec la "touche cassée"
exerciceName | level | skill | question | answer | answerTime | |
1 | Une touche cassée | Une touche de la calculette ne fonctionne pas correctement. Laquelle ? | 1+2 = 3 | 1 | ||
2 | Une touche cassée | Une touche de la calculette ne fonctionne pas correctement. Laquelle ? | 1+3 = 4 | 1 | ||
3 | Une touche cassée | Une touche de la calculette ne fonctionne pas correctement. Laquelle ? | 1+4 = 5 | 1 | ||
4 | Une touche cassée | Une touche de la calculette ne fonctionne pas correctement. Laquelle ? | 1+5 = 5 | 1 | ||
5 | Une touche cassée | Une touche de la calculette ne fonctionne pas correctement. Laquelle ? | 5-1 = 3 | 1 | ||
6 | Une touche cassée | Une touche de la calculette ne fonctionne pas correctement. Laquelle ? | 55-1 = 43 | 1 |
Dans la réalité, lorsque l'enfant appèle son enseignant à l'étape 5 (note de jlf: "il prend une baffe") le prof lui dira "justifie en me proposant un autre exemple" -> saisie numéro 6. Dans ce cas, le log n'est pas vraiment utile, l'enseignant n'ira pas "dérouler les logs" le soir ... sauf à chercher si un enfant a une sorte d'habitude de recherche de "trucs".