Évaluation par compétences avec les "topics" d'AMC

Version 7 (Alexis Bienvenüe, 09/01/2023 10:03 am)

1 1
h1. Évaluation par compétences avec les "topics" d'AMC
2 1
3 1
*AVERTISSEMENT :* Les "topics" sont en cours de développement. Leur fonctionnement pourra changer dans le futur. Installez la version de développement d'AMC pour les utiliser.
4 5 Alexis Bienvenüe
Vous pouvez par exemple utiliser le dépôt test d'AMC : https://launchpad.net/~alexis.bienvenue/+archive/ubuntu/test
5 1
6 1
h2. Objectif
7 1
8 1
On cherche ici à former certains groupes de questions, afin d'obtenir un score pour chaque groupe, associé à un niveau de réussite, qui pourront être affichés en en-tête des copies corrigées.
9 1
Ces groupes vont être décrits dans un fichier au format YAML nommé @topics.yml@, à placer dans le répertoire du projet AMC.
10 1
11 6 Alexis Bienvenüe
h2. Dépendances
12 6 Alexis Bienvenüe
13 6 Alexis Bienvenüe
Pour faire fonctionner les "topics", AMC aura besoin des paquets perl supplémentaires suivants, qui doivent donc être installé dans votre environnement : @YAML::Syck@, @Hash::Merge@.
14 6 Alexis Bienvenüe
Ces paquets sont automatiquement installés si vous utilisez le PPA mentionné ci-dessus.
15 6 Alexis Bienvenüe
16 1
h2. Exemple
17 1
18 1
Voici un exemple de fichier @topics.yml@ correspondant à deux compétences nommées addition2 et soustraction2 :
19 1
<pre>
20 1
---
21 1
topics:
22 1
  - id: addition2
23 1
    name: Savoir calculer la somme de deux nombres à deux chiffres
24 1
    questions:
25 3 Alexis Bienvenüe
      - "add2:*"
26 1
      - somme2ch
27 1
    levels:
28 1
      - min: 0.75
29 1
        message: très bonne maîtrise
30 3 Alexis Bienvenüe
        color: "#1ab407"
31 1
      - min: 0.5
32 1
        message: maîtrise satisfaisante
33 3 Alexis Bienvenüe
        color: "#2aea62"
34 1
      - min: 0.25
35 1
        message: maîtrise fragile
36 3 Alexis Bienvenüe
        color: "#ffad26"
37 1
      - message: maîtrise insuffisante
38 3 Alexis Bienvenüe
        color: "#ff262c"
39 1
  - id: soustraction2
40 1
    name: Savoir calculer la différence de deux nombres à deux chiffres
41 2 Alexis Bienvenüe
    format: "%{name} : %{score}/%{max}"
42 1
    questions:
43 3 Alexis Bienvenüe
      - "sous2:*"
44 3 Alexis Bienvenüe
      - "sous1:*"
45 1
</pre>
46 1
47 7 Alexis Bienvenüe
*ATTENTION :* le format de fichier YAML est très sensible à l'indentation. Vous devez donc bien respecter le nombre d'espaces au début des lignes.
48 7 Alexis Bienvenüe
49 1
Ici, la compétence @addition2@ prend en compte toutes les questions dont l'identifiant commence par @add2:@, ainsi que la question @somme2ch@.
50 1
Selon la moyenne obtenue pour l'ensemble des questions, AMC va afficher, avec la couleur choisie, un message sur la première page de la copie corrigée.
51 1
L'export ODS contiendra également cette information.
52 1
Pour le groupe @soustraction2@, on n'a pas défini de niveaux de réussite, et on écrit uniquement le score et le score maximal. 
53 4 Alexis Bienvenüe
54 4 Alexis Bienvenüe
h2. Mutualisation de la configuration
55 4 Alexis Bienvenüe
56 4 Alexis Bienvenüe
Dans certains cas, on aura besoin de mutualiser une partie de la configuration entre plusieurs compétences.
57 4 Alexis Bienvenüe
Cela peut se faire en regroupant la configuration à mutualiser dans la catégorie @conf@, puis en y faisant référence à l'endroit souhaité (dans un @topic@, ou dans une autre @conf@).
58 4 Alexis Bienvenüe
Dans l'exemple ci-dessous, on affecte ainsi les même niveaux pour les compétences @addition2@ et @soustraction2@ :
59 4 Alexis Bienvenüe
<pre>
60 4 Alexis Bienvenüe
---
61 4 Alexis Bienvenüe
conf:
62 4 Alexis Bienvenüe
  - niveauxstandard:
