REX utilisation de pdfforms

Added by frederic laborderie 5 months ago

Bonjour,
je souhaite vous faire ici un petit retour de l'utilisation de pdfforms pour faire des questionnaires pdf que les étudiants peuvent remplir directement, sans passer par l'étape papier.
Avec le distanciel impossible de faire des QCM papier.

Rien à dire sur la création des copies, de mémoire j'ai juste rajouté la référence à pdf forms et ensuite à l'impression ça se fait tout seul.
J'en avais fait l'année dernière, lors du confinement, et je n'avais pas eu de problèmes de correction.
Cette année par contre...
Tous d'abord, je suis sous Ubuntu 18.04 / PC.

Pour commencer, impossible de voir un apperçu de la copie dans AMC (quand on vérifie le calage par exemple).
En fait il faut modifier les règles de sécurité d'imagemagick : https://stackoverflow.com/questions/52861946/imagemagick-not-authorized-to-convert-pdf-to-an-image

Ensuite, certaisn pdf produits sont inexploitables. Au lieu d'un beau carré noirci pour la réponse, il n'y a qu'un carré dessiné en gras. C'est je crois le résultat avec M$Edge, le navigateur de Win10.
Pour éviter cet ecueil, il a fallu transformer moi même le pdf en jpeg, en gérant la transparence et le fond grace à cette commande : "for files in .pdf; do pdftoppm -jpeg -r 150 $files ${files%.}; done", qui transforme tous les pdfs du repertoire courant.

Donc le bilan n'est pas très positif, d'autant qu'il y a eu d'autres problèmes avec ChromeOS, MacOS, les étudiants qui ne prennent pas la bonne copie, se trompent de numéro perso etc...
Pour les prochain test, je pense essayer de donner la possibilité aux étudiants de modifier directement sur le serveur où je poste les sujets (un serveur NextCloud). Je vais tester.
Sinon, je ferai autrement pour ces tests en distanciel.

Je suis aussi preneur de vos expériences de mise en oeuvre de pdf forms.
Et merci pour la création d'AMC, c'est vraiment bien fait.


Replies (28)

RE: REX utilisation de pdfforms - Added by Jean-Philippe Bartier 5 months ago

Bonsoir,

pour éviter que les étudiants se trompent de copie, je te suggère de mettre le nom sur les copies pour éviter de se tromper de numéro et également de copies.

Je n'ai utilisé pdfform qu'une fois en testant moi même avec 4 ou 5 copies et via windows.
Du coup, je te suggère de tester une version normale et de tenter de faire remplir les étudiants à l'aide de xournal++ si tu es sous windows/linux.
Sous android, tu peux avec samsung notes ou ecrire dans un pdf(?).
Cela doit exister également sous mac ou chrome os.

RE: REX utilisation de pdfforms - Added by Jean-Philippe Bartier 5 months ago

Je viens de regarder un peu plus

avec les packages \usepackage{fancyhdr,lastpage}

\fancyfoot[C]{\nom \\
\textbf{Page \thepage/\pageref{LastPage}}}

te met sur chaque page le nom de l'étudiant (\nom vient du fichier csv qui te permet une association avec l'étudiant) sur chaque copie du bon étudiant et en dessous cela te met la page du sujet de l'étudiant sur le nombre total de pages de l'étudiant.

Cela évitera des déconvenues.

(je viens de vérifier avec mon amc qui est sous ubuntu 20.04 et cela marche)

RE: REX utilisation de pdfforms - Added by frederic laborderie 5 months ago

Merci pour cette info, je ne connaissais pas ces packages,
c'est vrai que cela permettrait de faire facilement des copies personnalisées.
Je vais regarder xournal++.
Je ne leur ai pas imposé l'utilisation d'un lecteur de pdf particulier, et la plupart des étudiants n'ont pas eu de problème.
Mais traiter le cas des qques uns qui ont eu des problèmes (par négligence...) est très couteux.

RE: REX utilisation de pdfforms - Added by Gérard Carpeaux 5 months ago

