Chaque dossier correspond à une task sur INGInious; certains dossiers sont des essais de tests, mais n'ont pas été publiés sur INGInious. Ce qui suit ne concerne que les tasks demandant aux étudiants des implémentations de programmes ou des tests de programmes:
Ces tâches demandent à l'étudiant de fournir une implémentation d'une interface:
- m1stack
- m1interpreter
- m3orderedmap
- m4bis
- m5compressor
- m6kruskal
Ces tâches demandent à l'étudiant de fournir une batterie de tests qui seront appliqués sur des implémentations parfois correctes parfois incorrectes:
- m1stacktests
- m1interpretertests
- m3tests
- m4plagiarism_tests
- m5_compressor_tests
- m6_kruskal_tests
Ces tâches demandent des choses divers et variés (QCM, simple réponse, code, ...):
- preexam_bfs
- preexam_merge_sort
- preexam_dfs
- preexam_heap
- preexam_redblacktree
- preexam_treeqcm
Il existe d'autres dossiers pour d'autres missions, mais ce ne sont que des ébauches, et ne sont pas utilisés ou donnés aux étudiants. (Y'as rien pour la mission 2, par exemple)
Dans le dossier "common/" se trouve des scripts communs à chaque tâche. Le script "build" permet de copier ces scripts dans les différents dossiers des différentes tâches. (Il faut les copier car lorsque INGInious crée le container Docker, celui-ci n'a plus accès au repertoire parent, et donc à "common/")
Chaque tâche contient un fichier "run" qui correspond aux fichier executé par INGInious lors de la soumission d'une tâche. La plupart de ces fichiers "run" utilisent les scripts copiés de "common/".
Le dossier "examples" contient des exemples de tests ou d'implémentations. Ca permet de rapidement vérifier si une tâche fonctionne comme il faut pour les cas les plus basiques.