63 4 Alexis Bienvenüe
    - levels:
64 4 Alexis Bienvenüe
      - min: 0.75
65 4 Alexis Bienvenüe
        message: très bonne maîtrise
66 4 Alexis Bienvenüe
        color: "#1ab407"
67 4 Alexis Bienvenüe
      - min: 0.5
68 4 Alexis Bienvenüe
        message: maîtrise satisfaisante
69 4 Alexis Bienvenüe
        color: "#2aea62"
70 4 Alexis Bienvenüe
      - min: 0.25
71 4 Alexis Bienvenüe
        message: maîtrise fragile
72 4 Alexis Bienvenüe
        color: "#ffad26"
73 4 Alexis Bienvenüe
      - message: maîtrise insuffisante
74 4 Alexis Bienvenüe
        color: "#ff262c"
75 4 Alexis Bienvenüe
76 4 Alexis Bienvenüe
topics:
77 4 Alexis Bienvenüe
  - id: addition2
78 4 Alexis Bienvenüe
    name: Savoir calculer la somme de deux nombres à deux chiffres
79 4 Alexis Bienvenüe
    questions:
80 4 Alexis Bienvenüe
      - "add2:*"
81 4 Alexis Bienvenüe
      - somme2ch
82 4 Alexis Bienvenüe
    conf: niveauxstandard
83 4 Alexis Bienvenüe
  - id: soustraction2
84 4 Alexis Bienvenüe
    name: Savoir calculer la différence de deux nombres à deux chiffres
85 4 Alexis Bienvenüe
    format: "%{name} : %{score}/%{max}"
86 4 Alexis Bienvenüe
    questions:
87 4 Alexis Bienvenüe
      - "sous2:*"
88 4 Alexis Bienvenüe
      - "sous1:*"
89 4 Alexis Bienvenüe
    conf: niveauxstandard
90 4 Alexis Bienvenüe
</pre>
91 4 Alexis Bienvenüe
92 4 Alexis Bienvenüe
h2. Plusieurs fichiers
93 4 Alexis Bienvenüe
94 4 Alexis Bienvenüe
On peut également faire appel au contenu d'un autre fichier grâce à @include@ (le chemin du fichier à inclure peut être donné comme chemin relatif par rapport a fichier en cours).
95 4 Alexis Bienvenüe
Dans l'exemple suivant, le fichier @topics.yml@ va inclure le contenu du fichier @levels.yml@ qui se trouve dans le répertoire parent du répertoire projet (donc le répertoire commun à tous les projets AMC), et qui contiendra la définition à utiliser pour @niveauxstandard@.
96 4 Alexis Bienvenüe
<pre>
97 4 Alexis Bienvenüe
---
98 4 Alexis Bienvenüe
include:
99 4 Alexis Bienvenüe
  - ../levels.yml
100 4 Alexis Bienvenüe
101 4 Alexis Bienvenüe
topics:
102 4 Alexis Bienvenüe
  - id: addition2
103 4 Alexis Bienvenüe
    name: Savoir calculer la somme de deux nombres à deux chiffres
104 4 Alexis Bienvenüe
    questions:
105 4 Alexis Bienvenüe
      - "add2:*"
106 4 Alexis Bienvenüe
      - somme2ch
107 4 Alexis Bienvenüe
    conf: niveauxstandard
108 4 Alexis Bienvenüe
  - id: soustraction2
109 4 Alexis Bienvenüe
    name: Savoir calculer la différence de deux nombres à deux chiffres
110 4 Alexis Bienvenüe
    format: "%{name} : %{score}/%{max}"
111 4 Alexis Bienvenüe
    questions:
112 4 Alexis Bienvenüe
      - "sous2:*"
113 4 Alexis Bienvenüe
      - "sous1:*"
114 4 Alexis Bienvenüe
    conf: niveauxstandard
115 4 Alexis Bienvenüe
</pre>