Commit 53daab35 authored by Guillaume Huard's avatar Guillaume Huard
Browse files

Doc activité en org en cours

parent e2d57640
...@@ -67,7 +67,7 @@ d'écrire un programme qui affiche ="Hello world !"=. ...@@ -67,7 +67,7 @@ d'écrire un programme qui affiche ="Hello world !"=.
,#+END_SRC ,#+END_SRC
#+END_SRC #+END_SRC
Une fois ce programme écrit et stocké dans un fichier nommé =Hello.org=, il suffit de télécharger le Une fois cette activité écrite et stockée dans un fichier nommé =Hello.org=, il suffit de télécharger le
contenu du dépôt indiqué en préambule et d'ajouter son emplacement à votre =PATH=. Vous disposez contenu du dépôt indiqué en préambule et d'ajouter son emplacement à votre =PATH=. Vous disposez
alors de la commande =vpl= permettant de : alors de la commande =vpl= permettant de :
- lancer localement l'activité comme le ferait un étudiant avec les boutons ='Run'=, ='Debug'= ou - lancer localement l'activité comme le ferait un étudiant avec les boutons ='Run'=, ='Debug'= ou
...@@ -92,6 +92,37 @@ alors de la commande =vpl= permettant de : ...@@ -92,6 +92,37 @@ alors de la commande =vpl= permettant de :
vpl push Hello vpl push Hello
#+END_SRC #+END_SRC
#+BEGIN_SRC txt :mkdirp yes :tangle C_Programming/vpl_id.txt :exports none * Les fichiers générés
26126
#+END_SRC L'ensemble des scripts de VPL++ travaillent sur une activité de nom =X= en consultant un fichier
nommé =X.org= permettant de générer tous les fichiers attendus par l'activité
='Basic system programming'=. Le fichier =X.org= doit donc contenir des blocs de code dotés
d'arguments =:tangle= permettant d'indiquer le nom du fichier dans lequel ils doivent être écrits.
Tous ces fichiers doivent être écrits dans un sous-répertoire du répertoire =X= dépendant de leur
fonction :
- =ef= : fichiers necessaires à l'exécution et à l'évaluation de l'activité. Ce sous-répertoire
concerne entre autres =vpl_evaluate.cases= et =vpl_custom_setup.sh= ;
- =rf= : fichiers fournis comme base aux étudiants, typiquement des fichiers à trous à compléter ;
- =cf= : fichiers faisant partie de la correction écrite par l'enseignant, non fournie aux
étudiants, consultable sur caséine par les enseignants. Pour chaque fichiers de =cf=, si un
fichier de =rf= de même nom n'existe pas, les scripts de VPL++ en génèrent un vide (base de
travail vierge pour l'étudiant) ;
- =hf= : similaire à =cf= mais ne donne pas lieu à une génération de fichier dans =rf=.
Les propriétés données en début du fichier d'exemple =Hello.org= correspondent au comportement
généralement souhaité :
- =:eval never= : les scripts de VPL++ commencent par évaluer les blocs de code d'un fichier
=X.org=. Ceci ne concerne pas les fichiers de l'activité (nous verrons plus loin l'utilité de
cette fonctionnalité) qui ne sont donc par défaut jamais évaluables ;
- =:mkdirp yes= : la génération des fichiers de l'activité doit créer les répertoires intermédiaires
au besoin ;
- =:exports none= : les fichiers de l'activité de font pas partie de la description de celle-ci.
* L'exécution locale
Lors de l'exécution ou l'évaluation d'une activité =X=, une fois les fichiers générés à partir de
=X.org=, l'exécution proprement dite se déroule dans le répertoire =X/local_run=. Contrairement à ce
que fait le module VPL, cette exécution se déroule sans isolation (pas de =chroot= ou de limites sur
les resources), elle ne remplace donc pas une exécution en conditions réelles sur le serveur mais
permet de tester son activité durant la phase de développement.
L'exécution locale supporte un mode de débogage
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment