Afficher la table des matières Masquer la table des matières
- Recette simple de tarte tomate moutarde pour l’été — ingrédients et timing
- Étapes claires pour réussir la pâte et éviter qu’elle ne se détrempe
- Quizz : Cette Tarte à la Tomate et Moutarde
- Résultat
- ${q.text} Choisissez une réponse puis appuyez sur Entrée ou cliquez sur une option. ${q.options.map(opt => ` ${opt.text} Sélectionner `).join("")} `; // Activer/désactiver boutons de navigation prevBtn.disabled = currentIndex === 0; nextBtn.textContent = (currentIndex === questions.length - 1) ? "Terminer" : TEXTS.NEXT; // Réinitialiser summary si visible summary.classList.add("hidden"); // Attacher gestionnaires aux options attachOptionHandlers(); // Mettre le focus sur la liste pour navigation clavier const optionsList = document.getElementById("options-list"); optionsList.focus(); } /* Attache click + keyboard aux boutons d'option */ function attachOptionHandlers() { const optionButtons = Array.from(document.querySelectorAll(".option-btn")); const optionsList = document.getElementById("options-list"); let focusedIndex = 0; // Si l'utilisateur avait déjà répondu, afficher le feedback const prevChoice = userAnswers[currentIndex]; if (prevChoice) { // Affiche le feedback enregistré const chosenEl = optionButtons.find(b => b.dataset.option === prevChoice); if (chosenEl) showFeedbackForChoice(chosenEl); } optionButtons.forEach((btn, idx) => { // Clic sur option btn.addEventListener("click", () => { handleChoice(btn); // rendre focus clair btn.focus(); }); // Styles d'état sélectionné pour ARIA btn.setAttribute("tabindex", "-1"); }); // Navigation clavier : flèches pour se déplacer, Entrée pour valider optionsList.addEventListener("keydown", (ev) => { const max = optionButtons.length - 1; if (ev.key === "ArrowDown") { ev.preventDefault(); focusedIndex = Math.min(max, focusedIndex + 1); optionButtons[focusedIndex].focus(); } else if (ev.key === "ArrowUp") { ev.preventDefault(); focusedIndex = Math.max(0, focusedIndex - 1); optionButtons[focusedIndex].focus(); } else if (ev.key === "Enter" || ev.key === " ") { ev.preventDefault(); // Trouver celui qui a le focus const active = document.activeElement; if (active && active.classList.contains("option-btn")) { handleChoice(active); } else { // Si focus sur liste mais pas sur option, valider l'option 0 optionButtons[focusedIndex].click(); } } }); } /* Gère le choix de l'utilisateur pour une option */ function handleChoice(btn) { const optionId = btn.dataset.option; const q = questions[currentIndex]; // Trouver l'objet option const opt = q.options.find(o => o.id === optionId); // Enregistrer la réponse (remplace si l'utilisateur modifie) const prevAnswer = userAnswers[currentIndex]; userAnswers[currentIndex] = optionId; // Mettre à jour le score uniquement si la réponse est corrigée maintenant // Pour simplifier, on récompense une question une seule fois : si la réponse change, on recalcule le score complet recalcScore(); // Afficher feedback visuel showFeedbackForChoice(btn, opt); } /* Affiche le feedback (correct/incorrect) et l'explication */ function showFeedbackForChoice(btn, opt) { const q = questions[currentIndex]; // Marquer visuellement toutes les options limité pour éviter multiples choix falses const optionButtons = Array.from(document.querySelectorAll(".option-btn")); optionButtons.forEach(b => { b.disabled = true; b.classList.remove("option-correct", "option-wrong"); b.setAttribute("aria-disabled", "true"); }); // Trouver l'option correcte pour indiquer const correctOpt = q.options.find(o => o.correct); optionButtons.forEach(b => { const id = b.dataset.option; if (id === correctOpt.id) { b.classList.add("option-correct", "border-2"); } if (userAnswers[currentIndex] && id === userAnswers[currentIndex] && id !== correctOpt.id) { b.classList.add("option-wrong", "border-2"); } }); // Feedback textuel et explication const feedbackEl = document.getElementById("feedback"); const chosen = q.options.find(o => o.id === userAnswers[currentIndex]); const isCorrect = chosen && chosen.correct; feedbackEl.innerHTML = ` ${isCorrect ? 'Bonne réponse !' : 'Ce n’est pas tout à fait ça.'} ${chosen ? chosen.explication : ''} Indice : réponse correcte — ${correctOpt.text} `; // Mettre à jour progression visuelle et score progressBar.style.width = `${Math.round(((currentIndex + 1) / questions.length) * 100)}%`; scoreText.textContent = `${TEXTS.SCORE_PREFIX}${score}`; } /* Recalcule le score total selon userAnswers */ function recalcScore() { let s = 0; userAnswers.forEach((ans, idx) => { if (!ans) return; const q = questions[idx]; const chosen = q.options.find(o => o.id === ans); if (chosen && chosen.correct) s++; }); score = s; } /* Affiche le résumé final détaillé */ function showSummary() { recalcScore(); finalScore.textContent = TEXTS.FINAL(score); detailedAnswers.innerHTML = ""; questions.forEach((q, idx) => { const userAns = userAnswers[idx]; const chosen = q.options.find(o => o.id === userAns); const correct = q.options.find(o => o.correct); const ok = chosen && chosen.correct; const entry = document.createElement("div"); entry.className = "p-2 rounded explication"; entry.innerHTML = ` ${q.text} ${ok ? '✔️ Réponse correcte' : '❌ Réponse incorrecte'} ${ok ? '✅' : '➡️'} Votre réponse : ${chosen ? chosen.text : 'Aucune réponse'} Bonne réponse : ${correct.text} ${correct.explication} `; detailedAnswers.appendChild(entry); }); // Afficher la section résumé et masquer la zone question si vous le souhaitez summary.classList.remove("hidden"); } /* ========== Événements navigation ========== */ nextBtn.addEventListener("click", () => { if (currentIndex < questions.length - 1) { currentIndex++; renderQuestion(); } else { // Fin du quizz : afficher résumé // Assurer que les utilisateurs qui n'ont pas répondu voient le score progressBar.style.width = `100%`; progressText.textContent = TEXTS.PROGRESS(questions.length, questions.length); showSummary(); } }); prevBtn.addEventListener("click", () => { if (currentIndex > 0) { currentIndex--; renderQuestion(); } }); revealBtn.addEventListener("click", () => { // Affiche toutes les réponses sans compter comme "terminé" showSummary(); }); restartBtn.addEventListener("click", () => { // Reset complet currentIndex = 0; userAnswers = Array(questions.length).fill(null); score = 0; renderQuestion(); progressBar.style.width = `0%`; progressText.textContent = TEXTS.PROGRESS(1, questions.length); scoreText.textContent = `${TEXTS.SCORE_PREFIX}${score}`; }); retakeBtn.addEventListener("click", () => { // Reprendre depuis le début restartBtn.click(); // Scroller vers le haut du composant pour l'utilisateur document.getElementById("quiz-tarte").scrollIntoView({ behavior: 'smooth' }); }); tipsBtn.addEventListener("click", () => { // Affiche une boîte d'astuces sous forme accessible const box = document.createElement("div"); box.className = "mt-3 p-3 rounded border bg-amber-50"; box.innerHTML = `${TEXTS.CHEF_TIP_TITLE} ${TEXTS.CHEF_TIPS.map(p => `• ${p}`).join("")} `; // Insérer après le résumé summary.appendChild(box); box.scrollIntoView({ behavior: 'smooth' }); }); /* ========== Accessibilité additionnelle : gestion du focus global ========== */ // Permettre navigation clavier entre Prev/Next avec Tab naturellement. // Ajout : touche 'r' pour recommencer (raccourci convivial) document.addEventListener("keydown", (e) => { if (e.key.toLowerCase() === "r" && (e.ctrlKey || e.metaKey)) { // Ctrl/Cmd + R - ici on évite d'interférer avec reload du navigateur return; } if (e.key.toLowerCase() === "r") { // simple 'r' pour recommencer si l'utilisateur veut un raccourci restartBtn.focus(); } }); /* ========== Notes développeur ========== - Pas d'API externe utilisée (données embarquées). - Pour personnaliser les questions : modifier le tableau `questions` plus haut. - Pour traduire : ajuster les chaînes dans `TEXTS`. - Performance : manipulation DOM simple, aucun chargement bloquant. - Tests rapides : vérifier au clavier (flèches haut/bas, Entrée) et à la souris. ================================================= */ 7 Recettes Avec L’Abricot Pour Profiter À Fond De Ce Fruit D’Été Éphémère Profitez pleinement de l’abricot cet été : 7 recettes faciles et créatives pour transformer ce fruit éphémère en desserts et en douceurs de pâtisserie à la fois simples et gourmandes. Ces recettes donnent des indications précises (températures, temps de cuisson,… Spaghetti au Four Facile et Savoureux pour les Soirées de Semaine Chargées Préparez un spaghetti au four facile et savoureux en 30–40 minutes pour sauver les soirées de semaine avec un repas rapide et réconfortant 🍝✨. Choisir une recette simple transforme la cuisine maison en solution pratique: quelques ingrédients, une cuisson au… Cette Salade Pates Froide Va Sauver Tous Vos Pique-Niques D’Été En 15 Minutes Cette salade de pâtes froide va sauver tous vos pique-niques d’été en 15 minutes : fraîche, transportable et prête à régaler une foule. ☀️🥗 Léa, organisatrice de pique-niques et amatrice de simplicité gourmande, mise sur trois recettes ultra rapides pour… 7 Recette Aubergine Au Four Faciles Qui Vont Vous Réconcilier Avec Ce Légume Ces 7 recettes d’aubergine au four sont conçues pour être faciles, rapides et délicieuses : suivez les repères de cuisson, respectez les quantités et vous obtiendrez une chair fondante prête à gratiner en 50–55 minutes. Ce guide pratique permet de… Variantes estivales : fromages, herbes et présentations pour tous les repas Ajouter du parmesan, des copeaux de chèvre ou une boule de burrata change le profil en profondeur : le fromage apporte onctuosité tandis que le thym frais ou les herbes de Provence marquent les saveurs méditerranéennes. Pour des idées visuelles et adaptations très simples, la version colorée avec tomates anciennes se trouve aussi chez une déclinaison ultra simple, et pour des inspirations rapides à préparer, voir les recettes estivales tomates. Ces variantes rendent la tarte adaptée à un apéro, un pique-nique ou un dîner léger. 🧀🌿 Simplifier pour un plat rapide ou transformer en entrée fraîche
Cette tarte à la tomate et moutarde est ultra simple et devient rapidement la star de l’été : prête en moins de 40 minutes, elle combine tomate, moutarde et pâte croustillante pour un résultat à la fois frais et réconfortant. Ce plat polyvalent fonctionne comme entrée fraîche, plat rapide ou bouchée d’apéritif, parfait pour la cuisine estivale. À la clef : une recette simple, goûteuse et facile à préparer qui sublime les saveurs méditerranéennes. 🍅✨
Recette simple de tarte tomate moutarde pour l’été — ingrédients et timing
Ingrédients essentiels : il faut 1 pâte feuilletée, 3 à 4 tomates bien mûres, 2 c. à soupe de moutarde à l’ancienne, un filet d’huile d’olive et du sel et poivre. Temps total : préparation 10 min et cuisson 25–30 min, ce qui en fait une option idéale quand le temps manque. Suivre ces proportions garantit une tarte équilibrée entre acidité et pep’s ; c’est une recette simple qui marche à tous les coups. 🔥
Étapes claires pour réussir la pâte et éviter qu’elle ne se détrempe
Préchauffer le four à 200°C, dérouler la pâte et la piquer, puis étaler la moutarde à l’ancienne en laissant un bord visible : la moutarde forme une barrière qui protège la pâte. Disposer des tranches de tomate égouttées, assaisonner et ajouter un filet d’huile d’olive avant d’enfourner 25–30 minutes. Cette méthode simple empêche la tarte de s’alourdir et garantit une pâte croustillante tandis que les tomates restent fondantes. 🧑🍳
Pour approfondir les astuces anti-humidité et variantes de cuisson, consulter une fiche pratique qui détaille la technique de saupoudrage de chapelure et le choix de la pâte : astuce anti-humidité et recette classique. Cette référence montre comment quelques gestes simples transforment une tarte ordinaire en pièce maîtresse estivale. 🌿
Quizz : Cette Tarte à la Tomate et Moutarde
Testez vos connaissances et découvrez des astuces pour réussir la star de l’été !
Accessible au clavier — utilisez les flèches pour naviguer entre les options et Entrée pour valider.
7 Recettes Avec L’Abricot Pour Profiter À Fond De Ce Fruit D’Été Éphémère
Profitez pleinement de l’abricot cet été : 7 recettes faciles et créatives pour transformer ce fruit éphémère en desserts et en douceurs de pâtisserie à la fois simples et gourmandes. Ces recettes donnent des indications précises (températures, temps de cuisson,…
Spaghetti au Four Facile et Savoureux pour les Soirées de Semaine Chargées
Préparez un spaghetti au four facile et savoureux en 30–40 minutes pour sauver les soirées de semaine avec un repas rapide et réconfortant 🍝✨. Choisir une recette simple transforme la cuisine maison en solution pratique: quelques ingrédients, une cuisson au…
Cette Salade Pates Froide Va Sauver Tous Vos Pique-Niques D’Été En 15 Minutes
Cette salade de pâtes froide va sauver tous vos pique-niques d’été en 15 minutes : fraîche, transportable et prête à régaler une foule. ☀️🥗 Léa, organisatrice de pique-niques et amatrice de simplicité gourmande, mise sur trois recettes ultra rapides pour…
À lire Ce Batch Cooking Juin Prêt En 2 Heures Va Sauver Toute Votre Semaine Chargée
7 Recette Aubergine Au Four Faciles Qui Vont Vous Réconcilier Avec Ce Légume
Ces 7 recettes d’aubergine au four sont conçues pour être faciles, rapides et délicieuses : suivez les repères de cuisson, respectez les quantités et vous obtiendrez une chair fondante prête à gratiner en 50–55 minutes. Ce guide pratique permet de…
Variantes estivales : fromages, herbes et présentations pour tous les repas
Ajouter du parmesan, des copeaux de chèvre ou une boule de burrata change le profil en profondeur : le fromage apporte onctuosité tandis que le thym frais ou les herbes de Provence marquent les saveurs méditerranéennes. Pour des idées visuelles et adaptations très simples, la version colorée avec tomates anciennes se trouve aussi chez une déclinaison ultra simple, et pour des inspirations rapides à préparer, voir les recettes estivales tomates. Ces variantes rendent la tarte adaptée à un apéro, un pique-nique ou un dîner léger. 🧀🌿
Simplifier pour un plat rapide ou transformer en entrée fraîche
Pour transformer la tarte en entrée fraîche ou en bouchées d’apéritif, cuire en grand format puis découper en carrés; elle se sert aussi parfaitement froide. Si l’urgence est de mise, la recette est prête en 40 minutes avec des ingrédients du placard — voir une version express qui mise sur la pâte prête à l’emploi pour aller encore plus vite : version express prête en 15 minutes. L’astuce clé : préparer les tomates en amont pour gagner du temps sans perdre en qualité. ⏱️
Pour obtenir la tarte tomate parfaite au rendu croustillant et présentation soignée, s’inspirer de recommandations ciblées comme tarte tomate parfaite qui détaille le choix des tomates et la cuisson. Tester une variante autour de la mozzarella ou d’une pâte brisée crée un résultat plus rustique et tout aussi savoureux. Le point final : choisir de bonnes tomates et ne pas saturer la pâte garantissent une tarte à la fois esthétique et gourmande — lancez-vous et transformez vos soirées d’été en petits festins. 🍽️
La sauce tomate express en 10 minutes pour sauver vos soirées chargées
Préparez une sauce tomate express en 10 minutes pour sauver vos soirées chargées : une recette rapide, savoureuse et idéale pour une cuisine facile et un gain de temps immédiat. ⏱️🍅 La sauce tomate express en 10 minutes : le…
À lire Cette Salade Thai Explosive De Saveurs Va Devenir Votre Recette D’Été Préférée
Ce Pesto Maison Va Ruiner Tous Les Pestos Industriels En 5 Minutes Chrono
Ce pesto maison va ruiner tous les pestos industriels en cinq minutes : une texture onctueuse, une couleur verte vive et des arômes d’herbes fraîches qui explosent en bouche — prêt en recette rapide pour un repas express. 🍃 Brief…
Plan Repas Hebdomadaire du 8 Juin 2026 : Vos Menus Équilibrés et Savoureux
Plan Repas Hebdomadaire du 8 Juin 2026 : adoptez un plan repas hebdomadaire simple et concret pour gagner du temps, manger sain et découvrir des menus équilibrés et menus savoureux toute la semaine. ✅ Suivez le planning, préparez en une…
Cette Citronnade Maison Rafraîchissante Va Ruiner Vos Versions Industrielles En 5 Minutes
Cette citronnade maison détrône les versions industrielles en un clin d’œil : prête en 5 minutes, elle offre un goût plus vif, une texture plus naturelle et un contrôle total du sucre. Suivez trois gestes simples — presser, sucrer, diluer…