Commit 2bd00828 authored by Guillaume Huard's avatar Guillaume Huard
Browse files

Documentation en cours de rédation

parent cee3bfd9
......@@ -3,8 +3,57 @@
#+OPTIONS: html-postamble:nil
#+LANGUAGE: fr
#+EXPORT_EXCLUDE_TAGS: noexport
#+TITLE: Activité VPL de programmation système
#+AUTHOR: Guillaume Huard
Cette activité VPL, utilisable comme base, permet de lever certaines limitation du VPL original. En
particulier elle permet :
- de manipuler plusieurs programmes indépendants dans une même activité ;
- de passer des arguments sur sa ligne de commande d'un programme soumis par l'étudiant ;
- de vérifier que les sorties standard, les sorties d'erreur standard et le code de retour du
programme correspondent à des valeurs attendues ;
- de fournir les valeurs attendues pour un programme soumis sous forme de programme solution ;
- de préparer l'environnement d'exécution du programme soumis (par exemple en y créant des fichiers,
en modifiant des permissions, ...) ;
- de valider par un programme les actions effectuées par le programme soumis (par exemple, les
fichiers créés, les permissions changées, ...) ;
- de pondérer la contribution de chaque programme et de chaque test à la note finale ;
- de montrer (ou pas) en cas d'echec d'un test les entrées/sorties qui étaient attendues et celles
qui ont été produites.
En outre, cette activité est :
- indépendante de tout langage de programmation, la manière dont un programme
soumis par un étudiant doit être pris en charge (compilation, exécution) est indiquée au besoin dans
le fichier de configuration de l'activité ;
- conçue pour limiter les failles de sécurité classiques de VPL :
- si toutes les données concernant une activité sont contenues dans le fichier de configuration
(comme cela est présenté dans cette documentation), rien n'est présent sur le système de fichier
lors de l'exécution d'un programme soumis par un étudiant ;
- un programme étudiant ne peut pas influer sur la note en affichant ="Grade :=>> ..."= ou en
combinant cet affichage avec l'appel système =exit=.
* Ma première activité
Une activité est décrite, comme dans le VPL original, dans un fichier nommé
=vpl_evaluate.cases=. Voici un exemple de contenu possible pour ce fichier pour une simple activité
correspondant au programme classique qui affiche ="Hello world !"= :
#+BEGIN_SRC perl :exports code
{
hello_world.sh => {
tests => { output => "Hello world !" }
}
}
#+END_SRC
Cette activité demande à l'étudiant de produire un fichier nommé =hello_world.sh= qui sera exécuté
tel quel et doit produire comme sortie :
#+BEGIN_EXAMPLE
Hello world !
#+END_EXAMPLE
pour valider le test.
* Structure du fichier =vpl_evaluate.cases=
Documentation à venir...
#+BEGIN_SRC txt :mkdirp yes :tangle Basic_System/vpl_id.txt :exports none
22733
......
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