ChatMD

2. Créer des choix

Une fois votre chatbot créé grâce au premier turoriel, vous pouvez le programmer avec une arborescence de choix. Il peut s’agir d’un cheminement dans des notions et documents, d’une histoire interactive, ou de questions à choix multiples avec des bonnes et des mauvaises réponses.

Création de boutons de choix

  • 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 la syntaxe « ## espace titre » 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.

Dissection d’un exemple

Voici un exemple de chatbot avec son introduction et quelques choix, et le pad associé.
Ci-dessous des explications.

Sur la gauche, structure du codiMD, à droite son rendu dans le navigateur
La structure du chatbot dans CodiMD et son rendu dans le navigateur

Sur la gauche, structure du codiMD, à droite son rendu dans le navigateur :
 non encadré : en-tête YAML
 cadre violet : message d’introduction et choix fixes
 cadres jaunes : messages de niveau 2, dans l’un une liste de boutons à position variable
 cadre rouge : message d’Erreur
 cadre vert : message si bonne réponse à la question 1

Syntaxe pour un ordre fixe, avec des points :

Veux-tu que je te pose des questions de géologie ? Fais ton choix !
1. [Niveau collège-2de](Terre 2de)
2. [Niveau 1ère spécialité SVT](Terre 1spé)

On peut renvoyer au message initial :

## Terre 2de
Rien à voir par ici :wink:
1. [Retour au message initial]()

Syntaxe pour un ordre aléatoire, avec des parenthèses fermantes :

## Terre 1spé
Quelle est la couche la plus superficielle de la structure terrestre ?
1) [la croûte terrestre](TerreQ1OK)
2) [le manteau](Erreur)
3) [le noyau externe](Erreur)
4) [le noyau interne](Erreur)
  • Les deux syntaxes (parenthèse et point) 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.

Les réponses possibles à la question sur la croûte terrestre renvoient vers deux autres paragraphes :

Si la réponse est correcte :

## TerreQ1OK
Bravo ! C'est bien la croûte terrestre qui se trouve le plus en surface.

En cas de réponse fausse :

## Erreur
C'est une erreur ! Essaye encore.

Remarque : On peut continuer ainsi en créant autant de paragraphes ## et de boutons de choix que l’on veut, dans la limite de 100 000 lignes sur CodiMD. Au delà, il faudra télécharger le fichier .md et l’héberger, par exemple sur la Forge des communs numériques éducatifs.

Pour aller plus loin

Il est possible de proposer des questions aléatoires (exemple dans le chatbot 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.

Ressource(s) associée(s)

Article rédigé par Mélanie FENAERT