xournal++ ne semble pas indiqué https://gitlab.com/jojo_boulix/auto-multiple-choice/-/commit/670c70154601a31b35d203659d942f1d071c85f6
J'ai un copain qui a fait ce type de devoir pendant le confinement et qui trouvait que adobe était le meilleur suivi foxit reader.
Le problème venait aussi des élèves qui utilisaient le lecteur pdf de leur téléphone portable.

En mode prérempli, je mets le nom dans \champnom en haut de la copie.

\noindent{}\champnom{\fbox{    
\begin{minipage}{0.97\linewidth}
{\Large\nom{}~\prenom{}  \hfill  Durée : 15~minutes\hfill note~:\hfill\slash{}20\null}      
\vspace*{1mm}
\end{minipage}
}}

RE: REX utilisation de pdfforms - Added by Alexis Bienvenüe 5 months ago

xournal++ ne semble pas indiqué

Normalement avec la nouvelle version cela devrait aller mieux.
J'ai remarqué que certains étudiants utilisaient xournal++ (ou un autre logiciel du même genre), qui ajoutait une couche avec des traits pour cocher les cases à la main au-dessus du PDF, mais sans modifier les cases de type formulaire PDF.
AMC pouvait lire le formulaire PDF sous-jacent et donc ignorait les traits, croix faits à la main. Ma modification est donc la suivante : si le formulaire PDF ne contient aucune case cochée, on utilise la copie comme scan, ce qui permet de voir les traits à la main.
Cependant, ce n'est pas idéal car j'ai remarqué que certains étudiants m'ont renvoyé des fichiers PDF qui contiennent les deux sources d'information : quelques cases cochées (sans doute un essai de l'étudiant qui croyait que ça ne marchait pas), et plein de cases cochées à la main en dessinant. Dans ce cas, AMC n'a considéré que les cases cochées en formulaire PDF, et pas les dessins à la main…

RE: REX utilisation de pdfforms - Added by frederic laborderie 5 months ago

Je viens d'essayer avec un pdf mis à disposition sur un serveur Nexcloud, ça ne marche pas, on ne peut pas modifier le pdf;
Comme le problème vient de la saisie du pdf, je me demandais s'il ne serait pas plus facile de leur faire remplir un fichier XL ?

RE: REX utilisation de pdfforms - Added by Joss OUIN 5 months ago

Bonjour à tous,

Je viens ici donner un retour d'expérience en ce qui concerne les sujets "formulaires" réalisés avec l'option "pdfform" d'AMC :

Les étudiants ont des environnements différents (PC, explorateurs Internet, MAC, etc.) et donc des logiciels "lecteurs de PDF" différents. pour MAC, il y a des soucis avec le logiciel "Aperçu" livré avec MAC. Pour Windows, il y a des soucis avec les formulaires PDF complété avec le navigateur "Microsoft Edge".

J'ai trouvé une solution qui met tout le monde d'accord et qui évite les problèmes de formulaires "non reconnus", c'est Adobe Acrobat Reader DC (logiciel gratuit).
Lien : https://get.adobe.com/fr/reader/

Je demande aux étudiants de n'utiliser que ce logiciel. Je n'ai jamais eu de soucis de copies non reconnues par AMC.

Voilà pour ces infos qui pourront aider les autres.

Bonne journée.

J/O

RE: REX utilisation de pdfforms - Added by Jean-Philippe Bartier 5 months ago

Bonjour à tous,
en regardant plus en détail, les package pdfform et lastpage sont en conflits. J'y ai passé quelques heures et après avoir échoué, je me suis rappelé qu'AMC pouvait voir le nombre de pages, et en cherchant, j'ai trouvé https://project.auto-multiple-choice.net/boards/4/topics/7298 (oui encore une fois, je me pose les mêmes questions que J/O et la réponse y est)

Il me vient du coup quelques questions :
1) répondre aux questions avec pdfform marche avec adobe acrobat reader sur mac et windows, mais est ce aussi le cas sous android, iphone, ou linux ?
2) comment faites vous pour que chacun prenne son sujet ? Vous coupez le sujet (J/O suggérait pdfsam, puis un envoi avec thunderbird/mailmerge il me semble), ou vous mettez le sujet quelque part, et chaque étudiant doit découper sa partie (comment ?) ou une autre solution ?

