- Un « chatbot avec ou sans (...)
- Caractéristiques de la séquence
- Déroulement détaillé
- Focus sur un outil : ChatMD
- Créer un tout premier chatbot
- Créer des choix
- Créer des rétroactions variées
- Insérer des images, sons, (...)
- Associer à une IA et à une (...)
- Questionner l’IA
- Évaluer la réponse de l’élève
- Retours des élèves et analyse
- Aller plus loin
Professeur
Mélanie FENAERT, au lycée Blaise Pascal, Orsay (91)

Vidéo de présentation
Cette vidéo présente rapidement et sans son quelques éléments du chatbots et de sa création.
Cet article sera mis à jour au fil de l’avancement du projet.
Pour tester la version du 1er septembre 2024, incluant 40 QCM niveau Seconde et des prompts pour "En savoir plus" :
- Ouvrir le chatbot ViTa sauvegarde du 01/09/24
- Dans la fenêtre popup, laisser le champ vide pour avoir le chatbot sans IA, ou mettre ce mot de passe pour le connecter à l’IA : ViTaTEST
Pour tester la version du 14/12/24 avec des contenus de 1ère spécialité ajoutés, et des interactions plus poussées avec l’IA, même processus et même mot de passe.
Un « chatbot avec ou sans IA » ?
Un chatbot, ou agent conversationnel ou encore dialogueur, est un programme informatique conçu pour simuler une conversation avec des utilisateurs humains via des messages textuels ou vocaux.
Il en existe deux grands types :
- chatbots basés sur des règles : ils suivent des scripts prédéfinis et répondent en fonction de mots-clés ou d’instructions spécifiques. Ils sont plus limités car ils ne comprennent pas vraiment le langage, mais ils fonctionnent bien pour des tâches simples (par exemple, répondre à des questions fréquentes pour une FAQ).
- chatbots basés sur l’IA générative : Ils utilisent des techniques d’IA, comme le traitement du langage naturel (NLP) et les réseaux de neurones, pour analyser les messages et produire des réponses adaptées. Bien qu’ils ne “comprennent” pas les conversations au sens humain du terme, ils identifient des patterns et génèrent des réponses basées sur des probabilités, en s’appuyant sur de vastes ensembles de données pour simuler une interaction naturelle. Ils peuvent gérer des conversations plus complexes et sont capables d’apprendre et de s’améliorer avec le temps.
L’expression « avec ou sans IA » rend compte de cette dualité, le chatbot proposé ici fonctionnant sur des interactions programmées mais aussi de manière facultative sur des interactions produites par l’IA générative de textes. Cependant, le premier type relève en réalité d’un des courants originels de l’intelligence artificielle, l’IA symbolique, tandis que le second type correspond à un courant plus récent, l’IA connexionniste. [1]
Caractéristiques de la séquence
Liaison avec le programme
Niveau concerné : Première spécialité SVT
Parties du programme : toutes
Place dans la progression
Ce projet est mis en place dès le mois de septembre et se poursuit toute l’année.
Motivation
Avec ChatMD, j’ai souhaité rassembler une grande partie de ces contenus en un seul support gratuit, ne récoltant pas de données (selon le mode d’utilisation), facilement accessible sur smartphone, toujours disponible pour eux les années suivantes si besoin. Le chatbot construit devient au fil de l’année un outil d’entraînement et de mémorisation à long terme.
La co-construction avec les élèves leur permet de repérer les notions importantes, de travailler la métacognition, de mettre en œuvre quelques notions de programmation légère, et d’aborder l’utilisation de l’IA avec un esprit critique.
Notions, savoir-faire, compétences
- Toutes les notions des programmes de Seconde et de Première spécialité SVT
- Compétences transversales
- Exercer un esprit critique
Cadre de référence des compétences numériques (CRCN)
Domaine 2 : Communication et collaboration
– Compétence 2.2 Partager et publier
Domaine 3 : Création de contenus
– Compétence 3.4 Programmer
Domaine 5 : Environnement numérique
– Compétence 5.2 Évoluer dans un environnement numérique
Déroulement de la séquence
Durée : 15 minutes à la fin de chaque chapitre
Coût : 0 euros
Sécurité : RAS
Outils numériques et ressources
- ChatMD, un outil libre et gratuit créé par Cédric Eyssette, hébergé sur le Forge des communs numériques
- CodiMD : cette interface est disponible sur le portail apps.education.fr. Il s’agit d’un "pad avancé" qui utilise la syntaxe Markdown (langage de balisage léger)
- Pour relier le chatbot à une IA (LLM) : clé API gratuite générée par l’enseignante sur le site cohere.com (en attendant un LLM fourni par l’Éducation nationale)
- La Forge des communs numériques éducatifs : accessible via apps.education.fr, permet d’héberger les images, sons, et éventuellement le fichier Markdown du chatbot
NB : Apps.education.fr est une plateforme développée au sein de la Direction du Numérique pour l’Éducation, qui propose les outils essentiels du quotidien à l’ensemble des agents de l’Éducation nationale. Ce projet offre aux utilisateurs une plateforme de Services Numériques Partagés, à l’échelle nationale à laquelle l’agent conserve son accès même en cas de changement d’académie.
Déroulement détaillé
Préparation du chatbot
La base du chatbot est constituée d’un agent conversationnel nommé ViTa et de 40 questions à choix multiple, regroupées en 4 thèmes, portant sur le programme de Seconde.
L’avatar de ViTa a été créé par une IA générative d’image (Copilot designer).

