Objectif du projet
- Ajouter des fonctionnalités au syllabus en ligne
- Créer du contenu via des exercices INGInious
Syllabus - description
- Application web
- Developpée au sein du département
- Utilisée pour donner le cours de Python en première bac
Syllabus - technologie
- Python (Flask pour faire tourner la webapp)
- SQLite pour la DB
- Jinja2 pour le templating
- Un peu de Javascript
Structure de l'application
Quelques idées d'ajout en backend
- Amélioration de l'interface administrateur
- Meilleur intégration de Sphinx
Tâches INGInious - architecture
+Task
| task.yaml
| run (script python qui lance le tout)
| +/solution
| | Corr$Task.py (version correcte du code)
| +/student
| | student_code.py.tpl (template)
| | Test$Task.py (test et feedback)
Installation
- Le plus simple est d’utiliser la VM, elle est disponible avec des instructions d’installation sur ce repo
- Sinon, vous pouvez installer si vous le désirez:
Do et don't
- Le projet est Open Source, donc spécifiez bien toutes vos méthodes pour que les futurs contributeurs puissent comprendre ce que vous faites
- Récupérez toutes les exceptions et transmettez les messages dans un langage compréhensible par les élèves (ex:ArithmeticException)
Récapitulatif - Syllabus
- Installer le syllabus
- Lancer et comprendre le syllabus
- Choisir une amélioration
- Faire une pull request
Récapitulatif - INGInious
- Installer la VM/INGInious
- Lancer et comprendre les tâches existantes
- Créer ses propres tâches (simples puis compliquées)
- Les mettre sur TODO