3) J'ai parfois quelques soucis avec moodle pour coder correctement (notamment lors de la synchronisation des constantes avec des questions avec "joker")
Je me demande donc si cela vaut le coup, en distanciel, d'utiliser plutôt pdfform avec amc ou le test sous moodle (désolé, je sors un peu du thème de la question)

RE: REX utilisation de pdfforms - Added by Jean-Philippe Bartier 5 months ago

Merci à tous et bonne journée,

Jean-Philippe

RE: REX utilisation de pdfforms - Added by Alexis Bienvenüe 5 months ago

mais est ce aussi le cas sous android, iphone, ou linux ?

Android et iphone je ne sais pas. Sur linux, il n'y a pas de version d'acrobat reader, mais les logiciels standard comme evince ou okular fonctionnent bien.

Vous coupez le sujet

Oui, par exemple en utilisant « imprimer dans des fichiers » avec AMC

et chaque étudiant doit découper sa partie (comment ?)

Personnellement j'ai utilisé les copies personnalisées, avec nom de fichier qui contient le numéro d'étudiant, ce qui me permet de mettre les sujets à disposition individuellement sur la plate-forme de mon établissement, de manière automatique. La version de développement d'AMC permet également l'envoi automatique par courriel.

Je me demande donc si cela vaut le coup, en distanciel, d'utiliser plutôt pdfform avec amc ou le test sous moodle (désolé, je sors un peu du thème de la question)

AMC a été conçu pour des examens en présentiel. En distanciel, je dirais que moodle est mieux adapté, mais je comprends qu'on ait envie d'utiliser AMC/pdfform si les étudiants sont habitués à cette présentation de QCM, ou si l'enseignant a déjà écrit de nombreuses questions avec AMC et/ou n'est pas à l'aise avec moodle par exemple.

RE: REX utilisation de pdfforms - Added by Joss OUIN 5 months ago

Bonsoir à tous,

Oui effectivement sous Linux, les logiciels comme evince fonctionnent bien.

Deuxième retour d'expérience :
Personnellement j'utilise les formulaires "pdfform" avec AMC pour créer mes devoirs "à distance" ainsi que les devoirs à la maison (en temps libre).

Voici ma démarche :
Avant le devoir :
1/ Je crée le sujet AMC de 150x3 = 450 pages au total dans un seul fichier (150 sujets de 3 pages chacun).
2/ J'utilise PDF Sam Basic (gratuit) pour découper ces sujets tous les 3 pages : https://pdfsam.org/fr/download-pdfsam-basic/
3/ Je renomme mes sujets avec le nom de chaque étudiant.
4/ Je protège l'ouverture de chaque fichier par mot de passe (N° Etudiant)
5/ Je dépose ces sujets sur Moodle "en vrac" et chaque étudiant prend le sujet à son nom (cela évite les envois par mail).

Après le devoir :
6/ A la fin du devoir, les étudiants déposent leur sujet complété sur Moodle.
7/ Je récupère les copies sur Moodle et je peux les corriger avec AMC après avoir retiré la protection par mot de passe.
8/ Au cas où un étudiant aurait oublié de coder son N° Etudiant, j'ai crée un fichier qui me donne les N° des sujets et les noms correspondants.

Remarques :
Pourquoi le 4: ? réponse : pour éviter qu'un étudiant se trompe de sujet (même si son nom est écrit sur le nom du fichier ...) et éviter ainsi que deux étudiants traitent le même sujet.

J'ajoute que pour identifier les sujets, j'utilise le N° Etudiant de 6 chiffres présent sur la carte d'étudiant. Les étudiants codent ce numéro sur leur sujet.

Voici un exemple du fichier .csv qui permet à mon script Python de trouver les noms des étudiants et les N° Etudiant pour protéger l'ouverture du fichier PDF.

nom,prenom,etu,mail
BIDULE,Jean,203098,jean-bidule@etu.univ-nantes.fr
INTEL,Paul,209050,paul.intel@etu.univ-nantes.fr
VADOR,Dark,192874,dark.vador@etu.univ-nantes.fr

Voici un exemple du fichier décrit au 8/

