Froggiesplaining :Explications détaillées de function evaluerQCM():
const questions = document.querySelectorAll("#qcm p");Sélectionne tous les
éléments < p > à l'intérieur de l'élément avec l'ID #qcm. Chaque < p > représente une question dans
le QCM
let correctAnswers = 0;Initialise une variable correctAnswers à 0. Cette variable
sera utilisée pour compter le nombre de réponses correctes.
questions.forEach((_, index) => { ... });Utilise la méthode forEach pour parcourir
chaque élément de la liste des questions.
Le paramètre _ est utilisécar le contenu de l'élément < p > n'est pas nécessaire,
seulement l'index de la question est utilisé.
const selected = document.querySelector(input[name="q${index + 1}"] );Sélectionne
l'input radio qui est coché pour la question correspondant à l'index. Les inputs sont sélectionnés
en utilisant un attribut name dynamique (q1, q2, etc.). :checked permet de cibler uniquement
l'option sélectionnée par l'utilisateur.
enfin ,
if (selected && selected.value === "correct") { correctAnswers++; }Vérifie si une
option a été sélectionnée (selected n'est pas null) et si la valeur de cette option est "correct".
Si c'est le cas, le compteur correctAnswers est incrémenté de 1.