From aab32494863e34d762d98ee1783096134c29c935 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20M=2E=20Thi=C3=A9ry?= <nthiery@users.sf.net>
Date: Thu, 2 Oct 2014 01:13:20 +0200
Subject: [PATCH] WIMS: V2 de l'exo de lecture de programme

---
 TODO                                          | 87 +++++++++++++++++++
 .../INDEX                                     |  0
 .../Makefile                                  |  3 +-
 .../NEWS                                      |  0
 .../README                                    |  0
 .../TODO                                      |  0
 .../about.phtml                               |  0
 .../data/function_blackjack.cpp               |  0
 .../data/function_factorial.cpp               |  0
 .../data/function_max.cpp                     |  0
 .../data/if_semicolon.cpp                     |  0
 .../data/loop_do_while_factorial.cpp          |  0
 .../data/loop_for_factorial.cpp               |  0
 .../data/loop_indices.cpp                     |  0
 .../data/loop_indices_2.cpp                   |  0
 .../data/loop_syracuse.cpp                    |  0
 .../data/loop_while_factorial.cpp             |  0
 .../data/variable_assign.cpp                  |  0
 .../data/variable_factorial7.cpp              |  0
 .../endhook.phtml                             |  0
 .../help.phtml                                |  0
 .../intro.phtml                               |  0
 .../introhook.phtml                           |  0
 .../main.phtml                                |  0
 .../src/cpp/guess_output.cpp                  | 31 ++++---
 .../var.proc                                  |  0
 26 files changed, 103 insertions(+), 18 deletions(-)
 create mode 100644 TODO
 rename {guess_output => test~coding~readingCppPrograms.fr}/INDEX (100%)
 rename {guess_output => test~coding~readingCppPrograms.fr}/Makefile (86%)
 rename {guess_output => test~coding~readingCppPrograms.fr}/NEWS (100%)
 rename {guess_output => test~coding~readingCppPrograms.fr}/README (100%)
 rename {guess_output => test~coding~readingCppPrograms.fr}/TODO (100%)
 rename {guess_output => test~coding~readingCppPrograms.fr}/about.phtml (100%)
 rename guess_output/data/function-blackjack.cpp => test~coding~readingCppPrograms.fr/data/function_blackjack.cpp (100%)
 rename guess_output/data/function-factorial.cpp => test~coding~readingCppPrograms.fr/data/function_factorial.cpp (100%)
 rename guess_output/data/function-max.cpp => test~coding~readingCppPrograms.fr/data/function_max.cpp (100%)
 rename guess_output/data/if-semicolon.cpp => test~coding~readingCppPrograms.fr/data/if_semicolon.cpp (100%)
 rename guess_output/data/loops-do-while-factorial.cpp => test~coding~readingCppPrograms.fr/data/loop_do_while_factorial.cpp (100%)
 rename guess_output/data/loops-for-factorial.cpp => test~coding~readingCppPrograms.fr/data/loop_for_factorial.cpp (100%)
 rename guess_output/data/loop-indices.cpp => test~coding~readingCppPrograms.fr/data/loop_indices.cpp (100%)
 rename guess_output/data/loop-indices-2.cpp => test~coding~readingCppPrograms.fr/data/loop_indices_2.cpp (100%)
 rename guess_output/data/loop-syracuse.cpp => test~coding~readingCppPrograms.fr/data/loop_syracuse.cpp (100%)
 rename guess_output/data/loops-while-factorial.cpp => test~coding~readingCppPrograms.fr/data/loop_while_factorial.cpp (100%)
 rename guess_output/data/variables-assign.cpp => test~coding~readingCppPrograms.fr/data/variable_assign.cpp (100%)
 rename guess_output/data/variables-factorial7.cpp => test~coding~readingCppPrograms.fr/data/variable_factorial7.cpp (100%)
 rename {guess_output => test~coding~readingCppPrograms.fr}/endhook.phtml (100%)
 rename {guess_output => test~coding~readingCppPrograms.fr}/help.phtml (100%)
 rename {guess_output => test~coding~readingCppPrograms.fr}/intro.phtml (100%)
 rename {guess_output => test~coding~readingCppPrograms.fr}/introhook.phtml (100%)
 rename {guess_output => test~coding~readingCppPrograms.fr}/main.phtml (100%)
 rename guess_output/src/cpp/guess_output.oef => test~coding~readingCppPrograms.fr/src/cpp/guess_output.cpp (71%)
 rename {guess_output => test~coding~readingCppPrograms.fr}/var.proc (100%)