Le chatbot propose de réviser 4 grands thèmes, chacun ensuite décliné en deux niveaux : Seconde et 1ère spécialité SVT.
Le niveau Seconde est implémenté dès la rentrée, le niveau spécialité est "en travaux" : ce sera aux élèves de proposer ces contenus au fil de l’année.
Tester la version de rentrée
Dans chacun des thèmes de niveau Seconde, une série de 10 QCM est proposée. On y trouve :
- des questions avec une ou plusieurs bonnes réponses possibles parmi des choix
- quelques questions ouvertes demandant de taper une séquence de nucléotides
- des boutons "En savoir plus" associés à une invite (prompt) pré-enregistrée,
- des rétroactions sonores, en images et textuelles (erreur, félicitation, encouragement)
- un découpage de chaque série en deux niveaux, matérialisés par un son particulier
- la possibilité de revenir au début à tout moment
Dans la version 1ère spécialité SVT, s’y ajoutent progressivement :
- les QCM et "En savoir plus" des élèves
- des vidéos
- des exercices interactifs
- des images 2D ou 3D issues de Mesurim2
- des questions à réponse libre de l’élève, avec réponse évaluée par l’IA
Présentation aux parents et aux élèves
L’outil est présenté aux élèves avec test en direct, et aux parents via messagerie et lors de la réunion parents-professeurs.
Un support de présentation peut être utilisé :
Implication des élèves dans la création du contenu
À chaque fin de chapitre, les élèves sont incités à proposer en équipe des contenus pour enrichir le niveau 1ère spécialité SVT de ViTa.
Pour cela, j’ai créé une équipe privée dans Pearltrees avec eux, avec cette consigne :
Ajoutez une note avec pour titre : votre nom d’équipe ou vos prénoms
Contenu :
- entre 3 et 5 questions pour 1 ou 2 chapitres de type QCM, et indiquer les différentes réponses possibles et celle(s) correctes
- ou un ou deux "prompts" = phrase de consigne, pour "En savoir plus")
La création de QCM leur vient facilement. L’enseignante peut vérifier et commenter leurs propositions, l’occasion de parfois rectifier une mauvaise compréhension d’une notion.
Pour faciliter l’implémentation dans le chatbot, je conseille de leur imposer la syntaxe Markdown, simple à comprendre :
COPIER LE FORMAT CI DESSOUS ET LE COLLER DANS VOTRE NOTE
Remplacer cette phrase par votre question.
1) [proposition 1](Bonne réponse)
2) [proposition 2](Erreur)
3) [proposition 3](Erreur)
4) [proposition 4](Erreur)
Pour un prompt : (!useLLM Rédiger votre consigne pour le chatbot.)
Pour l’instant les élèves n’envisagent pas la rétroaction autre que "vrai" ou "faux". De même, la création de prompt pour les "En savoir plus" n’est pas naturelle pour eux, d’autant qu’ils sont alors au stade de l’apprentissage et non à celui de l’approfondissement. À partir du 2e trimestre, un travail spécifique sur la rétroaction et le prompt sera effectué.
Focus sur un outil : ChatMD
Présentation
ChatMD est un outil libre et gratuit qui permet de créer facilement un chatbot personnalisé à partir d’un simple fichier en Markdown (langage de balisage léger). Son auteur est Cédric Eyssette, professeur de philosophie dans l’académie de Lyon.
On peut imaginer de nombreux usages :
- Tutoriel pour un outil informatique ou technique
- Guide méthodologique
- Soutien pour la révision d’un cours, quiz interactif,
- Discussion avec un personnage historique,
- Histoire dont vous êtes le héros
- Escape game…
La syntaxe de base est simple, mais ChatMD peut être configuré pour des usages plus complexes : personnalisation de l’interface, utilisation de variables, de choix aléatoires, possibilité de lien avec de l’IA générative de texte (LLM), de lui donner une base de connaissances (RAG), de faire évaluer une réponse de l’élève par l’IA…
Avantages
- Loin des langages de programmation classiques, la syntaxe en Markdown est assez naturelle et très facile à apprendre.
- ChatMD est libre, gratuit, hébergé sur une instance de l’Éducation nationale (la Forge des communs numériques éducatifs), ce qui est une garantie de stabilité de l’outil. Sans l’IA, ChatMD est totalement RGPD. Aucun donnée élève n’est récoltée.
- La connexion à l’IA générative de texte est facultative. En attendant une solution institutionnelle, il faut utiliser une clé API personnelle. Le site proposé dans cet article récolte très peu de données, mais il faut nécessairement passer par l’autorisation du chef d’établissement et le consentement éclairé des parents.
- On peut crypter sa clé API (avec cet outil) pour la cacher des utilisateurs, et leur fournir un mot de passe à la place.
- Avec ou sans IA, les possibilités pédagogiques sont grandes : aide technique ou méthodologique, support de révision, histoire dont vous êtes le héros, escape game...
- ChatMD propose de nombreuses fonctionnalités, son développement actuel est rapide. L’auteur, Cédric Eyssette, est très à l’écoute des demandes d’amélioration. Il est joignable via les réseaux sociaux (Mastodon, LinkedIn, Twitter/X) et sur Tchap (messagerie instantanée des agents de l’État) où un salon est dédié à l’outil.
Inconvénients
- L’outil ne récoltant pas de traces, il n’y a pas de visibilité sur l’activité des élèves. Il est nécessaire de régulièrement les inciter à utiliser le chatbot, en classe (sur une fin de séance par exemple) et à la maison via le cahier de textes.
- La création du chatbot nécessite l’apprentissage des bases de la syntaxe en Markdown, mais cela vient assez rapidement. L’interface de CodiMD permet de facilement manipuler les éléments de syntaxe nécessaires : mettre les mots en gras, créer des paragraphes, ouvrir et fermer des crochets, etc.
- Pour l’instant, l’absence d’un LLM issu de l’Éducation nationale oblige à passer par un fournisseur privé. Des sites proposent des clés API gratuites comme cohere.com, très peu de données sont récoltées (simple journal des tokens utilisés par jour) mais il faut nécessairement passer par l’autorisation du chef d’établissement et le consentement éclairé des parents. De plus, ces offres restent limitées (en nombre de tokens notamment, donc d’interactions), et peuvent à tout moment être modifiées et devenir payantes.
Des tutoriels pour construire votre chatbot
Cédric Eyssette propose l’indispensable chatbot de ChatMD, qui agrège de nombreux tutoriels de la prise en main aux fonctionnalités les plus avancées. Il est régulièrement mis à jour et fournit des liens vers de nombreux exemples de différentes disciplines.
Si vous souhaitez en savoir plus et apprendre la syntaxe Markdown, vous pouvez :
- consulter cette présentation de Cédric Eyssette
- vous référer aux nombreuses documentations sur le net (exemple)
- ou à ce tutoriel rapide de Cyril Iaconelli, avec à la fin des petits exercices interactifs.
Voici à quoi ressemble l’interface de CodiMD avec une partie du code de ViTa (à gauche), et la correspondance visible dans le chatbot (à droite) :
Les mini-tutoriels ci-dessous prennent comme exemple des chatbots aux contenus SVT.
- Se rendre sur apps.education.fr, choisir l’application "Pad avancé CodiMD". Si elle n’est pas déjà sur votre page d’accueil, vous la trouverez dans "Les services", et cliquez sur le + pour la mettre en favori.
- Créer une Nouvelle note
- Modifiez si besoin le mode de visualisation pour avoir accès à l’interafce de code à gauche et au rendu textuel à droite.
Modifier la visualisation du pad CodiMDCapture d’écran indiquant où modifier la visualisation
- Créer l’amorce de votre chatbot avec vos phrases d’accueil. La première ligne avec # est le nom de votre chatbot.
# Oscar
Bonjour !
Je suis Oscar, ton chatbot assistant en Sciences de la vie et de la Terre.
Que souhaites-tu réviser ?
- Vous pouvez personnaliser votre chatbot en lui donnant un avatar. Pour cela, créez un en-tête avec des triplets de tirets et ajoutez avatar : avec le lien de votre image. Dans l’exemple ci-dessous, l’image issue de Freepik est hébergée sur la Forge des communs numériques.
- Facultatif : avec avatarCercle : true, l’image est découpée automatiquement en rond.
---
avatar: https://forge.apps.education.fr/mfenaert/chatbots/-/raw/main/Images/9173214.jpg
avatarCercle: true
---
# Oscar
Bonjour !
Je suis Oscar, ton chatbot assistant en Sciences de la vie et de la Terre.
Que souhaites-tu réviser ?
Pour visualiser votre chatbot en ligne :
- Ouvrez chatMD
- Ajoutez un # au bout du lien
- Copiez le lien de votre note CodiMD et collez-le après le #
- Validez et/ou actualisez la page
Important : un pad CodiMD peut être utilisé pour de la rédaction collaborative, ce qui est intéressant si le chatbot est un projet d’équipe. Cependant, il peut aussi être accessible à toute autre personne, selon le degré de visibilité qu’on lui donne (et donc potentiellement modifié ou supprimé !).
Pensez à modifier ce niveau de visibilité selon vos souhaits. Personnellement je choisis généralement "Locked" : moi seule peux éditer mon pad, mais il est visible pour toute personne ayant le lien.
Des choix permettent à l’élève de naviguer entre des thèmes et de répondre à des questions de type QCM.
- La syntaxe est celle d’une liste numérotée. Pour chaque choix, on indique entre crochets le texte apparent dans le bouton, et entre parenthèses le titre exact du paragraphe vers lequel amène ce choix. Ces paragraphes sont identifiés par un double ## dans la note CodiMD.
- Si les parenthèses sont vides, l’utilisateur reviendra à l’accueil du chatbot.
- On peut proposer une liste fixe ou un ordre aléatoire : par exemple fixe pour la navigation dans les thèmes, aléatoire pour les réponses possibles à une question, comme dans l’exemple ci-dessous.
Syntaxe pour un ordre fixe, avec des points :
1. [Niveau collège-2de](Terre 2de)
2. [Niveau 1ère spécialité SVT](Terre 1spé)
3. [Retour au message initial]()
Syntaxe pour un ordre aléatoire, avec des parenthèses fermantes :
1) [la croûte terrestre](Terre q1bis)
2) [le manteau](Erreur)
3) [le noyau externe](Erreur)
4) [le noyau interne](Erreur)
- Les deux syntaxes peuvent être mélangées si on souhaite qu’une proposition soit toujours proposée à une place fixe (par ex en dernier).
- Pour éviter que les réponses ne soient révélées au survol, ajouter dans l’en-tête obfuscate : true.
- Si on ne veut programmer que des choix, et supprimer le champ de réponse libre, ajouter dans l’en-tête : clavier : false.
- Il est possible de proposer des questions aléatoires (exemple dans ViTa avec les questions sur les nucléotides complémentaires). Se référer au tutoriel de ChatMD qui propose de nombreuses fonctionnalités avancées.
Dans l’exemple précédent, on peut voir que trois choix sur quatre amènent vers le même paragraphe nommé ## Erreur. On peut différencier ce message d’erreur de diverses manières.
- Créer des paragraphes différents quand on veut non pas un message générique mais un message précis, comme dans l’exemple ci-dessous. La réponse "à rien" amène vers le message générique d’erreur, les deux autres réponses ont chacune un paragraphe spécifique ## Erreur litho et ## Erreur prof.
- Introduire des variables qui diversifient les rétroactions positives et négatives. Dans ViTa, trois variables ont été créées : bravo, erreur et encourage. Elles se définissent dans l’en-tête, avec pour chacune une demi-douzaine d’expressions possibles accompagnées ou non d’emojis (par exemple :cry : ) et séparées par un triple ///.
variables:
bravo: "Bravo ! /// Tout à fait ! /// Bonne réponse ! /// C'est exact ! /// C'est une bonne réponse ! /// Excellent !"
erreur: "C'est une erreur :-1:/// Eh non :anguished:/// Pas de chance :laughing:/// C'est inexact :anguished: /// Ce n'est pas la bonne réponse :cry: /// Aïe aïe aïe !:laughing:/// Nope... "
encourage: " Cherche encore. /// Recommence. /// Essaye encore ! /// Retente ta chance ! /// Réfléchis encore. /// Propose autre chose !"
- Ces variables sont ensuite à intégrer dans les paragraphes voulus avec la syntaxe :
@{bravo}, @{erreur} et @{encourage}
, et seront appelées de manière aléatoire lors des messages d’erreur, d’encouragement ou de félicitation.
Exemple de code pour une image :

