Faire des qcm simplement - retour accueil
git clone git://bebou.netlib.re/qcm
Log | Files | Refs | README |
writeqcm.sh (1734B)
1 #! /bin/sh 2 3 res=$(mktemp) 4 tmp=$(mktemp) 5 6 writequestion() { 7 echo "question: \"$q\"" >> $1 8 echo "type: $t" >> $1 9 [ -n "$o" ] && echo "options: $o" >> $1 10 [ -n "$c" ] && echo "choix: $c" >> $1 11 echo "unique: $r" >> $1 12 echo "demander\n" >> $1 13 } 14 15 confirmquestion() { 16 echo "La question : \n" >&2 17 cat $tmp 1>&2 18 conf=$(echo "oui\nnon" | gum choose --header="Cette question est correcte ?") 19 } 20 21 addquestion() { 22 echo "Le questionnaire complet : \n" >&2 23 cat $res 1>&2 24 fin=$(echo "oui\nnon" | gum choose --header="Ajouter une question ?") 25 } 26 27 gatherquestion() { 28 q=$(echo "$q" | 29 gum write \ 30 --header="Tapez votre question" \ 31 --placeholder="De quelle couleur est le cheval blanc d'Henri IV") 32 t=$(echo "qcm\nregex\nouverte" | 33 gum choose \ 34 --header="Quel type de question ?" \ 35 --selected=$t) 36 if [ "$t" = "qcm" ];then 37 c=$(echo "multiple\nunique" | 38 gum choose \ 39 --header="Choix multiple ou unique" \ 40 --selected=$c) 41 o=$(echo "$o" | 42 gum write \ 43 --header="Les options de réponses, une par ligne" \ 44 --placeholder="Réponse A" | 45 paste -s -d '~' -) 46 fi 47 [ "$t" = "regex" ] \ 48 && o=$(echo "$o" | 49 gum input \ 50 --header="La regex" \ 51 --placeholder="Par ex pour des années -?[0-9]+") 52 r=$(echo "oui\nnon" | 53 gum choose \ 54 --header="Une seule réponse autorisée ?" \ 55 --selected=$r) 56 } 57 58 command -V gum >&2 /dev/null || { echo "Il faut gum";exit 1; } 59 60 while [ "$fin" != "non" ];do 61 conf=;q=;t=;c=;o=;r=; 62 while [ "$conf" != "oui" ];do 63 cat /dev/null > $tmp 64 clear >&2 65 gatherquestion 66 writequestion $tmp 67 clear >&2 68 confirmquestion 69 done 70 writequestion $res 71 clear >&2 72 addquestion 73 done 74 75 [ -n "$1" ] && cat $res > $1 || cat $res 76