Num-Sujet,Nom,Prenom,QCM-Number
1,BIDULE,Jean,203098
2,INTEL,Paul,209050
3,VADOR,Dark,192874

Informations complémentaires :
1/ Comment renommer les sujets des étudiants avec leur nom ?
J'utilise un script Python à partir d'un Terminal sous Linux. Ce script permet également de protéger l'ouverture du sujet PDF.
Je joins ce script à ce post.

2/ Comment retire la protection en ouverture des sujets PDF ?
J'utilise un autre script Python que je joins également à ce post.

Pour connaître les arguments à saisir, il suffit de taper un "?" à la fin de la ligne.
Par exemple :

python3 renommage_cryptage_copies_AMC.py ?

ou

python3 decryptage_copies_AMC.py ? 

Il me reste à vous souhaiter une bonne soirée.
J/O

renommage_cryptage_copies_AMC.py - Script Python pour renommer et protéger en ouverture les sujets PDF (2.9 kB)

decryptage_copies_AMC.py - Script Python pour retirer la protection en ouverture des sujets PDF (1.4 kB)

RE: REX utilisation de pdfforms - Added by Alexis Bienvenüe 5 months ago

Très joli. Les étapes 2, 3, 4 peuvent maintenant être effectuées à partir d'AMC.

RE: REX utilisation de pdfforms - Added by Jean-Philippe Bartier 5 months ago

Merci à tous les deux pour votre aide.

J'imagine que sous AMC, pour les points 2, 3 et 4, il faut la version test et non la stable.
J'utilise la stable mais je pense que je vais voir ce que donne la version test (je vais chercher comment faire) car je ne vois pas entre autre comment imprimer dans amc avec ma version 1.4.0 (le reste, il me semble déjà avoir vu ici qu'il fallait la version test)
Elle me faisait un peu peur la version test car je suis encore débutant sur AMC.

Du coup, je suis étonné du choix d'AMC à distance plutôt que moodle (gain de temps pour éviter de coder deux fois?)
Cela me fatigue un peu de faire en double des questions sur AMC/moodle à chaque fois (et je trouve AMC un peu plus simple/lisible)

Bonne soirée et merci !

RE: REX utilisation de pdfforms - Added by Jean-Philippe Bartier 5 months ago

python3 renommage_cryptage_copies_AMC.py ?

Je commence à comprendre le renommage cryptage du script, mais je ne sais pas quel argument donné à [OwnerPwd] pour lui dire d'aller chercher le mot de passe dans le csv (le reste se passe bien jusque là)

Il va vraiment falloir que je commence à me mettre à python quand j'aurais le temps!

RE: REX utilisation de pdfforms - Added by Alexis Bienvenüe 5 months ago

J'imagine que sous AMC, pour les points 2, 3 et 4, il faut la version test et non la stable.

En effet.

RE: REX utilisation de pdfforms - Added by Joss OUIN 5 months ago

Bonjour,

Je commente les arguments des scripts Python :

Pour le script "renommage_cryptage_copies_AMC.py"

[DossierInitial] [DossierRenommer] [DossierCrypter] [OwnerPwd] [Generic] [Denomination] [FichierCSV]

Dans l'ordre :
1/ Nom du dossier comportant les fichiers initiaux "découpés"
2/ Nom du dossier où seront placés les fichiers renommés avec les noms des étudiants
3/ Nom du dossier où seront placés les fichiers protégés par mot de passe
4/ Mot de passe "propriétaire" (confidentiel) qui permet de créer les fichiers protégés "étudiants"
5/ Nom générique des fichiers découpés. Par exemple "DS2_MAT1_" si les fichiers se nomment "DS2_MAT1_1.pdf", "DS2_MAT1_2.pdf", etc.
6/ Nom des fichiers renommés. Par exemple "Devoir-MAT1" pour des fichiers qui se nommeront "Devoir-MAT1_Dupont_Jean_Sujet_Numéro_124.pdf"
7/ Nom du fichier .csv. Par exemple "promotion_2.csv"

-

Pour le script "decryptage_copies_AMC.py"

[DossierCrypter] [DossierDecrypter] [OwnerPwd] [Suffixe]

