{"id":5754,"date":"2026-02-05T06:19:53","date_gmt":"2026-02-05T04:19:53","guid":{"rendered":"https:\/\/www.estudiodefrances.com\/?p=5754"},"modified":"2026-02-05T06:33:09","modified_gmt":"2026-02-05T04:33:09","slug":"5754","status":"publish","type":"post","link":"https:\/\/www.estudiodefrances.com\/?p=5754","title":{"rendered":"Texte sur l&rsquo;amiti\u00e9 &#8211; Compr\u00e9hension \u00e9crite niveau B1"},"content":{"rendered":"\n<!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>Exercice de Compr\u00e9hension &#8211; L&rsquo;Amiti\u00e9 de Toujours<\/title>\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Libre+Baskerville:wght@400;700&#038;family=Work+Sans:wght@400;500;600;700;800&#038;display=swap\" rel=\"stylesheet\">\n    <style>\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n\n        :root {\n            --primary: #5a3e7a;\n            --primary-light: #7b5c9e;\n            --secondary: #d97642;\n            --accent: #e8b86d;\n            --accent-light: #f0cfa0;\n            --bg-gradient-1: #1a1427;\n            --bg-gradient-2: #2d2440;\n            --bg-light: #faf9f7;\n            --bg-white: #ffffff;\n            --text-dark: #2a1f3d;\n            --text-medium: #6b5d7c;\n            --text-light: #9a8aad;\n            --success: #16a34a;\n            --error: #dc2626;\n            --border: #e7e3f0;\n            --shadow-sm: 0 2px 8px rgba(90, 62, 122, 0.08);\n            --shadow-md: 0 4px 16px rgba(90, 62, 122, 0.12);\n            --shadow-lg: 0 8px 32px rgba(90, 62, 122, 0.16);\n        }\n\n        body {\n            font-family: 'Work Sans', sans-serif;\n            background: linear-gradient(135deg, #f5f3f9 0%, #ebe7f2 50%, #ddd6ea 100%);\n            color: var(--text-dark);\n            line-height: 1.7;\n            min-height: 100vh;\n            padding: 20px;\n            position: relative;\n        }\n\n        body::before {\n            content: '';\n            position: fixed;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            background: \n                radial-gradient(circle at 15% 25%, rgba(232, 184, 109, 0.06) 0%, transparent 50%),\n                radial-gradient(circle at 85% 75%, rgba(90, 62, 122, 0.05) 0%, transparent 50%);\n            pointer-events: none;\n            z-index: 0;\n        }\n\n        .container {\n            max-width: 1100px;\n            margin: 0 auto;\n            position: relative;\n            z-index: 1;\n        }\n\n        .language-toggle {\n            position: fixed;\n            top: 20px;\n            right: 20px;\n            z-index: 1000;\n            display: flex;\n            gap: 8px;\n            background: white;\n            padding: 6px;\n            border-radius: 50px;\n            box-shadow: var(--shadow-md);\n            border: 1px solid var(--border);\n        }\n\n        .language-toggle button {\n            padding: 8px 16px;\n            border: none;\n            border-radius: 50px;\n            font-weight: 600;\n            font-size: 0.9em;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            background: transparent;\n            color: var(--text-medium);\n        }\n\n        .language-toggle button.active {\n            background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);\n            color: white;\n            box-shadow: 0 2px 8px rgba(90, 62, 122, 0.3);\n        }\n\n        .language-toggle button:hover:not(.active) {\n            background: var(--bg-light);\n        }\n\n        .header {\n            background: linear-gradient(135deg, var(--bg-gradient-1) 0%, var(--bg-gradient-2) 100%);\n            padding: 50px 40px;\n            border-radius: 20px 20px 0 0;\n            color: white;\n            position: relative;\n            overflow: hidden;\n        }\n\n        .header::before {\n            content: '';\n            position: absolute;\n            top: -100px;\n            right: -100px;\n            width: 500px;\n            height: 500px;\n            background: radial-gradient(circle, rgba(232, 184, 109, 0.12) 0%, transparent 70%);\n            border-radius: 50%;\n            animation: float 8s ease-in-out infinite;\n        }\n\n        @keyframes float {\n            0%, 100% { transform: translate(0, 0) scale(1); }\n            50% { transform: translate(-20px, -20px) scale(1.05); }\n        }\n\n        .header::after {\n            content: '';\n            position: absolute;\n            font-size: 150px;\n            opacity: 0.05;\n            right: 40px;\n            bottom: -20px;\n            transform: rotate(-15deg);\n        }\n\n        .header h1 {\n            font-family: 'Libre Baskerville', serif;\n            font-size: 2.8em;\n            font-weight: 700;\n            margin-bottom: 12px;\n            position: relative;\n            z-index: 1;\n            letter-spacing: -0.5px;\n            text-shadow: 0 2px 10px rgba(0,0,0,0.2);\n        }\n\n        .header .subtitle {\n            font-size: 1.2em;\n            opacity: 0.95;\n            position: relative;\n            z-index: 1;\n            font-weight: 500;\n            letter-spacing: 0.3px;\n        }\n\n        .level-badge {\n            display: inline-block;\n            background: linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);\n            color: var(--text-dark);\n            padding: 8px 20px;\n            border-radius: 25px;\n            font-weight: 700;\n            font-size: 0.95em;\n            margin-top: 20px;\n            box-shadow: 0 4px 12px rgba(232, 184, 109, 0.3);\n            position: relative;\n            z-index: 1;\n        }\n\n        .main-content {\n            background: var(--bg-white);\n            padding: 0;\n            border-radius: 0 0 20px 20px;\n            box-shadow: var(--shadow-lg);\n            overflow: hidden;\n        }\n\n        .text-section {\n            padding: 50px 40px;\n            background: linear-gradient(180deg, #fdfcfb 0%, var(--bg-white) 100%);\n            border-bottom: 4px solid var(--accent);\n            position: relative;\n        }\n\n        .text-section::before {\n            content: '';\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            background: \n                repeating-linear-gradient(\n                    90deg,\n                    transparent,\n                    transparent 50px,\n                    rgba(232, 184, 109, 0.02) 50px,\n                    rgba(232, 184, 109, 0.02) 51px\n                );\n            pointer-events: none;\n        }\n\n        .text-section h2 {\n            font-family: 'Libre Baskerville', serif;\n            color: var(--primary);\n            font-size: 2em;\n            margin-bottom: 25px;\n            display: flex;\n            align-items: center;\n            gap: 12px;\n            font-weight: 700;\n            position: relative;\n        }\n\n        .text-section h2::before {\n            content: '';\n            font-size: 1.3em;\n            filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));\n        }\n\n        .original-text {\n            background: var(--bg-white);\n            padding: 35px;\n            border-left: 5px solid var(--secondary);\n            border-radius: 12px;\n            line-height: 1.9;\n            font-size: 1.05em;\n            box-shadow: var(--shadow-md);\n            position: relative;\n            z-index: 1;\n        }\n\n        .original-text p {\n            margin-bottom: 20px;\n        }\n\n        .original-text strong {\n            color: var(--primary);\n            font-weight: 700;\n        }\n\n        .text-toggle {\n            display: flex;\n            gap: 10px;\n            margin-bottom: 20px;\n            justify-content: center;\n        }\n\n        .text-toggle button {\n            padding: 10px 20px;\n            border: 2px solid var(--primary);\n            border-radius: 25px;\n            background: white;\n            color: var(--primary);\n            font-weight: 600;\n            cursor: pointer;\n            transition: all 0.3s ease;\n        }\n\n        .text-toggle button.active {\n            background: var(--primary);\n            color: white;\n        }\n\n        .text-toggle button:hover:not(.active) {\n            background: var(--bg-light);\n        }\n\n        .text-version {\n            display: none;\n        }\n\n        .text-version.active {\n            display: block;\n        }\n\n        .hoverable {\n            position: relative;\n            cursor: help;\n            background: linear-gradient(180deg, transparent 60%, rgba(232, 184, 109, 0.2) 60%);\n            padding: 2px 4px;\n            border-radius: 3px;\n            transition: all 0.2s ease;\n        }\n\n        .hoverable:hover {\n            background: linear-gradient(180deg, transparent 50%, rgba(232, 184, 109, 0.4) 50%);\n        }\n\n        .translation-popup {\n            position: absolute;\n            bottom: 100%;\n            left: 50%;\n            transform: translateX(-50%);\n            background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);\n            color: white;\n            padding: 8px 14px;\n            border-radius: 8px;\n            font-size: 0.9em;\n            white-space: nowrap;\n            opacity: 0;\n            visibility: hidden;\n            transition: all 0.3s ease;\n            pointer-events: none;\n            z-index: 100;\n            box-shadow: 0 4px 12px rgba(90, 62, 122, 0.3);\n            margin-bottom: 8px;\n        }\n\n        .translation-popup::after {\n            content: '';\n            position: absolute;\n            top: 100%;\n            left: 50%;\n            transform: translateX(-50%);\n            border: 6px solid transparent;\n            border-top-color: var(--primary-light);\n        }\n\n        .hoverable:hover .translation-popup {\n            opacity: 1;\n            visibility: visible;\n        }\n\n        .translation-help {\n            background: linear-gradient(135deg, #fff9f0 0%, #fff5e6 100%);\n            border: 2px solid var(--accent-light);\n            border-radius: 10px;\n            padding: 20px;\n            margin-top: 20px;\n            display: none;\n            animation: slideDown 0.4s ease;\n        }\n\n        @keyframes slideDown {\n            from {\n                opacity: 0;\n                transform: translateY(-10px);\n            }\n            to {\n                opacity: 1;\n                transform: translateY(0);\n            }\n        }\n\n        .translation-help.show {\n            display: block;\n        }\n\n        .translation-help h4 {\n            color: var(--secondary);\n            font-size: 1.1em;\n            margin-bottom: 12px;\n            display: flex;\n            align-items: center;\n            gap: 8px;\n            font-weight: 700;\n        }\n\n        .translation-help h4::before {\n            content: '&#x1f1ec;&#x1f1e7;';\n        }\n\n        .vocab-table {\n            width: 100%;\n            margin-top: 15px;\n            border-collapse: collapse;\n        }\n\n        .vocab-table th {\n            background: var(--primary);\n            color: white;\n            padding: 12px;\n            text-align: left;\n            font-weight: 600;\n            font-size: 0.95em;\n        }\n\n        .vocab-table td {\n            padding: 10px 12px;\n            border-bottom: 1px solid var(--border);\n            font-size: 0.95em;\n        }\n\n        .vocab-table tr:nth-child(even) {\n            background: #faf9f7;\n        }\n\n        .vocab-table td:first-child {\n            color: var(--primary);\n            font-weight: 600;\n        }\n\n        .vocab-table td:nth-child(2) {\n            color: var(--text-medium);\n        }\n\n        .vocab-table td:last-child {\n            color: var(--text-light);\n            font-style: italic;\n            font-size: 0.9em;\n        }\n\n        .help-toggle {\n            display: inline-flex;\n            align-items: center;\n            gap: 8px;\n            background: linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);\n            color: var(--text-dark);\n            padding: 10px 20px;\n            border: none;\n            border-radius: 25px;\n            font-weight: 600;\n            cursor: pointer;\n            margin-top: 20px;\n            box-shadow: var(--shadow-sm);\n            transition: all 0.3s ease;\n            font-size: 0.95em;\n        }\n\n        .help-toggle:hover {\n            transform: translateY(-2px);\n            box-shadow: var(--shadow-md);\n        }\n\n        .help-toggle::before {\n            content: '';\n        }\n\n        .exercises-section {\n            padding: 50px 40px;\n        }\n\n        .exercise-block {\n            margin-bottom: 35px;\n            padding: 35px;\n            background: linear-gradient(135deg, #ffffff 0%, #fdfcfb 100%);\n            border-radius: 16px;\n            border: 2px solid var(--border);\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n            position: relative;\n            overflow: hidden;\n        }\n\n        .exercise-block::before {\n            content: '';\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 5px;\n            height: 100%;\n            background: linear-gradient(180deg, var(--secondary) 0%, var(--accent) 100%);\n            transform: scaleY(0);\n            transition: transform 0.4s ease;\n        }\n\n        .exercise-block:hover {\n            border-color: var(--primary);\n            box-shadow: 0 8px 30px rgba(90, 62, 122, 0.15);\n            transform: translateY(-2px);\n        }\n\n        .exercise-block:hover::before {\n            transform: scaleY(1);\n        }\n\n        .exercise-title {\n            font-family: 'Libre Baskerville', serif;\n            font-size: 1.75em;\n            color: var(--primary);\n            margin-bottom: 25px;\n            display: flex;\n            align-items: center;\n            gap: 12px;\n            font-weight: 700;\n        }\n\n        .exercise-type {\n            display: inline-block;\n            background: linear-gradient(135deg, var(--secondary) 0%, #e8885d 100%);\n            color: white;\n            padding: 5px 14px;\n            border-radius: 20px;\n            font-size: 0.55em;\n            font-weight: 700;\n            text-transform: uppercase;\n            letter-spacing: 0.8px;\n            box-shadow: 0 2px 8px rgba(217, 118, 66, 0.3);\n        }\n\n        .points-badge {\n            display: inline-block;\n            background: var(--accent);\n            color: var(--text-dark);\n            padding: 4px 12px;\n            border-radius: 15px;\n            font-size: 0.5em;\n            font-weight: 700;\n            margin-left: auto;\n        }\n\n        .question {\n            margin-bottom: 30px;\n            padding: 25px;\n            background: var(--bg-white);\n            border-radius: 12px;\n            border: 2px solid var(--border);\n            transition: all 0.3s ease;\n            box-shadow: var(--shadow-sm);\n        }\n\n        .question:hover {\n            border-color: var(--accent-light);\n            box-shadow: var(--shadow-md);\n        }\n\n        .question-text {\n            font-weight: 600;\n            color: var(--text-dark);\n            margin-bottom: 18px;\n            font-size: 1.08em;\n            line-height: 1.6;\n        }\n\n        .question-number {\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            width: 28px;\n            height: 28px;\n            background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);\n            color: white;\n            border-radius: 50%;\n            font-weight: 700;\n            font-size: 0.85em;\n            margin-right: 8px;\n        }\n\n        .options {\n            display: flex;\n            flex-direction: column;\n            gap: 12px;\n        }\n\n        .option {\n            display: flex;\n            align-items: center;\n            padding: 14px 18px;\n            background: var(--bg-light);\n            border: 2px solid transparent;\n            border-radius: 10px;\n            cursor: pointer;\n            transition: all 0.25s ease;\n            position: relative;\n        }\n\n        .option::before {\n            content: '';\n            position: absolute;\n            left: 0;\n            top: 0;\n            width: 4px;\n            height: 100%;\n            background: var(--accent);\n            border-radius: 10px 0 0 10px;\n            opacity: 0;\n            transition: opacity 0.25s ease;\n        }\n\n        .option:hover {\n            background: #f3f0f7;\n            border-color: var(--primary);\n            transform: translateX(4px);\n        }\n\n        .option:hover::before {\n            opacity: 1;\n        }\n\n        .option input[type=\"radio\"],\n        .option input[type=\"checkbox\"] {\n            margin-right: 14px;\n            width: 22px;\n            height: 22px;\n            cursor: pointer;\n            accent-color: var(--primary);\n        }\n\n        .option label {\n            cursor: pointer;\n            flex: 1;\n            font-size: 1em;\n            font-weight: 500;\n        }\n\n        textarea, input[type=\"text\"] {\n            width: 100%;\n            min-height: 110px;\n            padding: 16px;\n            border: 2px solid var(--border);\n            border-radius: 10px;\n            font-family: 'Work Sans', sans-serif;\n            font-size: 1em;\n            resize: vertical;\n            transition: all 0.3s ease;\n            line-height: 1.6;\n        }\n\n        textarea:focus, input[type=\"text\"]:focus {\n            outline: none;\n            border-color: var(--primary);\n            box-shadow: 0 0 0 3px rgba(90, 62, 122, 0.1);\n        }\n\n        .citation-area {\n            margin-top: 15px;\n            padding: 18px;\n            background: linear-gradient(135deg, #fffbf5 0%, #fff9f0 100%);\n            border-radius: 10px;\n            border: 2px dashed var(--accent);\n        }\n\n        .citation-area label {\n            display: flex;\n            align-items: center;\n            gap: 8px;\n            font-weight: 600;\n            margin-bottom: 10px;\n            color: var(--text-dark);\n            font-size: 0.95em;\n        }\n\n        .citation-area label::before {\n            content: '';\n        }\n\n        .citation-area input[type=\"text\"] {\n            min-height: 50px;\n            background: white;\n        }\n\n        .analysis-input {\n            min-height: 80px;\n        }\n\n        .submit-btn {\n            background: linear-gradient(135deg, var(--secondary) 0%, #e8885d 100%);\n            color: white;\n            padding: 18px 50px;\n            border: none;\n            border-radius: 50px;\n            font-size: 1.15em;\n            font-weight: 700;\n            cursor: pointer;\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n            box-shadow: 0 6px 20px rgba(217, 118, 66, 0.35);\n            display: flex;\n            align-items: center;\n            gap: 10px;\n            margin: 40px auto 0;\n            text-transform: uppercase;\n            letter-spacing: 0.5px;\n        }\n\n        .submit-btn::before {\n            content: '';\n            font-size: 1.3em;\n        }\n\n        .submit-btn:hover {\n            transform: translateY(-3px);\n            box-shadow: 0 10px 30px rgba(217, 118, 66, 0.45);\n        }\n\n        .submit-btn:active {\n            transform: translateY(-1px);\n        }\n\n        .answer-key-btn {\n            background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);\n            color: white;\n            padding: 15px 40px;\n            border: none;\n            border-radius: 50px;\n            font-size: 1em;\n            font-weight: 600;\n            cursor: pointer;\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n            box-shadow: 0 4px 15px rgba(90, 62, 122, 0.3);\n            display: flex;\n            align-items: center;\n            gap: 10px;\n            margin: 20px auto 0;\n            text-transform: uppercase;\n            letter-spacing: 0.5px;\n        }\n\n        .answer-key-btn::before {\n            content: '';\n            font-size: 1.2em;\n        }\n\n        .answer-key-btn:hover {\n            transform: translateY(-3px);\n            box-shadow: 0 8px 25px rgba(90, 62, 122, 0.4);\n        }\n\n        .answer-key-btn:active {\n            transform: translateY(-1px);\n        }\n\n        .feedback {\n            margin-top: 15px;\n            padding: 14px 18px;\n            border-radius: 10px;\n            font-weight: 600;\n            display: none;\n            animation: fadeIn 0.3s ease;\n        }\n\n        @keyframes fadeIn {\n            from {\n                opacity: 0;\n                transform: translateY(-5px);\n            }\n            to {\n                opacity: 1;\n                transform: translateY(0);\n            }\n        }\n\n        .feedback.correct {\n            background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);\n            color: #065f46;\n            border: 2px solid #6ee7b7;\n            display: flex;\n            align-items: center;\n            gap: 8px;\n        }\n\n        .feedback.correct::before {\n            content: '\u2713';\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            width: 24px;\n            height: 24px;\n            background: #10b981;\n            color: white;\n            border-radius: 50%;\n            font-weight: 700;\n        }\n\n        .feedback.incorrect {\n            background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);\n            color: #991b1b;\n            border: 2px solid #fca5a5;\n            display: flex;\n            align-items: center;\n            gap: 8px;\n        }\n\n        .feedback.incorrect::before {\n            content: '\u2717';\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            width: 24px;\n            height: 24px;\n            background: #ef4444;\n            color: white;\n            border-radius: 50%;\n            font-weight: 700;\n        }\n\n        .results {\n            display: none;\n            margin-top: 40px;\n            padding: 40px;\n            background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);\n            border-radius: 16px;\n            text-align: center;\n            border: 3px solid #6ee7b7;\n            box-shadow: var(--shadow-lg);\n        }\n\n        .results.show {\n            display: block;\n            animation: slideUp 0.6s cubic-bezier(0.4, 0, 0.2, 1);\n        }\n\n        @keyframes slideUp {\n            from {\n                opacity: 0;\n                transform: translateY(30px);\n            }\n            to {\n                opacity: 1;\n                transform: translateY(0);\n            }\n        }\n\n        .results h3 {\n            font-family: 'Libre Baskerville', serif;\n            font-size: 2.3em;\n            color: var(--primary);\n            margin-bottom: 20px;\n            font-weight: 900;\n        }\n\n        .score {\n            font-size: 4em;\n            font-weight: 900;\n            background: linear-gradient(135deg, var(--success) 0%, #10b981 100%);\n            -webkit-background-clip: text;\n            -webkit-text-fill-color: transparent;\n            background-clip: text;\n            margin: 25px 0;\n        }\n\n        .instructions {\n            background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);\n            padding: 25px;\n            border-radius: 12px;\n            margin-bottom: 35px;\n            border: 2px solid #fde68a;\n            box-shadow: var(--shadow-sm);\n        }\n\n        .instructions h3 {\n            font-family: 'Libre Baskerville', serif;\n            color: var(--text-dark);\n            margin-bottom: 15px;\n            font-size: 1.4em;\n            display: flex;\n            align-items: center;\n            gap: 10px;\n            font-weight: 700;\n        }\n\n        .instructions h3::before {\n            content: '';\n            font-size: 1.2em;\n        }\n\n        .instructions ul {\n            margin-left: 25px;\n            color: var(--text-dark);\n        }\n\n        .instructions li {\n            margin-bottom: 8px;\n            line-height: 1.6;\n            font-weight: 500;\n        }\n\n        .answer-key {\n            display: none;\n            margin-top: 40px;\n            padding: 40px;\n            background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);\n            border-radius: 16px;\n            border: 3px solid var(--accent);\n            box-shadow: var(--shadow-lg);\n        }\n\n        .answer-key.show {\n            display: block;\n            animation: slideUp 0.6s cubic-bezier(0.4, 0, 0.2, 1);\n        }\n\n        .answer-key h3 {\n            font-family: 'Libre Baskerville', serif;\n            font-size: 2em;\n            color: var(--primary);\n            margin-bottom: 25px;\n            font-weight: 900;\n            display: flex;\n            align-items: center;\n            gap: 12px;\n        }\n\n        .answer-key h3::before {\n            content: '';\n            font-size: 1.2em;\n        }\n\n        .answer-section {\n            background: white;\n            padding: 25px;\n            border-radius: 12px;\n            margin-bottom: 25px;\n            border-left: 5px solid var(--accent);\n        }\n\n        .answer-section h4 {\n            font-family: 'Libre Baskerville', serif;\n            color: var(--primary);\n            font-size: 1.4em;\n            margin-bottom: 15px;\n            font-weight: 700;\n        }\n\n        .answer-item {\n            padding: 12px 15px;\n            margin-bottom: 10px;\n            background: var(--bg-light);\n            border-radius: 8px;\n            border-left: 3px solid var(--success);\n        }\n\n        .answer-item strong {\n            color: var(--primary);\n            margin-right: 8px;\n        }\n\n        .answer-item .correct-answer {\n            color: var(--success);\n            font-weight: 600;\n        }\n\n        .answer-item .citation {\n            color: var(--text-medium);\n            font-style: italic;\n            margin-top: 8px;\n            padding-left: 20px;\n            border-left: 2px dashed var(--accent);\n            margin-left: 10px;\n            display: block;\n        }\n\n        .model-answer {\n            background: #f0f9ff;\n            padding: 15px;\n            border-radius: 8px;\n            margin-top: 8px;\n            border-left: 3px solid #3b82f6;\n        }\n\n        .model-answer strong {\n            color: #1e40af;\n        }\n\n        .model-answer p {\n            color: var(--text-dark);\n            line-height: 1.7;\n            margin-top: 8px;\n        }\n\n        \/* Vocabulary Game Styles *\/\n        .vocab-game {\n            margin-top: 50px;\n            padding: 40px;\n            background: linear-gradient(135deg, #fdf4ff 0%, #f3e8ff 100%);\n            border-radius: 20px;\n            border: 3px solid #c084fc;\n            box-shadow: var(--shadow-lg);\n        }\n\n        .vocab-game h3 {\n            font-family: 'Libre Baskerville', serif;\n            font-size: 2.2em;\n            color: var(--primary);\n            margin-bottom: 15px;\n            font-weight: 900;\n            text-align: center;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            gap: 12px;\n        }\n\n        .vocab-game h3::before {\n            content: '';\n            font-size: 1.2em;\n        }\n\n        .game-intro {\n            text-align: center;\n            color: var(--text-medium);\n            margin-bottom: 30px;\n            font-size: 1.05em;\n        }\n\n        .game-stats {\n            display: flex;\n            justify-content: center;\n            gap: 30px;\n            margin-bottom: 30px;\n            flex-wrap: wrap;\n        }\n\n        .stat-box {\n            background: white;\n            padding: 15px 30px;\n            border-radius: 15px;\n            box-shadow: var(--shadow-sm);\n            text-align: center;\n            min-width: 120px;\n        }\n\n        .stat-label {\n            font-size: 0.9em;\n            color: var(--text-medium);\n            text-transform: uppercase;\n            font-weight: 600;\n            letter-spacing: 0.5px;\n        }\n\n        .stat-value {\n            font-size: 2em;\n            font-weight: 900;\n            color: var(--primary);\n            margin-top: 5px;\n        }\n\n        .game-card {\n            background: white;\n            padding: 40px;\n            border-radius: 20px;\n            box-shadow: var(--shadow-md);\n            margin-bottom: 30px;\n            min-height: 300px;\n            display: flex;\n            flex-direction: column;\n            justify-content: center;\n            align-items: center;\n            position: relative;\n            overflow: hidden;\n            border: 3px solid transparent;\n            transition: all 0.3s ease;\n        }\n\n        .game-card.correct {\n            border-color: var(--success);\n            animation: pulse-correct 0.5s ease;\n        }\n\n        .game-card.incorrect {\n            border-color: var(--error);\n            animation: shake 0.5s ease;\n        }\n\n        @keyframes pulse-correct {\n            0%, 100% { transform: scale(1); }\n            50% { transform: scale(1.02); }\n        }\n\n        @keyframes shake {\n            0%, 100% { transform: translateX(0); }\n            25% { transform: translateX(-10px); }\n            75% { transform: translateX(10px); }\n        }\n\n        .french-word {\n            font-family: 'Libre Baskerville', serif;\n            font-size: 3em;\n            font-weight: 900;\n            color: var(--primary);\n            margin-bottom: 30px;\n            text-align: center;\n        }\n\n        .game-options {\n            display: grid;\n            grid-template-columns: repeat(2, 1fr);\n            gap: 15px;\n            width: 100%;\n            max-width: 600px;\n        }\n\n        .game-option {\n            background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 100%);\n            padding: 20px;\n            border: 3px solid var(--border);\n            border-radius: 15px;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            text-align: center;\n            font-size: 1.1em;\n            font-weight: 600;\n            color: var(--text-dark);\n            position: relative;\n        }\n\n        .game-option:hover:not(.disabled) {\n            background: linear-gradient(135deg, #f3e8ff 0%, #e9d5ff 100%);\n            border-color: #c084fc;\n            transform: translateY(-3px);\n            box-shadow: var(--shadow-md);\n        }\n\n        .game-option.selected-correct {\n            background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);\n            border-color: var(--success);\n            color: #065f46;\n        }\n\n        .game-option.selected-incorrect {\n            background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);\n            border-color: var(--error);\n            color: #991b1b;\n        }\n\n        .game-option.show-correct {\n            background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);\n            border-color: var(--success);\n            border-width: 4px;\n        }\n\n        .game-option.disabled {\n            cursor: not-allowed;\n            opacity: 0.6;\n        }\n\n        .game-option::after {\n            content: '';\n            position: absolute;\n            top: 10px;\n            right: 10px;\n            width: 24px;\n            height: 24px;\n            border-radius: 50%;\n            display: none;\n        }\n\n        .game-option.selected-correct::after {\n            display: block;\n            content: '\u2713';\n            background: var(--success);\n            color: white;\n            font-weight: 700;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            font-size: 0.9em;\n        }\n\n        .game-option.selected-incorrect::after {\n            display: block;\n            content: '\u2717';\n            background: var(--error);\n            color: white;\n            font-weight: 700;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            font-size: 0.9em;\n        }\n\n        .next-btn {\n            background: linear-gradient(135deg, #c084fc 0%, #a855f7 100%);\n            color: white;\n            padding: 15px 40px;\n            border: none;\n            border-radius: 50px;\n            font-size: 1.1em;\n            font-weight: 700;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            box-shadow: 0 4px 15px rgba(192, 132, 252, 0.3);\n            display: none;\n            margin: 20px auto 0;\n            text-transform: uppercase;\n            letter-spacing: 0.5px;\n        }\n\n        .next-btn.show {\n            display: block;\n        }\n\n        .next-btn:hover {\n            transform: translateY(-3px);\n            box-shadow: 0 6px 20px rgba(192, 132, 252, 0.4);\n        }\n\n        .game-complete {\n            text-align: center;\n            padding: 40px;\n            display: none;\n        }\n\n        .game-complete.show {\n            display: block;\n            animation: slideUp 0.6s cubic-bezier(0.4, 0, 0.2, 1);\n        }\n\n        .game-complete h4 {\n            font-family: 'Libre Baskerville', serif;\n            font-size: 2.5em;\n            color: var(--primary);\n            margin-bottom: 20px;\n            font-weight: 900;\n        }\n\n        .final-score {\n            font-size: 4em;\n            font-weight: 900;\n            background: linear-gradient(135deg, #c084fc 0%, #a855f7 100%);\n            -webkit-background-clip: text;\n            -webkit-text-fill-color: transparent;\n            background-clip: text;\n            margin: 20px 0;\n        }\n\n        .performance-message {\n            font-size: 1.3em;\n            color: var(--text-dark);\n            margin-bottom: 30px;\n        }\n\n        .replay-btn {\n            background: linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);\n            color: var(--text-dark);\n            padding: 15px 40px;\n            border: none;\n            border-radius: 50px;\n            font-size: 1.1em;\n            font-weight: 700;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            box-shadow: 0 4px 15px rgba(232, 184, 109, 0.3);\n            text-transform: uppercase;\n            letter-spacing: 0.5px;\n        }\n\n        .replay-btn:hover {\n            transform: translateY(-3px);\n            box-shadow: 0 6px 20px rgba(232, 184, 109, 0.4);\n        }\n\n        @media (max-width: 768px) {\n            body {\n                padding: 15px;\n            }\n\n            .header {\n                padding: 35px 25px;\n            }\n\n            .header h1 {\n                font-size: 2em;\n            }\n\n            .text-section,\n            .exercises-section {\n                padding: 30px 25px;\n            }\n\n            .exercise-block {\n                padding: 25px 20px;\n            }\n\n            .original-text {\n                padding: 25px 20px;\n            }\n\n            .score, .final-score {\n                font-size: 3em;\n            }\n\n            .submit-btn, .answer-key-btn {\n                padding: 15px 35px;\n                font-size: 1em;\n            }\n\n            .language-toggle {\n                top: 10px;\n                right: 10px;\n            }\n\n            .game-options {\n                grid-template-columns: 1fr;\n            }\n\n            .french-word {\n                font-size: 2.2em;\n            }\n\n            .game-stats {\n                gap: 15px;\n            }\n\n            .stat-box {\n                padding: 12px 20px;\n                min-width: 100px;\n            }\n        }\n    <\/style>\n<\/head>\n<body>\n    <!-- Language Toggle -->\n    <div class=\"language-toggle\">\n        <button class=\"active\" onclick=\"setLanguage('fr')\">FR<\/button>\n        <button onclick=\"setLanguage('en')\">EN<\/button>\n    <\/div>\n\n    <div class=\"container\">\n        <div class=\"header\">\n            <h1 data-en=\"Reading Comprehension Exercise\" data-fr=\"Exercice de Compr\u00e9hension \u00c9crite\">Exercice de Compr\u00e9hension \u00c9crite<\/h1>\n            <p class=\"subtitle\" data-en=\"Friendship Through the Years\" data-fr=\"L'Amiti\u00e9 de Toujours\">L&rsquo;Amiti\u00e9 de Toujours<\/p>\n            <span class=\"level-badge\" data-en=\"Level B1-B2\" data-fr=\"Niveau B1-B2\">Niveau B1-B2<\/span>\n        <\/div>\n\n        <div class=\"main-content\">\n            <div class=\"text-section\">\n                <h2>Texte \u00e0 lire<\/h2>\n                \n                <div class=\"text-toggle\">\n                    <button class=\"active\" onclick=\"toggleTextLanguage('fr')\">\n                        Version Francaise\n                    <\/button>\n                    <button onclick=\"toggleTextLanguage('en')\">\n                        English Version\n                    <\/button>\n                <\/div>\n\n                <div class=\"original-text text-version active\" id=\"frenchText\">\n                    <p><strong>Val\u00e9rie et Emmanuelle, 50 ans<\/strong><\/p>\n\n                    <p><span class=\"hoverable\">Cela fait 45 ans qu&rsquo;on se conna\u00eet<span class=\"translation-popup\">We have known each other for 45 years<\/span><\/span> : <span class=\"hoverable\">nos parents \u00e9taient les tout premiers habitants<span class=\"translation-popup\">our parents were the very first residents<\/span><\/span> <span class=\"hoverable\">d&rsquo;un immeuble qui venait d&rsquo;\u00eatre construit<span class=\"translation-popup\">of a building that had just been built<\/span><\/span>. <span class=\"hoverable\">Nous y avons pris racine ensemble<span class=\"translation-popup\">We put down roots there together<\/span><\/span>, <span class=\"hoverable\">en m\u00eame temps que nos m\u00e8res voisinaient<span class=\"translation-popup\">at the same time as our mothers were neighbors<\/span><\/span>. <span class=\"hoverable\">C&rsquo;est comme \u00e7a qu&rsquo;est n\u00e9e<span class=\"translation-popup\">That&rsquo;s how was born<\/span><\/span> \u00ab <span class=\"hoverable\">notre bande des quatre<span class=\"translation-popup\">our group of four<\/span><\/span> \u00bb. <span class=\"hoverable\">Des liens solides se sont tiss\u00e9s entre nous<span class=\"translation-popup\">Strong bonds were formed between us<\/span><\/span>, <span class=\"hoverable\">mais aussi entre nos familles<span class=\"translation-popup\">but also between our families<\/span><\/span>.<\/p>\n\n                    <p><span class=\"hoverable\">Karine et Laurence, qui sont s\u0153urs<span class=\"translation-popup\">Karine and Laurence, who are sisters<\/span><\/span>, <span class=\"hoverable\">sont parties plusieurs ann\u00e9es vivre \u00e0 l&rsquo;\u00e9tranger<span class=\"translation-popup\">left to live abroad for several years<\/span><\/span>. <span class=\"hoverable\">Nous avons continu\u00e9 sans elles<span class=\"translation-popup\">We continued without them<\/span><\/span> <span class=\"hoverable\">mais quand elles sont revenues vivre dans le m\u00eame quartier<span class=\"translation-popup\">but when they came back to live in the same neighborhood<\/span><\/span>, <span class=\"hoverable\">nous nous sommes retrouv\u00e9es<span class=\"translation-popup\">we found each other again<\/span><\/span> [\u2026] <span class=\"hoverable\">On fait toutes partie de la vie de chacune<span class=\"translation-popup\">We are all part of each other&rsquo;s lives<\/span><\/span>, <span class=\"hoverable\">depuis toujours<span class=\"translation-popup\">forever<\/span><\/span>. <span class=\"hoverable\">On se conna\u00eet presque par c\u0153ur<span class=\"translation-popup\">We know each other almost by heart<\/span><\/span>, <span class=\"hoverable\">on n&rsquo;a pas besoin de s&rsquo;expliquer en long et en large<span class=\"translation-popup\">we don&rsquo;t need to explain things in great detail<\/span><\/span>. <span class=\"hoverable\">On conna\u00eet nos parents, nos histoires familiales<span class=\"translation-popup\">We know our parents, our family stories<\/span><\/span>, <span class=\"hoverable\">on sait d&rsquo;o\u00f9 on vient<span class=\"translation-popup\">we know where we come from<\/span><\/span> [\u2026] <span class=\"hoverable\">On a les m\u00eames souvenirs<span class=\"translation-popup\">We share the same memories<\/span><\/span>\u2026 <span class=\"hoverable\">On ne se ressemble pas du tout<span class=\"translation-popup\">We are not alike at all<\/span><\/span>. <span class=\"hoverable\">C&rsquo;est pour \u00e7a que \u00e7a marche si bien<span class=\"translation-popup\">That&rsquo;s why it works so well<\/span><\/span>.<\/p>\n\n                    <p><span class=\"hoverable\">Chacune d&rsquo;entre nous a sa propre vie<span class=\"translation-popup\">Each of us has her own life<\/span><\/span>, <span class=\"hoverable\">ses propres amis<span class=\"translation-popup\">her own friends<\/span><\/span>, <span class=\"hoverable\">son propre parcours<span class=\"translation-popup\">her own path<\/span><\/span>, <span class=\"hoverable\">son conjoint \u2013 ou pas \u2013<span class=\"translation-popup\">her partner \u2013 or not \u2013<\/span><\/span>, <span class=\"hoverable\">ses enfants<span class=\"translation-popup\">her children<\/span><\/span>. <span class=\"hoverable\">Ils se connaissent, tous, et s&rsquo;aiment bien<span class=\"translation-popup\">They all know each other and get along well<\/span><\/span> <span class=\"hoverable\">mais nous avons cette amiti\u00e9 en commun<span class=\"translation-popup\">but we share this friendship<\/span><\/span> <span class=\"hoverable\">qui nous relie et qui nous appartient<span class=\"translation-popup\">that connects us and belongs to us<\/span><\/span>, <span class=\"hoverable\">\u00e0 nous quatre<span class=\"translation-popup\">the four of us<\/span><\/span>. <span class=\"hoverable\">C&rsquo;est fluide, vivant, adaptable<span class=\"translation-popup\">It is fluid, alive, adaptable<\/span><\/span>. <span class=\"hoverable\">On n&rsquo;a rien fait de tr\u00e8s dingue ensemble<span class=\"translation-popup\">We haven&rsquo;t done anything very crazy together<\/span><\/span>, <span class=\"hoverable\">\u00e0 part s&rsquo;aimer depuis quarante-cinq ans<span class=\"translation-popup\">except loving each other for forty-five years<\/span><\/span> [\u2026]<\/p>\n                <\/div>\n\n                <div class=\"original-text text-version\" id=\"englishText\">\n                    <p><strong>Val\u00e9rie and Emmanuelle, 50 years old<\/strong><\/p>\n\n                    <p>We have known each other for 45 years: our parents were the very first residents of a building that had just been built. We put down roots there together, at the same time as our mothers socialized as neighbors. That&rsquo;s how \u00ab\u00a0our group of four\u00a0\u00bb was born. Strong bonds were formed between us, but also between our families.<\/p>\n\n                    <p>Karine and Laurence, who are sisters, left to live abroad for several years. We continued without them, but when they came back to live in the same neighborhood, we found each other again [&#8230;] We have all been part of each other&rsquo;s lives, forever. We know each other almost by heart; we don&rsquo;t need to explain things in great detail. We know our parents, our family stories, we know where we come from [&#8230;] We share the same memories\u2026 We are not alike at all. That&rsquo;s why it works so well.<\/p>\n\n                    <p>Each of us has her own life, her own friends, her own path, her partner \u2013 or not \u2013, her children. They all know each other and get along well, but we share this friendship that connects us and belongs to us, the four of us. It is fluid, alive, adaptable. We haven&rsquo;t done anything very crazy together, except loving each other for forty-five years [&#8230;]<\/p>\n                <\/div>\n\n                <button class=\"help-toggle\" onclick=\"toggleHelp()\">Afficher l&rsquo;aide vocabulaire<\/button>\n\n                <div class=\"translation-help\" id=\"vocabHelp\">\n                    <h4>Key Vocabulary \/ Vocabulaire Cl\u00e9<\/h4>\n                    <table class=\"vocab-table\">\n                        <thead>\n                            <tr>\n                                <th>Fran\u00e7ais<\/th>\n                                <th>Anglais<\/th>\n                                <th>Contexte<\/th>\n                            <\/tr>\n                        <\/thead>\n                        <tbody>\n                            <tr>\n                                <td>prendre racine<\/td>\n                                <td>to put down roots<\/td>\n                                <td>S&rsquo;installer durablement<\/td>\n                            <\/tr>\n                            <tr>\n                                <td>voisinaient<\/td>\n                                <td>were neighbors<\/td>\n                                <td>Habitaient c\u00f4te \u00e0 c\u00f4te<\/td>\n                            <\/tr>\n                            <tr>\n                                <td>la bande des quatre<\/td>\n                                <td>the group of four<\/td>\n                                <td>Groupe d&rsquo;amis soud\u00e9<\/td>\n                            <\/tr>\n                            <tr>\n                                <td>se sont tiss\u00e9s<\/td>\n                                <td>were woven\/formed<\/td>\n                                <td>Liens qui se sont cr\u00e9\u00e9s<\/td>\n                            <\/tr>\n                            <tr>\n                                <td>le quartier<\/td>\n                                <td>the neighborhood<\/td>\n                                <td>O\u00f9 elles habitent<\/td>\n                            <\/tr>\n                            <tr>\n                                <td>par c\u0153ur<\/td>\n                                <td>by heart<\/td>\n                                <td>Parfaitement, compl\u00e8tement<\/td>\n                            <\/tr>\n                            <tr>\n                                <td>en long et en large<\/td>\n                                <td>at length\/in detail<\/td>\n                                <td>Longuement<\/td>\n                            <\/tr>\n                            <tr>\n                                <td>le parcours<\/td>\n                                <td>life path\/journey<\/td>\n                                <td>Leurs vies individuelles<\/td>\n                            <\/tr>\n                            <tr>\n                                <td>le conjoint<\/td>\n                                <td>partner\/spouse<\/td>\n                                <td>Compagnon\/compagne<\/td>\n                            <\/tr>\n                            <tr>\n                                <td>qui nous appartient<\/td>\n                                <td>that belongs to us<\/td>\n                                <td>Possession de l&rsquo;amiti\u00e9<\/td>\n                            <\/tr>\n                            <tr>\n                                <td>dingue (fam.)<\/td>\n                                <td>crazy\/wild<\/td>\n                                <td>Extraordinaire<\/td>\n                            <\/tr>\n                        <\/tbody>\n                    <\/table>\n                <\/div>\n            <\/div>\n\n            <div class=\"exercises-section\">\n                <div class=\"instructions\">\n                    <h3>Instructions<\/h3>\n                    <ul>\n                        <li>Lisez attentivement le texte ci-dessus<\/li>\n                        <li>R\u00e9pondez \u00e0 toutes les questions<\/li>\n                        <li>Pour les questions Vrai\/Faux, justifiez avec une citation du texte<\/li>\n                        <li>Cliquez sur \u00ab\u00a0V\u00e9rifier mes r\u00e9ponses\u00a0\u00bb pour voir vos r\u00e9sultats<\/li>\n                    <\/ul>\n                <\/div>\n\n                <!-- PARTIE A: QCM -->\n                <div class=\"exercise-block\">\n                    <h3 class=\"exercise-title\">\n                        <span>Partie A: Questions \u00e0 choix multiples<\/span>\n                        <span class=\"exercise-type\">QCM<\/span>\n                        <span class=\"points-badge\">6 points<\/span>\n                    <\/h3>\n\n                    <div class=\"question\" data-answer=\"b\">\n                        <p class=\"question-text\">\n                            <span class=\"question-number\">1<\/span>\n                            <span>Quelle est l&rsquo;id\u00e9e principale du texte ?<\/span>\n                        <\/p>\n                        <div class=\"options\">\n                            <div class=\"option\">\n                                <input type=\"radio\" name=\"q1\" id=\"q1a\" value=\"a\">\n                                <label for=\"q1a\">a) La difficult\u00e9 de garder des amis quand on voyage.<\/label>\n                            <\/div>\n                            <div class=\"option\">\n                                <input type=\"radio\" name=\"q1\" id=\"q1b\" value=\"b\">\n                                <label for=\"q1b\">b) Une amiti\u00e9 profonde qui traverse toutes les \u00e9tapes de la vie.<\/label>\n                            <\/div>\n                            <div class=\"option\">\n                                <input type=\"radio\" name=\"q1\" id=\"q1c\" value=\"c\">\n                                <label for=\"q1c\">c) La nostalgie d&rsquo;un vieil immeuble aujourd&rsquo;hui d\u00e9truit.<\/label>\n                            <\/div>\n                        <\/div>\n                        <div class=\"feedback\"><\/div>\n                    <\/div>\n\n                    <div class=\"question\" data-answer=\"b\">\n                        <p class=\"question-text\">\n                            <span class=\"question-number\">2<\/span>\n                            <span>Que signifie l&rsquo;expression \u00ab notre bande des quatre \u00bb ?<\/span>\n                        <\/p>\n                        <div class=\"options\">\n                            <div class=\"option\">\n                                <input type=\"radio\" name=\"q2\" id=\"q2a\" value=\"a\">\n                                <label for=\"q2a\">a) Un groupe de musique.<\/label>\n                            <\/div>\n                            <div class=\"option\">\n                                <input type=\"radio\" name=\"q2\" id=\"q2b\" value=\"b\">\n                                <label for=\"q2b\">b) Un petit groupe d&rsquo;amis tr\u00e8s soud\u00e9.<\/label>\n                            <\/div>\n                            <div class=\"option\">\n                                <input type=\"radio\" name=\"q2\" id=\"q2c\" value=\"c\">\n                                <label for=\"q2c\">c) Une famille de quatre enfants.<\/label>\n                            <\/div>\n                        <\/div>\n                        <div class=\"feedback\"><\/div>\n                    <\/div>\n\n                    <div class=\"question\" data-answer=\"c\">\n                        <p class=\"question-text\">\n                            <span class=\"question-number\">3<\/span>\n                            <span>Pourquoi leur amiti\u00e9 dure-t-elle selon Val\u00e9rie et Emmanuelle ?<\/span>\n                        <\/p>\n                        <div class=\"options\">\n                            <div class=\"option\">\n                                <input type=\"radio\" name=\"q3\" id=\"q3a\" value=\"a\">\n                                <label for=\"q3a\">a) Parce qu&rsquo;elles partagent le m\u00eame caract\u00e8re.<\/label>\n                            <\/div>\n                            <div class=\"option\">\n                                <input type=\"radio\" name=\"q3\" id=\"q3b\" value=\"b\">\n                                <label for=\"q3b\">b) Parce qu&rsquo;elles n&rsquo;ont pas d&rsquo;autres amis.<\/label>\n                            <\/div>\n                            <div class=\"option\">\n                                <input type=\"radio\" name=\"q3\" id=\"q3c\" value=\"c\">\n                                <label for=\"q3c\">c) Parce que leur lien est flexible et accepte leurs diff\u00e9rences.<\/label>\n                            <\/div>\n                        <\/div>\n                        <div class=\"feedback\"><\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- PARTIE B: VRAI\/FAUX -->\n                <div class=\"exercise-block\">\n                    <h3 class=\"exercise-title\">\n                        <span>Partie B: Vrai ou Faux avec Citation<\/span>\n                        <span class=\"exercise-type\">V\/F<\/span>\n                        <span class=\"points-badge\">9 points<\/span>\n                    <\/h3>\n\n                    <div class=\"question\" data-answer=\"true\">\n                        <p class=\"question-text\">\n                            <span class=\"question-number\">1<\/span>\n                            <span>L&rsquo;amiti\u00e9 entre les quatre femmes a commenc\u00e9 d\u00e8s leur enfance.<\/span>\n                        <\/p>\n                        <div class=\"options\">\n                            <div class=\"option\">\n                                <input type=\"radio\" name=\"q4\" id=\"q4v\" value=\"true\">\n                                <label for=\"q4v\">Vrai<\/label>\n                            <\/div>\n                            <div class=\"option\">\n                                <input type=\"radio\" name=\"q4\" id=\"q4f\" value=\"false\">\n                                <label for=\"q4f\">Faux<\/label>\n                            <\/div>\n                        <\/div>\n                        <div class=\"citation-area\">\n                            <label>Citation :<\/label>\n                            <input type=\"text\" name=\"cite4\" placeholder=\"Citez une phrase du texte...\">\n                        <\/div>\n                        <div class=\"feedback\"><\/div>\n                    <\/div>\n\n                    <div class=\"question\" data-answer=\"false\">\n                        <p class=\"question-text\">\n                            <span class=\"question-number\">2<\/span>\n                            <span>Le d\u00e9part de Karine et Laurence a mis fin \u00e0 l&rsquo;amiti\u00e9 du groupe.<\/span>\n                        <\/p>\n                        <div class=\"options\">\n                            <div class=\"option\">\n                                <input type=\"radio\" name=\"q5\" id=\"q5v\" value=\"true\">\n                                <label for=\"q5v\">Vrai<\/label>\n                            <\/div>\n                            <div class=\"option\">\n                                <input type=\"radio\" name=\"q5\" id=\"q5f\" value=\"false\">\n                                <label for=\"q5f\">Faux<\/label>\n                            <\/div>\n                        <\/div>\n                        <div class=\"citation-area\">\n                            <label>Citation :<\/label>\n                            <input type=\"text\" name=\"cite5\" placeholder=\"Citez une phrase du texte...\">\n                        <\/div>\n                        <div class=\"feedback\"><\/div>\n                    <\/div>\n\n                    <div class=\"question\" data-answer=\"false\">\n                        <p class=\"question-text\">\n                            <span class=\"question-number\">3<\/span>\n                            <span>Elles ont besoin de passer beaucoup de temps \u00e0 discuter pour se comprendre.<\/span>\n                        <\/p>\n                        <div class=\"options\">\n                            <div class=\"option\">\n                                <input type=\"radio\" name=\"q6\" id=\"q6v\" value=\"true\">\n                                <label for=\"q6v\">Vrai<\/label>\n                            <\/div>\n                            <div class=\"option\">\n                                <input type=\"radio\" name=\"q6\" id=\"q6f\" value=\"false\">\n                                <label for=\"q6f\">Faux<\/label>\n                            <\/div>\n                        <\/div>\n                        <div class=\"citation-area\">\n                            <label>Citation :<\/label>\n                            <input type=\"text\" name=\"cite6\" placeholder=\"Citez une phrase du texte...\">\n                        <\/div>\n                        <div class=\"feedback\"><\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- PARTIE C: ANALYSE LINGUISTIQUE -->\n                <div class=\"exercise-block\">\n                    <h3 class=\"exercise-title\">\n                        <span>Partie C: Analyse Linguistique<\/span>\n                        <span class=\"exercise-type\">Analyse<\/span>\n                        <span class=\"points-badge\">5 points<\/span>\n                    <\/h3>\n\n                    <div class=\"question\">\n                        <p class=\"question-text\">\n                            <span class=\"question-number\">1<\/span>\n                            <span>Expliquez avec vos mots l&rsquo;expression : \u00ab On se conna\u00eet presque par c\u0153ur \u00bb.<\/span>\n                        <\/p>\n                        <textarea name=\"analysis1\" class=\"analysis-input\" placeholder=\"\u00c9crivez votre explication ici...\"><\/textarea>\n                    <\/div>\n\n                    <div class=\"question\">\n                        <p class=\"question-text\">\n                            <span class=\"question-number\">2<\/span>\n                            <span>Relevez deux \u00e9l\u00e9ments qui montrent que ces femmes m\u00e8nent des vies ind\u00e9pendantes.<\/span>\n                        <\/p>\n                        <div style=\"margin-bottom: 15px;\">\n                            <label style=\"display: block; font-weight: 600; margin-bottom: 8px;\">\n                                <span>\u00c9l\u00e9ment 1 :<\/span>\n                            <\/label>\n                            <input type=\"text\" name=\"element1\" placeholder=\"Premier \u00e9l\u00e9ment...\">\n                        <\/div>\n                        <div>\n                            <label style=\"display: block; font-weight: 600; margin-bottom: 8px;\">\n                                <span>\u00c9l\u00e9ment 2 :<\/span>\n                            <\/label>\n                            <input type=\"text\" name=\"element2\" placeholder=\"Deuxi\u00e8me \u00e9l\u00e9ment...\">\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <button class=\"submit-btn\" onclick=\"checkAnswers()\">\n                    <span>V\u00e9rifier mes r\u00e9ponses<\/span>\n                <\/button>\n\n                <button class=\"answer-key-btn\" onclick=\"toggleAnswerKey()\">\n                    <span>Afficher le corrig\u00e9<\/span>\n                <\/button>\n\n                <div class=\"results\" id=\"results\">\n                    <h3>Resultats<\/h3>\n                    <div class=\"score\" id=\"score\"><\/div>\n                    <p id=\"message\"><\/p>\n                <\/div>\n\n                <div class=\"answer-key\" id=\"answerKey\">\n                    <h3>Corrig\u00e9<\/h3>\n                    \n                    <div class=\"answer-section\">\n                        <h4>Partie A: Questions \u00e0 choix multiples<\/h4>\n                        \n                        <div class=\"answer-item\">\n                            <strong>1.<\/strong> <span class=\"correct-answer\">b) Une amiti\u00e9 profonde qui traverse toutes les \u00e9tapes de la vie.<\/span>\n                        <\/div>\n                        \n                        <div class=\"answer-item\">\n                            <strong>2.<\/strong> <span class=\"correct-answer\">b) Un petit groupe d&rsquo;amis tr\u00e8s soud\u00e9.<\/span>\n                        <\/div>\n                        \n                        <div class=\"answer-item\">\n                            <strong>3.<\/strong> <span class=\"correct-answer\">c) Parce que leur lien est flexible et accepte leurs diff\u00e9rences.<\/span>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"answer-section\">\n                        <h4>Partie B: Vrai ou Faux<\/h4>\n                        \n                        <div class=\"answer-item\">\n                            <strong>1.<\/strong> <span class=\"correct-answer\">VRAI<\/span>\n                            <span class=\"citation\">\n                                Citation : \u00ab Cela fait 45 ans qu&rsquo;on se conna\u00eet \u00bb ou \u00ab nos parents \u00e9taient les tout premiers habitants \u00bb\n                            <\/span>\n                        <\/div>\n                        \n                        <div class=\"answer-item\">\n                            <strong>2.<\/strong> <span class=\"correct-answer\">FAUX<\/span>\n                            <span class=\"citation\">\n                                Citation : \u00ab Nous avons continu\u00e9 sans elles mais [&#8230;] nous nous sommes retrouv\u00e9es \u00bb\n                            <\/span>\n                        <\/div>\n                        \n                        <div class=\"answer-item\">\n                            <strong>3.<\/strong> <span class=\"correct-answer\">FAUX<\/span>\n                            <span class=\"citation\">\n                                Citation : \u00ab &#8230;on n&rsquo;a pas besoin de s&rsquo;expliquer en long et en large \u00bb\n                            <\/span>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"answer-section\">\n                        <h4>Partie C: Analyse Linguistique<\/h4>\n                        \n                        <div class=\"answer-item\">\n                            <strong>1.<\/strong> <span>Expliquez l&rsquo;expression \u00ab On se conna\u00eet presque par c\u0153ur \u00bb<\/span>\n                            <div class=\"model-answer\">\n                                <strong>R\u00e9ponse mod\u00e8le :<\/strong>\n                                <p>\n                                    Cela signifie qu&rsquo;on conna\u00eet l&rsquo;autre parfaitement, ses r\u00e9actions et ses pens\u00e9es, sans avoir besoin de parler.\n                                <\/p>\n                            <\/div>\n                        <\/div>\n                        \n                        <div class=\"answer-item\">\n                            <strong>2.<\/strong> <span>Deux \u00e9l\u00e9ments montrant l&rsquo;ind\u00e9pendance :<\/span>\n                            <div class=\"model-answer\">\n                                <strong>R\u00e9ponse mod\u00e8le :<\/strong>\n                                <p>\n                                    \u00c9l\u00e9ment 1 : \u00ab Chacune d&rsquo;entre nous a sa propre vie \u00bb<br>\n                                    \u00c9l\u00e9ment 2 : \u00ab ses propres amis \u00bb ou \u00ab son propre parcours \u00bb\n                                <\/p>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- VOCABULARY GAME -->\n                <div class=\"vocab-game\">\n                    <h3>Jeu de Vocabulaire<\/h3>\n                    <p class=\"game-intro\">\n                        Testez vos connaissances ! Associez les expressions fran\u00e7aises avec leurs significations anglaises.\n                    <\/p>\n\n                    <div class=\"game-stats\">\n                        <div class=\"stat-box\">\n                            <div class=\"stat-label\">Question<\/div>\n                            <div class=\"stat-value\" id=\"currentQuestion\">1<\/div>\n                        <\/div>\n                        <div class=\"stat-box\">\n                            <div class=\"stat-label\">Score<\/div>\n                            <div class=\"stat-value\" id=\"gameScore\">0<\/div>\n                        <\/div>\n                        <div class=\"stat-box\">\n                            <div class=\"stat-label\">S\u00e9rie<\/div>\n                            <div class=\"stat-value\" id=\"streak\">0<\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"game-card\" id=\"gameCard\">\n                        <div class=\"french-word\" id=\"frenchWord\"><\/div>\n                        <div class=\"game-options\" id=\"gameOptions\"><\/div>\n                    <\/div>\n\n                    <button class=\"next-btn\" id=\"nextBtn\" onclick=\"nextQuestion()\">\n                        <span>Suivant<\/span>\n                    <\/button>\n\n                    <div class=\"game-complete\" id=\"gameComplete\">\n                        <h4>Felicitations !<\/h4>\n                        <div class=\"final-score\" id=\"finalScore\"><\/div>\n                        <p class=\"performance-message\" id=\"performanceMessage\"><\/p>\n                        <button class=\"replay-btn\" onclick=\"restartGame()\">\n                            <span>Rejouer<\/span>\n                        <\/button>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <script>\n        let currentLang = 'fr';\n\n        function toggleTextLanguage(lang) {\n            \/\/ Toggle text versions\n            document.querySelectorAll('.text-version').forEach(version => {\n                version.classList.remove('active');\n            });\n            \n            if (lang === 'fr') {\n                document.getElementById('frenchText').classList.add('active');\n            } else {\n                document.getElementById('englishText').classList.add('active');\n            }\n            \n            \/\/ Toggle buttons\n            document.querySelectorAll('.text-toggle button').forEach(btn => {\n                btn.classList.remove('active');\n            });\n            event.target.classList.add('active');\n        }\n\n        function setLanguage(lang) {\n            currentLang = lang;\n            \n            \/\/ Update toggle buttons\n            document.querySelectorAll('.language-toggle button').forEach(btn => {\n                btn.classList.remove('active');\n            });\n            event.target.classList.add('active');\n        }\n\n        function toggleHelp() {\n            const helpSection = document.getElementById('vocabHelp');\n            const helpBtn = document.querySelector('.help-toggle');\n            \n            if (helpSection.classList.contains('show')) {\n                helpSection.classList.remove('show');\n                helpBtn.textContent = 'Afficher l\\'aide vocabulaire';\n            } else {\n                helpSection.classList.add('show');\n                helpBtn.textContent = 'Masquer l\\'aide vocabulaire';\n            }\n        }\n\n        function toggleAnswerKey() {\n            const answerKey = document.getElementById('answerKey');\n            const btn = document.querySelector('.answer-key-btn span');\n            \n            if (answerKey.classList.contains('show')) {\n                answerKey.classList.remove('show');\n                btn.textContent = 'Afficher le corrig\u00e9';\n            } else {\n                answerKey.classList.add('show');\n                btn.textContent = 'Masquer le corrig\u00e9';\n                answerKey.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n            }\n        }\n\n        function checkAnswers() {\n            let score = 0;\n            const totalMCQ = 3; \/\/ Questions 1-3\n            const totalTF = 3;  \/\/ Questions 4-6\n            const totalQuestions = totalMCQ + totalTF;\n\n            \/\/ Check MCQ (Questions 1-3)\n            for (let i = 1; i <= totalMCQ; i++) {\n                const question = document.querySelector(`.question[data-answer]:nth-of-type(${i})`);\n                const selected = document.querySelector(`input[name=\"q${i}\"]:checked`);\n                const feedback = question.querySelector('.feedback');\n                const correctAnswer = question.dataset.answer;\n\n                if (selected) {\n                    if (selected.value === correctAnswer) {\n                        score += 2;\n                        feedback.className = 'feedback correct';\n                        feedback.innerHTML = '<span><\/span>Correct ! (2 points)';\n                    } else {\n                        feedback.className = 'feedback incorrect';\n                        feedback.innerHTML = `<span><\/span>Incorrect. La bonne r\u00e9ponse est : ${correctAnswer})`;\n                    }\n                } else {\n                    feedback.className = 'feedback incorrect';\n                    feedback.innerHTML = '<span><\/span>Pas de r\u00e9ponse s\u00e9lectionn\u00e9e';\n                }\n            }\n\n            \/\/ Check True\/False (Questions 4-6)\n            const tfQuestions = document.querySelectorAll('.exercise-block')[1].querySelectorAll('.question');\n            for (let i = 0; i < totalTF; i++) {\n                const question = tfQuestions[i];\n                const selected = document.querySelector(`input[name=\"q${i+4}\"]:checked`);\n                const feedback = question.querySelector('.feedback');\n                const correctAnswer = question.dataset.answer;\n                const citation = question.querySelector('input[type=\"text\"]').value.trim();\n\n                if (selected) {\n                    if (selected.value === correctAnswer) {\n                        if (citation.length > 10) {\n                            score += 3;\n                            feedback.className = 'feedback correct';\n                            feedback.innerHTML = '<span><\/span>Correct ! Bonne citation. (3 points)';\n                        } else {\n                            score += 1;\n                            feedback.className = 'feedback incorrect';\n                            feedback.innerHTML = '<span><\/span>R\u00e9ponse correcte mais citation manquante ou trop courte. (1 point)';\n                        }\n                    } else {\n                        feedback.className = 'feedback incorrect';\n                        const correctText = correctAnswer === 'true' ? 'Vrai' : 'Faux';\n                        feedback.innerHTML = `<span><\/span>Incorrect. La bonne r\u00e9ponse est : ${correctText}`;\n                    }\n                } else {\n                    feedback.className = 'feedback incorrect';\n                    feedback.innerHTML = '<span><\/span>Pas de r\u00e9ponse s\u00e9lectionn\u00e9e';\n                }\n            }\n\n            \/\/ Check analysis questions\n            const analysis1 = document.querySelector('textarea[name=\"analysis1\"]').value.trim();\n            const element1 = document.querySelector('input[name=\"element1\"]').value.trim();\n            const element2 = document.querySelector('input[name=\"element2\"]').value.trim();\n            \n            let analysisComplete = 0;\n            if (analysis1.length > 20) analysisComplete++;\n            if (element1.length > 5 && element2.length > 5) analysisComplete++;\n\n            \/\/ Display results\n            const maxScore = 15; \/\/ 6 (MCQ) + 9 (T\/F) + 5 (Analysis not auto-graded)\n            const percentage = Math.round((score \/ (totalMCQ*2 + totalTF*3)) * 100);\n            const results = document.getElementById('results');\n            const scoreDisplay = document.getElementById('score');\n            const message = document.getElementById('message');\n\n            scoreDisplay.textContent = `${score}\/15`;\n            \n            let messageText = '';\n            if (percentage >= 90) {\n                messageText = 'Excellent travail !';\n            } else if (percentage >= 70) {\n                messageText = 'Tres bien ! Continue comme ca !';\n            } else if (percentage >= 50) {\n                messageText = 'Bon effort ! Relis le texte pour ameliorer.';\n            } else {\n                messageText = 'Continue a pratiquer ! Relis attentivement le texte.';\n            }\n            messageText += `<br><br>Questions d'analyse completees : ${analysisComplete}\/2`;\n            if (analysisComplete < 2) {\n                messageText += '<br><em>N\\'oublie pas de repondre a toutes les questions d\\'analyse !<\/em>';\n            }\n\n            message.innerHTML = messageText;\n            results.className = 'results show';\n            results.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n        }\n\n        \/\/ Vocabulary Game Logic\n        const vocabWords = [\n            { french: \"prendre racine\", english: \"to put down roots\", wrong: [\"to take root vegetables\", \"to pull roots\", \"to plant roots\"] },\n            { french: \"voisinaient\", english: \"were neighbors\", wrong: [\"were visiting\", \"were far away\", \"were leaving\"] },\n            { french: \"la bande des quatre\", english: \"the group of four\", wrong: [\"the four-piece band\", \"the gang of four\", \"the fourth band\"] },\n            { french: \"se sont tiss\u00e9s\", english: \"were woven\/formed\", wrong: [\"were torn\", \"were sewn\", \"were cut\"] },\n            { french: \"le quartier\", english: \"the neighborhood\", wrong: [\"the quarter hour\", \"the room\", \"the district office\"] },\n            { french: \"par c\u0153ur\", english: \"by heart\", wrong: [\"by car\", \"with heart\", \"from heart\"] },\n            { french: \"en long et en large\", english: \"at length\/in detail\", wrong: [\"long and wide\", \"lengthwise\", \"broadly\"] },\n            { french: \"le parcours\", english: \"life path\/journey\", wrong: [\"the parking\", \"the course\", \"the race\"] },\n            { french: \"le conjoint\", english: \"partner\/spouse\", wrong: [\"the joint\", \"the conjunction\", \"the connection\"] },\n            { french: \"qui nous appartient\", english: \"that belongs to us\", wrong: [\"that appears to us\", \"that comes to us\", \"that suits us\"] },\n            { french: \"dingue\", english: \"crazy\/wild\", wrong: [\"dangerous\", \"difficult\", \"dining\"] },\n            { french: \"se conna\u00eetre\", english: \"to know each other\", wrong: [\"to meet\", \"to recognize\", \"to introduce\"] },\n            { french: \"se retrouver\", english: \"to find each other again\", wrong: [\"to retire\", \"to turn around\", \"to lose each other\"] }\n        ];\n\n        let currentQuestionIndex = 0;\n        let gameScoreValue = 0;\n        let streakValue = 0;\n        let selectedAnswer = null;\n        let shuffledQuestions = [];\n\n        function shuffleArray(array) {\n            const newArray = [...array];\n            for (let i = newArray.length - 1; i > 0; i--) {\n                const j = Math.floor(Math.random() * (i + 1));\n                [newArray[i], newArray[j]] = [newArray[j], newArray[i]];\n            }\n            return newArray;\n        }\n\n        function startGame() {\n            shuffledQuestions = shuffleArray(vocabWords).slice(0, 10);\n            currentQuestionIndex = 0;\n            gameScoreValue = 0;\n            streakValue = 0;\n            selectedAnswer = null;\n            \n            document.getElementById('gameCard').style.display = 'flex';\n            document.getElementById('gameComplete').classList.remove('show');\n            document.getElementById('nextBtn').classList.remove('show');\n            \n            updateStats();\n            displayQuestion();\n        }\n\n        function displayQuestion() {\n            if (currentQuestionIndex >= shuffledQuestions.length) {\n                endGame();\n                return;\n            }\n\n            const question = shuffledQuestions[currentQuestionIndex];\n            const gameCard = document.getElementById('gameCard');\n            gameCard.classList.remove('correct', 'incorrect');\n            \n            document.getElementById('frenchWord').textContent = question.french;\n            \n            const options = [question.english, ...question.wrong];\n            const shuffledOptions = shuffleArray(options);\n            \n            const optionsContainer = document.getElementById('gameOptions');\n            optionsContainer.innerHTML = '';\n            \n            shuffledOptions.forEach(option => {\n                const optionDiv = document.createElement('div');\n                optionDiv.className = 'game-option';\n                optionDiv.textContent = option;\n                optionDiv.onclick = () => selectAnswer(option, question.english);\n                optionsContainer.appendChild(optionDiv);\n            });\n            \n            selectedAnswer = null;\n            document.getElementById('nextBtn').classList.remove('show');\n        }\n\n        function selectAnswer(selected, correct) {\n            if (selectedAnswer !== null) return;\n            \n            selectedAnswer = selected;\n            const options = document.querySelectorAll('.game-option');\n            const gameCard = document.getElementById('gameCard');\n            \n            options.forEach(option => {\n                option.classList.add('disabled');\n                \n                if (option.textContent === selected) {\n                    if (selected === correct) {\n                        option.classList.add('selected-correct');\n                        gameCard.classList.add('correct');\n                        gameScoreValue += 10;\n                        streakValue++;\n                        \n                        if (streakValue >= 3) {\n                            gameScoreValue += 5;\n                        }\n                    } else {\n                        option.classList.add('selected-incorrect');\n                        gameCard.classList.add('incorrect');\n                        streakValue = 0;\n                    }\n                }\n                \n                if (option.textContent === correct) {\n                    option.classList.add('show-correct');\n                }\n            });\n            \n            updateStats();\n            document.getElementById('nextBtn').classList.add('show');\n        }\n\n        function nextQuestion() {\n            currentQuestionIndex++;\n            displayQuestion();\n            updateStats();\n        }\n\n        function updateStats() {\n            document.getElementById('currentQuestion').textContent = Math.min(currentQuestionIndex + 1, shuffledQuestions.length);\n            document.getElementById('gameScore').textContent = gameScoreValue;\n            document.getElementById('streak').textContent = streakValue;\n        }\n\n        function endGame() {\n            document.getElementById('gameCard').style.display = 'none';\n            document.getElementById('nextBtn').classList.remove('show');\n            \n            const gameComplete = document.getElementById('gameComplete');\n            gameComplete.classList.add('show');\n            \n            const maxScore = shuffledQuestions.length * 10;\n            const percentage = Math.round((gameScoreValue \/ maxScore) * 100);\n            \n            document.getElementById('finalScore').textContent = `${gameScoreValue}\/${maxScore}`;\n            \n            let message = '';\n            if (currentLang === 'en') {\n                if (percentage >= 90) {\n                    message = 'Outstanding! You\\'re a vocabulary master!';\n                } else if (percentage >= 70) {\n                    message = 'Great job! You know your vocabulary well!';\n                } else if (percentage >= 50) {\n                    message = 'Good effort! Keep practicing!';\n                } else {\n                    message = 'Keep going! Review the vocabulary and try again!';\n                }\n            } else {\n                if (percentage >= 90) {\n                    message = 'Exceptionnel ! Tu es un maitre du vocabulaire !';\n                } else if (percentage >= 70) {\n                    message = 'Excellent travail ! Tu connais bien ton vocabulaire !';\n                } else if (percentage >= 50) {\n                    message = 'Bon effort ! Continue a pratiquer !';\n                } else {\n                    message = 'Continue ! Revise le vocabulaire et reessaie !';\n                }\n            }\n            \n            document.getElementById('performanceMessage').textContent = message;\n        }\n\n        function restartGame() {\n            startGame();\n        }\n\n        window.addEventListener('load', function() {\n            startGame();\n        });\n    <\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Exercice de Compr\u00e9hension &#8211; L&rsquo;Amiti\u00e9 de Toujours FR EN Exercice de Compr\u00e9hension \u00c9crite L&rsquo;Amiti\u00e9 de Toujours Niveau B1-B2 Texte \u00e0 lire Version Francaise English Version &hellip; <\/p>\n","protected":false},"author":1,"featured_media":5758,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"cybocfi_hide_featured_image":"yes","footnotes":""},"categories":[102,33],"tags":[40,98],"class_list":["post-5754","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-comprehension-ecrite","category-niveau-b1","tag-comprehension-ecrite","tag-niveau-b1"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Texte sur l&#039;amiti\u00e9 - Compr\u00e9hension \u00e9crite niveau B1 - MOddou FLE<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.estudiodefrances.com\/?p=5754\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Texte sur l&#039;amiti\u00e9 - Compr\u00e9hension \u00e9crite niveau B1 - MOddou FLE\" \/>\n<meta property=\"og:description\" content=\"Exercice de Compr\u00e9hension &#8211; L&rsquo;Amiti\u00e9 de Toujours FR EN Exercice de Compr\u00e9hension \u00c9crite L&rsquo;Amiti\u00e9 de Toujours Niveau B1-B2 Texte \u00e0 lire Version Francaise English Version &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.estudiodefrances.com\/?p=5754\" \/>\n<meta property=\"og:site_name\" content=\"MOddou FLE\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/moddouFLE\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-05T04:19:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-05T04:33:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.estudiodefrances.com\/wp-content\/uploads\/ChatGPT-Image-5-fevr.-2026-08_30_31-1024x683.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"683\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"moddou\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@moddou\" \/>\n<meta name=\"twitter:site\" content=\"@moddou\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"moddou\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5754#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5754\"},\"author\":{\"name\":\"moddou\",\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/#\\\/schema\\\/person\\\/88f4b73addd8170d9837c20fc1127e7c\"},\"headline\":\"Texte sur l&rsquo;amiti\u00e9 &#8211; Compr\u00e9hension \u00e9crite niveau B1\",\"datePublished\":\"2026-02-05T04:19:53+00:00\",\"dateModified\":\"2026-02-05T04:33:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5754\"},\"wordCount\":1171,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5754#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.estudiodefrances.com\\\/wp-content\\\/uploads\\\/ChatGPT-Image-5-fevr.-2026-08_30_31.png\",\"keywords\":[\"compr\u00e9hension \u00e9crite\",\"Niveau B1\"],\"articleSection\":[\"compr\u00e9hension \u00e9crite\",\"Niveau B1\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5754#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5754\",\"url\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5754\",\"name\":\"Texte sur l'amiti\u00e9 - Compr\u00e9hension \u00e9crite niveau B1 - MOddou FLE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5754#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5754#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.estudiodefrances.com\\\/wp-content\\\/uploads\\\/ChatGPT-Image-5-fevr.-2026-08_30_31.png\",\"datePublished\":\"2026-02-05T04:19:53+00:00\",\"dateModified\":\"2026-02-05T04:33:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5754#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5754\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5754#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.estudiodefrances.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Texte sur l&rsquo;amiti\u00e9 &#8211; Compr\u00e9hension \u00e9crite niveau B1\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/#website\",\"url\":\"https:\\\/\\\/www.estudiodefrances.com\\\/\",\"name\":\"MOddou FLE\",\"description\":\"Exercices et jeux pour apprendre le fran\u00e7ais\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/#organization\",\"name\":\"MOddou FLE\",\"url\":\"https:\\\/\\\/www.estudiodefrances.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.estudiodefrances.com\\\/wp-content\\\/uploads\\\/cropped-Capture-de\u0301cran-2013-09-04-a\u0300-00.08.43-1.png\",\"contentUrl\":\"https:\\\/\\\/www.estudiodefrances.com\\\/wp-content\\\/uploads\\\/cropped-Capture-de\u0301cran-2013-09-04-a\u0300-00.08.43-1.png\",\"width\":68,\"height\":79,\"caption\":\"MOddou FLE\"},\"image\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/moddouFLE\\\/\",\"https:\\\/\\\/x.com\\\/moddou\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/#\\\/schema\\\/person\\\/88f4b73addd8170d9837c20fc1127e7c\",\"name\":\"moddou\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4a3fcfa351701fcac2c15731162f30826ff6dc6290b4ca18e8e3f3b419e885c4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4a3fcfa351701fcac2c15731162f30826ff6dc6290b4ca18e8e3f3b419e885c4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4a3fcfa351701fcac2c15731162f30826ff6dc6290b4ca18e8e3f3b419e885c4?s=96&d=mm&r=g\",\"caption\":\"moddou\"},\"sameAs\":[\"http:\\\/\\\/www.estudiodefrances.com\"],\"url\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Texte sur l'amiti\u00e9 - Compr\u00e9hension \u00e9crite niveau B1 - MOddou FLE","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.estudiodefrances.com\/?p=5754","og_locale":"fr_FR","og_type":"article","og_title":"Texte sur l'amiti\u00e9 - Compr\u00e9hension \u00e9crite niveau B1 - MOddou FLE","og_description":"Exercice de Compr\u00e9hension &#8211; L&rsquo;Amiti\u00e9 de Toujours FR EN Exercice de Compr\u00e9hension \u00c9crite L&rsquo;Amiti\u00e9 de Toujours Niveau B1-B2 Texte \u00e0 lire Version Francaise English Version &hellip;","og_url":"https:\/\/www.estudiodefrances.com\/?p=5754","og_site_name":"MOddou FLE","article_publisher":"https:\/\/www.facebook.com\/moddouFLE\/","article_published_time":"2026-02-05T04:19:53+00:00","article_modified_time":"2026-02-05T04:33:09+00:00","og_image":[{"width":1024,"height":683,"url":"https:\/\/www.estudiodefrances.com\/wp-content\/uploads\/ChatGPT-Image-5-fevr.-2026-08_30_31-1024x683.png","type":"image\/png"}],"author":"moddou","twitter_card":"summary_large_image","twitter_creator":"@moddou","twitter_site":"@moddou","twitter_misc":{"\u00c9crit par":"moddou","Dur\u00e9e de lecture estim\u00e9e":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.estudiodefrances.com\/?p=5754#article","isPartOf":{"@id":"https:\/\/www.estudiodefrances.com\/?p=5754"},"author":{"name":"moddou","@id":"https:\/\/www.estudiodefrances.com\/#\/schema\/person\/88f4b73addd8170d9837c20fc1127e7c"},"headline":"Texte sur l&rsquo;amiti\u00e9 &#8211; Compr\u00e9hension \u00e9crite niveau B1","datePublished":"2026-02-05T04:19:53+00:00","dateModified":"2026-02-05T04:33:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.estudiodefrances.com\/?p=5754"},"wordCount":1171,"commentCount":0,"publisher":{"@id":"https:\/\/www.estudiodefrances.com\/#organization"},"image":{"@id":"https:\/\/www.estudiodefrances.com\/?p=5754#primaryimage"},"thumbnailUrl":"https:\/\/www.estudiodefrances.com\/wp-content\/uploads\/ChatGPT-Image-5-fevr.-2026-08_30_31.png","keywords":["compr\u00e9hension \u00e9crite","Niveau B1"],"articleSection":["compr\u00e9hension \u00e9crite","Niveau B1"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.estudiodefrances.com\/?p=5754#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.estudiodefrances.com\/?p=5754","url":"https:\/\/www.estudiodefrances.com\/?p=5754","name":"Texte sur l'amiti\u00e9 - Compr\u00e9hension \u00e9crite niveau B1 - MOddou FLE","isPartOf":{"@id":"https:\/\/www.estudiodefrances.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.estudiodefrances.com\/?p=5754#primaryimage"},"image":{"@id":"https:\/\/www.estudiodefrances.com\/?p=5754#primaryimage"},"thumbnailUrl":"https:\/\/www.estudiodefrances.com\/wp-content\/uploads\/ChatGPT-Image-5-fevr.-2026-08_30_31.png","datePublished":"2026-02-05T04:19:53+00:00","dateModified":"2026-02-05T04:33:09+00:00","breadcrumb":{"@id":"https:\/\/www.estudiodefrances.com\/?p=5754#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.estudiodefrances.com\/?p=5754"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.estudiodefrances.com\/?p=5754#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.estudiodefrances.com\/"},{"@type":"ListItem","position":2,"name":"Texte sur l&rsquo;amiti\u00e9 &#8211; Compr\u00e9hension \u00e9crite niveau B1"}]},{"@type":"WebSite","@id":"https:\/\/www.estudiodefrances.com\/#website","url":"https:\/\/www.estudiodefrances.com\/","name":"MOddou FLE","description":"Exercices et jeux pour apprendre le fran\u00e7ais","publisher":{"@id":"https:\/\/www.estudiodefrances.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.estudiodefrances.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.estudiodefrances.com\/#organization","name":"MOddou FLE","url":"https:\/\/www.estudiodefrances.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.estudiodefrances.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.estudiodefrances.com\/wp-content\/uploads\/cropped-Capture-de\u0301cran-2013-09-04-a\u0300-00.08.43-1.png","contentUrl":"https:\/\/www.estudiodefrances.com\/wp-content\/uploads\/cropped-Capture-de\u0301cran-2013-09-04-a\u0300-00.08.43-1.png","width":68,"height":79,"caption":"MOddou FLE"},"image":{"@id":"https:\/\/www.estudiodefrances.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/moddouFLE\/","https:\/\/x.com\/moddou"]},{"@type":"Person","@id":"https:\/\/www.estudiodefrances.com\/#\/schema\/person\/88f4b73addd8170d9837c20fc1127e7c","name":"moddou","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/4a3fcfa351701fcac2c15731162f30826ff6dc6290b4ca18e8e3f3b419e885c4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4a3fcfa351701fcac2c15731162f30826ff6dc6290b4ca18e8e3f3b419e885c4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4a3fcfa351701fcac2c15731162f30826ff6dc6290b4ca18e8e3f3b419e885c4?s=96&d=mm&r=g","caption":"moddou"},"sameAs":["http:\/\/www.estudiodefrances.com"],"url":"https:\/\/www.estudiodefrances.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=\/wp\/v2\/posts\/5754","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5754"}],"version-history":[{"count":4,"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=\/wp\/v2\/posts\/5754\/revisions"}],"predecessor-version":[{"id":5761,"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=\/wp\/v2\/posts\/5754\/revisions\/5761"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=\/wp\/v2\/media\/5758"}],"wp:attachment":[{"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5754"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5754"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5754"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}