.qcmf-wrap { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; max-width: 860px; margin: 24px auto; padding: 16px; } .qcmf-card { background: #fff; border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,.08); padding: 24px; } .qcmf-header { display:flex; justify-content:space-between; align-items:center; margin-bottom: 12px; gap:12px; flex-wrap: wrap; } .qcmf-title { font-size: clamp(18px, 2.4vw, 24px); font-weight: 800; margin:0; } .qcmf-badge { font-size:12px; padding:6px 10px; border-radius:999px; background:#f2f4f7; } .qcmf-progress { height:10px; background:#eef2f7; border-radius:999px; overflow:hidden; margin:12px 0 20px; } .qcmf-progress > div { height:100%; width:0; background: linear-gradient(90deg,#4f46e5,#22c55e); transition: width .35s ease; } .qcmf-question { font-size: clamp(18px, 2.6vw, 22px); line-height: 1.4; margin: 10px 0 14px; } .qcmf-sub { font-size: 13px; color:#475569; margin-top:-6px; } .qcmf-options { display:grid; gap:12px; grid-template-columns: 1fr; } .qcmf-btn { border:1px solid #e5e7eb; background:#fff; border-radius: 12px; padding: 12px 14px; text-align:left; cursor:pointer; font-size:16px; transition: transform .06s ease, border-color .2s, background .2s; color:#111; } .qcmf-btn:hover { transform: translateY(-1px); border-color:#c7d2fe; background:#f8fafc; } .qcmf-btn[disabled] { opacity:.85; cursor:not-allowed; } .qcmf-btn.correct { border-color:#22c55e; background:#ecfdf5; } .qcmf-btn.wrong { border-color:#ef4444; background:#fef2f2; } .qcmf-feedback { margin-top: 12px; padding: 12px 14px; border-left: 4px solid #e5e7eb; border-radius:10px; background:#f8fafc; font-size:14px; } .qcmf-feedback.good { border-color:#22c55e; background:#ecfdf5; } .qcmf-feedback.bad { border-color:#ef4444; background:#fef2f2; } .qcmf-actions { display:flex; gap:10px; margin-top:16px; flex-wrap: wrap; } .qcmf-cta { border:none; border-radius:10px; padding:10px 14px; font-weight:700; cursor:pointer; } .qcmf-cta.primary { background:#4f46e5; color:#fff; } .qcmf-cta.secondary { background:#e5e7eb; } .qcmf-footer { margin-top:20px; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap: wrap; } .qcmf-meter { font-size:14px; color:#334155; background:#f1f5f9; padding:6px 10px; border-radius:8px; } .qcmf-encourage { font-size:14px; color:#1f2937; } .qcmf-note { font-size: clamp(20px, 3vw, 30px); font-weight:900; } @media (min-width: 640px) { .qcmf-options { grid-template-columns: 1fr 1fr; } } (function(){ // === 15 questions – Histoire 4e : Traite atlantique & commerce triangulaire === const QUESTIONS = [ // 1. Dates/périodes (facile) { question: « En quelle année est promulgué le Code noir (dans les colonies françaises) ? », options: [« 1685 », « 1789 », « 1642 », « 1715 »], correctIndex: 0, explications: [ « Correct : le Code noir de 1685 organise légalement l’esclavage dans les colonies françaises. », « Faux : 1789 correspond au début de la Révolution française, bien postérieur au Code noir. », « Faux : 1642 n’est pas la date du Code noir. », « Faux : 1715 marque la fin du règne de Louis XIV, pas la promulgation du Code noir. » ] }, // 2 { question: « À quel siècle se situe l’apogée de la traite atlantique ? », options: [« XVIIIᵉ siècle », « XVIᵉ siècle », « XVᵉ siècle », « XIXᵉ siècle »], correctIndex: 0, explications: [ « Correct : le volume des déportations atteint son maximum au XVIIIᵉ siècle. », « Faux : le XVIᵉ siècle correspond au démarrage des empires coloniaux modernes, pas au pic. », « Faux : au XVᵉ siècle, les débuts sont encore limités. », « Faux : au XIXᵉ siècle, la traite est progressivement abolie. » ] }, // 3. Fonctionnement triangulaire (facile) { question: « Quel schéma décrit correctement le commerce triangulaire ? », options: [ « Europe → Afrique (produits manufacturés) ; Afrique → Amériques (captifs) ; Amériques → Europe (sucre, café, coton). », « Europe → Amériques (captifs) ; Amériques → Afrique (sucre) ; Afrique → Europe (armes). », « Afrique → Europe (esclaves) ; Europe → Amériques (or) ; Amériques → Afrique (blé). », « Amériques → Afrique (textiles) ; Afrique → Europe (café) ; Europe → Amériques (captifs). » ], correctIndex: 0, explications: [ « Correct : c’est la logique des trois angles du ‘triangle’ atlantique. », « Faux : l’acheminement de captifs se fait d’Afrique vers les Amériques, pas l’inverse. », « Faux : les captifs ne sont pas envoyés d’Afrique vers l’Europe ; l’or n’est pas l’export principal d’Europe. », « Faux : les textiles partent surtout d’Europe vers l’Afrique ; les captifs ne vont pas d’Europe vers les Amériques. » ] }, // 4. Ports (facile) { question: « Quelle ville portuaire française s’enrichit fortement grâce à la traite et au commerce colonial ? », options: [« Nantes », « Toulouse », « Lyon », « Genève »], correctIndex: 0, explications: [ « Correct : Nantes (comme Bordeaux, La Rochelle) est un grand port négrier au XVIIIᵉ siècle. », « Faux : Toulouse n’est pas un port maritime. », « Faux : Lyon est une grande ville commerçante mais sans accès maritime. », « Faux : Genève n’est pas une ville portuaire française et n’est pas sur l’Atlantique. » ] }, // 5. Armateurs (facile→moyen) { question: « Quel est le rôle principal des armateurs dans la traite ? », options: [ « Ils financent, équipent les navires et organisent les expéditions. », « Ils rédigent les lois coloniales. », « Ils travaillent aux champs dans les plantations. », « Ils commandent l’armée royale. » ], correctIndex: 0, explications: [ « Correct : les armateurs investissent et gèrent la logistique des voyages. », « Faux : les lois sont rédigées par le pouvoir royal et les administrations. », « Faux : les travaux agricoles sont réalisés par les esclaves et contremaîtres. », « Faux : l’armée royale n’est pas sous la direction des armateurs. » ] }, // 6. Échanges en Afrique (moyen) { question: « Qu’échange-t-on le plus souvent en Afrique contre des captifs ? », options: [ « Armes, textiles, alcool et pacotille. », « Sucre brut et cacao produits aux Antilles. », « Pétrole et ordinateurs. », « Uniquement du blé. » ], correctIndex: 0, explications: [ « Correct : ces marchandises européennes servent d’échange contre des captifs. », « Faux : sucre et cacao sont plutôt envoyés des Amériques vers l’Europe. », « Faux : anachronique pour l’époque moderne. », « Faux : les échanges sont variés, pas limités au blé. » ] }, // 7. Passage du milieu (moyen) { question: « Comment nomme-t-on la traversée d’Afrique vers les Amériques à bord des navires négriers ? », options: [ « Le Passage du milieu (Middle Passage). », « La Route des Indes. », « Le Détroit du Cap. », « Le Grand Tour. » ], correctIndex: 0, explications: [ « Correct : ‘Passage du milieu’ désigne la traversée atlantique des captifs. », « Faux : la Route des Indes relie l’Europe à l’Asie. », « Faux : ‘Détroit du Cap’ n’est pas une appellation consacrée. », « Faux : le ‘Grand Tour’ désigne un voyage culturel européen. » ] }, // 8. Vente (moyen) { question: « Dans les colonies, comment les esclaves sont-ils le plus souvent vendus ? », options: [ « Aux enchères sur des marchés ou plantations. », « Par tirage au sort dans les églises. », « Via des kiosques automatiques. », « Uniquement par don gratuit. » ], correctIndex: 0, explications: [ « Correct : la vente aux enchères est une pratique courante dans les ports et plantations. », « Faux : cela n’a rien à voir avec la réalité de la traite. », « Faux : anachronique et absurde. », « Faux : l’esclavage est un commerce lucratif, pas une distribution gratuite. » ] }, // 9. Plantation (moyen) { question: « Dans les Antilles, quel est un produit phare cultivé par les esclaves dans les plantations ? », options: [« La canne à sucre », « La vigne », « Le riz de Camargue », « Le blé d’hiver »], correctIndex: 0, explications: [ « Correct : la canne à sucre est centrale (avec tabac, café, coton selon les régions). », « Faux : la vigne n’est pas la culture phare des Antilles. », « Faux : la Camargue est en France, pas dans les colonies antillaises. », « Faux : le blé n’est pas la culture dominante des plantations antillaises. » ] }, // 10. Code noir (moyen→difficile) { question: « Le Code noir prévoit notamment… », options: [ « Le baptême catholique obligatoire et des punitions sévères. », « L’abolition immédiate de l’esclavage. », « L’égalité civile des esclaves et des maîtres. », « La fin des plantations de sucre. » ], correctIndex: 0, explications: [ « Correct : le Code noir encadre la religion, le statut d’esclave (bien meuble) et des peines. », « Faux : il ne supprime pas l’esclavage ; il l’organise. », « Faux : les esclaves n’ont pas l’égalité civile. », « Faux : le Code noir ne met pas fin aux plantations. » ] }, // 11. Marronnage (moyen) { question: « Qu’appelle-t-on ‘marronnage’ ? », options: [ « La fuite d’un esclave hors de la propriété de son maître. », « La libération légale d’un esclave par son maître. », « La réunion festive des planteurs. », « Une taxe sur le café. » ], correctIndex: 0, explications: [ « Correct : le marronnage, c’est s’évader et tenter de vivre libre (souvent en groupes). », « Faux : c’est l’‘affranchissement’, pas le marronnage. », « Faux : sans rapport. », « Faux : rien à voir avec une taxe. » ] }, // 12. Transformations en Europe (moyen→difficile) { question: « Quelle transformation sociale est favorisée par les profits du commerce atlantique en Europe ? », options: [ « L’affirmation d’une bourgeoisie marchande et portuaire. », « La disparition des villes portuaires. », « L’abandon du commerce maritime. », « Le recul du capitalisme. » ], correctIndex: 0, explications: [ « Correct : les profits enrichissent une bourgeoisie d’affaires et transforment les villes. », « Faux : au contraire, les ports (Nantes, Bordeaux, Liverpool…) prospèrent. », « Faux : le commerce maritime se développe fortement. », « Faux : on observe plutôt une dynamique capitaliste. » ] }, // 13. Nouvelles pratiques alimentaires (moyen) { question: « Quelles consommations se diffusent en Europe avec les produits coloniaux ? », options: [ « Sucre, café, chocolat, thé. », « Poisson cru et wasabi. », « Pomme de terre uniquement. », « Uniquement des épices médiévales. » ], correctIndex: 0, explications: [ « Correct : ces produits coloniaux transforment goûts et habitudes. », « Faux : anachronique et hors sujet. », « Faux : la pomme de terre se diffuse aussi, mais ce n’est pas l’unique changement. », « Faux : la nouveauté vient surtout des denrées coloniales sucrières et stimulantes. » ] }, // 14. Durée du Passage du milieu (difficile) { question: « Durée moyenne du ‘Passage du milieu’ (selon conditions) : », options: [ « Environ 6 à 8 semaines. », « 2 à 3 jours. », « 1 semaine maximum. », « Un an systématiquement. » ], correctIndex: 0, explications: [ « Correct : la traversée dure souvent plusieurs semaines (parfois davantage). », « Faux : bien trop court pour une traversée atlantique à la voile. », « Faux : la météo, les routes et la navigation rallongent la durée. », « Faux : un an est excessif dans la plupart des cas. » ] }, // 15. Ordre de grandeur (difficile) { question: « Ordre de grandeur des personnes déportées par la traite atlantique (XVᵉ–XIXᵉ siècles) : », options: [ « Environ 12 millions. », « Environ 1 million. », « Environ 100 millions. », « Environ 100 000. » ], correctIndex: 0, explications: [ « Correct : on estime autour de 12 millions d’Africains déportés à travers l’Atlantique. », « Faux : sous-estimé par rapport aux estimations historiques. », « Faux : surestimé (ordre de grandeur trop élevé). », « Faux : très largement sous-estimé. » ] } ]; // ———————————————————————————————— // UI helpers const elRoot = document.getElementById(« qcm-histoire-traite »); let index=0, correct=0, streak=0; const h=(t,a={},…c)=>{const e=document.createElement(t);for(const[k,v]of Object.entries(a||{})){if(k=== »class »)e.className=v;else if(k=== »html »)e.innerHTML=v;else if(k=== »onclick »)e.onclick=v;else e.setAttribute(k,v)}c.forEach(x=>{if(x!=null)e.appendChild(typeof x=== »string »?document.createTextNode(x):x)});return e}; const messages = { warmup: [« C’est parti 👟 ! », « On s’échauffe, easy ! 😎 », « Tu gères ! 💪 »], good: [« Yes ! Continue comme ça 🚀 », « Solide ! 🔥 », « Bien joué 👏 »], oops: [« Pas grave, on apprend ! 💡 », « Presque ! Retiens l’idée clé 😉 », « Courage, tu vas y arriver ✨ »], end: (note)=> note>=16 ? « Excellent, c’est du très lourd ! 🏆 » : note>=12 ? « Bien joué, encore un effort pour viser l’excellence 💫 » : note>=8 ? « Tu progresses, revois quelques notions et retente 🤝 » : « Reprends tranquillement les bases, tu vas y arriver 💚 » }; function encouragement(){ if(index===0) return messages.warmup[Math.floor(Math.random()*messages.warmup.length)]; return streak>=2 ? « Série en cours ✨ » : « Concentre-toi, chaque détail compte 🔎 »; } function render(){ elRoot.innerHTML= » »; const q=QUESTIONS[index]; const header=h(« div »,{class: »qcmf-header »}, h(« h2″,{class: »qcmf-title »}, »Traite atlantique & commerce triangulaire — QCM (4ᵉ) »), h(« span »,{class: »qcmf-badge »},`Question ${index+1}/${QUESTIONS.length}`) ); const progress=h(« div »,{class: »qcmf-progress »},h(« div »,{style:`width:${(index/QUESTIONS.length)*100}%`})); const opts=h(« div »,{class: »qcmf-options »}); q.options.forEach((opt,i)=>{ const btn=h(« button »,{class: »qcmf-btn »},opt); btn.onclick=()=>{ […opts.children].forEach(b=>{ if(b.tagName=== »BUTTON ») b.disabled=true; }); const isCorrect = i===q.correctIndex; if(isCorrect){ correct++; streak++; btn.classList.add(« correct »); } else { streak=0; btn.classList.add(« wrong »); } const fb=h(« div »,{class: »qcmf-feedback « +(isCorrect? »good »: »bad »)}, q.explications[i]); opts.appendChild(fb); const next=h(« button »,{class: »qcmf-cta primary », onclick:()=>{ if(index div »); if(bar) bar.style.width = `${(index/QUESTIONS.length)*100}%`; } function showResult(){ elRoot.innerHTML= » »; const note=(correct/QUESTIONS.length)*20; const recap=h(« ul »,{style: »margin:10px 0 0 18px; font-size:14px; color:#334155; »}, h(« li »,{}, »Situer dans le temps : dates & périodes ✅ »), h(« li »,{}, »Comprendre le commerce triangulaire ✅ »), h(« li »,{}, »Transformations sociales & économiques en Europe ✅ »), h(« li »,{}, »Raconter la traite & la vie dans les plantations ✅ »), h(« li »,{}, »Lexique : bourgeoisie, armateurs, colonies, etc. ✅ ») ); const restart=h(« button »,{class: »qcmf-cta primary », onclick:()=>{ index=0; correct=0; streak=0; render(); }}, »Recommencer »); const card=h(« div »,{class: »qcmf-card »}, h(« h2″,{class: »qcmf-title »}, »Résultat »), h(« p »,{class: »qcmf-note »},`Note : ${note.toFixed(1)}/20`), h(« p »,{},`Bonnes réponses : ${correct}/${QUESTIONS.length}`), h(« p »,{}, messages.end(note)), recap, h(« div »,{class: »qcmf-actions »}, restart, h(« button »,{class: »qcmf-cta secondary », onclick:()=>window.scrollTo({top:0, behavior:’smooth’})}, »Revenir en haut »)) ); elRoot.appendChild(card); } render(); })();