Dans l'ordre :
1/ Nom du dossier où se trouve les fichiers protégés par mot de passe
2/ Nom du dossier où placer les fichiers qui ne seront plus protégés par mot de passe
3/ Mot de passe "propriétaire" : c'est LE mot de passe qui permet d'avoir les droits pour retirer un mot de passe
Ce mot de passe est le même que celui qui a permis de créer des mots de passe "étudiants".
4/ Suffixe : une lettre ou un mot pour "marquer" le fichier. Par exemple "d", ainsi les fichiers se termineront par "d" (Sujet_math_Dupont-Olivier_Sujet_145_d.pdf)

Voilà pour ces quelques précisions.
Bonne journée.
J/O

RE: REX utilisation de pdfforms - Added by Jean-Philippe Bartier 5 months ago

Hello,
ce qui me pose problème est le point numéro 4 du renommage cryptage car lorsque je rentre le mot de passe dans le terminal par exemple etu, il me donne etu pour tous les fichiers et ne va pas chercher le personnalisé.
Le reste, en regardant et avec les explications dans le fichier, j'ai compris en utilisant. Je tape ceci sans souci(et cela marche)

python3 renommage_cryptage_copies_AMC.py / Enoncesansmdp Enonceavecmdp ? DS2_MAT1_ Devoir-MAT1 liste.csv

sauf que cela me donne "?" comme mots de passe pour tous les fichiers pdfs et que c'est ce point qui me pose problème (je n'ai pas compris comment rendre ce mot de passe propriétaire).

Merci pour ces explications complémentaires.
Cela me servira également pour faire couper des sujets "classiques" personnalisés sans AMC (grâce au package csvreader que j'ai commencé à utiliser 2 ou 3 mois avant de découvrir amc)

Merci à tous les deux,

Bonne journée,

JPhilippe

RE: REX utilisation de pdfforms - Added by Joss OUIN 5 months ago

Bonjour,

python3 renommage_cryptage_copies_AMC.py / Enoncesansmdp Enonceavecmdp ? DS2_MAT1_ Devoir-MAT1 liste.csv

Voici ce qu'il faut saisir ici :

python3 renommage_cryptage_copies_AMC.py Enoncesansmdp Enonceavecmdp TOTO DS2_MAT1_ Devoir-MAT1 liste.csv

Ainsi le mot de passe "propriétaire" sera TOTO.
Le script va chercher les N° Étudiants dans le fichier .csv afin de protéger les PDF en ouverture avec ces N° Etudiants.
Le mot de passe TOTO permet d'ouvrir tous les fichiers c'est normal (mot de passe propriétaire (confidentiel)). Il est nécessaire également pour ôter la protection des fichiers.

Bonne journée.
J/O

RE: REX utilisation de pdfforms - Added by Jean-Philippe Bartier 5 months ago

Merci, je n'avais pas compris qu'il y avait un mot de passe qui pouvait tous les ouvrir (je n'ai jamais protégé de pdf).
Désolé du dérangement, je crois bien que je suis un boulet! :)

Bonne journée !

Jean-Philippe

RE: REX utilisation de pdfforms - Added by Joachim Lebovits 4 months ago

Bonsoir,

Et merci Alexis Bienvenue pour ce travail remarquable!

Merci également Joss Ouin pour ces deux scripts Python qui sont parfaits!
Il me reste trois questions, pointues s'il en est:

1-Alexis avait l'air de dire que l'on pouvait mettre un mot de passe et le nom des étudiants sur chaque fichier avant l'envoi des sujets aux étudiants par mail?
J'ai cherché mais je ne vois rien dans la doc ou ailleurs à ce sujet. Est-ce que quelqu'un sait comment faire?

Deuxième question un peu beaucoup redondante avec la première.
2-Est-il possible, via AMC de choisir le nom générique des fichiers d'examens individuels (en utilisant le fichier csv des noms d'étudiants par exemple) avant de les envoyer?
Je m'explique, j'utilise la pré-association et peux donc envoyer chaque sujet par mail aux étudiants. Chaque pdf contenant, à l'intérieur le nom de l'étudiant à qu'il est destiné.
Malheureusement le fichier pdf que reçoit l'étudiant par mail est subject.pdf. Et je voudrais que soit Nom_Prenom_Examen_de_math. Exactement comme sont libellés les copies, une fois corrigées, et avant d'être renvoyées aux étudiants.

