OpenWeek 2019

Syllabus Interactif

Tâches INGInious

https://openweek.github.io/presentations/presentation-syllabus_taches/index.html

Bastien Nothomb - bastien.nothomb@student.uclouvain.be
Alexandre Dubray - alexandre.dubray@student.uclouvain.be

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

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

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)

Liens utiles

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