Gestion de cours sous Jupyter Nbgrader#
par Marc BUFFAT, dpt Mécanique, Université Lyon 1
Ce document décrit l’installation, la configuration et la documentation d’un système de gestion de cours utilisant Jupyter nbgrader et des outils de validation et de gestion de cours développés initialement pour gérer mes cours au département mécanique. Il est implémenté comme un service sous jupyterhub, qui permet de gérer en particulier les notebooks jupyter dans un environnement cloud multi utilisateurs.
Note
Vous trouverez sur mon site professionnel https://perso.univ-lyon1.fr/marc.buffat/ des exemples de notebooks que j’utilise dans mes cours à l’université Lyon 1
Descriptif#
L’objectif de cet outil est d’apporter un complément à Jupyter nbgrader pour fournir différents outils à l’enseignant pour gérer, administrer et évaluer des cours utilisant en particulier des notebooks Jupyter. Il permet à l’aide d’un simple navigateur web:
de distribuer des documents aux étudiants (avec nbgrader),
de partager avec les étudiants des bibliothèques Python ou de la documentation en HTML,
de récupérer les travaux des étudiants sous forme de notebook, compte rendus en LaTex ou markdown, de programmes ou librairies Python,
d’évaluer ces travaux avec nbgrader et d’autres outils avec des tests de plagiat sur le code et les comptes-rendus,
de générer un compte rendu d’évaluation par étudiant à destination de l’enseignant,
de gérer les étudiants par cours avec des groupes de TP,
de transférer simplement les évaluations (notes et commentaires) avec le système de gestion de notes de l’université (TOMUSS).
Le contenu est divisé en 2 parties:
La première partie contient la documentation utilisateur et différentes présentations du système et de son utilisation (avec des notebooks Jupyter utilisant l’extension rise)
La seconde partie est une documentation administrateur, qui décrit l’installation et la configuration du système dans un environnement virtuel Python.
Indication
Vous trouverez aussi à la fin de cette page une vidéo de présentation d’utilisation du système pour des TP virtuels en cliquant sur le lien: vidéo de présentation
Contenu#
- 1. Documentation du système de gestion de cours
- 2. Présentations
- 2.1. Jupyter Notebook: un espace scientifique interactif et open-source
- 2.2. Gestion de cours avec Jupyter/nbgrader
- 2.3. TP virtuel avec Jupyter Notebook
- 2.4. Axe 11 INCLUDE: Jupyter nbgrader
- 2.5. Projet AMI Include: axe 11
- 2.6. Engineering computation with Jupyter/nbgrader/Python
- 2.7. Approche pédagogique: Learning by doing
- 1. Configuration de l’environnement virtuel
- 2. Configuration de Jupyterhub
- 3. Configuration de Flask et d’Apache
- 4. Plan de Gestion de Logiciel et de Données
- 5. Annexes
- 5.1. Documentation sur le système de gestion de cours « validation »
- 5.2. Service JupyterHub « validation cours »
- 5.3. configuration Jupyterhub pour le système « validation »
- 5.4. Configuration Apache2 pour le système de gestion « validation »
- 5.5. Service « nb_serverproxy_xpra »
- 5.6. Extension jupyter: » mode Exam »
- 5.7. Système de gestion de cours avec « FlaskApp »
- 6. Crédits et références
Prudence
Ce document décrit une installation sous Linux avec une distribution debian. Pour une autre distribution, il faudra adapter les configurations.
Convention internationale Jupyter Paris 2023#
Ce système de gestion de cours a été présenté à la convention internationale JupyterCon Paris 2023
M. Buffat, T. Dupriez, S. Di Loretto, JupyterCon 2023, Paris Mai 2023, « Flexible course management and validation syste m using Jupyterhub with additional services using Flask »
Vidéo de présentation de TP virtuels#
Vous trouverez ci-dessous une présentation de l’utilisation du système Jupyter nbgrader pour des TP virtuels en mécanique.