L'intérêt étant d'ailleurs de ne pas avoir Sheet-0001.pdf, Sheet-0002.pdf lorsque l'on veut utiliser le programme de Joss ouin (ce qui pose des problèmes au delà de la 10 ème copie...).

3-Est-il possible de créer un bouton de soumission et (clear button) sur le sujet qui enverrait directement le pdf rempli à l'url ou l'adresse mail de notre choix?

Ça éviterait que les étudiants l'envoie n'importe où en expliquant que si si ils l'on bien envoyé là où il fallait mais que vraiment c'est pas de chance....

MERCI

RE: REX utilisation de pdfforms - Added by Alexis Bienvenüe 4 months ago

Mot de passe des fichiers PDF : avec la pré-association, au moment de l'impression des copies dans des fichiers :

Et pour le nom de fichier (on ne peut pas tout faire, attention en particulier au caractère _ qui ne doit pas marcher) :

\AMCassociation[\nom-\prenom]{\id}

passwd.png (53.2 kB)

RE: REX utilisation de pdfforms - Added by Alexis Bienvenüe 4 months ago

3-Est-il possible de créer un bouton de soumission et (clear button)

Sans doute, je ne suis pas spécialiste des formulaires PDF. hyperref le propose alors cela doit être possible.

RE: REX utilisation de pdfforms - Added by Alexis Bienvenüe 4 months ago

Quoique finalement les boutons créés avec hyperref semblent ne pas fonctionner avec mon lecteur de PDF…
J'avais essayé quelque chose comme ça juste après le \begin{document} :

\makeatletter
\def\boutons{
\def\Form@action{mailto:teacher@exemple.com}
\Submit{Envoyer} — \Reset{Effacer}
}
\makeatother

et puis à la fin de la description de la copie : \boutons

RE: REX utilisation de pdfforms - Added by Joachim Lebovits 4 months ago

Bonsoir,

Et merci pour cette réponse rapide!

1-Pour l'association nom_prenom sur la copie avant l'envoi cela fonctionne parfaitement (tant qu'il n'y a pas d'accent dans les noms ou prénoms des étudiants dans le fichier csv). Merci!

En revanche pour le mot de passe, je n'ai pas la même version d'AMC que vous manifestement car moi j'ai une interface plus vieille semble-t-il (cf. la pièce jointe). Comme mon mac fixe date de 2013 il est possible que je ne puisse pas supporter de version plus récente (je ne sais pas).
Ce que je ne m'explique c'est la raison pour laquelle sur mon mac portable (qui date de 2011) tout est français, tandis que sur la version sur mon fixe tout est anglais (j'ai du rater une marche à un moment). J'attendrai le prochain ordinateur pour disposer de cet outil supplémentaire.

Enfin, pour les boutons, je ne suis pas certain de comprendre comment je dois faire exactement.
J'ai bien mis
\makeatletter
\def\boutons{
\def\Form@action{mailto:}
\Submit{Envoyer} — \Reset{Effacer}
}
\makeatother

après \begin{document} (ligne 202 du fichier TeX joint) et ajouté \Boutons{} un peu partout pour voir (car Boutons me renvoyait systématiquement un message d'erreur). Je l'ai laissé ligne 98 et le mieux que j'ai obtenu c'est le pdf attaché. Malheureusement les liens sont inopérants. Désolé si je n'ai pas compris votre instruction.

Cordialement,

RE: REX utilisation de pdfforms - Added by Joachim Lebovits 4 months ago

Bon je viens de comprendre qu'il fallait regarder le pdf sans aperçu mais avec un vrai lecteur de pdf. Cela semble marcher mais je ne sais pas encore si AMC accepte ce pdf récupéré.
Je vous dis ça très vite.

Une dernière question; est-ce qu'on peut modifier simplement le code TeX pour que la soumission "dépose" le fichier sur l'url de notre choix (par exemple un fichier dropbox qui servirait à collecter toutes les copies)?
Merci

1 2 Next » (1-25/28)