Ajout de données supplémentaires dans le code binaire en haut de page (Feature #546)


Added by Robert Vanden Eynde over 6 years ago. Updated over 6 years ago.


Status:New Start date:03/24/2018
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:-
Target version:-

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

Dans le même esprit : #192. L'idée est d'inclure un QRcode sur les pages du projet, contenant un identifiant de projet. On ajouterait une commande qui cherche le QRcode sur le scan (cela existe déjà bien sûr), puis cherche le répertoire projet qui a cet identifiant, et enfin appelle 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.

Also available in: Atom PDF