Mise en œuvre - interface graphique

Nous décrivons ici un exemple de cheminement avec l'interface graphique depuis la conception du QCM jusqu'à l'édition des notes des élèves.

Création du nouveau projet et du sujet

Commençons par ouvrir l'interface graphique. On peut normalement le faire en sélectionnant ApplicationsÉducationAuto Multiple Choice du menu général de Gnome (ou son équivalent dans KDE ou autre), mais on peut aussi utiliser la commande auto-multiple-choice.

Créons maintenant un nouveau projet, grâce à ProjetNouveau. Une fenêtre s'ouvre et permet encore d'utiliser un projet déjà existant (si il en existe), mais nous voulons créer un nouveau projet, alors nous choisissons un nom (composé de caractères simples ; « test » conviendra par exemple à notre petit essai), que nous inscrivons dans le champ Nouveau projet, puis nous appuyons sur le bouton Créer un projet.

Nous devons maintenant désigner un fichier LaTeX comme source du QCM. Pour cela, cliquons sur le bouton nommé Fichier LaTeX. Le répertoire dans lequel nous nous situons est celui des exemples fournis avec AMC (il s'agit en général de /usr/share/doc/auto-multiple-choice/exemples/) : sélectionnons simple.tex. Pour pouvoir le modifier à loisir, il faut maintenant le copier dans le réertoire du projet, grâce au bouton importer. On peut maintenant l'éditer pour modifier la forme du questionnaire ou les questions, grâce au bouton éditer qui lance l'éditeur par défaut.

Préparation du sujet

La préparation du projet se fait en deux étapes. Il faut tout d'abord fabriquer les documents de référence à partir du fichier source LaTeX. Ceci se fait en cliquant sur le bouton Mise à jour de la section Documents de travail. Les documents produits sont les suivants :

  • Le sujet. C'est le fichier qu'il faudra imprimer pour que ses pages soient distribuées aux étudiants.

  • Le corrigé. On peut y vérifier que les réponses cochées sont les bonnes. Il est aussi destiné à être distribué aux étudiants.

  • Le document de calage. Les marques de calages, les cases à cocher, ainsi que la zone où les étudiants marquent leur nom y sont représentées en couleurs. C'est à partir de ce document que le logiciel va repérer la localisation exacte de ces éléments.

Une fois produits, ces documents pourront être visualisés (et éventuellement imprimés) par un doucle-clic sur leur nom.

Nous pouvons maintenant passer à cette dernière étape de préparation : l'analyse du document de calage. Elle se lance à partir du bouton Calculer dans la section Mises en page. Cette analyse détecte, dans chaque page du sujet, la position exacte des différents éléments qui devront être analysés sur les copies des étudiants. Cette analyse peut être un peu longue (surtout quand le nombre de copies est important). On peut voir le résultat dans la liste de droite, qui présente pour chaque page son numéro, son identifiant (un code contenant le numéro de l'étudiant, le numéro de la page pour cet étudiant, puis un code permettant la vérification de l'identification), ainsi que la date de mise à jour de la mise en page.

Pour vérifier que les mises en page ont été correctement détectées, on peut utiliser le bouton Vérifier les mises en page. Un petit coup d'œil permettra de vérifier que les cases à cocher en rouge sont bien positionées sur les cases du sujet.

Impression du sujet

Une fois la préparation effectuée, nous pouvons imprimer le sujet, et le distribuer aux étudiants... Nous avons pour cela plusieurs possibilités :

  • Il est possible d'imprimer (ou de faire imprimer par un service reprographie) directement le fichier sujet.tex du répertoire projet, auquel on peut accéder par un double-clic sur la ligne sujet de la liste des documents de travail.

    Cette méthode peut avoir un léger inconvénient : si votre sujet comporte certaines copies ayant un nombre impair de pages, une impression recto-verso mettra plusieurs sujets sur une même feuille, ce qui les rendra inutilisables. Pour éviter ce problème, vous pouvez remplacer (si ce n'est pas déjà fait), dans le fichier LaTeX du sujet, la commande \clearpage par \AMCcleardoublepage, qui ajoutera les pages blanches nécessaires pour que tous les sujets aient un nombre pair de pages (voir exemple section la section intitulée « Un exemple avec une feuille de réponses séparée »).

  • Si l'imprimante à utiliser est configurée sur l'ordinateur utilisé par AMC, on utilisera de préférence le bouton Imprimer des copies (après avoir calculé les mises en page), qui permet de sélectionner les copies à imprimer (si on ne souhaite pas toutes les imprimer, ou pour une réimpression dans le cas où une copie aurait été mal imprimée), de choisir les options d'impression (recto-verso, agrafage), et de gérer correctement les copies avec un nombre impair de pages même dans le cas d'une impression recto-verso sans utilisation de \AMCcleardoublepage (en effet, AMC envoie une tâche d'impression par copie).

Examen

Il ne reste plus qu'à faire passer l'examen aux étudiants...

[Important]Important

Une fois que le sujet est imprimé et distribué, il ne faut plus modifier les documents de travail car il faut garder la certitude qu'ils sont conformes aux copies distribuées.

Lecture des copies

Nous allons maintenant passer à la saisie des copies des étudiants, qui peut se faire de manière automatique et/ou manuelle.

Pour cela, nous passons sur l'onglet Saisie de l'interface graphique.

Saisie automatique

Pour une reconnaissance automatisée des cases cochées dans les copies des étudiants, il faut tout d'abord les numériser. J'utilise pour ma part une photocopieuse/scanner qui le fait de manière automatique (toutes les pages à la suite sans intervention de ma part), avec les réglages suivants : 300dpi, mode OCR (prévu pour la reconnaissance de caractères, noir et blanc sans nuances de gris), scan délivré en un fichier TIFF par page.

[Note]Note

Pour l'analyse des copies, nous devons disposer d'un ou plusieurs fichiers images (TIFF, JPG, PNG, etc.) des scans. Les formats vectoriels (comme PDF, EPS, SVG) ne sont pas utilisables.

On sélectionne alors l'ensemble des fichiers obtenus à partir du dialogue ouvert par le bouton Automatique de la section Saisie des copies après examen, puis on valide par le bouton Utiliser de ce même dialogue. Nous pouvons alors aller boire un café car l'analyse des copies peut être très longue (on peut laisser faire tranquilement car elle ne demande aucune intervention).

Le résultat de l'analyse de chaque page est indiqué dans les listes de la section Diagnostic :

  • La valeur EQM (écart quadratique moyen) est un indicateur du bon calage sur les marques de calage (les quatre ronds noirs entourant chaque copie). Si il est trop important, il faudra vérifier le calage (un clic droit sur la ligne correspondant à la page puis le choix page permet de visualiser la page scannée et le cadre et les cases tels qu'ils sont détectés).

  • La valeur sensibilité est un indicateur de la proximité du remplissage des cases avec la valeur seuil. Si elle est trop importante (à partir de 8 et jusqu'à sa valeur maximale 10), il faudra vérifier que les cases reconnues comme étant cochées sont bien les bonnes (un clic droit sur la ligne correspondant à la page puis le choix zoom permet de visualiser l'ensemble des cases de la copie, et de voir si la détection s'est bien déroulée).

Saisie manuelle

Si nous ne pouvons pas utiliser facilement de scanner, ou si, pour quelques copies, la saisie automatique n'a pas bien fonctionné, nous pouvons effectuer la saisie de manière manuelle. Pour cela, ouvrons la fenêtre adéquate grâce au bouton Manuelle de la section Saisie des copies après examen. Dans cette fenêtre, nous pourrons entrer nous-même les cases qui ont été cochées (en cliquant dessus) sur les pages désirées.

[Note]Note

Toute saisie manuelle effctuée sur une page prendra la place des résultats éventuels d'une saisie automatique pour cette même page.

Correction

Dans l'onglet Notation de l'interface graphique, la partie Correction nous permet de déduire les notes des étudiants à partir des saisies effectuées, mais aussi de lire les codes renseignés par les étudiants (voir la section intitulée « Saisie de codes »).

Processus

Le calcul des notes se lance à l'aide du bouton Corriger, mais nous avons auparavant le choix suivant à effectuer :

  • Si nous cochons la case Mettre à jour le barème, le barème sera tout d'abord extrait du fichier source LaTeX. Ceci permet de tester plusieurs barèmes à la fin du processus de correction. La façon de spécifier le barème dans le fichier LaTeX sera expliquée à la section Barème (un barème par défaut est utilisé quand aucune indication n'est donnée).

En cliquant sur le bouton Corriger, la correction est alors effectuée (cela peut prendre un peu de temps si on a aussi demandé la lecture du barème).

Barème

Le barème utilisé pour la notation des copies est indiqué dans le fichier source LaTeX du questionnaire, à l'aide de la commande bareme. Elle peut être utilisée dans un environnement question ou questionmult, pour fixer des paramètres de barème concernant toutes les réponses, mais aussi dans l'environnement reponses, pour donner des indications de barème ne concernant qu'une réponse. L'argument de la commande LaTeX bareme est constitué d'indications du type parametre=valeur, séparés par des virgules. Les paramètres utilisables sont les suivants (le tableau indique aussi dans quels cadres ces paramètres peuvent être utilisés) :

paramètresimplemultiplevaleur
QRQR
e  La note affectée en cas d'incohérence des réponses : plusieurs cases cochées pour une question simple, ou, pour une question multiple, case « aucune de ces réponses n'est correcte » cochée en même temps qu'une autre case.
v  La note affectée en cas de non-réponse (aucune case n'est cochée).
d   Un décalage, c'est-à-dire une valeur ajoutée à toutes les notes qui ne relèvent pas des cas correspondant aux paramètres e et v.
p   La note plancher. Si le calcul de la note obtenue à la question donne une valeur inférieure à la valeur plancher, cette note est ramenée à la valeur plancher.
b Points à donner pour une bonne réponse à une question.
m Points à donner pour une mauvaise réponse à une question.
    Sans nom de paramètre (syntaxe \bareme{2}), on indique le nombre de points à donner si l'étudiant a coché cette réponse.
auto   Avec ce paramètre, la valeur de la réponse numéro i sera auto+i-1. Cette option est principalement utilisée avec \QuestionIndicative (voir section Questions et réponses).
haut   En donnant à ce paramètre une valeur n, la note attribuée à une réponse parfaite sera n, et un point sera enlevé par erreur.
MAX  Donne la valeur maximale attribuée à la question (pour une « question notée sur 5 », on peut mettre MAX=5). À renseigner uniquement si elle ne correspond pas à la note obtenue en mettant toutes les bonnes réponses.

Le barème par défaut pour une question simple est e=0,v=0,b=1,m=0, ce qui donne un point pour une bonne réponse et aucun point dans tous les autres cas. Le barème par défaut pour une question multiple est e=0,v=0,b=1,m=0,p=-100,d=0, ce qui donne un point pour chaque case qui est cochée ou non à bon escient (case d'une bonne réponse cochée, ou case d'une mauvaise réponse non cochée).

La commande LaTeX \bareme peut aussi être utilisée hors des définitions des questions, avec les paramètres suivants :

  • SUF=x permet de donner un total de points suffisant pour obtenir la note maximale : si on fixe la note maximale à 20 par exemple, une copie ayant un total de points de 12 avec l'utilisation de SUF=15 se verra attribuer la note de 12/15*20=16, quel que soit le total d'une copie ayant toutes les bonnes réponses.

L'utilisation combinée de tous ces paramètres permet de définir toutes sortes de barèmes, comme dans l'exemple suivant :

\documentclass{article}

\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[francais,bloc,completemulti]{automultiplechoice}

\begin{document}

% preparation du groupe de questions appelé qqs (on mettra au maximum
% 20 elements dans ce groupe) :

\element{qqs}{
\begin{question}{le bon choix}
  Combien de points voulez-vous à cette question~?
  \begin{reponses}
    \bonne{Le maximun : 10}\bareme{10}
    \mauvaise{Seulement 5}\bareme{5}
    \mauvaise{Deux me suffiront}\bareme{2}
    \mauvaise{Aucun, merci}\bareme{0}
  \end{reponses}
\end{question}
}

\element{qqs}{
\begin{questionmult}{engrange}
  Engrangez des points gratuitement en cochant les cases ci-dessous~:
  \begin{reponses}
    \bonne{2 points}\bareme{b=2}
    \mauvaise{Un point négatif}\bareme{b=0,m=-1}
    \bonne{3 points}\bareme{b=3}
    \bonne{1 point}
    \bonne{Un demi point}\bareme{b=0.5}
  \end{reponses}
\end{questionmult}
}

\element{qqs}{
\begin{questionmult}{2 justes}\bareme{b=3,d=-9,p=0}
  Il faut cocher exactement comme il faut pour avoir trois points, sinon vous n'en
  aurez aucun.
  \begin{reponses}
    \mauvaise{Fausse}
    \mauvaise{Fausse}
    \bonne{Juste}
    \bonne{Juste}
  \end{reponses}
\end{questionmult}
}

\element{qqs}{
\begin{questionmult}{tout}\bareme{d=-3,p=0}
  Deux points pour tout juste, et un point pour chaque erreur...
  \begin{reponses}
    \bonne{Bonne réponse}
    \bonne{Ceci est juste}
    \bonne{Exact}
    \mauvaise{Faux~!}
    \mauvaise{Ne pas cocher~!}
  \end{reponses}
\end{questionmult}
}

\element{qqs}{
\begin{question}{attention}\bareme{b=2}
  Alors là, la réponse très fausse mérite sanction (-2 points), mais
  viser juste rapporte 2 points.
  \begin{reponses}
    \bonne{C'est bon !}
    \mauvaise{Pas bon}
    \mauvaise{Pas bon}
    \mauvaise{Pas bon}
    \mauvaise{Très faux !}\bareme{-2}
  \end{reponses}
\end{question}
}

\element{qqs}{
\begin{questionmult}{au choix}
  Choisissez vos points :
  \begin{reponses}
    \bonne{J'en veux 2}\bareme{b=2}
    \mauvaise{J'en donne trois}\bareme{b=0,m=3}
    \bonne{J'en veux un (et sinon j'en perds un)}\bareme{m=-1}
  \end{reponses}
\end{questionmult}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\exemplaire{20}{

\noindent{\bf QCM  \hfill TEST DE BARÈME}

\vspace*{.5cm}
\begin{minipage}{.4\linewidth}
\centering\large\bf Test\\ Examen du 01/01/2008\end{minipage}
\champnom{\fbox{\begin{minipage}{.5\linewidth}
Nom et prénom :

\vspace*{.5cm}\dotfill
\vspace*{1mm}
\end{minipage}}}

\begin{center}\em
Durée : 10 minutes.
\end{center}
\vspace{1ex}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\melangegroupe{qqs}

\restituegroupe{qqs}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\clearpage

}

\end{document}

Barèmes généraux

Pour utiliser un barème de manière générale pour tout un ensemble de questions, on pourra le définir dans une commande LaTeX, comme dans l'exemple suivant :

\def\barQmult{haut=3,p=-1}

\begin{questionmult}\bareme{\barQmult}
[...]
\end{questionmult}

Une autre possibilité est offerte par les commandes LaTeX \baremeDefautS et \baremeDefautM, à utiliser en début de document (en dehors de la commande \exemplaire), qui permettent de donner des valeurs par défaut pour les barèmes des questions simples et des questions multiples :

\baremeDefautM{haut=3,p=-1}

Dans certains cas de figure, il peut être intéressant de définir un barème de manière générale en fonction du nombre de réponses proposées. Il suffit pour cela de mettre les valeurs intervenant dans le barème sous la forme de formules utilisant la variable N. Par exemple, pour obtenir un barème qui fixe à 4 la note maximale et tel que l'espérance de la note d'un étudiant cochant au hasard chaque case soit de 1, on peut utiliser le barème d=4,b=0,m=-(4-1)*2/N (qui donne une note de -2 si toutes les reonses sont fausses, c'est-à-dire si on a coché les cases qu'il ne fallait pas cocher et si on n'a pas coché les cases qu'il fallait cocher). Les opérations acceptées dans ces formules sont les quatre opérations simples (+ - * /), et le parenthésage.

D'autres variables sont aussi utilisables :

  • N est le nombre de réponses proposées, sans compter la réponse automatiquement ajoutée par l'option completemulti.

  • NB est le nombre de bonnes réponses à la question (sans tenir compte des cases cochées ou non).

  • NBC est le nombre de bonnes réponses qui ont été cochées.

  • NM est le nombre de mauvaises réponses à la question (sans tenir compte des cases cochées ou non).

  • NMC est le nombre de mauvaises réponses qui ont été cochées.

  • IS vaut 1 si la question est simple et 0 sinon.

  • IMULT vaut 1 si la question est multiple et 0 sinon.

Identification des étudiants

Cette étape n'est pas obligatoire. Il s'agit d'associer chaque copie à un étudiant. La lecture du nom d'étudiant n'est pas faite de manière automatique, mais deux possibilités raisonnables sont prévues :

  1. Il est possible de demander aux étudiants de s'identifier sur leur copie grâce à leur numéro d'étudiant, qui sera renseigné en cochant une case par chiffre. Une commande LaTeX est prévue pour mettre cette méthode en œuvre sur la copie (voir la partie la section intitulée « Saisie de codes »). Après l'examen, les copies seront identifiées automatiquement à partir d'une liste mettant en correspondance les numéros d'étudiants et les noms.

  2. Sans saisie des numéros d'étudiants, ou dans le cas où l'identification automatique n'a pas parfaitement fonctionné (par exemple en cas d'erreur de saisie des étudiants), l'interface graphique permet une association manuelle assistée.

Sélectionnons tout d'abord l'onglet Notation de l'interface graphique.

Liste des étudiants

Il faut tout d'abord disposer d'une liste d'étudiants. Cette liste pourra bien sûr être utilisée pour plusieurs QCM. Pour une utilisation simple, on préparera un fichier texte contenant un nom d'étudiant par ligne. Si on souhaite automatiser certaines tâches futures, comme l'envoi des corrigés aux étudiants, on pourra ajouter certaines informations complémentaires dans le fichier, comme dans l'exemple suivant :

# liste des étudiants de première année
nom:prenom:no:email
Bienvenüe:Alexis:001:paamc@passoire.fr
Boulix:Jojo:002:jojo.boulix@rien.xx
Noël:Père:003:pere.noel@pole-nord.xx

Les lignes du fichier qui commencent par le caratère `#' sont des commentaires. La première des autres lignes contient, séparés par le caractère `:', les titres des colonnes. Ensuite, en une ligne par étudiant, on place les informations voulues. Il est préférable d'inclure au moins une colonne nommée nom.

[Note]Note

On peut remplacer le séparateur `:' par une virgule, un point-virgule ou une tabulation. Il faut cependant utiliser le même séparateur partout dans le fichier contenant la liste des étudiants. Le séparateur utilisé sera détecté en prenant le caractère (parmi les quatre possibles) qui apparaît le plus de fois dans la première ligne qui nest pas un commentaire.

La liste des étudiants préparée (que se soit une liste simple ou comprenant plus d'informations), nous la désignons maintenant en la sélectionnant à partir du bouton Liste des étudiants. Il faut également désigner l'identifiant unique qui permettra d'identifier les étudiants (en général, on choisit la colonne qui contient des numéros d'étudiants). Enfin, en vue d'une association automatique, il faut encore choisir le nom du code adopté dans la commande LaTeX AMCcode.

Association

Association automatique

En appuyant sur le bouton Association automatique de la partie Identification des étudiants, la recherche parmi la liste des codes renseignés par les étudiants s'opère. On peut ensuite observer ou paufiner le résultat grâce à une association manuelle.

[Avertissement]Avertissement

Pour effectuer une association automatique, il est nécessaire d'avoir utilisé au moins une fois la commande AMCcode (voir la section intitulée « Saisie de codes ») dans le fichier source LaTeX, et d'avoir une liste d'étudiants avec une colonne qui contient une référence (en général un numéro d'étudiant) qui sera identique à la saisie effectuée au niveau des cases produites par AMCcode.

Association manuelle

Pour ouvrir la fenêtre de reconnaissance des noms d'étudiants, cliquons sur le bouton Association manuelle de la partie Identification des étudiants. Cette fenêtre se compose d'une partie haute présentant successivement les noms inscrits par les étudiants, d'une partie basse comprenant un bouton par étudiant de la liste que nous avons fabriquée, ainsi que d'une partie droite qui permet une navigation aisée parmi les copies à identifier. Nous cliquons sur le bouton correspondant au nom inscrit en partie haute pour chaque page qui nous est présentée (par défaut, seules les copies non ou mal identifiées sont présentées. Ceci peut être changé en cochant la case associés). Quand toutes les pages sont lues, un fond bleu apparaît à la place des noms, et il ne nous reste plus qu'à cliquer sur le bouton Enregistrer de la fenêtre.

Export de la liste des notes

À ce stade, nous pouvons récupérer la liste des notes sous plusieurs formats (pour l'instant CSV et OpenOffice), grâce au bouton Exporter. Cet export s'accompagnera de l'ouverture du fichier produit par le logiciel approprié (si il est installé).

Annotation

En appuyant sur le bouton Annoter les copies, l'annotation des pages des étudiants commencera : sur chaque scan, les annotations suivantes sont effectuées :

  • les cases cochées à tort par l'étudiant sont entourées en rouge ;

  • les cases non-cochées qui auraient dû l'être sont cochées en rouge ;

  • les cases cochées et qui devaient l'être sont cochées en bleu ;

  • pour chaque question, sont indiquées la note obtenue ainsi que la note maximale pouvant être obtenue ;

  • la note globale de la copie est indiquée en première page de la copie.

Cette opération est effectuée page par page, et le résultat est constitué de pages corrigées au format JPG.

Si nous souhaitons distribuer les copies corrigées aux étudiants au format électronique, il est utile de fabriquer un fichier PDF par étudiant, à partir des pages annotées au format JPG qui lui correspondent. Ceci est effectué par l'action du bouton Regrouper. Le nom du fichier PDF qui contiendra la copie corrigée d'un étudiant donné est formé à partir du modèle indiqué dans le champ Modèle de nom de fichier. Dans ce modèle, les textes du type « (col) » seront remplacés par le contenu de la colonne nommée col dans le fichier listant les étudiants (voir section Liste des étudiants). Si on laisse ce champ vide, une valeur par défaut formée du nom de l'étudiant sera utilisée.