Afficher la table des matières Masquer la table des matières
- Page de garde histoire-géo rapide : créez la vôtre en 15 minutes chrono
- Télécharger un modèle prêt à personnaliser (0–2 minutes)
- Personnalisation express : nom, classe, pictos (3–10 minutes)
- Choisir les bons outils de coloriage (optionnel mais impactant, 2–5 minutes)
- Quizz : Créer une page de garde Histoire-Géo en 15 minutes
- ${escapeHtml(q.question)} `; main.appendChild(qHeader); // Options (buttons for better mobile and keyboard) const optionsList = document.createElement('div'); optionsList.className = 'flex flex-col gap-2 mt-3'; optionsList.setAttribute('role', 'list'); q.choices.forEach(choice => { const btn = document.createElement('button'); btn.className = 'text-left px-4 py-2 border rounded hover:bg-slate-50 focus:outline-none focus:ring-2 focus:ring-emerald-300'; btn.type = 'button'; btn.setAttribute('role', 'listitem'); btn.setAttribute('data-choice-id', choice.id); btn.setAttribute('aria-pressed', 'false'); btn.innerHTML = `${choice.id.toUpperCase()}.${escapeHtml(choice.text)}`; // If already answered, apply styles const prevAns = STATE.answers[q.id]; if (prevAns) { btn.setAttribute('aria-disabled', 'true'); btn.classList.add('opacity-75', 'cursor-not-allowed'); if (choice.id === q.correct) { btn.classList.add('bg-emerald-50', 'border-emerald-300'); } else if (choice.id === prevAns && prevAns !== q.correct) { btn.classList.add('bg-red-50', 'border-red-300'); } btn.setAttribute('aria-pressed', (prevAns === choice.id).toString()); } // Click handler (select answer) btn.addEventListener('click', () => { if (STATE.answers[q.id]) return; // déjà répondu STATE.answers[q.id] = choice.id; // Apply immediate feedback styles const children = optionsList.querySelectorAll('button'); children.forEach(b => { b.setAttribute('aria-disabled', 'true'); b.classList.add('opacity-75', 'cursor-not-allowed'); }); // Mark chosen + correct if (choice.id === q.correct) { btn.classList.add('bg-emerald-50', 'border', 'border-emerald-300'); announce(`Bonne réponse : ${choice.text}`); } else { btn.classList.add('bg-red-50', 'border', 'border-red-300'); announce(`Réponse incorrecte. La bonne réponse est : ${getChoiceText(q, q.correct)}`); // Reveal correct option visually const correctBtn = optionsList.querySelector(`button[data-choice-id="${q.correct}"]`); if (correctBtn) correctBtn.classList.add('bg-emerald-50', 'border', 'border-emerald-300'); } calculateScore(); }); optionsList.appendChild(btn); }); main.appendChild(optionsList); // Explication (cachée si pas encore répondu) const expl = document.createElement('div'); expl.className = 'mt-3 text-sm text-slate-600'; expl.id = `expl-${q.id}`; if (!STATE.answers[q.id]) { expl.innerHTML = `Choisissez une réponse pour voir l'explication.`; } else { expl.innerHTML = `Explication : ${escapeHtml(q.explanation)}`; } main.appendChild(expl); // Mise à jour des boutons et progression prevBtn.disabled = index === 0 ? true : false; nextBtn.textContent = index === QUESTIONS.length - 1 ? TEXTS.next : TEXTS.next; updateProgress(); } /* Renvoie le texte d'un choix pour une question */ function getChoiceText(q, choiceId) { const c = q.choices.find(x => x.id === choiceId); return c ? c.text : ''; } /* Escape simple pour éviter injection dans innerHTML depuis données */ function escapeHtml(str) { return String(str) .replace(/&/g, '&') .replace(//g, '>'); } /* Announcements accessibles (aria-live) */ function announce(msg) { ariaAnnouncer.textContent = ''; setTimeout(() => { ariaAnnouncer.textContent = msg; }, 50); } /* Affiche la bonne réponse pour la question courante (utilisé par bouton 'Afficher la réponse') */ function revealCurrentAnswer() { const q = QUESTIONS[STATE.currentIndex]; const explEl = document.getElementById(`expl-${q.id}`); if (!explEl) return; // Marquer comme montré (ne compte pas comme répondu) explEl.innerHTML = `Réponse : ${escapeHtml(getChoiceText(q, q.correct))} Pourquoi : ${escapeHtml(q.explanation)}`; announce(`Réponse affichée : ${getChoiceText(q, q.correct)}.`); // Highlight correct option visually const optionsList = main.querySelectorAll('button[data-choice-id]'); optionsList.forEach(btn => { if (btn.getAttribute('data-choice-id') === q.correct) { btn.classList.add('bg-emerald-50', 'border', 'border-emerald-300'); } }); } /* Navigation */ prevBtn.addEventListener('click', () => { if (STATE.currentIndex > 0) { STATE.currentIndex -= 1; renderQuestion(STATE.currentIndex); } }); nextBtn.addEventListener('click', () => { if (STATE.currentIndex < QUESTIONS.length - 1) { STATE.currentIndex += 1; renderQuestion(STATE.currentIndex); } else { // Fin du quizz : montrer score final finishQuiz(); } }); revealBtn.addEventListener('click', () => { revealCurrentAnswer(); }); resetBtn.addEventListener('click', () => { if (!confirm("Réinitialiser le quizz ? Vos réponses seront perdues.")) return; STATE.currentIndex = 0; STATE.answers = {}; STATE.score = 0; stopTimer(); STATE.timerEnabled = false; toggleTimerBtn.setAttribute('aria-pressed', 'false'); toggleTimerBtn.textContent = "Chrono : désactivé"; renderQuestion(0); calculateScore(); announce("Quizz réinitialisé."); }); /* Imprimer résumé : génère une fenêtre minimale avec questions et vos réponses */ printBtn.addEventListener('click', () => { const win = window.open('', '_blank', 'width=700,height=800'); if (!win) return alert("Impossible d'ouvrir la fenêtre d'impression (popup bloquée)."); let html = `Résumé Quizz - Page de garde`; html += `${TEXTS.title} — Résumé`; html += `Score : ${STATE.score} / ${Object.keys(STATE.answers).length}`; QUESTIONS.forEach((q, i) => { const ans = STATE.answers[q.id] || '— (non répondu)'; const ansText = ans === '— (non répondu)' ? ans : getChoiceText(q, ans); html += `Q${i+1}: ${escapeHtml(q.question)}`; html += `Votre réponse: ${escapeHtml(ansText)}`; html += `Bonne réponse: ${escapeHtml(getChoiceText(q, q.correct))}`; html += `${escapeHtml(q.explanation)}`; }); html += ``; win.document.write(html); win.document.close(); win.focus(); win.print(); }); /* Toggle timer 15 minutes */ toggleTimerBtn.addEventListener('click', () => { STATE.timerEnabled = !STATE.timerEnabled; toggleTimerBtn.setAttribute('aria-pressed', String(STATE.timerEnabled)); if (STATE.timerEnabled) { STATE.remainingSeconds = 15 * 60; // 15 minutes startTimer(); } else { stopTimer(); } updateTimerButton(); }); /* Mettre à jour libellé du bouton timer */ function updateTimerButton() { if (STATE.timerEnabled) { toggleTimerBtn.textContent = TEXTS.timerOn; } else { toggleTimerBtn.textContent = TEXTS.timerOff; } } /* Démarrage/arrêt du timer */ function startTimer() { stopTimer(); // clear si existant updateTimerButton(); STATE.timerHandle = setInterval(() => { STATE.remainingSeconds -= 1; // Mettre à jour label du bouton pour afficher temps restant const mm = String(Math.floor(STATE.remainingSeconds / 60)).padStart(2, '0'); const ss = String(STATE.remainingSeconds % 60).padStart(2, '0'); toggleTimerBtn.textContent = `Chrono : ${mm}:${ss}`; if (STATE.remainingSeconds <= 0) { stopTimer(); announce("Temps écoulé !"); finishQuiz(); } }, 1000); } function stopTimer() { if (STATE.timerHandle) { clearInterval(STATE.timerHandle); STATE.timerHandle = null; } // Remettre libellé si timer désactivé if (!STATE.timerEnabled) updateTimerButton(); } /* Fin du quizz : afficher modale simple dans le bloc (accessible) */ function finishQuiz() { calculateScore(); main.innerHTML = ''; const fin = document.createElement('div'); fin.className = 'p-4 rounded bg-emerald-50 border border-emerald-100'; fin.innerHTML = ` ${TEXTS.finished}
- Impression et finition : ajuster en 3 minutes pour une présentation impeccable
Réalisez une page de garde histoire–géographie unique en 15 minutes — rapide, facile et sans être artiste 🎨✨. Commencez tout de suite : résultats visibles, cahier organisé et présentation soignée en un temps record.
Page de garde histoire-géo rapide : créez la vôtre en 15 minutes chrono
Action immédiate : téléchargez un modèle, personnalisez les informations essentielles et ajoutez quelques décors simples pour un rendu professionnel en quelques coups de crayon. Ce workflow est pensé pour garantir organisation et présentation claires, même sans talent artistique — idéal pour les collégiens et lycéens pressés.
Télécharger un modèle prêt à personnaliser (0–2 minutes)
Objectif : partir d’une base solide pour gagner du temps. Ouvrir un modèle dans un logiciel ou imprimer une page déjà conçue permet d’éviter le blocage créatif et d’attaquer directement la création.
Exemples pratiques : récupérer un modèle sur Pinterest pour l’inspiration ou choisir un gabarit modifiable sur Canva. Ces sources réduisent l’étape de dessin et garantissent un format adapté au cahier.
Personnalisation express : nom, classe, pictos (3–10 minutes)
Conclusion d’abord : mise en place des informations et décor en moins de dix minutes pour rendre la page reconnaissable et personnelle. Prévoir des zones pour nom, classe et une icône pour l’histoire ou la géographie suffit à structurer la présentation.
Méthode concrète : inscrire le nom dans une bannière, coller un petit pictogramme (carte, boussole, casque romain) et colorier en 2–3 touches. Pour les idées à colorier, consultez des modèles à imprimer sur Tête à modeler ou inspirez-vous du style patchwork expliqué sur Chtoby Pomnili.
À lire La Page De Garde Francais Qu’On A Envie De Copier Dès Qu’On La Voit En Classe
Regarder une courte démonstration vidéo accélère la prise en main et montre des astuces de mise en page en direct. Une visualisation aide à reproduire les gestes simples sans hésitation. Insight : reproduire un pas vu à l’écran coupe le temps de réflexion.
Choisir les bons outils de coloriage (optionnel mais impactant, 2–5 minutes)
Décision clé : le rendu dépend surtout du choix des outils, pas du niveau artistique. Des feutres donnent des couleurs vives, les crayons permettent des dégradés subtils, et les stylos gel apportent des touches modernes et métalliques.
Conseil d’application : combiner un feutre pour les contours et des crayons pour les remplissages crée un aspect professionnel rapidement. Pour des modèles prêts à l’impression dans d’autres matières, explorez des déclinaisons sur Univers’Elles et des collections sur Modèles et Plus.
Quizz : Créer une page de garde Histoire-Géo en 15 minutes
Testez vos choix de mise en page, typographie et hiérarchie pour une page de garde efficace — rapide et sans être artiste.