Sujets individuels uniques

Les propositions de correctifs ou d'exercices pour Pyromaths.

Modérateur: Développeurs

Petit follow-up

Messagede djinn » Sam 30 Mar 2013, 00:37

Finalement, j'ai mis en place le système de "je scanne le code barre avec mon smartphone, le sujet corrigé apparaît sur mon écran" sans coder de micro-serveur HTTP.
  • Mon smartphone est connecté en bluetooth avec mon ordi portable.
  • Quand je scanne un QRcode, le téléphone ouvre une URL qui pointe vers mon ordi et contient le n° du sujet en paramètre (ex.php?s=123).
  • Sur mon ordi, je me contente d''une ligne de commande, qui
    1. lit en continu le fichier /var/log/apache2/access.log,
    2. pipe les requêtes entrantes vers grep, lequel filtre les requêtes pertinentes,
    3. les pipe vers sed, lequel extrait le numéro du sujet considéré,
    4. pipe ce numéro vers un script qui lance pyromaths avec le numéro de sujet en question et m'affiche la correction.
En gros, ça donne un truc dans le genre:
tail -fn0 /var/log/apache2/access.log | grep --line-buffered "GET /ex.php?s=" |
sed --unbuffered -re "s/^.+ex\.php\?s=([0-9]+) .*$/\\1/" | ./show
Problem solved!

I ♥ UNIX… :D
Avatar de l’utilisateur
djinn
 
Messages: 183
Inscription: Dim 03 Mar 2013, 11:38

Re: Sujets individuels uniques

Messagede Jérôme » Sam 30 Mar 2013, 10:51

merci pour ce retour et félicitations pour la résolution de ton problème. je suppose que ./show est un script qui lance Pyromaths avec les paramètres voulus.
C'est chouette la coloration syntaxique dans le forum ! C'était une très bonne idée.
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL
Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
 
Messages: 1060
Inscription: Sam 26 Aoû 2006, 13:10
Localisation: Nantes

Re: Sujets individuels uniques

Messagede djinn » Sam 30 Mar 2013, 11:43

Merci. :) Ce n'a l'air de rien mais c'est vrai que sans coloration syntaxique la ligne de commande ci-dessus serait vraiment opaque…
Je me souviens de la première fois que j'ai utilisé un IDE avec coloration syntaxique: j'ai eu l'impression de gagner 10 points de QI d'un coup! ;)

Voilà le contenu du script "show" (attention, c'est de la haute volée):
#!/bin/bash
while read s
do
./pyromaths -br -s $s
done
Bon, par contre, c'est un hack qui suppose qu'on soit sur une plateforme UNIX et qu'on ait Apache (ou un autre serveur web qui logue les requêtes entrantes dans un fichier, de façon similaire à access.log). Autrement dit ce n'est pas, en l'état, généralisable à toutes les plateformes (suivez mon regard…).
Dernière édition par djinn le Sam 30 Mar 2013, 20:13, édité 1 fois.
Avatar de l’utilisateur
djinn
 
Messages: 183
Inscription: Dim 03 Mar 2013, 11:38

Re: Sujets individuels uniques

Messagede Arnaud » Sam 30 Mar 2013, 12:06

C'est une solution intéressante, mais il y a un truc que je ne comprends pas : si de toute façon tu as apache ( avec éventuellement php ) qui écoute, pourquoi ne pas faire simplement une page ex.php ?
Avatar de l’utilisateur
Arnaud
Critique officiel de pyromaths
 
Messages: 603
Inscription: Sam 26 Aoû 2006, 21:49
Localisation: Allemagne

Re: Sujets individuels uniques

Messagede djinn » Sam 30 Mar 2013, 13:45

En fait, le problème avec la technique que tu proposes c'est qu'ultimement, le résultat c'est l'ouverture d'evince sur mon écran (i.e. dans ma session graphique), pour m'afficher la correction.
Or, ex.php (Apache) tournant en-dehors de ma session graphique, il ne pourrait pas me lancer evince simplement. J'imagine que je pourrais lui spécifier la session cible (DISPLAY=:0 ?), mais il resterait probablement des problèmes de droits (le processus apache appartient à un autre utilisateur que ma session graphique).
Le hack ci-dessus permet de contourner ces deux problèmes. Cela dit, ça doit aussi être faisable via PHP… Tu ferais ça comment?

Note: J'ai une page ex.php, qui se contente d'afficher le n° du sujet scanné.
Dernière édition par djinn le Sam 30 Mar 2013, 16:50, édité 1 fois.
Avatar de l’utilisateur
djinn
 
Messages: 183
Inscription: Dim 03 Mar 2013, 11:38

Re: Sujets individuels uniques

Messagede Arnaud » Sam 30 Mar 2013, 15:39

Ok, dans ce cas mieux vaut ne pas le faire en php, c'est pas bon de donner un accès externe à ton display via php.
J'avais raté le fait que cela s'affichait sur ton ordi.
Avatar de l’utilisateur
Arnaud
Critique officiel de pyromaths
 
Messages: 603
Inscription: Sam 26 Aoû 2006, 21:49
Localisation: Allemagne

Re: Sujets individuels uniques

Messagede djinn » Sam 30 Mar 2013, 20:07

Oui, dans ce cas précis, j'ai besoin que la "correction" s'affiche à l'écran. Dans d'autres cas, tout aussi légitimes, on pourrait se contenter de la générer dans un dossier pour traitement ultérieur, par exemple, auquel cas la solution du script PHP s'avérerait en effet parfaitement pertinente.

J'écris "correction" entre guillemets car, pour respecter le paradigme pyromaths, il ne s'agit pas d'une correction en tant que telle.
En effet, pyromaths reconnaît deux entités: le sujet et sa correction, complète et détaillée. Dans mon cas, qui consiste à corriger rapidement plusieurs dizaines de copies toutes différentes (ordre des exercices, valeurs et résultats, et même ordre des réponses possibles pour les questions QCM), j'ai également besoin d'une troisième entité, que j'ai souvent appelé à tort "correction" et parfois appelé plus justement "sujet corrigé": il s'agit en fait du sujet lui-même (sans les fioritures: page de garde et formulaire) où les espaces réservés aux réponses des étudiants contiennent la réponse attendue. En bref: la copie parfaite.
D'ailleurs, je me repose une fois de plus sur un "hack" pour y parvenir, car il aurait été trop invasif (et trop couteux) d'intégrer cette entité dans le code à égalité des deux autres. Je me contente donc d'un flag hardcodé dans le module qui génère mes exercices: une valeur booléenne qui détermine si l'exercice généré inclura ou non la réponse attendue, dans la case réservée à la réponse de l'étudiant.
Je ne suis pas certain d'avoir mentionné tout cela suffisamment clairement dans mes posts précédents. Sans cette information, il était difficile pour toi d'anticiper mon besoin d'afficher immédiatement sur l'écran ce "sujet corrigé"… :)
Avatar de l’utilisateur
djinn
 
Messages: 183
Inscription: Dim 03 Mar 2013, 11:38

Précédente

Retourner vers Propositions

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 10 invités

cron