Le texte alternatif entre guillemets est visible au survol ou au clic sur l’image.
Pour ajouter une source de l’image, visible mais plus petite que le texte du dialogue, on peut utiliser la balise aside.
<aside>Source : SVT Dijon modifié</aside>
Exemple de code pour un son :
!Audio:https://forge.apps.education.fr/mfenaert/chatbots/-/raw/32da32e85b01e7a067d24e3b368e501ddecdd519/Sons/615100__mlaudio__magic_game_win_success_2.wav
On peut aussi insérer une ressource externe (hébergée en ligne) via une iframe : vidéo, exercice interactif (LearningApps, H5P...), tout site externe autorisant la visualisation via une iframe.
Ci-dessous, j’ai inséré une fenêtre de Mesurim2 avec un modèle de granite en 3D ; il faut pour cela utiliser la version hébergée sur le site personnel de Philippe Cosentino, et générer une iframe par exemple avec La Digitale.
Association à l’IA
En attendant un modèle de langage ("moteur" de la génération de texte) institutionnel, il est nécessaire que le créateur du chatbot se crée une clé API.
- Aller sur cohere.com
- Créer un compte (gratuit)
- Dans le menu, aller dans "API keys"
- Copier la clé fournie (gratuite, sous limite d’un nombre d’interactions mensuelles)
Dans l’en-tête du chatbot, ajouter ces éléments :
useLLM:
url: https://api.cohere.com/v1/chat
askAPIkey: true
separator: auto
postprompt: "Réponds en français, en 10 phrases maximum. Utilise le gras, l'italique et les listes en Markdown pour mettre en valeur les éléments importants. Termine sur une affirmation, pas de question."
model: command-r-plus
maxTopElements: 5
Désormais une fenêtre pop-up s’ouvre au début du chatbot et demande la clé API. Il est possible de ne pas en mettre, dans ce cas le chatbot fonctionnera sans IA.
Création d’un prompt
Pour créer un bouton associé à un prompt interrogeant l’IA, à la manière des boutons "En savoir plus" de ViTa :

