Implémentation du support de l'exportation vers PDF4Teachers (Feature #733)
Description
Bonjour,
je suis le développeur de l'application [[PDF4Teachers]https://github.com/ClementGre/PDF4Teachers], qui permet aux enseignants d'annoter et de noter des copies PDF rapidement. Nous avons certains utilisateurs en commun qui utilisent les deux applications en faisant à la fois des QCM et des questions ouvertes à coté. Ils commencent donc leurs travail sur AMC et corrigent les questions ouvertes sur PDF4Teachers.
Je pense qu'il serait alors utile d'implémenter à votre application une manière d'exporter les notes sous forme de fichier que pourrait lire PDF4Teachers.
Il faut savoir que PDF4Teachers fonctionne avec un système d'éditions : les notes et commentaires sont enregistrés sous forme d'un fichier, c'est l'édition d'un document. L'utilisateur peut ensuite exporter son fichier PDF vers un nouveau fichier, avec l'édition écrite en dur dans le PDF.
Les éditions sont enregistrés au format YAML, il est donc assez simple d'écrire des fichier de ce type, même sans API.
Je pensait que dans la fonction "Rapports" d'AMC , il aurait été intéressant d'ajouter l'option "Édition PDF4Teachers", dans la section Export des Notes.
Il faudrait donc créer un fichier formaté de cette manière (exemple) :
(Je vous donnerais bien sûr plus d'informations sur chacun des paramètres si vous acceptez ce projet).
grades:
- {x: 600, y: 574, page: 1, index: 0, parentPath: '', value: 14, total: 20, name: Total}
- {x: 165, y: 138, page: 1, index: 0, parentPath: \Total, value: 14, total: 20, name: QCM AMC}
- {x: 165, y: 400, page: 1, index: 0, parentPath: \Total\QCM AMC, value: 4, total: 5, name: Question 1}
- {x: 165, y: 539, page: 2, index: 1, parentPath: \Total\QCM AMC, value: 2, total: 5, name: Question 2}
- {x: 165, y: 138, page: 2, index: 2, parentPath: \Total\QCM AMC, value: 3, total: 5, name: Question 3}
- {x: 165, y: 138, page: 3, index: 3, parentPath: \Total\QCM AMC, value: 5, total: 5, name: Question 4}
Le fichier devrait ensuite être enregistré dans le dossier d'utilisateur /.PDF4Teachers/editions/<nom du fichier PDF correspondant avec l'extension .pdf>.yml
J'espère que mon projet de lien entre nos deux projets vous aura convaincu.
Cordialement Clément GRENNERAT
History
Updated by Alexis Bienvenüe almost 4 years ago
- traitement par AMC des questions à choix multiple, et questions ouvertes sur la copie (hors AMC, sans utilisation de
\AMCopen
) - export par AMC de la copie annotée (symboles sur chaque case mais pas les scores des questions), avec un fichier yml à côté qui reprend les notes des questions
- traitement de ces fichiers par PDF4Teachers, qui permet la correction des questions ouvertes et export final des notes (pour l'enseignant) et copies corrigées (pour les étudiants)
Si c'est bien le cas, je propose une option qui agisse plutôt lors de la fabrication des copies corrigées, pour le pas afficher les scores et l'en-tête mais tout de même les symboles sur les cases, et à la fois produire le fichier yml associé.
Il me semble que j'aurai besoin de précisions concernant le contenu du fichier yml attendu, et éventuellement de cas concrets avec un sujet, des copies, et le fichier yml attendu.
- Status changed from New to Feedback
Updated by Clément Grennerat almost 4 years ago
Il faudrait en effet que lors de la génération des copies corrigés, les notes des questions puissent être présente dans un fichier yml à part plutôt que dans la copie PDF.
Cependant, les notes ne sont pas affichés dans le document généré par l'onglet Notation. Il n'y a donc rien à changer au niveau du fichier PDF exporté, si ce n'est qu'il faudrait pouvoir générer un document PDF par élève et non pas une page par élève.
Il faudrait donc ajouter dans la section Export des notes une option "Édition PDF4Teachers", qui génèrerait un seul fichier yml qui contiendrait toutes les éditions.
La version 1.2.1 de PDF4Teachers qui devrait bientôt sortir, proposera en effet une méthode d'import et d'export d'éditions et il sera possible d'importer plusieurs éditions contenues dans un même fichier yml.
À propos des éditions :
Les éditions de PDF4Teachers sont enregistrés au format YAML. Elles ont à la racine les propriétés texts et grades. Ici seul grades va nous être utile.
Puisque toutes les éditions seront dans le même fichier yaml, les propriétés à la racine seront le nom du fichier PDF de l'élève et on retrouvera grades à l’intérieur (deux espaces avant le mot grades: pour marquer qu'il est à l'intèrieur).
Les noms de fichier dans l'édition YAML doivent correspondre exactement au fichier PDF généré
Exemple :
élève no1.pdf: grades: - [...] - [...] élève no2.pdf: grades: - [...] - [...] élève no3.pdf: grades: - [...] - [...]
Dans la section grades :
grades contient une liste YAML. On utilise donc des tirets alignés avec le mot grades: (donc toujours deux espaces avant).
Il y a différentes manières de représenter les donnés de chaque élément de la liste en YAML. Vous pouvez utilisez la méthode en ligne : les propriétés sont entre accolades et séparés par des virgules. le : sépare le mot clef de la valeur.
Chaque élément de la liste représente une note visible.
Voici un exemple :
élève no1.pdf: grades: - {x: 600, y: 574, page: 0, index: 0, parentPath: '', value: 14, total: 20, name: Total} - {x: 165, y: 138, page: 0, index: 0, parentPath: \Total, value: 14, total: 20, name: QCM AMC} - {x: 165, y: 400, page: 1, index: 0, parentPath: \Total\QCM AMC, value: 4, total: 5, name: Question 1} - {x: 165, y: 539, page: 2, index: 1, parentPath: \Total\QCM AMC, value: 2, total: 5, name: Question 2} - {x: 165, y: 138, page: 2, index: 2, parentPath: \Total\QCM AMC, value: 3, total: 5, name: Question 3} - {x: 165, y: 138, page: 3, index: 3, parentPath: \Total\QCM AMC, value: 5, total: 5, name: Question 4}
Sens des propriétés :
x : coordonné x du point supérieure gauche de la note sur une échelle de 0 à 1654 (nombre entier)
y : coordonné y du point supérieure gauche de la note sur une échelle de 0 à 2339 (nombre entier)
page : numéro de la page de la note (commence à 0)
Les barèmes de PDF4Teachers fonctionnent de manière hiérarchique. Chaque note peut avoir un parent, et il y a un ordre précis. Il faut donc toujours écrire les éléments de la liste dans l'ordre (d'abord le Total, après son premier enfant, les enfants de son premier enfant, puis le second enfant du total etc.).
index: l'indice de la note parmi les autres notes enfants du même parent. l'indice commence toujours à 0 pour le premier enfant, puis augmente. Lorsque une note n'est plus enfant du même parent, on reprend à 0 si c'est la première note, et sinon, on reprend de là ou on en était.
parentPath: Le chemin de la note parente. Chacun des noms des notes parentes sont ajoutés etséparés par un \. le Total a un parentPath qui est vide ('') car il n'a pas de parent. Les autres notes autont \Total ou même \Total\A) si la note est enfant d'un grand A).
value : la valeur de la note. pour un 6/10, value est égal à 6
total : la valeur maximale de la note. pour un 6/10, total est égal à 10
name : le nom visible de la note
Pour les chaines de caractère, il est possible de les afficher sans guillemets, mais si elles contiennent des caractères clés, il faut utiliser des guillemets ou des caractères d’échappement.
Vous retrouverez un exemple en pièce jointe.
Globalement, ce que vous devrez générer ressemblera à l'exemple montré plus haut, avec le Total, un parent nommé QCM AMC, puis tous ses enfants avec un enfant par question du QCM
élève no1.pdf: grades: - {x: 600, y: 574, page: 0, index: 0, parentPath: '', value: 14, total: 20, name: Total} - {x: 165, y: 138, page: 0, index: 0, parentPath: \Total, value: 14, total: 20, name: QCM AMC} - {x: 165, y: 400, page: 1, index: 0, parentPath: \Total\QCM AMC, value: 4, total: 5, name: Question 1} - {x: 165, y: 539, page: 2, index: 1, parentPath: \Total\QCM AMC, value: 2, total: 5, name: Question 2} - {x: 165, y: 138, page: 2, index: 2, parentPath: \Total\QCM AMC, value: 3, total: 5, name: Question 3} - {x: 165, y: 138, page: 3, index: 3, parentPath: \Total\QCM AMC, value: 5, total: 5, name: Question 4}
- File bar__me.png added
Updated by Alexis Bienvenüe almost 4 years ago
Il n'y a donc rien à changer au niveau du fichier PDF exporté, si ce n'est qu'il faudrait pouvoir générer un document PDF par élève et non pas une page par élève.
Le moment où AMC exporte des PDF par élève est la fabrication des copies annotées. On peut ajouter une option "PDF4Teachers" qui permettra :
- de fabriquer les copies annotées avec les symboles sur les cases mais sans les notes
- de générer le fichier code-qcm.yml qui va bien dans le même répertoire.
Est-ce que cela conviendrait ?
Updated by Clément Grennerat almost 4 years ago
C'est parfait, je vous laisse choisir où et comment exporter ces fichier, il faut juste bien les exporter comme vous l'avez décrit et comme je vous l'ai expliqué.
- Clément G.
Updated by Alexis Bienvenüe almost 4 years ago
J'ai l'impression que value: -1.0
correspond à une note inconnue et que PDF4Teachers ne permet pas de saisir une note négative ? Les barèmes d'AMC permettent de concevoir des QCM à points négatifs (et je connais des enseignants qui utilisent cette possibilité pour pénaliser de très mauvaises réponses, ou bien tout simplement déconseiller les réponses au hasard dans des QCM), ce qui pourra causer de légers soucis d'échange dans ce cas.
Updated by Clément Grennerat almost 4 years ago
En effet, -1 représente une note inconnue qui n'a pas de valeur et qui n'a pas encore été placée.
Puisque -1 représente les notes non entrées, il est impossible de mettre des notes négatives sur PDF4Teachers.
La seule solution que je voie pour traduire des notes négatives en notes positives, ce serait de modifier le total de/des notes, mais c'est vrais que c'est pas commode...
Updated by Clément Grennerat almost 4 years ago
La version 1.2.1 de PDF4Teachers a été publiée. Vous pourrez donc importer le fichier d'éditions généré par AMC dans PDF4Teachers via Outils > Importer un barème/édition > Importer une édition, puis choisir l'option qui propose d'ouvrir un fichier contenant une édition par fichier ouvert.
Il faudra donc bien ouvrir tous les fichiers PDF dans l'onglet des fichiers.
Vous pourrez donner cette explication lors de l'exportation d'AMC.
(
- Ouvrir tous les fichiers PDF dans PDF4Teachers sans les rennomer
- Outils > Importer une édition > Un fichier contenant une édition par document PDF
)