Marc BUFFAT

Professeur au département de Mécanique, UCBLyon 1 e-mail contact

Blog scientifique et pédagogique utilisant des notebooks IPython et Linux

IA générative locale Ollama/Streamlit pour l’enseignement à l’université Lyon 1


Utilisation de l’IA générative dans mes enseignements à Lyon 1

JupyterHub et Ollama

A l’université Claude Bernard Lyon 1, j’ai en charge des cours sur la modélisation et la simulation numérique dans le domaine de l’ingénierie, dont un cours d’introduction à la programmation scientifique en seconde année de licence de Mécanique. C’est dans ce contexte que j’ai participé au déploiement d’une infrastructure Jupyter pour l’enseignement à l’université dans le cadre du projet AMI Include.

Ces dernières années, je me suis trouvé confronté, comme beaucoup de mes collègues à la “mauvaise” utilisation de l’IA générative par mes étudiants, qui l’utilisent trop souvent en tant que “encyclopédie”, voir de “ghostwriter”.

Pour pallier ce problème sans tomber dans l’excès inverse d’interdire totalement les IA génératives, nous avons mis en place une solution locale d’IA générative utilisable en tant qu’outil d’aide contrôlé pour les étudiants. La solution mise en place utilise l’infrastructure Jupyter Lyon 1, avec des machines virtuelles JupyterHub accessibles 24h/24 par les étudiants, un serveur d’IA générative locale ollama installé sur une machine virtuelle JupyterHub avec GPU (nvidia A40), et une interface streamlit pour en contrôler l’utilisation.

Identification des besoins pour l’enseignement

De nombreuses études ont montrées que l’apprentissage en sciences est un processus complexe qui ne peut se ramener, comme malheureusement beaucoup d’étudiants le pensent, à un copier coller de réponses fournies par une IA Générative. De plus, étant donné les capacités actuelles de génération de code des dernières IA Générative, certains ne voient plus l’intérêt d’apprendre les bases de la programmation scientifique, et considère les outils d’IA génératives comme l’équivalent de la calculatrice du XXe siècle.

De nombreux travaux ont montrés que l’apprentissage par un étudiant nécessite:

  • de comprendre pour acquérir une expertise
  • d’écrire par soi même pour mémoriser
  • de pratiquer pour apprendre
  • d’apprendre à valider pour développer une démarche scientifique

En générale, lors de ce processus, l’utilisation de l’IA Générative n’est pas indispensable (voir dans certain cas néfaste).

Même s’il est vrai que les IA Génératives sont actuellement capables de résoudre correctement la majorité des exercices de base de programmation scientifique, il est impératif de comprendre que l’utilisation (intelligente) de ces IA Génératives en programmation scientifique nécessite de maîtriser les bases de la programmation !.

Cadre d’utilisation des IA génératives

Dans mes cours, je fais donc maintenant systématiquement une introduction sur les IA Génératives :

Ce qui permet d’expliquer le cadre d’utilisation de ces IA génératives dans mes cours:

  1. L’utilisation de LLM (ChatGPT,Gemini,..) est interdite lors des évaluations / examens
  2. L’utilisation de LLM (ChatGPT,Gemini,..) est proscrite lors des TP encadrés
  3. Cette utilisation est définie par une charte d’utilisation de l’IA générative, accessible sur les serveurs de cours Jupyter

  4. Introduction à la programmation scientifique: Charte d’utilisation de l’IA générative

Mais les étudiants peuvent utiliser (en dehors des examens) un outil d’aide utilisant une IA générative locale (utilisant OLLAMA), accessible 24h/24, comme sparring-partner pour :

  • trouver les erreurs dans leur code avec une explication sur les erreurs
  • avoir une explication sur les messages d’erreurs (p.e. de l’interpréteur Python)

Cet outil est décrit ici:

Mise en place

Pour offrir à tous les étudiants, un accès à une IA générative pour les aider (i.e. en tant que sparring partner), on a choisi de ne pas utiliser les IA génératives généralistes (ChatGPT, Gemini, Mistral ..) car :

  • l’accès n’est pas identique pour tous les étudiants (existence de forfait, de versions payantes)
  • elles nécessitent de transférer des informations et des données sur des data-centers extérieurs à l’université (RGPD)
  • on a aucun contrôle sur l’utilisation de ces IA génératives

On a donc décidé d’utiliser une IA générative en local, utilisant un serveur ollama permettant d’exécuter en local des modèles d’IA génératives ouverts (LLM) avec des données conservées en local.

Accessible avec une interface Streamlit dédiée, cet outil est mis à disposition des étudiants utilisant des notebooks Python sur les serveurs JupyterHub. L’objectif est d’offrir un véritable « sparring partner » plutôt qu’un simple « ghostwriter ». Particulièrement utile lors des cours d’« Introduction au calcul scientifique avec Python », cette interface ne se présente pas comme un chatbot classique : elle invite l’étudiant à soumettre son propre code afin qu’il soit analysé par l’IA. Le système lui retourne ensuite un diagnostic précis, favorisant ainsi un apprentissage actif et une meilleure compréhension des erreurs de programmation.

Premier bilan

Cet outil a été utilisé lors du semestre d’automne 2025, auprès d’étudiants de Licence mécanique dans le cours “d’introduction à la programmation scientifique”, et auprès d’étudiants en Master mécanique dans le cours “Outils Numériques Avancés”. Cette expérience a montré la robustesse de la solution, même si les temps de réponse ne sont pas instantanés mais restent raisonnables (de l’ordre d’une demi minute). Son utilisation n’a toutefois pas été intensive (30 à 40% des étudiants l’ont testés).

Par contre, le contrôle de l’usage des IA Génératives lors des examens sur les serveurs JupyterHub a nécessité le développement et la mise en place d’un mode examen assurant un environnement contrôlé:

Références

  1. Intégrer l’IA générative dans les stratégies pédagogiques, Pascal Vangrunderbeeck 2024, UCLLouvain,
  2. Évaluer et faire évoluer les compétences à l’ère de l’IAg, Richard-Emmanuel Eastes, 2025, CEPSUP Lyon
  3. IA et enseignement supérieur : formation, structuration et appropriation par la société, 2025, rapport MESR