Exemple de code :
1. [En savoir plus](!useLLM Explique quelle roche constitue le manteau terrestre et pourquoi elle reste solide dans le manteau.)
Association à une base de connaissances
Un des soucis avec les chatbots à génération de texte, ce sont les hallucinations de l’IA. En effet, la question n’est pas comprise réellement, la réponse générée n’est qu’une suite de mots ou morceaux de mots statistiquement probables. Le chatbot peut dire de belles inepties, ou ne jamais atteindre un degré de précision scientifique satisfaisant.
Pour limiter ce souci, on peut associer le chatbot à une base de connaissances, ou RAG (Génération Augmentée de Récupération).
- Créer un pas sur CodiMD dans lequel vous indiquez toutes les connaissances nécessaires. Pour ViTa, j’ai copié-collé le programme de Seconde et j’ajoute des paragraphes plus précis et des extraits du programme de 1ère spécialité au fil de l’année.
Voir le fichier RAG de ViTa
- Ajouter dans votre en-tête le lien vers votre fichier RAG : informations : "URL_DE_VOTRE_PAD/download"
useLLM:
url: https://api.cohere.com/v1/chat
askAPIkey: true
separator: auto
informations: "URL_DE_VOTRE_PAD/download"
postprompt: "Réponds en français, en 10 phrases maximum. Utilise le gras, l'italique et les listes en Markdown pour mettre en valeur les éléments importants. Termine sur une affirmation, pas de question."
model: command-r-plus
maxTopElements: 5
Il est possible de laisser l’élève interroger l’IA de manière libre.
Dans ce cas, l’utilisateur doit utiliser une syntaxe précise, et débuter sa phrase en tapant !useLLM.
Pour réduire les éventuels débordements, et n’ayant pas une confiance démesurée dans les capacités de l’IA à répondre correctement, j’ai fait le choix de ne pas en informer les élèves.
J’ai aussi supprimé l’accès au clavier sur tout le chatbot, tout en redonnant accès pour certaines questions nécessitant une réponse libre. Pour cela :
- dans l’en-tête, indiquer :
{clavier: false}
{contenuDynamique: true} - dans un paragraphe où le clavier doit être accessible, indiquer :
{`@KEYBOARD = true`}
On peut proposer des questions à réponse libre, et faire en sorte que le chatbot évalue la qualité de la réponse de l’élève. Pour cela on donne des critères d’évaluation à l’IA suffisamment précis.
Cela fonctionne plutôt bien, mais avec parfois des imprécisions. J’ai choisi d’encadrer ces réponses de l’IA d’un avertissement enjoignant l’utilisateur à garder un esprit critique.

