Ajout de données supplémentaires dans le code binaire en haut de page (Feature #546)
Description
Bonjour, à l'université nous utilisons AMC pour beaucoup d'interros et examens et nous avons donc une multitude de projets amc sur nos machines.
Pour un même examen, on a également parfois des séries comme A et B qui sont implémentées comme deux projets amc différents, mais qui se passent dans le même auditoire, les copies ont donc une probabilité d'être mélangées.
Nous aimerions pourvoir écrire un "projectID" par projet, qui serait imprimé sur les copies à côté du trio student/page/check, pour rester dans la logique du check, ce projectID serait accompagné d'un check également. (code au niveau latex)
Lors du scan, nous serions averti si l'on scanne une copie n'appartenant pas à ce projet. (code au niveau perl/cpp).
Un bouton pourrait également générer ce projectID
Sur le plus long terme, nous utiliserions le code AMC-detect pour soutirer cette information depuis un scan et de le réorienter automatiquement vers le bon projet amc.
Actuellement nous utilisons des techniques comme "les étudiants 1-300 = série A, et 301-600 = B" ou "nous faisons attention à ne pas séparer les paquets" mais nous pensons qu'une solution.
(Est-ce que les issues doivent être traduites en anglais ?)
Related issues
related to Feature #192: Automatic project selection using a QRcode on the subjects | New | 07/12/2013 |
History
Updated by Robert Vanden Eynde over 6 years ago
Apparemment AmcCode n'est pas le bon terme pour le trio +student/page/check+
encodés en \AMC@binaryBoxes
, je parle donc bien des codes barre binaires en haut des feuilles.
Updated by Robert Vanden Eynde over 6 years ago
En ayant un peu joué avec les fichiers, si j'arrête AMC-analyse
après la section ID Detection
de sub one_scan
, j'arrive à obtenir le trio +student/page/check+
, et donc un hypothétique projectID
. Par contre je comprends que j'ai dû donner le path d'un projet amc pour notamment lire les paramètres de layout width, height (je pense que le reste des paramètres comme markdiameter n'est utile que pour les étapes après l'id detection).
Si AMC-analyse
pouvait avoir une liste de path-de-projet, elle pourrait 1) vérifier que les width,height sont les mêmes pour tous les projets, et 2) choisir le projet ayant le bon id et y intégrer le scan comme d'habitude. On aurait donc une commande "multi-project". Le gui suivra peut-être après (je pense à un concept d'ensemble de projets, ou un Dossier, avec un group-options.xml qui contient les données communes, width, height).
Je verrais une option --choose-project-via-id
et l'option permettant de donner une liste de path de projets.
Peut-être que d'offrir la possibilité à l'utilisateur d'insérer d'autres données à côté du trio student/page/check
(projectID
ne serait qu'un exemple) qui serviraient pour des utilisations variées.
Dans mon exemple de AMC-analyse
multi projet, le script testera également si tous les projets ont activé le projectID
dans leur option.xml.
Tant que j'y suis, j'avais également mentionné que le projetID pouvait être généré, par exemple en prenant les 15 derniers bits d'un hash comme sha1 du nom de projet, ou générer un nombre aléatoire.
Updated by Alexis Bienvenüe over 6 years ago
AMC-analyse
avec les bons arguments. Je ne pense pas qu'on puisse utiliser les cases binaires qui codent +student/page/check+
car celles-ci sont censées être exactement au même endroit par rapport aux marques de coin sur chaque page, ce qui est possible sur un projet particulier mais vraisemblablement trop restrictif sur tous les projets.À faire :
- génération d'un identifiant unique (peut-être au moins en partie aléatoire) à chaque fois qu'on génère les documents du projet ;
- fabrication du QRcode correspondant pour utilisation par LaTeX en en-tête ou pied de page ;
- une nouvelle commande qui utilise
AMC-getimages
pour découper en un scan par pages, puis envoi àAMC-analyse
avec mention du projet qui va bien — penser à la gestion des erreurs de détection : QRcode non trouvé, QRcode qui ne correspond à aucun projet, échec d'AMC-analyse
… - faire le lien entre les arguments des commandes et les options du projet stockées dans le fichier
options.xml
, de telle sorte qu'AMC-analyse
(et les autres commandes tant qu'à faire) puisse être utilisé avec comme argument uniquement le répertoire projet et le scan.
Updated by Alexis Bienvenüe over 6 years ago
- Subject changed from Ajout de données supplémentaires dans AmcCode to Ajout de données supplémentaires dans le code binaire en haut de page
Updated by Robert Vanden Eynde over 6 years ago
Un QRCode me semble très bien, mais je pensais que l'ajout de données binaires dans le système déjà présent serait plus facile à implémenter. Pourquoi ne pas utiliser un QRCode pour le trio +student/page/check+
alors ? I devait bien y avoir une raison.
Placer un QRCode demanderait d'installer une librairie (perl, ou compilée) de qrcode ?
https://askubuntu.com/questions/22871/software-to-read-a-qr-code
Utiliser une bibliothèque externe semble en effet assez facile.
Updated by Alexis Bienvenüe over 6 years ago
Il devait bien y avoir une raison.
Cela ferait un QRcode différent pour chaque page, à générer à partir de LaTeX, et je n'ai pas trouvé de paquet LaTeX qui fait ça facilement. De plus, les cases binaires sont assez grosses, permettent une certaine robustesse à la détection et permettent de vérifier que l'on a bien détecté les marques de coin et donc la déformation due au scan.
Placer un QRCode demanderait d'installer une librairie (perl, ou compilée) de qrcode ?
Oui.