4. Plan de Gestion de Logiciel et de Données#

Cette section décrit le Plan de Gestion de Logiciel et le Plan de Gestion de Données mis en place pour ce projet de gestion de cours utilisant la plateforme OpenSource Jupyter nbgrader.

4.1. Software Management Plan : SMP#

Le Plan de Gestion de Logiciel est un document évolutif décrivant les informations concernant un logiciel, la façon dont il est conçu et développé, ses objectifs, à qui il s’adresse, les résultats attendus et obtenus, son éventuelle diffusion, les informations de propriété intellectuelle tout au long du cycle de vie de ce logiciel.

Dans notre cas le logiciel concerne l’ensemble des outils de validation et de gestion de cours utilisant la plateforme OpenSource Jupyter nbgrader, qui ont été développés initialement pour des cours au département-composante mécanique de l’université Lyon 1. Ces outils sont développés sous Licence Libre et les logiciels sont libres d’utilisation, mais sans garantie!

L’ensemble du projet utilise le gestionnaire de projet gitlab de la forge de l’université Lyon 1 gérée par le département d’informatique:

sous le projet collaboratif nbgrader. Gitlab est une plateforme open-source de développement logiciel permettant en particulier le partage, la gestion de version, l’archivage et la diffusion de logiciels.

D’autre part, l’ensemble de la documentation du projet utilise Jupyter Book, qui est un projet open source permettant de construire des documents interactifs et accessibles sur le web, à partir de contenus écrits en Markdown et de notebook. Cette documentation est aussi sous gitlab et accessible en ligne:

4.2. Data Management Plan : DMP#

Le Plan de Gestion de Données est un document évolutif décrivant la collecte, le traitement, la documentation, le stockage, l’archivage, la conservation et le partage des données tout au long de leur cycle de vie dans le cadre du projet.

Dans notre cas, nous distinguons plusieurs types de données :

  1. les ressources pédagogiques crées par les enseignants qui utilisent le système Jupyter nbgrader pour leurs cours.

  2. les données des utilisateurs (étudiants) qui suivent les cours sur le système Jupyter nbgrader

Les ressources pédagogiques sont crées par les enseignants pour leur cours sur la plateforme, et reste la propriété des enseignants. Ces ressources pédagogiques sont bien évidemment sauvegardées régulièrement sur les serveurs des cours1.

Pour les données des utilisateurs, aucune information personnelle n’est utilisée ou stockée puisque l’authentification utilise le système d’authentification de l’université Lyon 1. Les données des utilisateurs stockées sur le système sont uniquement liées au travail demandé pendant les cours: exercice, compte rendu, notebook, .. et ne contiennent aucunes données personnelles. Elles ne sont pas archivées et sont effacées à la fin de chaque semestre de cours. Cependant dans le cadre d’études universitaires, par exemple sur les apprentissages, ces données pourraient être utilisées au cas par cas si elles sont pertinentes et avec une procédure d’anonymisation.

Pour accéder aux cours, on utilise un navigateur web pour se connecter aux services Jupyter nbgrader. Lors de l’utilisation de ces services, les seuls cookies qui sont générés sont liés à l’utilisation du service pour permettre une utilisation résiliente en cas de coupure réseau.

Enfin les données de monitoring du système sont anonymes et concernent uniquement l’utilisation des ressources des serveurs (CPU, mémoire, réseau) pour vérifier le bon fonctionnement de ces services.

4.3. Résilience de l’infrastructure#

Le service de cours sous Jupyter nbgrader utilise un environnement virtualisé (machine virtuelle) qui permet de l’installer sur différentes infrastructures matérielles. Cela permet, en utilisant des systèmes de gestion et de déploiement dynamique de machines virtuelles (p.e. de type OpenStack), d’assurer la résilience du service en permettant le redéploiement dynamique de cours en cas de problème matériel sur une infrastructure matérielle.


1

A l’initiative des enseignants, ces ressources peuvent aussi être intégrées sous gitlab, pour être partagées et archivées sur la forge de l’université, avec en particulier des configurations adaptées aux notebooks Jupyter de cours.