{"id":1672,"date":"2026-05-02T01:00:48","date_gmt":"2026-05-02T01:00:48","guid":{"rendered":"https:\/\/geoisteaching.com\/?page_id=1672"},"modified":"2026-05-02T06:11:02","modified_gmt":"2026-05-02T06:11:02","slug":"b2-c1_2","status":"publish","type":"page","link":"https:\/\/geoisteaching.com\/?page_id=1672","title":{"rendered":"B2-C1_2"},"content":{"rendered":"<!DOCTYPE html>\n<html lang=\"fr\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Le\u00e7on B2-C1 \u2013 Voyager autrement<\/title>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Playfair+Display:ital,wght@0,400;0,600;1,400&#038;family=DM+Sans:wght@300;400;500;600&#038;display=swap\" rel=\"stylesheet\">\n<style>\n  :root {\n    --gold: #B8862A;\n    --gold-light: #D4A843;\n    --gold-pale: #F5EDD8;\n    --cream: #FDFAF4;\n    --dark: #1A1510;\n    --mid: #4A3F30;\n    --muted: #8C7B65;\n    --teal: #2A7B7B;\n    --green: #2D6A4F;\n    --red: #C0392B;\n    --blue: #2563AB;\n  }\n\n  * { margin: 0; padding: 0; box-sizing: border-box; }\n  html { scroll-behavior: smooth; }\n\n  body {\n    font-family: 'DM Sans', sans-serif;\n    background: var(--cream);\n    color: var(--dark);\n    font-size: 17px;\n    line-height: 1.7;\n  }\n\n  \/* HEADER *\/\n  .lesson-header {\n    background: var(--dark);\n    padding: 40px 60px;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 20px;\n  }\n\n  .lesson-badge {\n    background: var(--gold);\n    color: #fff;\n    font-size: 12px;\n    font-weight: 600;\n    letter-spacing: 3px;\n    text-transform: uppercase;\n    padding: 6px 14px;\n    margin-bottom: 12px;\n    display: inline-block;\n  }\n\n  .lesson-title {\n    font-family: 'Playfair Display', serif;\n    font-size: clamp(26px, 3vw, 42px);\n    color: #fff;\n    line-height: 1.2;\n  }\n\n  .lesson-title em {\n    font-style: italic;\n    color: var(--gold-light);\n  }\n\n  .lesson-meta {\n    display: flex;\n    gap: 24px;\n    margin-top: 16px;\n    flex-wrap: wrap;\n  }\n\n  .meta-item {\n    color: rgba(255,255,255,0.55);\n    font-size: 14px;\n    letter-spacing: 0.5px;\n    display: flex;\n    align-items: center;\n    gap: 6px;\n  }\n\n  \/* NAV SECTIONS *\/\n  .section-nav {\n    background: #fff;\n    border-bottom: 1px solid rgba(184,134,42,0.15);\n    padding: 0 60px;\n    display: flex;\n    gap: 0;\n    overflow-x: auto;\n    position: sticky;\n    top: 0;\n    z-index: 100;\n    box-shadow: 0 2px 12px rgba(0,0,0,0.06);\n  }\n\n  .sec-btn {\n    font-family: 'DM Sans', sans-serif;\n    font-size: 13px;\n    font-weight: 500;\n    letter-spacing: 0.5px;\n    color: var(--muted);\n    background: none;\n    border: none;\n    border-bottom: 2px solid transparent;\n    padding: 18px 16px;\n    cursor: pointer;\n    white-space: nowrap;\n    transition: color 0.2s, border-color 0.2s;\n  }\n  .sec-btn:hover { color: var(--gold); border-bottom-color: var(--gold-pale); }\n  .sec-btn.active { color: var(--gold); border-bottom-color: var(--gold); font-weight: 600; }\n\n  \/* SECTIONS *\/\n  .section {\n    display: none;\n    padding: 60px;\n    max-width: 1100px;\n    margin: 0 auto;\n    animation: fadeIn 0.3s ease;\n  }\n  .section.active { display: block; }\n\n  @keyframes fadeIn {\n    from { opacity: 0; transform: translateY(10px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n\n  .section-label {\n    font-size: 12px;\n    font-weight: 600;\n    letter-spacing: 3px;\n    text-transform: uppercase;\n    color: var(--gold);\n    margin-bottom: 10px;\n  }\n\n  .section-title {\n    font-family: 'Playfair Display', serif;\n    font-size: clamp(28px, 3vw, 42px);\n    color: var(--dark);\n    margin-bottom: 40px;\n    line-height: 1.2;\n  }\n\n  \/* TTS BUTTON *\/\n  .tts-btn {\n    display: inline-flex;\n    align-items: center;\n    gap: 5px;\n    background: none;\n    border: 1.5px solid var(--gold);\n    color: var(--gold);\n    font-size: 13px;\n    font-weight: 500;\n    padding: 4px 10px;\n    border-radius: 20px;\n    cursor: pointer;\n    transition: all 0.2s;\n    vertical-align: middle;\n    margin-left: 6px;\n    font-family: 'DM Sans', sans-serif;\n  }\n  .tts-btn:hover { background: var(--gold); color: #fff; }\n  .tts-btn.playing { background: var(--gold); color: #fff; }\n  .tts-btn .tts-icon { font-size: 14px; }\n\n  \/* PLAN *\/\n  .timeline {\n    position: relative;\n    padding-left: 32px;\n    border-left: 2px solid var(--gold-pale);\n  }\n\n  .timeline-item {\n    position: relative;\n    margin-bottom: 32px;\n  }\n\n  .timeline-item::before {\n    content: '';\n    position: absolute;\n    left: -39px;\n    top: 6px;\n    width: 12px;\n    height: 12px;\n    border-radius: 50%;\n    background: var(--gold);\n    border: 2px solid var(--cream);\n    box-shadow: 0 0 0 2px var(--gold);\n  }\n\n  .timeline-time {\n    font-size: 12px;\n    font-weight: 600;\n    letter-spacing: 2px;\n    text-transform: uppercase;\n    color: var(--gold);\n    margin-bottom: 4px;\n  }\n\n  .timeline-title {\n    font-family: 'Playfair Display', serif;\n    font-size: 20px;\n    color: var(--dark);\n    margin-bottom: 6px;\n  }\n\n  .timeline-desc {\n    color: var(--muted);\n    font-size: 15px;\n    line-height: 1.6;\n  }\n\n  \/* TEXTE COMPREHENSION *\/\n  .text-card {\n    background: #fff;\n    border: 1px solid rgba(184,134,42,0.15);\n    padding: 36px 40px;\n    margin-bottom: 32px;\n    position: relative;\n  }\n\n  .text-tag {\n    font-size: 11px;\n    font-weight: 600;\n    letter-spacing: 2px;\n    text-transform: uppercase;\n    color: var(--gold);\n    margin-bottom: 8px;\n  }\n\n  .text-title {\n    font-family: 'Playfair Display', serif;\n    font-size: 22px;\n    color: var(--dark);\n    margin-bottom: 20px;\n  }\n\n  .text-body p {\n    margin-bottom: 16px;\n    line-height: 1.8;\n    color: var(--mid);\n  }\n\n  .text-body p:last-child { margin-bottom: 0; }\n\n  .questions-box {\n    background: var(--gold-pale);\n    padding: 24px 28px;\n    margin-top: 24px;\n  }\n\n  .questions-box h4 {\n    font-family: 'Playfair Display', serif;\n    font-size: 17px;\n    color: var(--dark);\n    margin-bottom: 14px;\n  }\n\n  .questions-box ol {\n    padding-left: 20px;\n  }\n\n  .questions-box li {\n    margin-bottom: 8px;\n    color: var(--mid);\n    font-size: 15px;\n    line-height: 1.6;\n  }\n\n  \/* VOCABULAIRE *\/\n  .vocab-grid {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n  }\n\n  .vocab-item {\n    background: #fff;\n    border: 1px solid rgba(184,134,42,0.15);\n    padding: 16px 20px;\n    display: flex;\n    align-items: flex-start;\n    gap: 12px;\n    transition: border-color 0.2s;\n  }\n  .vocab-item:hover { border-color: var(--gold); }\n\n  .vocab-num {\n    font-size: 12px;\n    font-weight: 600;\n    color: var(--gold);\n    min-width: 24px;\n    margin-top: 2px;\n  }\n\n  .vocab-content { flex: 1; }\n\n  .vocab-word {\n    font-family: 'Playfair Display', serif;\n    font-size: 18px;\n    color: var(--dark);\n    margin-bottom: 2px;\n    display: flex;\n    align-items: center;\n    gap: 6px;\n    flex-wrap: wrap;\n  }\n\n  .vocab-type {\n    font-size: 11px;\n    color: var(--muted);\n    font-style: italic;\n    font-family: 'DM Sans', sans-serif;\n  }\n\n  .vocab-def {\n    font-size: 14px;\n    color: var(--muted);\n    line-height: 1.5;\n  }\n\n  .vocab-example {\n    font-size: 13px;\n    color: var(--teal);\n    font-style: italic;\n    margin-top: 4px;\n  }\n\n  \/* GRAMMAIRE *\/\n  .gram-block {\n    background: #fff;\n    border-left: 4px solid var(--gold);\n    padding: 28px 32px;\n    margin-bottom: 28px;\n  }\n\n  .gram-title {\n    font-family: 'Playfair Display', serif;\n    font-size: 22px;\n    color: var(--dark);\n    margin-bottom: 16px;\n  }\n\n  .gram-table {\n    width: 100%;\n    border-collapse: collapse;\n    margin: 16px 0;\n    font-size: 15px;\n  }\n\n  .gram-table th {\n    background: var(--dark);\n    color: #fff;\n    padding: 10px 16px;\n    text-align: left;\n    font-weight: 500;\n    letter-spacing: 0.5px;\n  }\n\n  .gram-table td {\n    padding: 10px 16px;\n    border-bottom: 1px solid rgba(184,134,42,0.1);\n    color: var(--mid);\n  }\n\n  .gram-table tr:last-child td { border-bottom: none; }\n  .gram-table tr:nth-child(even) td { background: var(--gold-pale); }\n\n  .gram-note {\n    background: var(--gold-pale);\n    border-left: 3px solid var(--gold);\n    padding: 12px 16px;\n    font-size: 14px;\n    color: var(--mid);\n    margin-top: 16px;\n    font-style: italic;\n  }\n\n  \/* EXERCICES *\/\n  .exo-block {\n    background: #fff;\n    border: 1px solid rgba(184,134,42,0.15);\n    padding: 28px 32px;\n    margin-bottom: 24px;\n  }\n\n  .exo-title {\n    font-family: 'Playfair Display', serif;\n    font-size: 19px;\n    color: var(--dark);\n    margin-bottom: 16px;\n  }\n\n  .exo-item {\n    margin-bottom: 14px;\n    color: var(--mid);\n    font-size: 15px;\n    line-height: 1.6;\n  }\n\n  .exo-blank {\n    display: inline-block;\n    border: none;\n    border-bottom: 2px solid var(--gold);\n    min-width: 120px;\n    margin: 0 4px;\n    padding: 2px 6px;\n    font-family: 'DM Sans', sans-serif;\n    font-size: 15px;\n    color: var(--teal);\n    background: transparent;\n    outline: none;\n    vertical-align: baseline;\n    font-weight: 500;\n  }\n  .exo-blank:focus {\n    border-bottom-color: var(--teal);\n    background: rgba(42,123,123,0.05);\n  }\n  .exo-blank::placeholder {\n    color: rgba(184,134,42,0.4);\n    font-style: italic;\n    font-weight: 300;\n  }\n\n  .reveal-btn {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    margin-top: 16px;\n    background: none;\n    border: 1.5px solid var(--gold);\n    color: var(--gold);\n    font-size: 13px;\n    font-weight: 500;\n    padding: 7px 16px;\n    cursor: pointer;\n    font-family: 'DM Sans', sans-serif;\n    transition: all 0.2s;\n  }\n  .reveal-btn:hover { background: var(--gold); color: #fff; }\n\n  .answer-box {\n    display: none;\n    background: var(--gold-pale);\n    border-left: 3px solid var(--gold);\n    padding: 14px 18px;\n    margin-top: 12px;\n    font-size: 15px;\n    color: var(--mid);\n  }\n  .answer-box.visible { display: block; }\n  .answer-box strong { color: var(--dark); }\n\n  \/* ORAL *\/\n  .oral-grid {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 16px;\n    margin-bottom: 32px;\n  }\n\n  .oral-card {\n    background: #fff;\n    border: 1px solid rgba(184,134,42,0.15);\n    padding: 24px;\n    transition: border-color 0.2s;\n  }\n  .oral-card:hover { border-color: var(--gold); }\n\n  .oral-num {\n    font-size: 28px;\n    font-family: 'Playfair Display', serif;\n    color: var(--gold-pale);\n    line-height: 1;\n    margin-bottom: 10px;\n  }\n\n  .oral-q {\n    color: var(--mid);\n    font-size: 15px;\n    line-height: 1.6;\n  }\n\n  .role-play {\n    background: var(--dark);\n    padding: 32px 36px;\n    color: #fff;\n  }\n\n  .role-play h3 {\n    font-family: 'Playfair Display', serif;\n    font-size: 22px;\n    color: var(--gold-light);\n    margin-bottom: 16px;\n  }\n\n  .role-cards {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 16px;\n    margin-top: 20px;\n  }\n\n  .role-card {\n    background: rgba(255,255,255,0.06);\n    border-top: 3px solid var(--gold);\n    padding: 20px;\n  }\n\n  .role-card h4 {\n    color: var(--gold-light);\n    font-size: 15px;\n    font-weight: 600;\n    margin-bottom: 10px;\n    letter-spacing: 1px;\n    text-transform: uppercase;\n  }\n\n  .role-card p {\n    font-size: 14px;\n    color: rgba(255,255,255,0.7);\n    line-height: 1.6;\n  }\n\n  \/* TRADUCTION *\/\n  .trad-item {\n    background: #fff;\n    border: 1px solid rgba(184,134,42,0.15);\n    padding: 22px 26px;\n    margin-bottom: 16px;\n  }\n\n  .trad-num {\n    font-size: 12px;\n    font-weight: 600;\n    letter-spacing: 2px;\n    color: var(--gold);\n    margin-bottom: 6px;\n    text-transform: uppercase;\n  }\n\n  .trad-ro {\n    font-size: 16px;\n    color: var(--dark);\n    margin-bottom: 14px;\n    font-style: italic;\n  }\n\n  .trad-input-wrap {\n    position: relative;\n  }\n\n  .trad-textarea {\n    width: 100%;\n    border: 1.5px solid rgba(184,134,42,0.3);\n    padding: 12px 14px;\n    font-family: 'DM Sans', sans-serif;\n    font-size: 15px;\n    color: var(--dark);\n    background: var(--cream);\n    resize: vertical;\n    min-height: 70px;\n    outline: none;\n    transition: border-color 0.2s;\n  }\n  .trad-textarea:focus { border-color: var(--gold); }\n\n  .word-count {\n    font-size: 12px;\n    color: var(--muted);\n    text-align: right;\n    margin-top: 4px;\n  }\n\n  \/* CLAVIER VIRTUEL *\/\n  .clavier {\n    background: var(--dark);\n    padding: 16px 20px;\n    margin: 20px 0;\n    display: flex;\n    flex-wrap: wrap;\n    gap: 6px;\n    align-items: center;\n  }\n\n  .clavier-label {\n    color: rgba(255,255,255,0.5);\n    font-size: 12px;\n    letter-spacing: 2px;\n    text-transform: uppercase;\n    margin-right: 8px;\n    width: 100%;\n  }\n\n  .key-btn {\n    background: rgba(255,255,255,0.08);\n    color: #fff;\n    border: 1px solid rgba(255,255,255,0.15);\n    padding: 7px 12px;\n    font-size: 16px;\n    cursor: pointer;\n    font-family: 'DM Sans', sans-serif;\n    transition: background 0.15s;\n    border-radius: 4px;\n  }\n  .key-btn:hover { background: var(--gold); border-color: var(--gold); }\n\n  \/* BILAN *\/\n  .bilan-grid {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 8px;\n  }\n\n  .bilan-item {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n    padding: 16px 20px;\n    background: #fff;\n    border: 2px solid transparent;\n    cursor: pointer;\n    transition: all 0.2s;\n    user-select: none;\n  }\n\n  .bilan-item.checked {\n    border-color: var(--green);\n    background: #f0fff4;\n  }\n\n  .bilan-check {\n    width: 22px;\n    height: 22px;\n    border: 2px solid rgba(184,134,42,0.4);\n    border-radius: 50%;\n    flex-shrink: 0;\n    margin-top: 1px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 12px;\n    transition: all 0.2s;\n  }\n\n  .bilan-item.checked .bilan-check {\n    background: var(--green);\n    border-color: var(--green);\n    color: #fff;\n  }\n\n  .bilan-text {\n    font-size: 15px;\n    color: var(--mid);\n    line-height: 1.5;\n  }\n\n  .bilan-item.checked .bilan-text {\n    color: var(--green);\n    text-decoration: line-through;\n    text-decoration-color: rgba(45,106,79,0.4);\n  }\n\n  .bilan-score {\n    background: var(--dark);\n    color: #fff;\n    padding: 20px 28px;\n    margin-top: 24px;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    flex-wrap: wrap;\n    gap: 12px;\n  }\n\n  .score-text {\n    font-size: 15px;\n    color: rgba(255,255,255,0.6);\n  }\n\n  .score-num {\n    font-family: 'Playfair Display', serif;\n    font-size: 32px;\n    color: var(--gold-light);\n  }\n\n  \/* PROGRESS BAR *\/\n  .progress-bar {\n    background: var(--gold-pale);\n    padding: 12px 60px;\n    display: flex;\n    align-items: center;\n    gap: 16px;\n    border-bottom: 1px solid rgba(184,134,42,0.1);\n  }\n\n  .progress-label {\n    font-size: 12px;\n    letter-spacing: 1px;\n    text-transform: uppercase;\n    color: var(--muted);\n    white-space: nowrap;\n  }\n\n  .progress-track {\n    flex: 1;\n    height: 4px;\n    background: rgba(184,134,42,0.2);\n    border-radius: 2px;\n  }\n\n  .progress-fill {\n    height: 100%;\n    background: var(--gold);\n    border-radius: 2px;\n    transition: width 0.4s ease;\n  }\n\n  .progress-pct {\n    font-size: 13px;\n    font-weight: 600;\n    color: var(--gold);\n    white-space: nowrap;\n  }\n\n  \/* RESPONSIVE *\/\n  @media (max-width: 768px) {\n    .lesson-header { padding: 30px 20px; }\n    .section-nav { padding: 0 10px; }\n    .section { padding: 30px 20px; }\n    .progress-bar { padding: 10px 20px; }\n    .vocab-grid { grid-template-columns: 1fr; }\n    .oral-grid { grid-template-columns: 1fr; }\n    .bilan-grid { grid-template-columns: 1fr; }\n    .role-cards { grid-template-columns: 1fr; }\n  }\n<\/style>\n<\/head>\n<body>\n\n<!-- HEADER -->\n<div class=\"lesson-header\">\n  <div>\n    <div class=\"lesson-badge\">Le\u00e7on 5 \u00b7 B2-C1<\/div>\n    <h1 class=\"lesson-title\">Voyager <em>autrement<\/em><br>\u2013 Culture &#038; destinations<\/h1>\n    <div class=\"lesson-meta\">\n      <span class=\"meta-item\">\u23f1 2 heures<\/span>\n      <span class=\"meta-item\">\ud83d\udcda Niveau B2-C1<\/span>\n      <span class=\"meta-item\">\ud83c\udfaf Voyages, culture, famille<\/span>\n      <span class=\"meta-item\">\ud83d\udd0a Audio int\u00e9gr\u00e9<\/span>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- PROGRESS BAR -->\n<div class=\"progress-bar\">\n  <span class=\"progress-label\">Progression<\/span>\n  <div class=\"progress-track\">\n    <div class=\"progress-fill\" id=\"progressFill\" style=\"width:12%\"><\/div>\n  <\/div>\n  <span class=\"progress-pct\" id=\"progressPct\">1\/8<\/span>\n<\/div>\n\n<!-- SECTION NAV -->\n<nav class=\"section-nav\">\n  <button class=\"sec-btn active\" onclick=\"showSection(0)\">\ud83d\udccb Plan<\/button>\n  <button class=\"sec-btn\" onclick=\"showSection(1)\">\ud83d\udcd6 Compr\u00e9hension<\/button>\n  <button class=\"sec-btn\" onclick=\"showSection(2)\">\ud83d\udcdd Vocabulaire<\/button>\n  <button class=\"sec-btn\" onclick=\"showSection(3)\">\u2699\ufe0f Grammaire<\/button>\n  <button class=\"sec-btn\" onclick=\"showSection(4)\">\u270f\ufe0f Exercices<\/button>\n  <button class=\"sec-btn\" onclick=\"showSection(5)\">\ud83d\udde3\ufe0f Expression orale<\/button>\n  <button class=\"sec-btn\" onclick=\"showSection(6)\">\ud83d\udd04 Traduction<\/button>\n  <button class=\"sec-btn\" onclick=\"showSection(7)\">\u2705 Bilan<\/button>\n<\/nav>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     SECTION 0 \u2013 PLAN\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div class=\"section active\" id=\"sec0\">\n  <div class=\"section-label\">Aper\u00e7u de la le\u00e7on<\/div>\n  <h2 class=\"section-title\">Plan de la s\u00e9ance<\/h2>\n\n  <div class=\"timeline\">\n    <div class=\"timeline-item\">\n      <div class=\"timeline-time\">0:00 \u2013 0:20<\/div>\n      <div class=\"timeline-title\">Mise en route<\/div>\n      <div class=\"timeline-desc\">Discussion libre : vos derniers voyages. Quelles destinations r\u00eavez-vous de visiter avec des enfants ? Qu&#8217;est-ce qui change quand on voyage en famille ?<\/div>\n    <\/div>\n    <div class=\"timeline-item\">\n      <div class=\"timeline-time\">0:20 \u2013 0:45<\/div>\n      <div class=\"timeline-title\">Compr\u00e9hension \u00e9crite &#038; orale<\/div>\n      <div class=\"timeline-desc\">Trois textes authentiques sur le tourisme familial, les voyages culturels et les destinations insolites. Lecture, \u00e9coute et questions de compr\u00e9hension.<\/div>\n    <\/div>\n    <div class=\"timeline-item\">\n      <div class=\"timeline-time\">0:45 \u2013 1:05<\/div>\n      <div class=\"timeline-title\">Vocabulaire th\u00e9matique<\/div>\n      <div class=\"timeline-desc\">20 mots et expressions autour du voyage, de la culture et du tourisme responsable. \u00c9coute, r\u00e9p\u00e9tition, mise en contexte.<\/div>\n    <\/div>\n    <div class=\"timeline-item\">\n      <div class=\"timeline-time\">1:05 \u2013 1:25<\/div>\n      <div class=\"timeline-title\">Points de grammaire<\/div>\n      <div class=\"timeline-desc\">Le conditionnel pour exprimer le r\u00eave et le d\u00e9sir de voyage \u00b7 Le subjonctif dans les recommandations \u00b7 Le g\u00e9rondif pour d\u00e9crire des activit\u00e9s simultan\u00e9es.<\/div>\n    <\/div>\n    <div class=\"timeline-item\">\n      <div class=\"timeline-time\">1:25 \u2013 1:45<\/div>\n      <div class=\"timeline-title\">Exercices &#038; traduction<\/div>\n      <div class=\"timeline-desc\">Exercices de grammaire appliqu\u00e9e au th\u00e8me du voyage. Traduction de phrases roumaines en fran\u00e7ais dans un contexte touristique.<\/div>\n    <\/div>\n    <div class=\"timeline-item\">\n      <div class=\"timeline-time\">1:45 \u2013 2:00<\/div>\n      <div class=\"timeline-title\">Expression orale &#038; bilan<\/div>\n      <div class=\"timeline-desc\">Jeu de r\u00f4le : planifier un voyage en famille. Discussion sur les priorit\u00e9s, le budget, les activit\u00e9s culturelles adapt\u00e9es aux enfants.<\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     SECTION 1 \u2013 COMPR\u00c9HENSION\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div class=\"section\" id=\"sec1\">\n  <div class=\"section-label\">Compr\u00e9hension \u00e9crite &#038; orale<\/div>\n  <h2 class=\"section-title\">Trois regards sur le voyage<\/h2>\n\n  <!-- TEXTE 1 -->\n  <div class=\"text-card\">\n    <div class=\"text-tag\">Texte 1 \u00b7 Article de presse<\/div>\n    <h3 class=\"text-title\">Le tourisme familial : entre plaisir et p\u00e9dagogie\n      <button class=\"tts-btn\" onclick=\"ttsRead(this, 'txt1')\" title=\"\u00c9couter le texte\">\n        <span class=\"tts-icon\">\ud83d\udd0a<\/span> \u00c9couter\n      <\/button>\n    <\/h3>\n    <div class=\"text-body\" id=\"txt1\">\n      <p>Voyager avec des enfants n&#8217;est plus ce qu&#8217;il \u00e9tait. Loin de l&#8217;image de vacances laborieuses ponctu\u00e9es de caprices et d&#8217;impatience, le tourisme familial se r\u00e9invente. Les parents d&#8217;aujourd&#8217;hui cherchent \u00e0 concilier d\u00e9tente et apprentissage, aventure et s\u00e9curit\u00e9, d\u00e9paysement et accessibilit\u00e9. Et les destinations s&#8217;adaptent.<\/p>\n      <p>En France, le label \u00ab Famille Plus \u00bb r\u00e9compense les stations et villages qui proposent des infrastructures sp\u00e9cialement con\u00e7ues pour les tout-petits comme pour les adolescents. Clubs d&#8217;activit\u00e9s, horaires am\u00e9nag\u00e9s dans les mus\u00e9es, menus adapt\u00e9s dans les restaurants : tout est pens\u00e9 pour que personne ne soit laiss\u00e9 pour compte. Mais ce mod\u00e8le est-il vraiment id\u00e9al ?<\/p>\n      <p>Pour la sociologue Marie-Claire Lepont, sp\u00e9cialiste des pratiques touristiques, cette standardisation du voyage en famille comporte des risques. \u00ab En voulant tout simplifier, on prive les enfants d&#8217;une certaine friction avec l&#8217;inconnu, dit-elle. Or c&#8217;est pr\u00e9cis\u00e9ment cette friction qui forge les souvenirs durables et d\u00e9veloppe la r\u00e9silience. Un enfant qui rate son bus \u00e0 Lisbonne et doit se d\u00e9brouiller avec quelques mots de portugais apprend infiniment plus qu&#8217;un enfant install\u00e9 dans un club-village tout-inclus. \u00bb<\/p>\n      <p>C&#8217;est pourquoi une tendance alternative \u00e9merge : le \u00ab slow travel \u00bb en famille. Plut\u00f4t que de multiplier les visites en mode chronom\u00e8tre, ces familles choisissent un seul endroit, s&#8217;y installent pour plusieurs semaines, inscrivent leurs enfants dans une \u00e9cole locale, font leur march\u00e9, nouent des liens avec les voisins. Le voyage devient alors une v\u00e9ritable immersion culturelle, une aventure humaine qui d\u00e9passe de loin les cartes postales.<\/p>\n    <\/div>\n    <div class=\"questions-box\">\n      <h4>Questions de compr\u00e9hension<\/h4>\n      <ol>\n        <li>Quelle image traditionnelle du voyage en famille l&#8217;article remet-il en question ?<\/li>\n        <li>Que critique la sociologue Marie-Claire Lepont dans le tourisme familial standardis\u00e9 ?<\/li>\n        <li>En quoi consiste le \u00ab slow travel \u00bb en famille ? Donnez deux caract\u00e9ristiques concr\u00e8tes.<\/li>\n        <li>Expliquez avec vos propres mots l&#8217;expression : <em>\u00ab la friction avec l&#8217;inconnu forge les souvenirs durables \u00bb<\/em>.<\/li>\n      <\/ol>\n    <\/div>\n  <\/div>\n\n  <!-- TEXTE 2 -->\n  <div class=\"text-card\">\n    <div class=\"text-tag\">Texte 2 \u00b7 T\u00e9moignage<\/div>\n    <h3 class=\"text-title\">\u00ab On a tout l\u00e2ch\u00e9 pour parcourir l&#8217;Europe en van \u00bb\n      <button class=\"tts-btn\" onclick=\"ttsRead(this, 'txt2')\" title=\"\u00c9couter le texte\">\n        <span class=\"tts-icon\">\ud83d\udd0a<\/span> \u00c9couter\n      <\/button>\n    <\/h3>\n    <div class=\"text-body\" id=\"txt2\">\n      <p>Sandrine, 38 ans, enseignante, et Marc, 41 ans, ing\u00e9nieur, ont pris une d\u00e9cision radicale en 2023 : quitter leur appartement parisien, vendre une partie de leurs affaires et partir six mois avec leurs trois enfants \u2013 L\u00e9a (11 ans), Tom (8 ans) et Zo\u00e9 (5 ans) \u2013 \u00e0 bord d&#8217;un van am\u00e9nag\u00e9. Destination : l&#8217;Europe, sans itin\u00e9raire pr\u00e9cis.<\/p>\n      <p>\u00ab Le plus grand d\u00e9fi au d\u00e9part n&#8217;\u00e9tait pas logistique, c&#8217;\u00e9tait psychologique, confie Sandrine. On nous a demand\u00e9 si on \u00e9tait inconscients. Des amis bien intentionn\u00e9s nous ont pr\u00e9venus que les enfants allaient souffrir, rater leur scolarit\u00e9, perdre leurs rep\u00e8res. En r\u00e9alit\u00e9, c&#8217;est tout l&#8217;inverse qui s&#8217;est produit. \u00bb<\/p>\n      <p>Au fil des kilom\u00e8tres \u2013 Espagne, Portugal, Slov\u00e9nie, Croatie, Roumanie, Bulgarie \u2013 les enfants ont d\u00e9velopp\u00e9 une curiosit\u00e9 insatiable. L\u00e9a tient un carnet de voyage illustr\u00e9 o\u00f9 elle consigne ses observations sur les architectures locales. Tom, fascin\u00e9 par les march\u00e9s, a appris \u00e0 comparer les prix dans diff\u00e9rentes devises. Quant \u00e0 Zo\u00e9, la benjamine, elle collectionne les mots dans toutes les langues pour dire \u00ab bonjour \u00bb et \u00ab merci \u00bb.<\/p>\n      <p>\u00ab Ce voyage nous a appris que la s\u00e9curit\u00e9 n&#8217;est pas dans l&#8217;immobilisme, conclut Marc. Nos enfants sont plus adaptables, plus empathiques, plus curieux qu&#8217;avant. Et nous, en tant que parents, on a red\u00e9couvert le plaisir d&#8217;apprendre ensemble. Le van, c&#8217;\u00e9tait petit, parfois inconfortable. Mais l&#8217;espace qu&#8217;on a gagn\u00e9 en t\u00eate, lui, \u00e9tait immense. \u00bb<\/p>\n    <\/div>\n    <div class=\"questions-box\">\n      <h4>Questions de compr\u00e9hension<\/h4>\n      <ol>\n        <li>Quelles craintes l&#8217;entourage de Sandrine et Marc avait-il exprim\u00e9es avant leur d\u00e9part ?<\/li>\n        <li>Comment chacun des trois enfants a-t-il r\u00e9agi au voyage ? Donnez un exemple pour chacun.<\/li>\n        <li>Que signifie \u00ab la s\u00e9curit\u00e9 n&#8217;est pas dans l&#8217;immobilisme \u00bb dans le contexte de ce t\u00e9moignage ?<\/li>\n        <li>Relevez deux expressions m\u00e9taphoriques dans le dernier paragraphe et expliquez-les.<\/li>\n      <\/ol>\n    <\/div>\n  <\/div>\n\n  <!-- TEXTE 3 -->\n  <div class=\"text-card\">\n    <div class=\"text-tag\">Texte 3 \u00b7 Recommandations touristiques<\/div>\n    <h3 class=\"text-title\">Destinations culturelles incontournables pour les familles\n      <button class=\"tts-btn\" onclick=\"ttsRead(this, 'txt3')\" title=\"\u00c9couter le texte\">\n        <span class=\"tts-icon\">\ud83d\udd0a<\/span> \u00c9couter\n      <\/button>\n    <\/h3>\n    <div class=\"text-body\" id=\"txt3\">\n      <p>Choisir une destination \u00e0 la fois culturellement riche et adapt\u00e9e aux enfants rel\u00e8ve parfois du casse-t\u00eate. Voici quelques pistes pour des voyages qui marquent les esprits sans \u00e9puiser les jambes.<\/p>\n      <p><strong>Kyoto, Japon.<\/strong> Contrairement aux id\u00e9es re\u00e7ues, le Japon est l&#8217;un des pays les plus accueillants pour les familles. Les transports en commun sont ponctuels et s\u00fbrs, les mus\u00e9es proposent des ateliers pour enfants, et la culture du respect mutuel impr\u00e8gne chaque interaction. Les temples zen, les jardins \u00e0 bonsa\u00efs et les ateliers de fabrication de sushi permettent aux plus jeunes de toucher du doigt une civilisation radicalement diff\u00e9rente.<\/p>\n      <p><strong>Lisbonne, Portugal.<\/strong> \u00c0 taille humaine, ensoleill\u00e9e et extraordinairement ouverte, Lisbonne s\u00e9duit les familles par son m\u00e9lange unique d&#8217;histoire et de modernit\u00e9. Le mus\u00e9e de l&#8217;\u00c9lectricit\u00e9, le Pavillon des connaissances (un mus\u00e9e des sciences interactif) et l&#8217;Oceanarium \u2013 l&#8217;un des plus grands d&#8217;Europe \u2013 offrent une journ\u00e9e compl\u00e8te d&#8217;\u00e9merveillement pour les enfants. Sans oublier les trams, les past\u00e9is de nata et les azulejos qui racontent l&#8217;histoire d&#8217;un peuple de navigateurs.<\/p>\n      <p><strong>Brasov, Roumanie.<\/strong> Souvent m\u00e9connue des voyageurs occidentaux, cette ville de Transylvanie constitue un point de d\u00e9part id\u00e9al pour explorer les Carpates. Le centre historique m\u00e9di\u00e9val, les ch\u00e2teaux aux allures de conte de f\u00e9es, les randonn\u00e9es en for\u00eat et la richesse de la faune locale (ours, lynx, loups dans leur habitat naturel) en font une destination de choix pour les familles en qu\u00eate d&#8217;aventure authentique et abordable.<\/p>\n    <\/div>\n    <div class=\"questions-box\">\n      <h4>Questions de compr\u00e9hension<\/h4>\n      <ol>\n        <li>Pourquoi l&#8217;auteur dit-il que choisir une destination culturelle pour les familles \u00ab rel\u00e8ve du casse-t\u00eate \u00bb ?<\/li>\n        <li>Quelle qualit\u00e9 particuli\u00e8re du Japon est mentionn\u00e9e comme surprenante ? Pourquoi ?<\/li>\n        <li>Qu&#8217;est-ce qui caract\u00e9rise Lisbonne selon ce texte ? Relevez trois \u00e9l\u00e9ments.<\/li>\n        <li>Pourquoi Bra\u0219ov est-il qualifi\u00e9 de destination \u00ab authentique et abordable \u00bb ?<\/li>\n      <\/ol>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     SECTION 2 \u2013 VOCABULAIRE\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div class=\"section\" id=\"sec2\">\n  <div class=\"section-label\">Vocabulaire th\u00e9matique<\/div>\n  <h2 class=\"section-title\">20 mots pour voyager en fran\u00e7ais<\/h2>\n\n  <div class=\"vocab-grid\" id=\"vocabGrid\">\n    <!-- JS will inject vocab items -->\n  <\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     SECTION 3 \u2013 GRAMMAIRE\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div class=\"section\" id=\"sec3\">\n  <div class=\"section-label\">Points de grammaire<\/div>\n  <h2 class=\"section-title\">Grammaire en contexte<\/h2>\n\n  <!-- POINT 1 -->\n  <div class=\"gram-block\">\n    <h3 class=\"gram-title\">1. Le conditionnel \u2013 r\u00eaves et projets de voyage\n      <button class=\"tts-btn\" onclick=\"ttsReadText(this, 'Si j\\'avais le temps, je voyagerais six mois en Asie. Nous aimerions visiter le Japon avec nos enfants. Ce serait une exp\u00e9rience inoubliable.')\">\n        <span class=\"tts-icon\">\ud83d\udd0a<\/span>\n      <\/button>\n    <\/h3>\n    <p style=\"color:var(--mid); margin-bottom:16px;\">Le conditionnel pr\u00e9sent exprime le souhait, le r\u00eave, la suggestion ou une action hypoth\u00e9tique. Il est souvent combin\u00e9 avec <em>si + imparfait<\/em>.<\/p>\n    <table class=\"gram-table\">\n      <tr><th>Structure<\/th><th>Exemple dans le contexte du voyage<\/th><\/tr>\n      <tr><td>Si + imparfait \u2192 conditionnel<\/td><td><em>Si j&#8217;avais le temps, je voyagerais six mois en Asie.<\/em><\/td><\/tr>\n      <tr><td>Souhait \/ d\u00e9sir<\/td><td><em>Nous aimerions visiter le Japon avec nos enfants.<\/em><\/td><\/tr>\n      <tr><td>Suggestion polie<\/td><td><em>Vous devriez essayer le slow travel.<\/em><\/td><\/tr>\n      <tr><td>Hypoth\u00e8se<\/td><td><em>Ce serait une exp\u00e9rience inoubliable.<\/em><\/td><\/tr>\n      <tr><td>Condition non r\u00e9alis\u00e9e<\/td><td><em>Sans le budget, nous serions rest\u00e9s \u00e0 Paris.<\/em><\/td><\/tr>\n    <\/table>\n    <div class=\"gram-note\">\u26a0\ufe0f Attention \u00e0 ne pas confondre avec le futur simple. Le conditionnel exprime une condition ou un doute, le futur exprime une certitude.<\/div>\n  <\/div>\n\n  <!-- POINT 2 -->\n  <div class=\"gram-block\">\n    <h3 class=\"gram-title\">2. Le subjonctif \u2013 recommandations touristiques\n      <button class=\"tts-btn\" onclick=\"ttsReadText(this, 'Il faut que vous visitiez Lisbonne avant l\\'\u00e9t\u00e9. Je recommande que les enfants participent aux ateliers. Il est essentiel que vous r\u00e9serviez \u00e0 l\\'avance.')\">\n        <span class=\"tts-icon\">\ud83d\udd0a<\/span>\n      <\/button>\n    <\/h3>\n    <p style=\"color:var(--mid); margin-bottom:16px;\">Le subjonctif appara\u00eet apr\u00e8s des expressions de n\u00e9cessit\u00e9, de doute, d&#8217;\u00e9motion et de recommandation \u2014 fr\u00e9quentes dans les guides et conseils de voyage.<\/p>\n    <table class=\"gram-table\">\n      <tr><th>D\u00e9clencheur<\/th><th>Exemple<\/th><\/tr>\n      <tr><td>Il faut que&#8230;<\/td><td><em>Il faut que vous visitiez Lisbonne avant l&#8217;\u00e9t\u00e9.<\/em><\/td><\/tr>\n      <tr><td>Je recommande que&#8230;<\/td><td><em>Je recommande que les enfants participent aux ateliers.<\/em><\/td><\/tr>\n      <tr><td>Il est essentiel que&#8230;<\/td><td><em>Il est essentiel que vous r\u00e9serviez \u00e0 l&#8217;avance.<\/em><\/td><\/tr>\n      <tr><td>Bien que&#8230; (concession)<\/td><td><em>Bien que le voyage soit long, les enfants adorent.<\/em><\/td><\/tr>\n      <tr><td>Pour que&#8230; (but)<\/td><td><em>On choisit des mus\u00e9es interactifs pour que ce soit ludique.<\/em><\/td><\/tr>\n    <\/table>\n    <div class=\"gram-note\">\ud83d\udca1 Astuce : si le sujet des deux verbes est le m\u00eame, utilisez l&#8217;infinitif : <em>Je recommande de visiter<\/em> (et non <em>que je visite<\/em>).<\/div>\n  <\/div>\n\n  <!-- POINT 3 -->\n  <div class=\"gram-block\">\n    <h3 class=\"gram-title\">3. Le g\u00e9rondif \u2013 actions simultan\u00e9es en voyage\n      <button class=\"tts-btn\" onclick=\"ttsReadText(this, 'En visitant les march\u00e9s locaux, Tom apprenait \u00e0 comparer les prix. On d\u00e9couvre une culture en mangeant ses plats traditionnels. L\u00e9a prenait des notes en dessinant dans son carnet.')\">\n        <span class=\"tts-icon\">\ud83d\udd0a<\/span>\n      <\/button>\n    <\/h3>\n    <p style=\"color:var(--mid); margin-bottom:16px;\">Le g\u00e9rondif (en + participe pr\u00e9sent) exprime la simultan\u00e9it\u00e9, la mani\u00e8re ou la condition. Il est tr\u00e8s utilis\u00e9 pour d\u00e9crire des activit\u00e9s culturelles et touristiques.<\/p>\n    <table class=\"gram-table\">\n      <tr><th>Usage<\/th><th>Exemple<\/th><\/tr>\n      <tr><td>Simultan\u00e9it\u00e9<\/td><td><em>En visitant les march\u00e9s, Tom apprenait les devises.<\/em><\/td><\/tr>\n      <tr><td>Mani\u00e8re<\/td><td><em>On d\u00e9couvre une culture en mangeant ses plats.<\/em><\/td><\/tr>\n      <tr><td>Condition<\/td><td><em>En planifiant bien, on voyage moins cher.<\/em><\/td><\/tr>\n      <tr><td>Cause<\/td><td><em>En ratant leur bus, ils ont d\u00e9couvert un quartier inconnu.<\/em><\/td><\/tr>\n    <\/table>\n    <div class=\"gram-note\">\u26a0\ufe0f Le sujet du g\u00e9rondif doit \u00eatre le m\u00eame que celui du verbe principal : <em>En voyageant, nous avons appris<\/em> \u2713 \u2014 pas : <em>En voyageant, la culture nous a surpris<\/em> \u2717<\/div>\n  <\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     SECTION 4 \u2013 EXERCICES\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div class=\"section\" id=\"sec4\">\n  <div class=\"section-label\">Mise en pratique<\/div>\n  <h2 class=\"section-title\">Exercices<\/h2>\n\n  <!-- EXO 1 -->\n  <div class=\"exo-block\">\n    <h3 class=\"exo-title\">Exercice 1 \u2013 Conditionnel : r\u00eaves de voyage<\/h3>\n    <p style=\"color:var(--muted); font-size:14px; margin-bottom:16px;\">Mettez les verbes entre parenth\u00e8ses au conditionnel pr\u00e9sent.<\/p>\n    <div class=\"exo-item\">1. Si nous avions plus de vacances, nous <input class=\"exo-blank\" type=\"text\" placeholder=\"...\" autocomplete=\"off\" spellcheck=\"false\"> (partir) en van comme Sandrine et Marc.<\/div>\n    <div class=\"exo-item\">2. Les enfants <input class=\"exo-blank\" type=\"text\" placeholder=\"...\" autocomplete=\"off\" spellcheck=\"false\"> (apprendre) beaucoup en visitant Kyoto.<\/div>\n    <div class=\"exo-item\">3. Tu <input class=\"exo-blank\" type=\"text\" placeholder=\"...\" autocomplete=\"off\" spellcheck=\"false\"> (devoir) essayer le slow travel, c&#8217;est transformateur.<\/div>\n    <div class=\"exo-item\">4. Sans ce voyage, L\u00e9a ne <input class=\"exo-blank\" type=\"text\" placeholder=\"...\" autocomplete=\"off\" spellcheck=\"false\"> (tenir) pas ce carnet illustr\u00e9.<\/div>\n    <div class=\"exo-item\">5. Ce <input class=\"exo-blank\" type=\"text\" placeholder=\"...\" autocomplete=\"off\" spellcheck=\"false\"> (\u00eatre) une exp\u00e9rience inoubliable pour toute la famille.<\/div>\n    <button class=\"reveal-btn\" onclick=\"revealExo(this)\">Voir les r\u00e9ponses<\/button>\n    <div class=\"answer-box\">\n      <strong>R\u00e9ponses :<\/strong><br>\n      1. <em>partirions<\/em> &nbsp;\u00b7&nbsp; 2. <em>apprendraient<\/em> &nbsp;\u00b7&nbsp; 3. <em>devrais<\/em> &nbsp;\u00b7&nbsp; 4. <em>tiendrait<\/em> &nbsp;\u00b7&nbsp; 5. <em>serait<\/em>\n    <\/div>\n  <\/div>\n\n  <!-- EXO 2 -->\n  <div class=\"exo-block\">\n    <h3 class=\"exo-title\">Exercice 2 \u2013 Subjonctif : conseils de voyage<\/h3>\n    <p style=\"color:var(--muted); font-size:14px; margin-bottom:16px;\">Compl\u00e9tez avec le subjonctif ou l&#8217;infinitif selon le contexte.<\/p>\n    <div class=\"exo-item\">1. Il faut que vous <input class=\"exo-blank\" type=\"text\" placeholder=\"...\" autocomplete=\"off\" spellcheck=\"false\"> (r\u00e9server) les billets t\u00f4t en haute saison.<\/div>\n    <div class=\"exo-item\">2. Je vous recommande <input class=\"exo-blank\" type=\"text\" placeholder=\"...\" autocomplete=\"off\" spellcheck=\"false\"> (visiter) Bra\u0219ov au printemps.<\/div>\n    <div class=\"exo-item\">3. Bien que le Japon <input class=\"exo-blank\" type=\"text\" placeholder=\"...\" autocomplete=\"off\" spellcheck=\"false\"> (\u00eatre) loin, \u00e7a vaut vraiment le d\u00e9tour.<\/div>\n    <div class=\"exo-item\">4. Il est essentiel que les enfants <input class=\"exo-blank\" type=\"text\" placeholder=\"...\" autocomplete=\"off\" spellcheck=\"false\"> (participer) aux ateliers culturels.<\/div>\n    <div class=\"exo-item\">5. On cherche des mus\u00e9es interactifs pour que la visite <input class=\"exo-blank\" type=\"text\" placeholder=\"...\" autocomplete=\"off\" spellcheck=\"false\"> (\u00eatre) ludique.<\/div>\n    <button class=\"reveal-btn\" onclick=\"revealExo(this)\">Voir les r\u00e9ponses<\/button>\n    <div class=\"answer-box\">\n      <strong>R\u00e9ponses :<\/strong><br>\n      1. <em>r\u00e9serviez<\/em> (subj.) &nbsp;\u00b7&nbsp; 2. <em>de visiter<\/em> (infinitif \u2014 m\u00eame sujet implicite) &nbsp;\u00b7&nbsp; 3. <em>soit<\/em> (subj.) &nbsp;\u00b7&nbsp; 4. <em>participent<\/em> (subj.) &nbsp;\u00b7&nbsp; 5. <em>soit<\/em> (subj.)\n    <\/div>\n  <\/div>\n\n  <!-- EXO 3 -->\n  <div class=\"exo-block\">\n    <h3 class=\"exo-title\">Exercice 3 \u2013 G\u00e9rondif : d\u00e9crire une exp\u00e9rience de voyage<\/h3>\n    <p style=\"color:var(--muted); font-size:14px; margin-bottom:16px;\">Transformez les deux phrases en une seule avec le g\u00e9rondif.<\/p>\n    <div class=\"exo-item\">1. Tom visitait les march\u00e9s. Il apprenait \u00e0 comparer les prix. \u2192 <input class=\"exo-blank\" type=\"text\" placeholder=\"Votre r\u00e9ponse...\" autocomplete=\"off\" spellcheck=\"false\" style=\"min-width:280px;\"><\/div>\n    <div class=\"exo-item\">2. Ils ont rat\u00e9 leur bus. Ils ont d\u00e9couvert un quartier inconnu. \u2192 <input class=\"exo-blank\" type=\"text\" placeholder=\"Votre r\u00e9ponse...\" autocomplete=\"off\" spellcheck=\"false\" style=\"min-width:280px;\"><\/div>\n    <div class=\"exo-item\">3. Zo\u00e9 collectionnait les mots. Elle s&#8217;int\u00e9grait partout. \u2192 <input class=\"exo-blank\" type=\"text\" placeholder=\"Votre r\u00e9ponse...\" autocomplete=\"off\" spellcheck=\"false\" style=\"min-width:280px;\"><\/div>\n    <button class=\"reveal-btn\" onclick=\"revealExo(this)\">Voir les r\u00e9ponses<\/button>\n    <div class=\"answer-box\">\n      <strong>R\u00e9ponses :<\/strong><br>\n      1. <em>En visitant les march\u00e9s, Tom apprenait \u00e0 comparer les prix.<\/em><br>\n      2. <em>En ratant leur bus, ils ont d\u00e9couvert un quartier inconnu.<\/em><br>\n      3. <em>En collectionnant les mots, Zo\u00e9 s&#8217;int\u00e9grait partout.<\/em>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     SECTION 5 \u2013 EXPRESSION ORALE\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div class=\"section\" id=\"sec5\">\n  <div class=\"section-label\">Expression orale<\/div>\n  <h2 class=\"section-title\">Prenez la parole !<\/h2>\n\n  <div class=\"oral-grid\">\n    <div class=\"oral-card\">\n      <div class=\"oral-num\">01<\/div>\n      <div class=\"oral-q\">Avez-vous d\u00e9j\u00e0 voyag\u00e9 avec des enfants (les v\u00f4tres ou ceux de votre entourage) ? Qu&#8217;est-ce qui \u00e9tait diff\u00e9rent d&#8217;un voyage entre adultes ?<\/div>\n    <\/div>\n    <div class=\"oral-card\">\n      <div class=\"oral-num\">02<\/div>\n      <div class=\"oral-q\">Qu&#8217;est-ce qui vous attire davantage : un s\u00e9jour tout-inclus bien organis\u00e9, ou un voyage improvis\u00e9 en mode \u00ab slow travel \u00bb ? Justifiez votre choix.<\/div>\n    <\/div>\n    <div class=\"oral-card\">\n      <div class=\"oral-num\">03<\/div>\n      <div class=\"oral-q\">La sociologue dit que \u00ab la friction avec l&#8217;inconnu forge les souvenirs durables \u00bb. \u00cates-vous d&#8217;accord ? Racontez une exp\u00e9rience personnelle qui illustre ce point.<\/div>\n    <\/div>\n    <div class=\"oral-card\">\n      <div class=\"oral-num\">04<\/div>\n      <div class=\"oral-q\">Si vous deviez choisir une seule destination culturelle pour emmener un enfant de 8 ans, quelle ville choisiriez-vous et pourquoi ? Quelles activit\u00e9s proposeriez-vous ?<\/div>\n    <\/div>\n    <div class=\"oral-card\">\n      <div class=\"oral-num\">05<\/div>\n      <div class=\"oral-q\">Pensez-vous que voyager est un luxe ou une n\u00e9cessit\u00e9 \u00e9ducative ? Les familles qui n&#8217;ont pas les moyens de voyager sont-elles d\u00e9savantag\u00e9es sur le plan culturel ?<\/div>\n    <\/div>\n    <div class=\"oral-card\">\n      <div class=\"oral-num\">06<\/div>\n      <div class=\"oral-q\">Bra\u0219ov appara\u00eet dans le texte comme destination recommand\u00e9e. En tant que Roumain(e), qu&#8217;ajouteriez-vous \u00e0 cette description ? Qu&#8217;est-ce qui surprend les touristes \u00e9trangers ?<\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"role-play\">\n    <h3>\ud83c\udfad Jeu de r\u00f4le : Planifier un voyage en famille<\/h3>\n    <p style=\"color:rgba(255,255,255,0.65); font-size:15px; line-height:1.7;\">Vous planifiez un voyage de 10 jours avec votre famille (2 adultes, 2 enfants de 6 et 11 ans). Vous avez un budget limit\u00e9 mais vous voulez une vraie exp\u00e9rience culturelle. Choisissez une destination parmi celles du texte et pr\u00e9sentez votre plan \u00e0 votre partenaire qui joue le r\u00f4le du conjoint sceptique.<\/p>\n    <div class=\"role-cards\">\n      <div class=\"role-card\">\n        <h4>\ud83e\uddf3 R\u00f4le A \u2013 L&#8217;enthousiaste<\/h4>\n        <p>Vous proposez une destination culturelle ambitieuse. Vous devez convaincre votre partenaire en utilisant le conditionnel et le subjonctif : <em>\u00ab Ce serait parfait parce que&#8230; \u00bb, \u00ab Il faudrait que nous&#8230; \u00bb, \u00ab Je pense qu&#8217;il est essentiel que les enfants&#8230; \u00bb<\/em><\/p>\n      <\/div>\n      <div class=\"role-card\">\n        <h4>\ud83e\udd14 R\u00f4le B \u2013 Le\/la sceptique<\/h4>\n        <p>Vous avez des doutes sur la faisabilit\u00e9 et sur les enfants. Posez des questions pratiques, exprimez vos inqui\u00e9tudes et proposez des alternatives : <em>\u00ab Tu ne crois pas que ce serait trop long pour les enfants ? \u00bb, \u00ab Il vaudrait mieux que nous&#8230; \u00bb<\/em><\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     SECTION 6 \u2013 TRADUCTION\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div class=\"section\" id=\"sec6\">\n  <div class=\"section-label\">Traduction RO \u2192 FR<\/div>\n  <h2 class=\"section-title\">Traduisez en fran\u00e7ais<\/h2>\n\n  <div class=\"clavier\">\n    <span class=\"clavier-label\">Clavier fran\u00e7ais<\/span>\n    <button class=\"key-btn\" onclick=\"insertChar('\u00e9')\">\u00e9<\/button>\n    <button class=\"key-btn\" onclick=\"insertChar('\u00e8')\">\u00e8<\/button>\n    <button class=\"key-btn\" onclick=\"insertChar('\u00ea')\">\u00ea<\/button>\n    <button class=\"key-btn\" onclick=\"insertChar('\u00eb')\">\u00eb<\/button>\n    <button class=\"key-btn\" onclick=\"insertChar('\u00e0')\">\u00e0<\/button>\n    <button class=\"key-btn\" onclick=\"insertChar('\u00e2')\">\u00e2<\/button>\n    <button class=\"key-btn\" onclick=\"insertChar('\u00f9')\">\u00f9<\/button>\n    <button class=\"key-btn\" onclick=\"insertChar('\u00fb')\">\u00fb<\/button>\n    <button class=\"key-btn\" onclick=\"insertChar('\u00ee')\">\u00ee<\/button>\n    <button class=\"key-btn\" onclick=\"insertChar('\u00ef')\">\u00ef<\/button>\n    <button class=\"key-btn\" onclick=\"insertChar('\u00f4')\">\u00f4<\/button>\n    <button class=\"key-btn\" onclick=\"insertChar('\u0153')\">\u0153<\/button>\n    <button class=\"key-btn\" onclick=\"insertChar('\u00e7')\">\u00e7<\/button>\n    <button class=\"key-btn\" onclick=\"insertChar('\u00ab')\">\u00ab<\/button>\n    <button class=\"key-btn\" onclick=\"insertChar('\u00bb')\">\u00bb<\/button>\n  <\/div>\n\n  <div id=\"tradItems\"><\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     SECTION 7 \u2013 BILAN\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div class=\"section\" id=\"sec7\">\n  <div class=\"section-label\">Bilan de la le\u00e7on<\/div>\n  <h2 class=\"section-title\">Ce que j&#8217;ai appris<\/h2>\n\n  <div class=\"bilan-grid\" id=\"bilanGrid\">\n    <!-- JS will inject bilan items -->\n  <\/div>\n\n  <div class=\"bilan-score\">\n    <div>\n      <div class=\"score-text\">Objectifs atteints<\/div>\n      <div id=\"bilanScoreText\" style=\"color:rgba(255,255,255,0.5); font-size:13px; margin-top:4px;\">Cochez les cases au fur et \u00e0 mesure<\/div>\n    <\/div>\n    <div class=\"score-num\" id=\"bilanScore\">0 \/ 12<\/div>\n  <\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     JAVASCRIPT\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<script>\n  \/\/ \u2500\u2500 SECTION NAVIGATION \u2500\u2500\n  const sections = document.querySelectorAll('.section');\n  const secBtns = document.querySelectorAll('.sec-btn');\n  const progressFill = document.getElementById('progressFill');\n  const progressPct = document.getElementById('progressPct');\n\n  function showSection(idx) {\n    sections.forEach((s, i) => s.classList.toggle('active', i === idx));\n    secBtns.forEach((b, i) => b.classList.toggle('active', i === idx));\n    const pct = Math.round(((idx + 1) \/ sections.length) * 100);\n    progressFill.style.width = pct + '%';\n    progressPct.textContent = (idx + 1) + '\/' + sections.length;\n    window.scrollTo({ top: 0, behavior: 'smooth' });\n  }\n\n  \/\/ \u2500\u2500 TTS \u2500\u2500\n  let currentUtterance = null;\n  let currentBtn = null;\n\n  function ttsStop() {\n    if (window.speechSynthesis) {\n      window.speechSynthesis.cancel();\n    }\n    if (currentBtn) {\n      currentBtn.classList.remove('playing');\n      currentBtn.innerHTML = '<span class=\"tts-icon\">\ud83d\udd0a<\/span> \u00c9couter';\n      currentBtn = null;\n    }\n    currentUtterance = null;\n  }\n\n  function ttsReadText(btn, text) {\n    if (!window.speechSynthesis) {\n      alert('Votre navigateur ne supporte pas la synth\u00e8se vocale.');\n      return;\n    }\n    if (currentBtn === btn && window.speechSynthesis.speaking) {\n      ttsStop();\n      return;\n    }\n    ttsStop();\n\n    const utter = new SpeechSynthesisUtterance(text);\n    utter.lang = 'fr-FR';\n    utter.rate = 0.88;\n    utter.pitch = 1;\n\n    \/\/ Try to find a French voice\n    const voices = window.speechSynthesis.getVoices();\n    const frVoice = voices.find(v => v.lang.startsWith('fr-FR')) ||\n                    voices.find(v => v.lang.startsWith('fr'));\n    if (frVoice) utter.voice = frVoice;\n\n    utter.onstart = () => {\n      btn.classList.add('playing');\n      btn.innerHTML = '<span class=\"tts-icon\">\u23f9<\/span> Stop';\n      currentBtn = btn;\n    };\n    utter.onend = () => {\n      btn.classList.remove('playing');\n      btn.innerHTML = '<span class=\"tts-icon\">\ud83d\udd0a<\/span> \u00c9couter';\n      currentBtn = null;\n    };\n    utter.onerror = () => {\n      btn.classList.remove('playing');\n      btn.innerHTML = '<span class=\"tts-icon\">\ud83d\udd0a<\/span> \u00c9couter';\n      currentBtn = null;\n    };\n\n    currentUtterance = utter;\n    window.speechSynthesis.speak(utter);\n  }\n\n  function ttsRead(btn, elementId) {\n    const el = document.getElementById(elementId);\n    if (!el) return;\n    const text = el.innerText || el.textContent;\n    ttsReadText(btn, text);\n  }\n\n  \/\/ Load voices async (Chrome needs this)\n  if (window.speechSynthesis) {\n    window.speechSynthesis.onvoiceschanged = () => {\n      window.speechSynthesis.getVoices();\n    };\n  }\n\n  \/\/ \u2500\u2500 EXERCICES \u2500\u2500\n  function revealExo(btn) {\n    const box = btn.nextElementSibling;\n    const isVisible = box.classList.contains('visible');\n    box.classList.toggle('visible');\n    btn.textContent = isVisible ? 'Voir les r\u00e9ponses' : 'Masquer';\n  }\n\n  \/\/ \u2500\u2500 CLAVIER VIRTUEL \u2500\u2500\n  let activeTextarea = null;\n\n  function setActiveTA(ta) { activeTextarea = ta; }\n\n  function insertChar(ch) {\n    if (!activeTextarea) {\n      \/\/ find focused textarea\n      const focused = document.activeElement;\n      if (focused && focused.tagName === 'TEXTAREA') activeTextarea = focused;\n    }\n    if (!activeTextarea) return;\n    const s = activeTextarea.selectionStart;\n    const e = activeTextarea.selectionEnd;\n    const v = activeTextarea.value;\n    activeTextarea.value = v.slice(0, s) + ch + v.slice(e);\n    activeTextarea.selectionStart = activeTextarea.selectionEnd = s + ch.length;\n    activeTextarea.focus();\n    updateWordCount(activeTextarea);\n  }\n\n  function updateWordCount(ta) {\n    const counterId = ta.dataset.counter;\n    if (!counterId) return;\n    const counter = document.getElementById(counterId);\n    if (!counter) return;\n    const words = ta.value.trim() === '' ? 0 : ta.value.trim().split(\/\\s+\/).length;\n    counter.textContent = words + ' mot' + (words !== 1 ? 's' : '');\n  }\n\n  \/\/ \u2500\u2500 VOCABULAIRE \u2500\u2500\n  const vocabData = [\n    { word: 'le d\u00e9paysement', type: 'n.m.', def: 'sentiment d\\'\u00eatre dans un monde diff\u00e9rent, de sortir de ses habitudes', example: 'Le voyage en van leur a offert un d\u00e9paysement total.' },\n    { word: 'insolite', type: 'adj.', def: 'inhabituel, surprenant, hors du commun', example: 'Ils ont choisi une destination insolite : les \u00eeles F\u00e9ro\u00e9.' },\n    { word: 'l\\'immersion', type: 'n.f.', def: 'le fait de se plonger compl\u00e8tement dans un milieu, une culture', example: 'L\\'immersion linguistique est la meilleure fa\u00e7on d\\'apprendre.' },\n    { word: 'un itin\u00e9raire', type: 'n.m.', def: 'le chemin pr\u00e9vu pour aller d\\'un endroit \u00e0 un autre', example: 'Ils sont partis sans itin\u00e9raire pr\u00e9cis.' },\n    { word: 'l\\'h\u00e9bergement', type: 'n.m.', def: 'le logement lors d\\'un voyage (h\u00f4tel, g\u00eete, camping, etc.)', example: 'Ils optaient pour des h\u00e9bergements chez l\\'habitant.' },\n    { word: 'l\\'\u00e9merveillement', type: 'n.m.', def: 'sentiment d\\'admiration intense, de stup\u00e9faction joyeuse', example: 'L\\'Oceanarium de Lisbonne provoque l\\'\u00e9merveillement des enfants.' },\n    { word: 'm\u00e9connu(e)', type: 'adj.', def: 'peu connu, ignor\u00e9 malgr\u00e9 ses qualit\u00e9s', example: 'La Transylvanie reste une r\u00e9gion m\u00e9connue des touristes occidentaux.' },\n    { word: 'le casse-t\u00eate', type: 'n.m.', def: 'probl\u00e8me difficile \u00e0 r\u00e9soudre, situation compliqu\u00e9e', example: 'Choisir une destination pour toute la famille est un vrai casse-t\u00eate.' },\n    { word: 'la r\u00e9silience', type: 'n.f.', def: 'capacit\u00e9 \u00e0 s\\'adapter et \u00e0 surmonter les difficult\u00e9s', example: 'Voyager d\u00e9veloppe la r\u00e9silience chez les enfants.' },\n    { word: 'abordable', type: 'adj.', def: 'dont le prix est raisonnable, accessible financi\u00e8rement', example: 'La Roumanie est une destination culturelle tr\u00e8s abordable.' },\n    { word: 'le tourisme responsable', type: 'n.m.', def: 'voyage qui respecte l\\'environnement et les cultures locales', example: 'De plus en plus de familles pratiquent le tourisme responsable.' },\n    { word: 'se d\u00e9brouiller', type: 'v.', def: 'trouver des solutions seul, faire face \u00e0 une situation difficile', example: 'Elle s\\'est d\u00e9brouill\u00e9e avec quelques mots de portugais.' },\n    { word: 'nouer des liens', type: 'expr.', def: 'cr\u00e9er des relations, \u00e9tablir des contacts humains', example: 'En vivant dans le quartier, ils ont nou\u00e9 des liens avec les voisins.' },\n    { word: 'un carnet de voyage', type: 'n.m.', def: 'journal illustr\u00e9 o\u00f9 l\\'on note ses observations de voyage', example: 'L\u00e9a tient un carnet de voyage depuis le d\u00e9but du p\u00e9riple.' },\n    { word: 'insatiable', type: 'adj.', def: 'qui ne peut jamais \u00eatre satisfait, toujours en demande de plus', example: 'Les enfants ont d\u00e9velopp\u00e9 une curiosit\u00e9 insatiable.' },\n    { word: 'une friction', type: 'n.f.', def: 'r\u00e9sistance, difficult\u00e9 l\u00e9g\u00e8re qui cr\u00e9e un apprentissage', example: 'La friction avec l\\'inconnu est formatrice pour les enfants.' },\n    { word: 'l\\'immobilisme', type: 'n.m.', def: 'tendance \u00e0 ne pas bouger, \u00e0 refuser le changement', example: 'La s\u00e9curit\u00e9 n\\'est pas dans l\\'immobilisme, dit Marc.' },\n    { word: 'la faune locale', type: 'n.f.', def: 'l\\'ensemble des animaux sauvages d\\'une r\u00e9gion', example: 'Les Carpates abritent une faune locale exceptionnelle.' },\n    { word: 'p\u00e9dagogique', type: 'adj.', def: 'qui a un but \u00e9ducatif, qui favorise l\\'apprentissage', example: 'Choisir une destination \u00e0 la fois ludique et p\u00e9dagogique.' },\n    { word: 'l\\'adaptabilit\u00e9', type: 'n.f.', def: 'capacit\u00e9 \u00e0 s\\'ajuster facilement \u00e0 de nouvelles situations', example: 'Le voyage d\u00e9veloppe l\\'adaptabilit\u00e9 chez les jeunes.' }\n  ];\n\n  const vocabGrid = document.getElementById('vocabGrid');\n  vocabData.forEach((v, i) => {\n    const item = document.createElement('div');\n    item.className = 'vocab-item';\n    item.innerHTML = `\n      <div class=\"vocab-num\">${String(i+1).padStart(2,'0')}<\/div>\n      <div class=\"vocab-content\">\n        <div class=\"vocab-word\">\n          ${v.word}\n          <span class=\"vocab-type\">${v.type}<\/span>\n          <button class=\"tts-btn\" onclick=\"ttsReadText(this, '${v.word.replace(\/'\/g, \"\\\\'\")}. ${v.def.replace(\/'\/g, \"\\\\'\")}. Exemple : ${v.example.replace(\/'\/g, \"\\\\'\")}')\">\n            <span class=\"tts-icon\">\ud83d\udd0a<\/span>\n          <\/button>\n        <\/div>\n        <div class=\"vocab-def\">${v.def}<\/div>\n        <div class=\"vocab-example\">\u2192 ${v.example}<\/div>\n      <\/div>\n    `;\n    vocabGrid.appendChild(item);\n  });\n\n  \/\/ \u2500\u2500 TRADUCTION \u2500\u2500\n  const tradData = [\n    { ro: 'Dac\u0103 am fi avut mai mult timp, am fi ales o destina\u021bie mai pu\u021bin turistic\u0103.', fr: 'Si nous avions eu plus de temps, nous aurions choisi une destination moins touristique.' },\n    { ro: 'Este esen\u021bial ca \u0219i copiii s\u0103 participe la alegerea itinerariului.', fr: 'Il est essentiel que les enfants participent aussi au choix de l\\'itin\u00e9raire.' },\n    { ro: 'Vizit\u00e2nd pie\u021bele locale, am reu\u0219it s\u0103 \u00een\u021belegem mai bine cultura rom\u00e2n\u0103.', fr: 'En visitant les march\u00e9s locaux, nous avons mieux compris la culture roumaine.' },\n    { ro: 'Bra\u0219ovul este o destina\u021bie cultural\u0103 accesibil\u0103 \u0219i adesea necunoscut\u0103 de turi\u0219tii occidentali.', fr: 'Bra\u0219ov est une destination culturelle abordable et souvent m\u00e9connue des touristes occidentaux.' },\n    { ro: '\u00ce\u021bi recomand s\u0103 rezervi din timp dac\u0103 vrei s\u0103 vizitezi Kyoto \u00een sezon.', fr: 'Je te recommande de r\u00e9server \u00e0 l\\'avance si tu veux visiter Kyoto en saison.' },\n    { ro: 'De\u0219i drumul a fost lung, copiii \u0219i-au dat seama c\u0103 merit\u0103 cu adev\u0103rat.', fr: 'Bien que le voyage ait \u00e9t\u00e9 long, les enfants ont r\u00e9alis\u00e9 que \u00e7a en valait vraiment la peine.' },\n    { ro: 'Am descoperit un cartier necunoscut, rat\u00e2nd autobuzul din gre\u0219eal\u0103.', fr: 'En ratant le bus par erreur, nous avons d\u00e9couvert un quartier inconnu.' },\n    { ro: 'Ce-ar fi dac\u0103 am \u00eenscrie copiii la o \u0219coal\u0103 local\u0103 timp de o lun\u0103 ?', fr: 'Et si nous inscrivions les enfants dans une \u00e9cole locale pendant un mois ?' }\n  ];\n\n  const tradContainer = document.getElementById('tradItems');\n  tradData.forEach((t, i) => {\n    const div = document.createElement('div');\n    div.className = 'trad-item';\n    const taId = 'ta-trad-' + i;\n    const countId = 'count-trad-' + i;\n    div.innerHTML = `\n      <div class=\"trad-num\">Phrase ${i+1}<\/div>\n      <div class=\"trad-ro\">${t.ro}<\/div>\n      <div class=\"trad-input-wrap\">\n        <textarea class=\"trad-textarea\" id=\"${taId}\" data-counter=\"${countId}\"\n          placeholder=\"Votre traduction en fran\u00e7ais...\"\n          onfocus=\"setActiveTA(this)\"\n          oninput=\"updateWordCount(this)\"><\/textarea>\n        <div class=\"word-count\" id=\"${countId}\">0 mot<\/div>\n      <\/div>\n      <button class=\"reveal-btn\" onclick=\"revealTrad(this)\" style=\"margin-top:10px;\">Voir la r\u00e9ponse<\/button>\n      <div class=\"answer-box\">\n        <strong>Suggestion :<\/strong> ${t.fr}\n        <button class=\"tts-btn\" onclick=\"ttsReadText(this, '${t.fr.replace(\/'\/g, \"\\\\'\")}')\" style=\"margin-left:8px;\">\n          <span class=\"tts-icon\">\ud83d\udd0a<\/span>\n        <\/button>\n      <\/div>\n    `;\n    tradContainer.appendChild(div);\n  });\n\n  function revealTrad(btn) {\n    const box = btn.nextElementSibling;\n    const isVisible = box.classList.contains('visible');\n    box.classList.toggle('visible');\n    btn.textContent = isVisible ? 'Voir la r\u00e9ponse' : 'Masquer';\n  }\n\n  \/\/ \u2500\u2500 BILAN \u2500\u2500\n  const bilanItems = [\n    'J\\'ai compris les trois textes et r\u00e9pondu aux questions de compr\u00e9hension.',\n    'Je connais et peux utiliser les 20 mots de vocabulaire de la le\u00e7on.',\n    'Je sais former le conditionnel pr\u00e9sent et l\\'utiliser pour exprimer un r\u00eave ou un projet.',\n    'Je reconnais les d\u00e9clencheurs du subjonctif dans un contexte de recommandation.',\n    'Je peux construire des phrases avec le g\u00e9rondif pour exprimer la simultan\u00e9it\u00e9.',\n    'J\\'ai compl\u00e9t\u00e9 les exercices de grammaire sur le conditionnel.',\n    'J\\'ai compl\u00e9t\u00e9 les exercices de grammaire sur le subjonctif.',\n    'J\\'ai compl\u00e9t\u00e9 les exercices de transformation avec le g\u00e9rondif.',\n    'J\\'ai particip\u00e9 \u00e0 la discussion orale sur les voyages en famille.',\n    'J\\'ai fait le jeu de r\u00f4le en utilisant les structures grammaticales de la le\u00e7on.',\n    'J\\'ai traduit au moins 5 phrases de la section traduction.',\n    'Je me sens capable de parler d\\'un voyage culturel en fran\u00e7ais avec fluidit\u00e9.'\n  ];\n\n  const bilanGrid = document.getElementById('bilanGrid');\n  const bilanScore = document.getElementById('bilanScore');\n  const bilanScoreText = document.getElementById('bilanScoreText');\n\n  bilanItems.forEach((text, i) => {\n    const div = document.createElement('div');\n    div.className = 'bilan-item';\n    div.innerHTML = `\n      <div class=\"bilan-check\"><\/div>\n      <div class=\"bilan-text\">${text}<\/div>\n    `;\n    div.onclick = function() {\n      this.classList.toggle('checked');\n      if (this.classList.contains('checked')) {\n        this.querySelector('.bilan-check').textContent = '\u2713';\n      } else {\n        this.querySelector('.bilan-check').textContent = '';\n      }\n      updateBilanScore();\n    };\n    bilanGrid.appendChild(div);\n  });\n\n  function updateBilanScore() {\n    const checked = document.querySelectorAll('.bilan-item.checked').length;\n    const total = bilanItems.length;\n    bilanScore.textContent = checked + ' \/ ' + total;\n    if (checked === total) {\n      bilanScoreText.textContent = '\ud83c\udf89 Bravo, le\u00e7on compl\u00e8te !';\n      bilanScoreText.style.color = '#2D6A4F';\n    } else if (checked >= total \/ 2) {\n      bilanScoreText.textContent = 'Bonne progression !';\n      bilanScoreText.style.color = 'rgba(255,255,255,0.6)';\n    } else {\n      bilanScoreText.textContent = 'Cochez les cases au fur et \u00e0 mesure';\n      bilanScoreText.style.color = 'rgba(255,255,255,0.5)';\n    }\n  }\n<\/script>\n<\/body>\n<\/html>","protected":false},"excerpt":{"rendered":"<p>Le\u00e7on B2-C1 \u2013 Voyager autrement Le\u00e7on 5 \u00b7 B2-C1 Voyager autrement\u2013 Culture &#038; destinations \u23f1 2 heures \ud83d\udcda Niveau B2-C1 \ud83c\udfaf Voyages, culture, famille \ud83d\udd0a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1648,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"om_disable_all_campaigns":false,"pmpro_default_level":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"class_list":["post-1672","page","type-page","status-publish","hentry","pmpro-has-access"],"aioseo_notices":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/geoisteaching.com\/index.php?rest_route=\/wp\/v2\/pages\/1672","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/geoisteaching.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/geoisteaching.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/geoisteaching.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/geoisteaching.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1672"}],"version-history":[{"count":1,"href":"https:\/\/geoisteaching.com\/index.php?rest_route=\/wp\/v2\/pages\/1672\/revisions"}],"predecessor-version":[{"id":1673,"href":"https:\/\/geoisteaching.com\/index.php?rest_route=\/wp\/v2\/pages\/1672\/revisions\/1673"}],"up":[{"embeddable":true,"href":"https:\/\/geoisteaching.com\/index.php?rest_route=\/wp\/v2\/pages\/1648"}],"wp:attachment":[{"href":"https:\/\/geoisteaching.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1672"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}