Rendre un exercice configurable
La personnalisation des exercices dans PLaTon peut être effectuée par le biais du fichier main.plc
(PLaton config), qui définie un ensemble de variables paramétrables.
Cela permet aux utilisateurs, même sans compétences en programmation PLaTon, de configurer et d'ajuster les exercices selon leurs besoins.
Processus de Configuration
- Création de
main.plc
: Commencez par créer un fichiermain.plc
dans le répertoire de votre exercice. - Définition des Variables : Définissez une liste de variables avec des attributs spécifiques qui correspondent aux éléments paramétrables de l'exercice.
Lorsque vous créez des variables dans un PLC avec des valeurs par défaut, ces valeurs écraseront les valeurs par défaut définies dans le fichier main.ple de l'exercice.
Processus d'Intégration dans une Activité
- Intégration dans une Activité : Lors de l'intégration de l'exercice dans une activité, les variables configurables sont affichées dans un formulaire qui peut être affiché/masqué en cliquant sur les boutons du même nom comme sur l'image ci-dessus.
- Prévisualisation : Il est possible de prévisualiser l'exercice avec les valeurs modifiées afin de s'assurer que les paramètres sont corrects et de les ajuster si nécessaire.
Lorsque l'activité est lancée, les valeurs configurées sont injectées dans l'exercice et peuvent être utilisées dans le code de l'exercice. Cela permet d'avoir une seule ressource de type exercice qui peut être utilisée dans plusieurs activités avec des configurations différentes.
Cette méthode évite de dupliquer inutilement du code, simplifiant ainsi la gestion et la mise à jour des exercices. Une autre alternative est de créer un autre exercice complet à partir de ce template en le choisissant au moment de la création d'un exercice.
Aperçu d'un Fichier PLC
Le fichier main.plc
est un template de configuration qui expose des variables pouvant être ajustées lors de l'intégration de l'exercice dans une activité.
Ces variables peuvent remplacer les valeurs par défaut établies dans le fichier main.ple de l'exercice.
Interface de Configuration
Lorsque vous ouvrez main.plc
dans PLaTon, vous êtes accueilli par un formulaire avec les éléments suivants :
-
Liste des Variables : Un espace à gauche où vous pouvez ajouter, supprimer ou réorganiser les variables configurables de l'exercice.
-
Options de Debug : Un bouton pour vous permettre de visualiser le contenu interne d'un fichier PLC.
-
Informations sur les Variables :
- Nom : Identifie la variable (ex. min, max).
- Type : Spécifie le type de la variable (voir ci-dessous).
- Description : Un champ pour décrire (en markdown) la variable et énoncer les hypothèses sur sa valeur.
-
Options pour les Variables :
- Selon le type de variable, des options supplémentaires peuvent être disponibles.
- Par exemple, pour les variables de type Nombre, vous pouvez définir une valeur minimale et maximale.
Types de Variables Disponibles
- Nombre (
number
) : Variables numériques avec ou sans contraintes de limite.- Options :
- Min (
min
): Valeur minimale autorisée lors de la saisie. - Max (
max
): Valeur maximale autorisée lors de la saisie.
- Min (
- Options :
- Texte (
text
) : Chaînes de caractères. - Code (
code
) : Snippets de code qui peuvent être insérés dans l'exercice.- Options :
- Langage (
language
): Langage de programmation du code.
- Langage (
- Options :
- Booléen (
boolean
): Valeurs vraies ou fausses. - Fichier (
file
) : Permet d'intégrer des URL ou du contenu de fichier directement. La valeur utilise les opérateurs@copyurl
et@copycontent
(e.g.@copyurl readme.md
). - JSON (
json
): Structures de données complexes sous forme d'objets JSON. - Expression Mathématique (
mathexpr
): Champ de saisie pour récupérer une expression mathématique (le format de sortie est du Latex) - Liste (
list
): Permet à l'utilisateur de saisir une liste de valeurs.- Options :
- multiligne (
multiline
): Permet à l'utilisateur de saisir des valeurs sur plusieurs lignes.
- multiligne (
- Options :
- Select (
select
): Permet à l'utilisateur de sélectionner une valeur parmi une liste de valeurs prédéfinies.- Options :
- Choix multiple (
multiple
): Permet à l'utilisateur de sélectionner plusieurs valeurs. - Choix possibles (
choices
): La liste de valeurs que l'utilisateur peut sélectionner.
- Choix multiple (
- Options :
- Automate (
automaton
): Permet à l'utilisateur de dessiner un automate.
Partout où vous pouvez écrire du texte, vous pouvez utiliser les opérateurs @copyurl
et @copycontent
pour insérer
des URL ou du contenu de fichier directement.
Le fichier main.plc
est en réalité un simple fichier JSON avec une extension spéciale. Si vous rencontrez des problèmes avec l'interface graphique ou si vous préférez éditer le fichier directement, vous pouvez simplement le renommer temporairement en .json
, l'éditer avec n'importe quel éditeur de texte, puis le renommer à nouveau en .plc
. Cela peut être utile pour corriger des erreurs ou pour comprendre la structure du fichier.
Exemple d'Utilisation
Les possibilités offertes par le fichier main.plc
dans la création d'exercices PLaTon sont vastes.
Voici quelques exemples d'utilisation supplémentaires pour illustrer la flexibilité de cet outil.
Pour chaque exemple, nous fournissons un contexte, une configuration main.plc
et une application de l'exercice :
Exemple 1: Exercice de Mathématiques
Contexte :
Un professeur souhaite créer une série d'exercices sur les équations du second degré où les élèves doivent trouver les racines.
Configuration main.plc
:
- Variables pour les coefficients a, b, et c de l'équation ax² + bx + c = 0.
- Un booléen pour activer ou non les aides.
Application :
{
"inputs": [
{
"type": "number",
"name": "a",
"description": "Coefficient de x²",
"value": 1,
"options": {
"min": -10,
"max": 10
}
},
{
"type": "number",
"name": "b",
"description": "Coefficient de x",
"value": -5,
"options": {
"min": -10,
"max": 10
}
},
{
"type": "number",
"name": "c",
"description": "Terme constant",
"value": 6,
"options": {
"min": -10,
"max": 10
}
},
{
"type": "boolean",
"name": "showHints",
"description": "Afficher les aides pour la résolution des équations",
"value": true
}
]
}
Exemple 2: Exercice de Compréhension de Texte
Contexte :
Un exercice où les élèves doivent analyser un texte et répondre à des questions de compréhension.
Configuration main.plc
:
- Une variable de type Texte pour le passage à lire.
- Une variable de type Fichier pour charger des questions à choix multiples en format JSON.
Application :
{
"inputs": [
{
"type": "text",
"name": "texte",
"description": "Le passage que les élèves doivent lire.",
"value": "La révolution industrielle, qui a débuté en Grande-Bretagne à la fin du XVIIIe siècle, a transformé l'économie mondiale en remplaçant le travail manuel par la mécanisation. Cette période a vu l'émergence de nouvelles technologies, de nouveaux modes de production et a profondément modifié la structure sociale et économique des pays concernés."
},
{
"type": "file",
"name": "questions",
"description": "Un fichier JSON contenant les questions et options de réponse.",
"value": "@copyurl questions.json"
}
]
}
Exemple 3: Exercice de Programmation
Contexte :
Les élèves doivent écrire un script pour résoudre un problème de programmation spécifique.
Configuration main.plc
:
- Une variable de type Code pour le squelette de code initial.
- Un booléen pour choisir si le mode débogage est activé.
Application :
{
"inputs": [
{
"type": "code",
"name": "skeletonCode",
"description": "Le squelette de code initial que les apprenants doivent compléter.",
"value": "def fibonacci(n):\n # TODO: Implémentez la fonction qui renvoie le n-ième nombre de Fibonacci\n # n=0 -> 0, n=1 -> 1, n=2 -> 1, n=3 -> 2, etc.\n pass\n\n# Tests\nassert fibonacci(0) == 0\nassert fibonacci(1) == 1\nassert fibonacci(5) == 5",
"options": {
"language": "python"
}
},
{
"type": "boolean",
"name": "debugMode",
"description": "Activer ou désactiver le mode débogage pour cet exercice.",
"value": false
}
]
}
Exemple 4: Exercice de Langues
Contexte :
Un exercice de langue où les élèves doivent traduire des phrases d'une langue à une autre.
Configuration main.plc
:
- Une variable de type Texte pour la phrase originale.
- Une variable de type Texte pour la phrase cible attendue.
Application :
{
"inputs": [
{
"type": "text",
"name": "sourcePhrase",
"description": "La phrase à traduire.",
"value": "Le chat dort sur le canapé pendant que le chien joue dans le jardin."
},
{
"type": "text",
"name": "targetPhrase",
"description": "La traduction attendue de la phrase.",
"value": "The cat is sleeping on the sofa while the dog plays in the garden."
}
]
}
Dans ces exemples, cette documentation affiche le contenu brut des fichiers main.plc
pour illustrer les
possibilités offertes par ce fichier mais dans la pratique, l'édition de ce fichier se fait via un formulaire.
Lien entre PLC et PLE
Avant l'exécution de l'exercice, les valeurs des variables configurées dans le fichier main.plc
remplaceront les valeurs par défaut définies en dehors du builder.
Si une variable n'est pas déclarée dans le main.ple
en dehors d'un builder, elle sera automatiquement créée avec la valeur par défaut définie dans le main.plc
. Il n'est donc pas nécessaire de déclarer toutes les variables dans le main.ple
.
Vous pouvez voir le plc comment une manière de définir des valeurs avant le lancement du builder de l'exercice.
Bonnes Pratiques
- Clarté des Noms : Nommez les variables de manière intuitive pour que leur fonction soit évidente.
- Descriptions Utiles : Fournissez des descriptions claires pour guider les utilisateurs sur la manière d'utiliser chaque variable.
- Validation des Valeurs : Si possible, définissez des validations dans le code de l'exercice pour vous assurer que les valeurs saisies sont dans les plages attendues.
En suivant ces étapes et recommandations, les utilisateurs peuvent créer des exercices PLaTon personnalisables et adaptés à divers scénarios pédagogiques, rendant la plateforme plus accessible et flexible.