diff --git a/TODO b/TODO
new file mode 100644
index 0000000..c496f6e
--- /dev/null
+++ b/TODO
@@ -0,0 +1,87 @@
+* Collections de programmes + randomisation + résultat
+** Features
+- [X] Code colorization
+- [X] Selection of topic based on file prefix
+- [ ] Output dans un textarea
+      `symtext` almost does the job but the comparison is not yet
+      configured properly:
+
+  	1 2 4 8 mauvaise réponse, la bonne réponse est 1.
+- [ ] Randomization of the variable names
+- [ ] Randomization of the output by substitution (preprocessing)
+- [ ] Implement more logic in WIMS
+- [ ] Onsite compilation and production of the output
+- [ ] Support for various programming languages, based on file extension
+- [ ] Separate clearly the expected output from the rest of the text
+** Programs
+  - variables-assign.cpp est un peu trop long
+  - ceux avec factorielle sont trop prévisibles sans lire le code
+** Substitution des variables?
+
+\text{code=\wims(replace internal resultat par \resultat)}
+** Utiliser un textarea pour les entrées
+Fonctionalite à rajouter à WIMS?
+
+Il est possible de définir ses propres types d'entrées. Voir
+public_html/scripts/anstype pour des exemples. En particulier
+symtext. Voir la documentation; il doit y avoir des options pour ne
+pas
+
+État actuel:
+
+
+* Choisir l'entrée pour que ...
+* Écrire un programme qui ... par exemple pour n=5 ... copier coller le résultat ici
+* Exercices existant: U1 / algo
+  Non fonctionnels en l'état (requiers un chroot qui n'est plus fonctionnel)
+* Notes techniques sur WIMS
+** Créer ses propres utilitaires
+
+   public_html/bin/sigdigits
+   other/bin
+
+   Ces programmes sont exécutables sans restriction par n'importe quel
+   auteur de module OEF/... Donc doivent être parfaitement sûr
+
+   \text(toto=wims(exec ccc parametres ...)}
+
+** Créer ses programmes exécutables seulement par module de confiance
+** Créer un index et chercher des infos dedans:
+
+   wims(lookup ... in ...)
+
+   src2def peut générer de tels index (voir aussi mkindex)
+
+   Il est possible qu'il existe déjà un index pour les *.data
+** Compiler un module
+
+Depuis la racine du module:
+
+/opt/WIMS/other/bin/src2def
+
+Mettre le module dans
+
+/opt/WIMS/public_html/modules/devel/home/nthiery
+
+** Compiler WIMS
+
+sudo apt-get install libgd-dev 
+
+./compile --mathjax
+
+dans bin/apache-config:
+- remplacer apache2 par apache2ctl
+- forcer confdir=/etc/apache2
+-        conffile=$confdir/conf-available/wims.conf
+
+mistral-/etc/apache2/conf-enabled> sudo ln -s ../conf-available/wims.conf .
+
+Still getting:
+
+http://127.0.0.1/wims/
+
+You don't have permission to access /wims/ on this server.
+
+
+
+Se créer un compte développeur
diff --git a/guess_output/INDEX b/test~coding~readingCppPrograms.fr/INDEX
similarity index 100%
rename from guess_output/INDEX
rename to test~coding~readingCppPrograms.fr/INDEX
diff --git a/guess_output/Makefile b/test~coding~readingCppPrograms.fr/Makefile
similarity index 86%
rename from guess_output/Makefile
rename to test~coding~readingCppPrograms.fr/Makefile
index c271f54..e9f8356 100644
--- a/guess_output/Makefile
+++ b/test~coding~readingCppPrograms.fr/Makefile
@@ -1,11 +1,10 @@
 PROGRAMS=$(wildcard data/*.cpp)
 OUTPUT=$(PROGRAMS:%=%.output)
-TARGETS=variables if loop function
+TARGETS=variable if loop function
 all: data/index $(OUTPUT)
 
 data/index: $(PROGRAMS)
 	cd data; \
-	(echo "all: "`ls -m $$target_*.cpp`) > index; \
 	for target in $(TARGETS); do \
 	    (echo "$$target: "`ls -m $${target}_*.cpp`) >> index; \
 	done
diff --git a/guess_output/NEWS b/test~coding~readingCppPrograms.fr/NEWS
similarity index 100%
rename from guess_output/NEWS
rename to test~coding~readingCppPrograms.fr/NEWS
diff --git a/guess_output/README b/test~coding~readingCppPrograms.fr/README
similarity index 100%
rename from guess_output/README
rename to test~coding~readingCppPrograms.fr/README
diff --git a/guess_output/TODO b/test~coding~readingCppPrograms.fr/TODO
similarity index 100%
rename from guess_output/TODO
rename to test~coding~readingCppPrograms.fr/TODO
diff --git a/guess_output/about.phtml b/test~coding~readingCppPrograms.fr/about.phtml
similarity index 100%
rename from guess_output/about.phtml
rename to test~coding~readingCppPrograms.fr/about.phtml
diff --git a/guess_output/data/function-blackjack.cpp b/test~coding~readingCppPrograms.fr/data/function_blackjack.cpp
similarity index 100%
rename from guess_output/data/function-blackjack.cpp
rename to test~coding~readingCppPrograms.fr/data/function_blackjack.cpp
diff --git a/guess_output/data/function-factorial.cpp b/test~coding~readingCppPrograms.fr/data/function_factorial.cpp
similarity index 100%
rename from guess_output/data/function-factorial.cpp
rename to test~coding~readingCppPrograms.fr/data/function_factorial.cpp
diff --git a/guess_output/data/function-max.cpp b/test~coding~readingCppPrograms.fr/data/function_max.cpp
similarity index 100%
rename from guess_output/data/function-max.cpp
rename to test~coding~readingCppPrograms.fr/data/function_max.cpp
diff --git a/guess_output/data/if-semicolon.cpp b/test~coding~readingCppPrograms.fr/data/if_semicolon.cpp
similarity index 100%
rename from guess_output/data/if-semicolon.cpp
rename to test~coding~readingCppPrograms.fr/data/if_semicolon.cpp
diff --git a/guess_output/data/loops-do-while-factorial.cpp b/test~coding~readingCppPrograms.fr/data/loop_do_while_factorial.cpp
similarity index 100%
rename from guess_output/data/loops-do-while-factorial.cpp
rename to test~coding~readingCppPrograms.fr/data/loop_do_while_factorial.cpp
diff --git a/guess_output/data/loops-for-factorial.cpp b/test~coding~readingCppPrograms.fr/data/loop_for_factorial.cpp
similarity index 100%
rename from guess_output/data/loops-for-factorial.cpp
rename to test~coding~readingCppPrograms.fr/data/loop_for_factorial.cpp
diff --git a/guess_output/data/loop-indices.cpp b/test~coding~readingCppPrograms.fr/data/loop_indices.cpp
similarity index 100%
rename from guess_output/data/loop-indices.cpp
rename to test~coding~readingCppPrograms.fr/data/loop_indices.cpp
diff --git a/guess_output/data/loop-indices-2.cpp b/test~coding~readingCppPrograms.fr/data/loop_indices_2.cpp
similarity index 100%
rename from guess_output/data/loop-indices-2.cpp
rename to test~coding~readingCppPrograms.fr/data/loop_indices_2.cpp
diff --git a/guess_output/data/loop-syracuse.cpp b/test~coding~readingCppPrograms.fr/data/loop_syracuse.cpp
similarity index 100%
rename from guess_output/data/loop-syracuse.cpp
rename to test~coding~readingCppPrograms.fr/data/loop_syracuse.cpp
diff --git a/guess_output/data/loops-while-factorial.cpp b/test~coding~readingCppPrograms.fr/data/loop_while_factorial.cpp
similarity index 100%
rename from guess_output/data/loops-while-factorial.cpp
rename to test~coding~readingCppPrograms.fr/data/loop_while_factorial.cpp
diff --git a/guess_output/data/variables-assign.cpp b/test~coding~readingCppPrograms.fr/data/variable_assign.cpp
similarity index 100%
rename from guess_output/data/variables-assign.cpp
rename to test~coding~readingCppPrograms.fr/data/variable_assign.cpp
diff --git a/guess_output/data/variables-factorial7.cpp b/test~coding~readingCppPrograms.fr/data/variable_factorial7.cpp
similarity index 100%
rename from guess_output/data/variables-factorial7.cpp
rename to test~coding~readingCppPrograms.fr/data/variable_factorial7.cpp
diff --git a/guess_output/endhook.phtml b/test~coding~readingCppPrograms.fr/endhook.phtml
similarity index 100%
rename from guess_output/endhook.phtml
rename to test~coding~readingCppPrograms.fr/endhook.phtml
diff --git a/guess_output/help.phtml b/test~coding~readingCppPrograms.fr/help.phtml
similarity index 100%
rename from guess_output/help.phtml
rename to test~coding~readingCppPrograms.fr/help.phtml
diff --git a/guess_output/intro.phtml b/test~coding~readingCppPrograms.fr/intro.phtml
similarity index 100%
rename from guess_output/intro.phtml
rename to test~coding~readingCppPrograms.fr/intro.phtml
diff --git a/guess_output/introhook.phtml b/test~coding~readingCppPrograms.fr/introhook.phtml
similarity index 100%
rename from guess_output/introhook.phtml
rename to test~coding~readingCppPrograms.fr/introhook.phtml
diff --git a/guess_output/main.phtml b/test~coding~readingCppPrograms.fr/main.phtml
similarity index 100%
rename from guess_output/main.phtml
rename to test~coding~readingCppPrograms.fr/main.phtml
diff --git a/guess_output/src/cpp/guess_output.oef b/test~coding~readingCppPrograms.fr/src/cpp/guess_output.cpp
similarity index 71%
rename from guess_output/src/cpp/guess_output.oef
rename to test~coding~readingCppPrograms.fr/src/cpp/guess_output.cpp
index 16922fb..e4f0be5 100644
--- a/guess_output/src/cpp/guess_output.oef
+++ b/test~coding~readingCppPrograms.fr/src/cpp/guess_output.cpp
@@ -1,23 +1,26 @@
-target= all variables if loop function
+target=variable if loop function
 
-#define TITLE Deviner l'affichage d'un programme C++
-
-#if defined TARGET_variables
-\title{TITLE (variables)}
+#if defined TARGET_variable
+#define TARGET variable
+#define TARGET_FR variables
 #endif
 
 #if defined TARGET_if
-\title{TITLE (conditionnelles)}
+#define TARGET if
+#define TARGET_FR conditionnelles
 #endif
 
 #if defined TARGET_loop
-\title{TITLE (boucles)}
+#define TARGET loop
+#define TARGET_FR boucles
 #endif
 
 #if defined TARGET_function
-\title{TITLE (fonctions)}
+#define TARGET function
+#define TARGET_FR fonctions
 #endif
 
+\title{Deviner l'affichage d'un programme C++ (TARGET_FR)}
 \description{Deviner l'affichage d'un programme C++}
 \language{fr}
 \niveau{U1}
@@ -25,7 +28,7 @@ target= all variables if loop function
 \email{Nicolas.Thiery@u-psud.fr}
 \format{html}
 
-\text{programs=randomitem(wims(lookup TARGET of data/index))}
+\text{programs=wims(lookup TARGET in data/index)}
 \text{program=randomitem(\programs)}
 \text{code=wims(record 0 of data/\program)}
 \text{output=wims(record 0 of data/\program.output)}
@@ -39,11 +42,11 @@ target= all variables if loop function
                         ,allow_toggle: false
                         ,language: "fr"
                         ,syntax: "cpp"
-                        ,min_height: 300
-                        ,min_width: 300
+                        ,min_height: 400
+                        ,min_width: 400
                         ,is_editable:false
                         ,toolbar: ""
-                        ,show_line_colors: true
+                        ,show_line_colors: false
                 });
         </script>
 }
@@ -52,10 +55,6 @@ target= all variables if loop function
 \statement{
 <p>Quel affichage exact produit le programme C++ suivant?</p>
 
-\programs<br>
-\program<br>
-\output<br>
-
 <p>Si l'affichage comporte plusieurs lignes, les donner les unes à la
 suite des autres, séparées par des espaces.</p>
 
diff --git a/guess_output/var.proc b/test~coding~readingCppPrograms.fr/var.proc
similarity index 100%
rename from guess_output/var.proc
rename to test~coding~readingCppPrograms.fr/var.proc
-- 
GitLab