Afficher la table des matières Masquer la table des matières
- Hachis parmentier recette de grand-mère traditionnelle : l’essentiel à faire en premier
- La purée généreuse : gestes précis pour une onctuosité parfaite
- Viande mijotée : comment maximiser la saveur en 30 minutes
- Montage et gratinage : technique pour une croûte parfaite
- Quizz : Ce Hachis Parmentier De Grand-Mère
- Q${index + 1}. ${q.question} Choisissez une réponse puis valide avec le bouton « Suivant ». Vous pouvez aussi naviguer au clavier. `; qWrap.appendChild(header); // Liste des choix (boutons accessibles) const list = document.createElement('ul'); list.className = "grid gap-3"; list.setAttribute('role', 'list'); q.choices.forEach((choiceText, ci) => { const li = document.createElement('li'); const btn = document.createElement('button'); btn.type = 'button'; btn.className = "option-btn w-full text-left p-3 border rounded-md bg-slate-50 border-slate-200 hover:bg-slate-100"; btn.setAttribute('role', 'button'); btn.setAttribute('tabindex', '0'); btn.setAttribute('data-choice-index', ci); btn.innerHTML = `${choiceText}`; // States visuels si déjà répondu if (answers[index] !== null) { btn.disabled = true; if (ci === q.correctIndex) btn.classList.add('option-correct'); if (answers[index] === ci && ci !== q.correctIndex) btn.classList.add('option-wrong'); } // Click / keyboard handling btn.addEventListener('click', () => handleChoiceSelection(index, ci)); btn.addEventListener('keydown', (ev) => { if (ev.key === 'Enter' || ev.key === ' ') { ev.preventDefault(); handleChoiceSelection(index, ci); } // navigation entre options par flèches if (ev.key === 'ArrowDown' || ev.key === 'ArrowRight') { ev.preventDefault(); const next = li.nextElementSibling; if (next) next.querySelector('button').focus(); } if (ev.key === 'ArrowUp' || ev.key === 'ArrowLeft') { ev.preventDefault(); const prev = li.previousElementSibling; if (prev) prev.querySelector('button').focus(); } }); li.appendChild(btn); list.appendChild(li); }); qWrap.appendChild(list); // Zone d'explication (invisible tant que pas répondu) const explain = document.createElement('div'); explain.className = "mt-3 p-3 rounded-md bg-amber-50 border border-amber-100 text-slate-700 hidden"; explain.setAttribute('id', `explain-${index}`); explain.innerHTML = `Explication : ${q.explanation}`; qWrap.appendChild(explain); container.appendChild(qWrap); // Si la question a été déjà répondue, afficher l'explication if (answers[index] !== null) { showExplanation(index); } // Mise au focus du premier bouton pour accessibilité const firstBtn = container.querySelector('button'); if (firstBtn) firstBtn.focus(); } // Gérer la sélection d'un choix function handleChoiceSelection(questionIndex, choiceIndex) { // Si déjà répondu, on ignore if (answers[questionIndex] !== null) return; answers[questionIndex] = choiceIndex; // Mettre à jour l'apparence des boutons const qWrap = container.querySelector('article'); const buttons = qWrap.querySelectorAll('button.option-btn'); buttons.forEach((btn) => { const ci = parseInt(btn.getAttribute('data-choice-index'), 10); btn.disabled = true; if (ci === QUIZ_DATA[questionIndex].correctIndex) { btn.classList.add('option-correct'); } if (ci === choiceIndex && ci !== QUIZ_DATA[questionIndex].correctIndex) { btn.classList.add('option-wrong'); } }); // Afficher l'explication showExplanation(questionIndex); // Mise à jour du score en aperçu scorePreview.textContent = `Score: ${calculateScore()}`; } // Affiche l'explication d'une question function showExplanation(index) { const explainEl = document.getElementById(`explain-${index}`); if (explainEl) explainEl.classList.remove('hidden'); } // Affiche le résultat final function revealFinalScore() { const score = calculateScore(); const total = QUIZ_DATA.length; const percent = Math.round((score / total) * 100); let message = ''; if (percent === 100) { message = "Parfait ! Vous êtes la mémoire culinaire de la famille."; } else if (percent >= 75) { message = "Très bien ! Vous connaissez bien les astuces de grand-mère."; } else if (percent >= 50) { message = "Pas mal ! Quelques astuces à retenir pour la prochaine fois."; } else { message = "On révise la recette ensemble ? Vos prochains dîners seront meilleurs !"; } resultBox.classList.remove('hidden'); resultBox.classList.add('bg-white', 'border', 'border-slate-100', 'shadow-sm'); resultBox.innerHTML = ` Résultat Vous avez obtenu ${score} / ${total} (${percent}%). ${message} Voir explications par question ${QUIZ_DATA.map((q, i) => { const user = answers[i] === null ? "Pas répondu" : q.choices[answers[i]]; const correct = q.choices[q.correctIndex]; return ` Q${i+1}. ${q.question} Votre réponse : ${escapeHtml(user)} — Réponse : ${escapeHtml(correct)} Explication : ${escapeHtml(q.explanation)} `; }).join('')} `; resultBox.focus(); } // Restart quiz function restartQuiz() { currentIndex = 0; for (let i = 0; i < answers.length; i++) answers[i] = null; resultBox.classList.add('hidden'); renderQuestion(currentIndex); updateProgress(); } // Sécurité simple pour éviter l'injection de texte (strings contrôlées ici) function escapeHtml(str) { if (!str) return ''; return String(str).replace(/[&"']/g, (m) => ({'&':'&','':'>','"':'"',"'":'''}[m])); } // Événements des boutons de contrôle prevBtn.addEventListener('click', () => { if (currentIndex > 0) { currentIndex--; renderQuestion(currentIndex); updateProgress(); } }); nextBtn.addEventListener('click', () => { // Si on est sur la dernière question et qu'on clique "Terminer", afficher score if (currentIndex === QUIZ_DATA.length - 1) { revealFinalScore(); // Move progress to 100% progressBar.style.width = '100%'; progressText.textContent = `Question ${QUIZ_DATA.length} / ${QUIZ_DATA.length}`; return; } // Avancer if (currentIndex < QUIZ_DATA.length - 1) { currentIndex++; renderQuestion(currentIndex); updateProgress(); } }); restartBtn.addEventListener('click', () => { restartQuiz(); }); revealScoreBtn.addEventListener('click', () => { revealFinalScore(); }); // Raccourcis clavier globaux pour accessibilité (flèches pour navigation entre questions) document.addEventListener('keydown', (ev) => { // Si focus est dans un champ de formulaire (rare ici), on ne gêne pas const tag = document.activeElement.tagName.toLowerCase(); if (tag === 'input' || tag === 'textarea') return; if (ev.key === 'ArrowLeft') { prevBtn.click(); } else if (ev.key === 'ArrowRight') { nextBtn.click(); } else if (ev.key === 'Home') { currentIndex = 0; renderQuestion(currentIndex); updateProgress(); } else if (ev.key === 'End') { currentIndex = QUIZ_DATA.length - 1; renderQuestion(currentIndex); updateProgress(); } }); // Initialisation renderQuestion(currentIndex); updateProgress(); // Note : Aucune API externe nécessaire pour ce composant. Si vous souhaitiez ajouter des astuces // dynamiques depuis une API publique (ex. une base de recettes), elle doit être gratuite et fournie // sans clé. Dans ce cas, incluez l'URL et un exemple JSON en commentaire. Salade de pâtes César onctueuse : le choix parfait pour des dîners d’été faciles Résultat principal : Réaliser une salade de pâtes César onctueuse, facile et prête en environ 30 minutes transforme instantanément les dîners d’été en moments savoureux et légers 🍋. Cette version combine pâtes froides, une sauce crémeuse maison et des textures… Délice glacé : le sundae façon cake à la banane Sundae façon cake à la banane : le bénéfice essentiel et comment le réaliser dès maintenant 🍌🍨 Point principal : préparer un délice glacé immédiat en associant une tranche de cake à la banane poêlée et une boule de glace… Variantes familiales du hachis parmentier : adapter selon saison et garde-manger Modifiez la structure en intégrant des légumes de saison (poireaux en automne, petits pois au printemps) pour alléger le plat et enrichir la palette de saveurs; c’est la recette idéale pour valoriser les restes de pot-au-feu. Pour une touche régionale, ajoutez du gruyère dans la purée ou remplacez une partie des pommes de terre par du panais ou de la patate douce. Inspirez‑vous de variantes et idées de présentation sur unerecetteunesaveur et pour des déclinaisons modernes consultez cette version détaillée qui reprend les gestes traditionnels. Anti-gaspillage et restes : idées concrètes pour transformer les portions
- Service et accords : finaliser pour un dîner qui soude la table
Ce Hachis Parmentier De Grand-Mère Va Réconcilier Toute La Famille Au Dîner : une recette simple et précise pour obtenir une purée de pommes de terre onctueuse et une viande hachée mijotée pleine de caractère, prête à rassembler tout le monde autour d’un repas convivial ce soir. Suivez les étapes ci-dessous, appliquez les astuces de grande-mère et passez directement à l’action pour un plat réconfortant digne de la cuisine maison.
Hachis parmentier recette de grand-mère traditionnelle : l’essentiel à faire en premier
Commencez par préparer la purée de pommes de terre et la viande hachée séparément pour maîtriser textures et saveurs. Cette méthode garantit une purée onctueuse et une viande bien réduite, deux conditions indispensables pour un hachis parmentier fidèle à la recette traditionnelle. Exemple concret : cuire 1,2 kg de pommes de terre à chair farineuse pendant 20–25 minutes pendant que la viande mijote doucement avec oignon, ail et thym.
La purée généreuse : gestes précis pour une onctuosité parfaite
Écrasez les pommes de terre chaudes au presse-purée et incorporez le lait chaud petit à petit pour contrôler la texture; c’est l’astuce qui évite une purée collante. Ajoutez 80 g de beurre demi-sel et éventuellement 2 jaunes d’œufs et 100 ml de crème hors du feu pour une purée vraiment gourmande. Pour rattraper une purée trop liquide, saupoudrez un peu de fécule de pomme de terre; si elle est trop épaisse, détendez-la avec un nuage de lait chaud.
Le glaçage qui sublime tous vos desserts
Le glaçage qui sublime tous vos desserts transforme instantanément l’aspect et le goût : il apporte de la brillance, de la douceur et une texture crémeuse qui met en valeur chaque bouchée. 💫 Utiliser un glaçage adapté change une pâtisserie…
Le glaçage magique qui sublime tous vos desserts
À lire Le plat réconfortant à préparer une fois pour savourer à l’infini
Résumé : Obtenir un glaçage magique qui sublime tous vos desserts est possible en quelques gestes précis : maîtriser la texture, choisir la bonne température et appliquer une finition cohérente avec la décoration. Cette méthode transforme cupcakes, cakes et biscuits…
Viande mijotée : comment maximiser la saveur en 30 minutes
Faites revenir 2 oignons et 2 gousses d’ail à feu doux jusqu’à transparence, puis augmentez le feu pour saisir 600 g de bœuf haché et 200 g de porc haché si disponible; cette combinaison apporte du fond et du goût. Déglacez au vin blanc, ajoutez 300 ml de bouillon et laissez réduire 25–30 minutes avec thym et laurier pour une viande mijotée riche en arômes. Astuce de grand-mère : préparer la viande la veille permet aux parfums de se développer davantage et facilite le montage le jour du service.
Montage et gratinage : technique pour une croûte parfaite
Étalez la viande refroidie dans un plat beurré, recouvrez généreusement de purée et striez la surface à la fourchette pour favoriser un gratinage uniforme. Saupoudrez 3 cuillères à soupe de chapelure et 150 g de gruyère râpé, ajoutez quelques noisettes de beurre et enfournez à 180°C pendant 20 minutes. Pour un service pratique, laissez reposer 5 minutes avant de découper : la tenue est meilleure et le dîner en famille débute sans stress.
Testez vos connaissances et découvrez quelques astuces de grand-mère !
Quizz : Ce Hachis Parmentier De Grand-Mère
Salade de pâtes César onctueuse : le choix parfait pour des dîners d’été faciles
Résultat principal : Réaliser une salade de pâtes César onctueuse, facile et prête en environ 30 minutes transforme instantanément les dîners d’été en moments savoureux et légers 🍋. Cette version combine pâtes froides, une sauce crémeuse maison et des textures…
Délice glacé : le sundae façon cake à la banane
À lire La Gaspacho Recette Espagnole Authentique Qui Va Ruiner Toutes Les Versions Industrielles
Sundae façon cake à la banane : le bénéfice essentiel et comment le réaliser dès maintenant 🍌🍨 Point principal : préparer un délice glacé immédiat en associant une tranche de cake à la banane poêlée et une boule de glace…
Variantes familiales du hachis parmentier : adapter selon saison et garde-manger
Modifiez la structure en intégrant des légumes de saison (poireaux en automne, petits pois au printemps) pour alléger le plat et enrichir la palette de saveurs; c’est la recette idéale pour valoriser les restes de pot-au-feu. Pour une touche régionale, ajoutez du gruyère dans la purée ou remplacez une partie des pommes de terre par du panais ou de la patate douce. Inspirez‑vous de variantes et idées de présentation sur unerecetteunesaveur et pour des déclinaisons modernes consultez cette version détaillée qui reprend les gestes traditionnels.
Anti-gaspillage et restes : idées concrètes pour transformer les portions
Congelez le plat avant le gratinage pour gagner du temps les soirs pressés, ou transformez les restes en croquettes panées dorées à la poêle pour un encas réconfortant. La conservation se fait 3 jours au réfrigérateur et jusqu’à 3 mois au congélateur; pour réchauffer, enfourner à 160°C pendant 15 minutes pour préserver la texture. Clé pratique : des restes bien recyclés prolongent la magie du plat réconfortant et évitent le gaspillage tout en offrant un nouveau moment de partage.
Cette salade de chou kale : fraîcheur croquante et éclat de saveurs
Cette salade de chou kale offre immédiatement une fraîcheur et un croquant qui réveillent l’assiette : parfaite pour un déjeuner sain et savoureux. Elle combine légumes crus, fruits séchés et graines, liés par une vinaigrette citronnée pour des saveurs équilibrées…
Plan de Repas Hebdomadaire du 15 Juin 2026 : Idées Gourmandes et Équilibrées
Gagnez du temps et mangez mieux cette semaine : un plan de repas hebdomadaire conçu pour la semaine du 15 juin 2026 permet d’allier plaisir, repas équilibrés et organisation repas efficace. ✅ Ce guide propose des actions précises à réaliser…
À lire La Caviar Aubergine Recette Traditionnelle Qui Va Sublimer Tous Vos Apéros D’Été
Service et accords : finaliser pour un dîner qui soude la table
Servez le hachis parmentier avec une salade verte acidulée pour équilibrer la richesse et proposez un vin rouge léger comme un Beaujolais ou Côtes du Rhône pour accompagner la viande. Pour une table qui raconte une histoire, partagez l’anecdote de Lucie, une mère de famille qui reprend la recette de sa mère : elle prépare la viande la veille, gratine le plat le jour J et voit sa famille se réunir autour d’un repas convivial. Insight final : un geste simple en cuisine crée souvent les plus grands souvenirs.
Pour d’autres inspirations de plats familiaux et menus réconfortants, explorez aussi ces idées pratiques : variations de parmentier et une version hivernale plus riche parmentier de canard confit. Ces ressources aident à adapter la recette selon l’humeur et les saisons. 🍽️
La salade d’été fraîche et savoureuse : la recette incontournable
Faites de cette salade d’été votre alliée fraîcheur : rapide, healthy et incroyablement savoureuse, elle se prépare en 15 minutes pour 4 personnes et transforme les légumes frais d’été en un plat délicieux. Cette recette met l’accent sur la qualité…
7 Idées De Brochette Apero Qui Vont Voler La Vedette À Tous Vos Cocktails
Ces 7 idées de brochette apéro transforment instantanément un verre en expérience : préparez certaines étapes la veille, variez textures et couleurs, et servez sans stress pour que vos cocktails brillent. 🍸✨ 7 idées de brochette apéro pour voler la…