- jeu. 15 janvier 2026
- Enseignement
- #Enseignement programmation Python IA générative ollama Jupyter streamlit
Utilisation d’IA générative dans mes enseignements à l’université
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”.
Je présente ici la solution mise en place utilisant l’infrastructure Jupyter Lyon 1, avec des machines virtuelles JupyterHub accessibles 24h/24 par les étudiants, un serveur ollama installé sur une de ces machines virtuelles avec GPU (nvidia A40), une interface streamlit.
Identification des besoins pour l’apprentissage
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 issue d’une IA Générative.
L’apprentissage par l’é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).
É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 l’IA générative comme l’équivalent de la calculatrice du XXe siècle.
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
Dans le cadre de mes cours, je fais donc systématiquement une introduction sur le principe des IA Génératives
- Introduction du cours de programmation scientifique: principe des IA génératives
Ce qui permet d’expliquer le cadre d’utilisation des IA génératives dans le cours:
- L’utilisation de LLM (ChatGPT,..) est interdite lors des évaluations / examens
- L’utilisation de LLM (ChatGPT,..) est proscrite lors des TP encadrés
-
Cette utilisation est définie par une charte d’utilisation de l’IA générative, accessible sur les serveurs de cours Jupyter
-
Cours d’introduction à la programmation scientifique: Charte d’utilisation de l’IA générative
Mais :
- l’enseignant est présent pour les aider et expliquer
-
les étudiants peuvent utilisez (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)
- utilisation des IA génératives locales
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 choisit 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 leur utilisation
On a décider 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.
On a ensuite crée une interface web streamlit, qui permet de contrôler l’utilisation de ces LLMs. En effet, l’objectif n’était pas d’offrir un chatbot classique aux étudiants, mais une interface dans laquelle on demande aux étudiants de fournir par exemple un code, pour que celui-ci soit ensuite analysé par l’IA générative sous Ollama, pour ensuite fournir le résultat de l’analyse aux étudiants:
Les étudiants suivant le cours ont dans leur notebook de TP un lien vers le serveur streamlit-ollama, qui leur permet de tester leur code Python.
Premier bilan
Cet outil a été utilisé lors du semestre d’automne 2025, auprès d’étudiants de L2 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 (inférieur à la minute). Son utilisation n’a toutefois pas été intensive ( 30 à 40% des étudiants).
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é (Plateforme Jupyter: mode examen et évaluation
Références
- Intégrer l’IA générative dans les stratégies pédagogiques, Pascal Vangrunderbeeck 2024, UCLLouvain,
- Évaluer et faire évoluer les compétences à l’ère de l’IAg, Richard-Emmanuel Eastes, 2025, CEPSUP Lyon