Commit fa98cbb9 authored by Guillaume Huard's avatar Guillaume Huard
Browse files

Doc activité org toujours en cours.

parent 53daab35
......@@ -125,4 +125,55 @@ que fait le module VPL, cette exécution se déroule sans isolation (pas de =chr
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
L'évaluation locale supporte un mode de débogage similaire à celui disponible dans l'activité
='Basic system programming'=. Pour l'activer il suffit d'ajouter le mot clé ='debug'= à la
commande :
#+BEGIN_SRC shell :exports code
vpl evaluate debug Hello
#+END_SRC
En mode de débogage, l'évaluation locale affiche la table de hachage obtenue après évaluation du
fichier =vpl_evaluate.cases= ainsi que davantage de sorties pour les tests réussis. En outre, tous
les fichiers générés par l'évaluation sont conservés dans la dossier =local_run= : en évaluant un
seul test à la fois on peut donc consulter le détail de son exécution et de sa validation.
Si votre terminal le supporte, l'exécution locale se fait en couleurs, en :
- noir : affichages visibles par l'étudiant
- bleu : titres visibles par les étudiants
- jaune : affichages cachés aux étudiants
- rouge : affichages propres au mode =debug= et erreurs
* L'/upload/
S'ils disposent de la commande =push= du plugin concepteur de caséine, les scripts de VPL++ sont
capables d'envoyer sur le serveur tous les fichiers de l'activité. Pour cela il faut que le fichier
=X.org= d'une activité =X= permette de générer un fichier =vpl_id.txt= dans le répertoire =X=
contenant l'identifiant de l'activité. L'activité devra donc tout de même être créée manuellement au
préalable et, à l'heure actuelle, la description n'est pas envoyée.
Pour générer la description, la manipulation est manuelle :
- la fonction =org-html-export-to-html= d'emacs (racourci =Ctrl-c Ctrl-e h h=) permet de générer un
fichier =X.html= à partir du fichier =X.org=
- il suffit de copier/coller le contenu du fichier généré dans la description de l'activité en
prenant bien soin de lui demander d'afficher le texte en html brut (bouton pour avoir plus
d'outils puis bouton pour afficher les balises).
* Organiser son activité
Le format =org= permet d'organiser son texte à l'aide d'une syntaxe simple similaire à celle de
=markdown=. En particulier, il est possible de manipuler de listes numéroter ou non, de découper son
texte en section, sous-sections, sous-sous-section, etc. Le document peut ensuite être exporté vers
plusieurs formats classiques (=latex=, =html=, ...). Présenter toutes les fonctionnalités d'
=org= n'est pas le but de cette documentation et le lecteur curieux est invité à se référer à
la documentation officielle : [[https://orgmode.org/manual]]
Le but de cette section est essentiellement de donner des pistes afin de découper son activité en
exercices décrits par des parties indépendantes du fichier au format =org= et d'éviter la
duplication de certaines parties du texte. Cela repose essentiellement sur les idées suivantes :
- la table de hachage résultant de l'évaluation de =vpl_evaluate.cases= peut être en partie
construite de manière programmatique ;
- le fichier =vpl_evaluate.cases= est un code en =Perl= qu'il est possible de découper en plusieurs
blocs de code concaténés les uns aux autres à l'aide de l'argument =:output append= ;
- =org= mode supporte la syntaxe =noweb= pour manipuler des blocs de code. En particulier :
- une activité est nommée à l'aide de la propriété =#+NAME= ;
- un bloc de code ayant pour argument =:noweb yes= peut inclure un bloc de code nommé s'il
contient, seule sur une ligne, une référence de la forme suivante : =<<nom>>=
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