Code de l’interaction avec évaluation de l’IA :
## test
`@KEYBOARD = true`
Quels sont les 3 grands types de roches ?
`@reponseroches = @INPUT : 3roches`
## 3roches
*Réponse générée par IA, garder l'esprit critique :*
`!useLLM`
J'ai demandé à un élève de me dire quels sont les 3 grands types de roches.
Voici sa réponse : `@reponseroches`.
J'attends ces trois catégories : roches sédimentaires, magmatiques et métamorphiques. Évalue sa réponse et donne lui des conseils pour l'améliorer. Adresse-toi à lui directement en le tutoyant. Réponds en utilisant le markdown pour souligner certains points en gras ou en italique.
`END !useLLM`
*Fin de la réponse générée par l'IA.*
texte, choix, etc.
Retours des élèves et analyse du dispositif
Les élèves ont bien accueilli le chatbot et se sont impliqués dans la création de QCM à la fin des premiers chapitres. Un travail spécifique sur les rétroactions et le prompt sera mis en place à partir du 2e trimestre.
Aller plus loin
- L’IA au service des enseignants de SVT
- Un chatbot pour renforcer l’autonomie de l’élève dans l’utilisation du microscope
- Numérique & réel : le projet TraAM 2021-2023 de l’académie de Versailles avec un parcours Magistère en auto-formation : La contribution des chatbots et histoires interactives dans l’acquisition des compétences expérimentales
- Un chatbot avec IA pour aider à élaborer une stratégie de résolution
Remerciements
Un grand merci à Cédric Eyssette pour la création de cet outil libre et gratuit, ainsi que pour sa très grande réactivité et inventivité face à mes demandes !