Environnement CI/CD & Laboratoires

Voici une présentation (1.3 MB que les assistants avaient préparés sur le sujet de l’automatisation de l’évaluation des laboratoires.

Wow! vraiment intéressant ! Merci pour le partage.

question: dans quelles classes avez-vous déjà testé ce système? quelle est votre évaluation de son utilisation?

A.

Nous l’avons utilisé en ASM, mais seulement la partie distribution+rendu. Nous nous sommes aussi passé du chiffrement du script effectif de rendu, car au final on liste juste des fichiers dedans, et il ne contient pas d’informations sensibles.
En résumé, cette méthode fonctionne très bien pour la distribution et le rendu, cela permet de rendre l’utilisation de git transparente pour les étudiants.

C’était moi qui avait préparé cette présentation (pour usage interne) afin de planifier l’automatisation du rendu des labos.

Deux ans après j’ai ce retour à faire :

Scripts de rendu :

  • Les scripts qui crées les archives sont top, ils sont fourni avec chaque laboratoire afin que le rendu des étudiants soit consistant.
  • La pluspart du temps je n’utilise pas le timestamping des étapes, c’était un essai pour un cours afin de voir si les étudiants avançaient chaque semaine.
  • Les scripts regardent que les fichiers attendus soient livrés et mettent un petit message si il y en a qui manquant, c’est utile.

Automatisation :

  • Pour l’automatisation de la correction je fais presque toujours un travail hybride, une partie est testée automatiquement, le reste je regarde à la main, afin de pouvoir donner des commentaires personnalisés.
  • Je n’utilise pas docker, je fais directement tourner dans la VM du REDS (normalement pareil à l’instance docker), et je fais tourner les scripts via SSH.
  • J’ai des scripts qui extraient tous les fichiers des rendus et corrige tous les noms de dossier depuis l’archive cyberlearn.
  • Il est bien d’avoir un repository “clean” pour les corrections et j’ai un script qui copie les sources des étudiants dedans avant chaque correction, ça garantit un environnement constant et inchangé.

Rendu de notes :

  • Lorsque le rendu de notes se faisait par email, c’était top d’avoir un script (fait par Julian) qui automatisait tout.
  • Maintenant les rendus sont dans cyberlearn et le prof copie les résultats à la main pour chaque étudiant (en tout cas on faisait comme ça en ASM).

Voilà pour mes quelques commentaires, je pense que c’est bien de rester en hybride car c’est la seule manière de pouvoir donner un retour vraiment constructif et personnalisé à chacun, car rendre juste une liste de “ceci fonctionne, ceci ne fonctionne pas” n’est pas très utile à l’étudiant. Par contre cela aide à gagner du temps de correction pour nous et nous indique où regarder pour donner un meilleur retour aux étudiants.

Je pense que pour le développement futur de labos, c’est toujours bien de faire à la fois le développement du labo et d’un script/test bench/test unitaires ou intégration afin de valider la solution. En général on fournit un ensemble de tests aux étudiants et lors de la correction on en fait tourner plus.

Au final pour savoir quelle est la bonne approche dépendra vraiment du cours / labo. Mais pour des choses qui sont faites à chaque fois, comme les rendus, l’extraction des rendus etc. C’est top d’avoir de la cohérence et de l’automatisation.