Introduction
L'Adaptive Learning permet de personnaliser l'expérience d'apprentissage en fonction des performances de chaque utilisateur. Ce tutoriel vous guide pas à pas pour créer un système simple qui ajuste la difficulté des questions. Vous comprendrez les bases d'un algorithme adaptatif et comment l'implémenter en JavaScript. C'est essentiel pour les développeurs souhaitant intégrer des fonctionnalités éducatives modernes dans leurs applications.
Prérequis
- Connaissances de base en JavaScript
- Node.js installé
- Un éditeur de code (VS Code recommandé)
Initialisation du projet
mkdir adaptive-learning
cd adaptive-learning
npm init -y
npm install readline-syncCette commande crée le dossier du projet et installe readline-sync pour gérer les entrées utilisateur en ligne de commande.
Définir le modèle de données
const questions = [
{ id: 1, text: "Quelle est la capitale de la France ?", difficulty: 1, answer: "Paris" },
{ id: 2, text: "Combien font 2+2 ?", difficulty: 1, answer: "4" },
{ id: 3, text: "Quelle est la racine carrée de 16 ?", difficulty: 2, answer: "4" }
];
module.exports = questions;Ce fichier définit un tableau de questions avec niveaux de difficulté. Chaque objet contient les informations nécessaires pour l'adaptation.
Logique d'adaptation simple
function selectNextQuestion(questions, performance) {
const filtered = questions.filter(q => q.difficulty === performance);
return filtered.length > 0 ? filtered[0] : questions[0];
}
module.exports = { selectNextQuestion };La fonction filtre les questions selon le niveau de performance de l'utilisateur pour proposer un contenu adapté.
Interface utilisateur principale
const readline = require('readline-sync');
const questions = require('./models');
const { selectNextQuestion } = require('./adaptive');
let performance = 1;
let score = 0;
for (let i = 0; i < 3; i++) {
const q = selectNextQuestion(questions, performance);
const answer = readline.question(q.text + ' ');
if (answer.toLowerCase() === q.answer.toLowerCase()) {
score++;
performance = Math.min(performance + 1, 2);
} else {
performance = Math.max(performance - 1, 1);
}
}
console.log('Score final: ' + score);Ce script principal exécute la boucle d'apprentissage adaptatif, met à jour le niveau selon les réponses et affiche le score final.
Exécution et test
node index.jsExécutez ce fichier pour tester le système. Il pose 3 questions adaptées et ajuste la difficulté en temps réel.
Bonnes pratiques
- Toujours valider les réponses utilisateur
- Stocker les données de performance de manière sécurisée
- Commencer par des niveaux bas pour les nouveaux utilisateurs
- Ajouter des logs pour analyser l'adaptation
- Tester avec différents profils d'utilisateurs
Erreurs courantes à éviter
- Oublier de mettre à jour le niveau après chaque réponse
- Utiliser des données statiques sans filtrage
- Ignorer les cas de performance extrême
- Ne pas gérer les erreurs d'entrée utilisateur
Pour aller plus loin
Pour approfondir l'Adaptive Learning, explorez les algorithmes avancés comme le machine learning. Découvrez nos formations Learni.