Quiz Littéraire Interactif

// QUESTIONS DU QUIZ const questions = [ { question: "Quel type de lecture recherches-tu en ce moment ?", key: "typeLecture", options: ["Réfléchir profondément", "Spirituel / Religieux", "Détente et divertissement", "Biographie / Récit réel", "Peu importe"] }, { question: "Quelle longueur de livre préfères-tu ?", key: "longueur", options: ["0 à 50 pages","51 à 150 pages","151 à 300 pages","301 à 500 pages","500 pages et plus","Peu importe"] }, { question: "Quel ton veux-tu pour ton livre ?", key: "ton", options: ["Touchant / Émouvant","Triste / Mélancolique","Drôle / Humoristique","Sérieux / Intense","Suspense / Captivant","Épique / Aventure","Peu importe"] }, { question: "Dans quelle région du monde se passe l'histoire ?", key: "region", options: ["Europe","Asie / Moyen-Orient","Amérique du Nord","Afrique","Amérique du Sud","Imaginaire / Fantastique","Peu importe"] }, { question: "Quel âge ont les personnages principaux ?", key: "age", options: ["Enfant","Adolescent","Jeune adulte","Adulte","Multigénérationnel","Tout âge","Peu importe"] }, { question: "Quel style de narration préfères-tu ?", key: "narration", options: ["Première personne","Troisième personne","Narration multiple","Basique","Peu importe"] }, { question: "Quel type de fin préfères-tu ?", key: "fin", options: ["Heureuse","Tragique / Émotive","Ouverte / Réflexive","Twist / Surprise","Peu importe"] }, { question: "Veux-tu que le livre se passe en période de guerre ou conflit ?", key: "conflit", options: ["Oui","Non","Peu importe"] }, { question: "Acceptes-tu la présence de scènes choquantes ?", key: "choquant", options: ["Oui","Non","Peu importe"] }, { question: "Préférence pour le sexe de l'auteur ?", key: "sexeAuteur", options: ["Femme","Homme","Peu importe"] } ]; let currentQuestionIndex = 0; let answers = {}; // AFFICHER LA QUESTION function showQuestion() { const quizDiv = document.getElementById("quiz"); quizDiv.innerHTML = ""; if (currentQuestionIndex >= questions.length) { showResult(); return; } const q = questions[currentQuestionIndex]; const h2 = document.createElement("h2"); h2.textContent = q.question; quizDiv.appendChild(h2); q.options.forEach(option => { const btn = document.createElement("button"); btn.textContent = option; btn.onclick = () => { answers[q.key] = option; currentQuestionIndex++; showQuestion(); }; quizDiv.appendChild(btn); }); } // FILTRER LES LIVRES ET AFFICHER LES RÉSULTATS function showResult() { const quizDiv = document.getElementById("quiz"); quizDiv.innerHTML = "

Résultat(s) :

"; let filteredBooks = books.filter(book => { return Object.keys(answers).every(key => { return answers[key] === "Peu importe" || (Array.isArray(book[key]) ? book[key].includes(answers[key]) : book[key] === answers[key]); }); }); if(filteredBooks.length === 0){ quizDiv.innerHTML += "

Aucun livre ne correspond à ta recherche.

"; return; } filteredBooks.forEach(book => { const div = document.createElement("div"); div.className = "book-result"; div.innerHTML = `${book.titre} de ${book.auteur}`; quizDiv.appendChild(div); }); } // LANCER LE QUIZ showQuestion();