{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div style=\"color:white;border-collapse:separate;border:solid 2px;border-radius:14px;border-color:#4a148c;background-color:#6a1b9a;width:100%;padding:6px 0;\">\n",
    "    <div style=\"display:flex;\">\n",
    "        <div style=\"display:inline;width:20%;text-align:left;padding-left:10px;\"><b>Première Spé</b></div>\n",
    "        <div style=\"display:inline;width:60%;text-align:center;\"></div>\n",
    "        <div style=\"display:inline;width:20%;text-align:right;padding-right:10px;\"><b>Mathématiques</b></div>\n",
    "    </div>\n",
    "    <h1 style=\"color:white;text-align:center;font-size:1.7em;margin:0.4em 0;\">📜 Escape Game — Le carnet perdu d'Archimède</h1>\n",
    "    <div style=\"text-align:center;font-style:italic;\">6 énigmes · tout le programme de Première Spé · ~1h30</div>\n",
    "    <div style=\"text-align:center;font-size:0.9em;margin-top:0.3em;\">🎲 Chaque élève a des questions différentes !</div>\n",
    "</div>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 🎬 Le mystère\n",
    "\n",
    "À Syracuse, un parchemin antique vient d'être retrouvé : **le carnet personnel d'Archimède**. Il y aurait noté une **citation cryptée** avec un code à 6 chiffres.\n",
    "\n",
    "**Ta mission :** résoudre **6 énigmes** couvrant le programme de Première Spé pour décrypter la citation.\n",
    "\n",
    "🔗 Si tu bloques, consulte les cours et fiches méthodes sur [mathamine.fr/cours/premiere](https://mathamine.fr/cours/premiere/). Chaque énigme propose des **indices à plusieurs niveaux**.\n",
    "\n",
    "## 📋 Consignes\n",
    "\n",
    "**1.** Exécute la cellule **Initialisation** — tes énoncés s'affichent (différents de tes camarades).\n",
    "\n",
    "**2.** Pour chaque énigme : déplie les indices SEULEMENT si tu bloques. Calcule la réponse, puis appelle `verif_En(...)`.\n",
    "\n",
    "**3.** Note le chiffre indiqué à chaque énigme validée.\n",
    "\n",
    "**4.** À la fin, colle les 6 chiffres pour former le code secret.\n",
    "\n",
    "---\n",
    "\n",
    "### Sommaire\n",
    "1. [⚙️ Initialisation](#INIT)\n",
    "2. [📈 Énigme 1 — Suites](#E1)\n",
    "3. [📉 Énigme 2 — Dérivation](#E2)\n",
    "4. [🌱 Énigme 3 — Exponentielle](#E3)\n",
    "5. [🎲 Énigme 4 — Probabilités conditionnelles](#E4)\n",
    "6. [⭕ Énigme 5 — Trigonométrie](#E5)\n",
    "7. [📐 Énigme 6 — Produit scalaire](#E6)\n",
    "8. [🔐 Code final](#FINAL)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id=\"INIT\"></a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div style=\"color:white;border-collapse:separate;border:solid 2px;border-radius:14px;border-color:#4a148c;background-color:#6a1b9a;width:100%;padding:4px 0;\">\n",
    "<h2 style=\"color:white;text-align:center;\">⚙️ Initialisation</h2>\n",
    "</div>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? info Comment ça marche ?\n",
    "\n",
    "Cette cellule génère **tes** données personnelles. Tu as ta propre combinaison de questions (suite arith. ou géom., dérivation polynôme ou rationnelle, etc.). Tes valeurs sont les mêmes si tu reviens sur l'activité.\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {},
   "execution_count": null,
   "outputs": [],
   "source": [
    "from _init import *\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id=\"E1\"></a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div style=\"color:white;border-collapse:separate;border:solid 2px;border-radius:14px;border-color:#1565c0;background-color:#1976d2;width:100%;padding:4px 0;\">\n",
    "<h2 style=\"color:white;text-align:center;\">📈 Énigme 1 — Suites numériques</h2>\n",
    "</div>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? question 🎯 Ton énoncé\n",
    "\n",
    "L'énoncé exact dépend de TA combinaison (voir cellule init). Il est affiché ci-dessous par le code.\n",
    "\n",
    "Calcule la valeur demandée, puis appelle `verif_E1(résultat)`.\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? hint 💡 Indice rapide\n",
    "\n",
    "**Arithmétique** : $u_n = u_0 + n\\cdot r$ &nbsp;&nbsp; **Géométrique** : $u_n = u_0 \\cdot q^n$ &nbsp;&nbsp; **Somme** : $S = (n+1)(u_0+u_n)/2$\n",
    "\n",
    "???\n",
    "\n",
    "??? note 📚 Méthode + cours\n",
    "\n",
    "Selon TA variante :<br>\n",
    "- **Arithmétique** : ajoute la raison à chaque étape, ou applique directement $u_n = u_0 + nr$.<br>\n",
    "- **Géométrique** : multiplie par la raison à chaque étape, ou applique $u_n = u_0 \\cdot q^n$.<br>\n",
    "- **Somme arithmétique** : utilise $S = \\frac{(n+1)(u_0+u_n)}{2}$ (avec $u_n = u_0 + nr$).\n",
    "\n",
    "🔗 **Va voir** : [Cours Ch.3 — Modes de génération](https://mathamine.fr/cours/premiere/cours_ch3_suites.html#modes-generation)\n",
    "\n",
    "???\n",
    "\n",
    "??? tip 🎯 Étapes guidées\n",
    "\n",
    "1. Regarde la variable `E1_variante` (`'arithmetique'`, `'geometrique'` ou `'somme_arith'`).<br>\n",
    "2. Lis les valeurs `E1_u0`, `E1_r` ou `E1_q`, `E1_n` dans la cellule init.<br>\n",
    "3. Applique la formule correspondante.<br>\n",
    "4. Vérifie : la formule rappelée par `verif_E1` doit correspondre à ce que tu as utilisé.\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {},
   "execution_count": null,
   "outputs": [],
   "source": [
    "# ── Énigme 1 ─────────────────────────────────────────────────────────────────\n",
    "# 📋 Rappel de TON énoncé :\n",
    "print(\"\"\"📈 Suites — la variante (arithmétique / géométrique / somme) varie selon ton tirage\"\"\")\n",
    "print(f\"Ta variante : {E1_variante}\")\n",
    "print(f\"Formule à utiliser : {E1_formule}\")\n",
    "print()\n",
    "\n",
    "# 🔧 À COMPLÉTER : calcule la valeur selon ta variante\n",
    "# Exemple générique :\n",
    "if E1_variante == \"arithmetique\":\n",
    "    reponse = ...      # u_0 + n * r\n",
    "elif E1_variante == \"geometrique\":\n",
    "    reponse = ...      # u_0 * q^n\n",
    "else:  # somme_arith\n",
    "    u_n = E1_u0 + E1_n * E1_r\n",
    "    reponse = ...      # (n+1) * (u_0 + u_n) / 2\n",
    "\n",
    "print(f\"Ma réponse : {reponse}\")\n",
    "verif_E1(reponse)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? success Note ton chiffre 1\n",
    "\n",
    "**Chiffre 1 = ____**\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id=\"E2\"></a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div style=\"color:white;border-collapse:separate;border:solid 2px;border-radius:14px;border-color:#1565c0;background-color:#1976d2;width:100%;padding:4px 0;\">\n",
    "<h2 style=\"color:white;text-align:center;\">📉 Énigme 2 — Dérivation</h2>\n",
    "</div>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? question 🎯 Ton énoncé\n",
    "\n",
    "L'énoncé exact dépend de TA combinaison (voir cellule init). Il est affiché ci-dessous par le code.\n",
    "\n",
    "Calcule la valeur demandée, puis appelle `verif_E2(résultat)`.\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? hint 💡 Indice rapide\n",
    "\n",
    "$(x^n)' = n\\cdot x^{n-1}$ &nbsp;&nbsp; $(1/x)' = -1/x^2$ &nbsp;&nbsp; $f'(x_0)$ = coef. directeur de la tangente\n",
    "\n",
    "???\n",
    "\n",
    "??? note 📚 Méthode + cours\n",
    "\n",
    "- **Polynôme du 2<sup>nd</sup> degré** : $f(x) = ax^2 + bx + c$, $f'(x) = 2ax + b$.<br>\n",
    "- **Rationnelle** : $f(x) = a/x + bx$, $f'(x) = -a/x^2 + b$.<br>\n",
    "- **Cubique** : $f(x) = ax^3 + bx$, $f'(x) = 3ax^2 + b$.<br><br>\n",
    "Le coefficient directeur de la tangente au point d'abscisse $x_0$ est $f'(x_0)$.\n",
    "\n",
    "🔗 **Va voir** : [Cours Ch.4 — Nombre dérivé](https://mathamine.fr/cours/premiere/cours_ch4_derivation.html#nombre-derive)\n",
    "\n",
    "???\n",
    "\n",
    "??? tip 🎯 Étapes guidées\n",
    "\n",
    "1. Regarde la variable `E2_variante`.<br>\n",
    "2. Lis les coefficients (`E2_a`, `E2_b`, etc.) et `E2_x0`.<br>\n",
    "3. Applique la formule de dérivation.<br>\n",
    "4. Évalue $f'(x_0)$ avec un entier.\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {},
   "execution_count": null,
   "outputs": [],
   "source": [
    "# ── Énigme 2 ─────────────────────────────────────────────────────────────────\n",
    "# 📋 Rappel de TON énoncé :\n",
    "print(\"\"\"📉 Dérivation — la variante (polynôme / rationnelle / cubique) varie selon ton tirage\"\"\")\n",
    "print(f\"Ta variante : {E2_variante}\")\n",
    "print(f\"Formule de dérivation : {E2_formule}\")\n",
    "print(f\"x_0 = {E2_x0}\")\n",
    "print()\n",
    "\n",
    "# 🔧 À COMPLÉTER\n",
    "if E2_variante == \"polynome\":\n",
    "    reponse = ...      # 2 * E2_a * E2_x0 + E2_b\n",
    "elif E2_variante == \"rationnelle\":\n",
    "    reponse = ...      # -E2_a / E2_x0**2 + E2_b\n",
    "else:  # somme_exp (cubique)\n",
    "    reponse = ...      # 3 * E2_a * E2_x0**2 + E2_b\n",
    "\n",
    "print(f\"f'({E2_x0}) = {reponse}\")\n",
    "verif_E2(reponse)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? success Note ton chiffre 2\n",
    "\n",
    "**Chiffre 2 = ____**\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id=\"E3\"></a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div style=\"color:white;border-collapse:separate;border:solid 2px;border-radius:14px;border-color:#1565c0;background-color:#1976d2;width:100%;padding:4px 0;\">\n",
    "<h2 style=\"color:white;text-align:center;\">🌱 Énigme 3 — Exponentielle</h2>\n",
    "</div>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? question 🎯 Ton énoncé\n",
    "\n",
    "L'énoncé exact dépend de TA combinaison (voir cellule init). Il est affiché ci-dessous par le code.\n",
    "\n",
    "Calcule la valeur demandée, puis appelle `verif_E3(résultat)`.\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? hint 💡 Indice rapide\n",
    "\n",
    "$e^A = e^B \\Leftrightarrow A = B$ &nbsp;&nbsp; $e^a \\cdot e^b = e^{a+b}$ &nbsp;&nbsp; $(e^a)^n = e^{a\\cdot n}$\n",
    "\n",
    "???\n",
    "\n",
    "??? note 📚 Méthode + cours\n",
    "\n",
    "- **Équation** $e^{ax+b} = e^c$ : par injectivité, $ax+b = c$ donc $x = (c-b)/a$.<br>\n",
    "- **Produit** $e^a \\cdot e^b = e^?$ : addition des exposants.<br>\n",
    "- **Puissance** $(e^a)^n = e^?$ : multiplication des exposants.\n",
    "\n",
    "🔗 **Va voir** : [Cours Ch.6 — Exponentielle](https://mathamine.fr/cours/premiere/cours_ch6_exponentielle.html#definition)\n",
    "\n",
    "???\n",
    "\n",
    "??? tip 🎯 Étapes guidées\n",
    "\n",
    "1. Identifie ta variante via `E3_variante`.<br>\n",
    "2. Applique la règle correspondante.<br>\n",
    "3. Donne un entier comme réponse.\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {},
   "execution_count": null,
   "outputs": [],
   "source": [
    "# ── Énigme 3 ─────────────────────────────────────────────────────────────────\n",
    "# 📋 Rappel de TON énoncé :\n",
    "print(\"\"\"🌱 Exponentielle — la variante (équation / produit / puissance) varie\"\"\")\n",
    "print(f\"Ta variante : {E3_variante}\")\n",
    "print(f\"Formule à utiliser : {E3_formule}\")\n",
    "print()\n",
    "\n",
    "# 🔧 À COMPLÉTER\n",
    "if E3_variante == \"simple_eq\":\n",
    "    reponse = ...      # (E3_c - E3_b) / E3_a\n",
    "elif E3_variante == \"produit\":\n",
    "    reponse = ...      # E3_a + E3_b\n",
    "else:  # puissance\n",
    "    reponse = ...      # E3_a * E3_n\n",
    "\n",
    "print(f\"Réponse : {reponse}\")\n",
    "verif_E3(int(reponse))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? success Note ton chiffre 3\n",
    "\n",
    "**Chiffre 3 = ____**\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id=\"E4\"></a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div style=\"color:white;border-collapse:separate;border:solid 2px;border-radius:14px;border-color:#1565c0;background-color:#1976d2;width:100%;padding:4px 0;\">\n",
    "<h2 style=\"color:white;text-align:center;\">🎲 Énigme 4 — Probabilités conditionnelles</h2>\n",
    "</div>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? question 🎯 Ton énoncé\n",
    "\n",
    "L'énoncé exact dépend de TA combinaison (voir cellule init). Il est affiché ci-dessous par le code.\n",
    "\n",
    "Calcule la valeur demandée, puis appelle `verif_E4(résultat)`.\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? hint 💡 Indice rapide\n",
    "\n",
    "**Probabilité totale** : $P(M) = P(F)\\cdot P(M|F) + P(G)\\cdot P(M|G)$ &nbsp;&nbsp; **Bayes** : $P(F|M) = \\dfrac{P(F\\cap M)}{P(M)}$\n",
    "\n",
    "???\n",
    "\n",
    "??? note 📚 Méthode + cours\n",
    "\n",
    "Construis l'**arbre pondéré** : 1<sup>er</sup> niveau F/G, 2<sup>e</sup> niveau M/$\\bar{M}$.<br><br>\n",
    "- $P(F\\cap M) = P(F) \\times P(M|F)$ (formule des probabilités composées).<br>\n",
    "- $P(M) = P(F\\cap M) + P(G\\cap M)$ (loi des probabilités totales).<br>\n",
    "- $P(F|M) = \\dfrac{P(F\\cap M)}{P(M)}$ (Bayes).\n",
    "\n",
    "🔗 **Va voir** : [Cours Ch.10 — Arbre pondéré](https://mathamine.fr/cours/premiere/cours_ch10_probas_conditionnelles.html#arbre)\n",
    "\n",
    "???\n",
    "\n",
    "??? tip 🎯 Étapes guidées\n",
    "\n",
    "1. Identifie ta variante via `E4_variante` (`'bayes'` ou `'totale'`).<br>\n",
    "2. Calcule $P(G) = 1 - P(F)$.<br>\n",
    "3. Calcule $P(M)$ avec la loi des probabilités totales.<br>\n",
    "4. Si Bayes : $P(F|M) = P(F)\\cdot P(M|F)/P(M)$.<br>\n",
    "5. Multiplie par 100 et arrondis.\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {},
   "execution_count": null,
   "outputs": [],
   "source": [
    "# ── Énigme 4 ─────────────────────────────────────────────────────────────────\n",
    "# 📋 Rappel de TON énoncé :\n",
    "print(\"\"\"🎲 Probas conditionnelles — Bayes ou probabilité totale\"\"\")\n",
    "print(f\"Ta variante : {E4_variante}\")\n",
    "print(f\"Formule à utiliser : {E4_formule}\")\n",
    "print(f\"P(F) = {float(E4_pF):.0%}   P(M|F) = {float(E4_p_M_F):.0%}   P(M|G) = {float(E4_p_M_G):.0%}\")\n",
    "print()\n",
    "\n",
    "# 🔧 À COMPLÉTER\n",
    "pG = 1 - float(E4_pF)\n",
    "pM = float(E4_pF) * float(E4_p_M_F) + ... * ...\n",
    "\n",
    "if E4_variante == \"bayes\":\n",
    "    pFM = (float(E4_pF) * float(E4_p_M_F)) / ...\n",
    "    reponse = round(pFM * 100)\n",
    "else:  # totale\n",
    "    reponse = round(... * 100)\n",
    "\n",
    "print(f\"Probabilité ≈ {reponse}%\")\n",
    "verif_E4(reponse)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? success Note ton chiffre 4\n",
    "\n",
    "**Chiffre 4 = ____**\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id=\"E5\"></a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div style=\"color:white;border-collapse:separate;border:solid 2px;border-radius:14px;border-color:#1565c0;background-color:#1976d2;width:100%;padding:4px 0;\">\n",
    "<h2 style=\"color:white;text-align:center;\">⭕ Énigme 5 — Trigonométrie</h2>\n",
    "</div>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? question 🎯 Ton énoncé\n",
    "\n",
    "L'énoncé exact dépend de TA combinaison (voir cellule init). Il est affiché ci-dessous par le code.\n",
    "\n",
    "Calcule la valeur demandée, puis appelle `verif_E5(résultat)`.\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? hint 💡 Indice rapide\n",
    "\n",
    "**Cercle trigo** : cos(0)=1, cos(π/2)=0, cos(π)=−1 ; sin correspondant.<br>**Angles π/6, π/3** : 1/2 et √3/2.<br>**Pythagore** : $\\cos^2θ + \\sin^2θ = 1$.\n",
    "\n",
    "???\n",
    "\n",
    "??? note 📚 Méthode + cours\n",
    "\n",
    "- **Variante cos+sin remarquable** : repère $\\cos(\\theta)$ et $\\sin(\\theta)$ sur le cercle pour $\\theta \\in \\{0, \\pi/2, \\pi, 3\\pi/2\\}$.<br>\n",
    "- **Variante π/3, π/6** : utilise $\\cos(\\pi/3) = \\sin(\\pi/6) = 1/2$ et $\\sin(\\pi/3) = \\cos(\\pi/6) = \\sqrt{3}/2$.<br>\n",
    "- **Variante Pythagore** : $\\cos^2(\\theta) + \\sin^2(\\theta) = 1$ POUR TOUT $\\theta$.\n",
    "\n",
    "🔗 **Va voir** : [Cours Ch.8 — Cercle trigonométrique](https://mathamine.fr/cours/premiere/cours_ch8_trigonometrie.html#cercle)\n",
    "\n",
    "???\n",
    "\n",
    "??? tip 🎯 Étapes guidées\n",
    "\n",
    "1. Repère ta variante via `E5_variante`.<br>\n",
    "2. Calcule à la main (pas de calculatrice nécessaire).<br>\n",
    "3. Le résultat est un entier (positif ou négatif).\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {},
   "execution_count": null,
   "outputs": [],
   "source": [
    "# ── Énigme 5 ─────────────────────────────────────────────────────────────────\n",
    "# 📋 Rappel de TON énoncé :\n",
    "print(\"\"\"⭕ Trigonométrie — valeurs exactes (cos+sin / angle π/3 / identité Pythagore)\"\"\")\n",
    "print(f\"Ta variante : {E5_variante}\")\n",
    "print(f\"Indice : {E5_formule}\")\n",
    "print()\n",
    "\n",
    "# 🔧 À COMPLÉTER selon ta variante\n",
    "if E5_variante == \"cos_sin_remarquable\":\n",
    "    cos_table = [1, 0, -1, 0]\n",
    "    sin_table = [0, 1, 0, -1]\n",
    "    reponse = 10 * (cos_table[E5_k] + sin_table[E5_k])\n",
    "elif E5_variante == \"angle_pi_3\":\n",
    "    # Évalue à la main selon l'énoncé affiché\n",
    "    reponse = ...\n",
    "else:  # pythagore_trigo\n",
    "    reponse = ...    # cos²θ + sin²θ = 1, donc k × 1 = k\n",
    "\n",
    "print(f\"Réponse : {reponse}\")\n",
    "verif_E5(reponse)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? success Note ton chiffre 5\n",
    "\n",
    "**Chiffre 5 = ____**\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id=\"E6\"></a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div style=\"color:white;border-collapse:separate;border:solid 2px;border-radius:14px;border-color:#1565c0;background-color:#1976d2;width:100%;padding:4px 0;\">\n",
    "<h2 style=\"color:white;text-align:center;\">📐 Énigme 6 — Produit scalaire</h2>\n",
    "</div>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? question 🎯 Ton énoncé\n",
    "\n",
    "L'énoncé exact dépend de TA combinaison (voir cellule init). Il est affiché ci-dessous par le code.\n",
    "\n",
    "Calcule la valeur demandée, puis appelle `verif_E6(résultat)`.\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? hint 💡 Indice rapide\n",
    "\n",
    "$\\vec{u}\\cdot\\vec{v} = x_u x_v + y_u y_v$ &nbsp;&nbsp; $\\|\\vec{u}\\|^2 = x_u^2 + y_u^2$ &nbsp;&nbsp; $\\vec{u}\\perp\\vec{v} \\Leftrightarrow \\vec{u}\\cdot\\vec{v}=0$\n",
    "\n",
    "???\n",
    "\n",
    "??? note 📚 Méthode + cours\n",
    "\n",
    "- **Produit scalaire** : $\\vec{u}\\cdot\\vec{v} = x_u x_v + y_u y_v$.<br>\n",
    "- **Carré de la norme** : $\\|\\vec{u}\\|^2 = x_u^2 + y_u^2$.<br>\n",
    "- **Orthogonalité** : deux vecteurs sont orthogonaux ssi leur produit scalaire est nul.\n",
    "\n",
    "🔗 **Va voir** : [Cours Ch.7 — Produit scalaire](https://mathamine.fr/cours/premiere/cours_ch7_produit_scalaire.html)\n",
    "\n",
    "???\n",
    "\n",
    "??? tip 🎯 Étapes guidées\n",
    "\n",
    "1. Identifie ta variante via `E6_variante`.<br>\n",
    "2. Lis les vecteurs `E6_u` et `E6_v` (`E6_u[0]` = abscisse, `E6_u[1]` = ordonnée).<br>\n",
    "3. Applique la formule.<br>\n",
    "4. Pour la variante orthogonale : résous $k\\cdot x_v + y_u\\cdot y_v = 0$.\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {},
   "execution_count": null,
   "outputs": [],
   "source": [
    "# ── Énigme 6 ─────────────────────────────────────────────────────────────────\n",
    "# 📋 Rappel de TON énoncé :\n",
    "print(\"\"\"📐 Produit scalaire — u·v / ‖u‖² / orthogonalité\"\"\")\n",
    "print(f\"Ta variante : {E6_variante}\")\n",
    "print(f\"Formule : {E6_formule}\")\n",
    "print(f\"u = {E6_u}, v = {E6_v}\")\n",
    "print()\n",
    "\n",
    "# 🔧 À COMPLÉTER\n",
    "if E6_variante == \"produit\":\n",
    "    reponse = E6_u[0]*E6_v[0] + ... * ...\n",
    "elif E6_variante == \"norme_carre\":\n",
    "    reponse = E6_u[0]**2 + ... ** 2\n",
    "else:  # orthogonal_k\n",
    "    # u·v = k * E6_v[0] + E6_u[1] * E6_v[1] = 0\n",
    "    # Donc k = -E6_u[1] * E6_v[1] / E6_v[0]\n",
    "    reponse = -E6_u[1] * E6_v[1] // ...\n",
    "\n",
    "print(f\"Réponse : {reponse}\")\n",
    "verif_E6(reponse)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? success Note ton chiffre 6\n",
    "\n",
    "**Chiffre 6 = ____**\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id=\"FINAL\"></a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div style=\"color:white;border-collapse:separate;border:solid 2px;border-radius:14px;border-color:#b71c1c;background-color:#c62828;width:100%;padding:4px 0;\">\n",
    "<h2 style=\"color:white;text-align:center;\">🔐 Code final — Le carnet d'Archimède</h2>\n",
    "</div>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "??? question Combine tes 6 chiffres\n",
    "\n",
    "Concatène les 6 chiffres notés (énigmes 1 à 6) pour former un code à 6 chiffres.\n",
    "\n",
    "Exemple : 4, 8, 6, 4, 0, 5 → code = `\"486405\"`.\n",
    "\n",
    "Appelle `verif_final(\"code\")` pour révéler la citation.\n",
    "\n",
    "???\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {},
   "execution_count": null,
   "outputs": [],
   "source": [
    "# ── Code final ────────────────────────────────────────────────────────────────\n",
    "chiffre_1 = ...\n",
    "chiffre_2 = ...\n",
    "chiffre_3 = ...\n",
    "chiffre_4 = ...\n",
    "chiffre_5 = ...\n",
    "chiffre_6 = ...\n",
    "\n",
    "code = f\"{chiffre_1}{chiffre_2}{chiffre_3}{chiffre_4}{chiffre_5}{chiffre_6}\"\n",
    "print(f\"Code proposé : {code}\")\n",
    "\n",
    "verif_final(code)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "\n",
    "<div style=\"text-align:center;color:#666;font-size:0.9em;margin-top:1em;\">\n",
    "📚 Tous les cours de Première Spé sur <a href=\"https://mathamine.fr/cours/premiere/\">mathamine.fr/cours/premiere</a><br>\n",
    "🎲 Tes données sont personnalisées via <code>user_seed()</code> — chaque élève a sa propre combinaison !\n",
    "</div>\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}