diff --git a/Notebooks/02_Boucle_for.ipynb b/Notebooks/02_Boucle_for.ipynb
index 7bcf54fc5c8c7b01df7c91a93c724a14c97abb74..ed85bdfbbac0ba83c268c25187d2dc4414c3feef 100755
--- a/Notebooks/02_Boucle_for.ipynb
+++ b/Notebooks/02_Boucle_for.ipynb
@@ -1 +1,839 @@
-{"cells":[{"metadata":{},"cell_type":"markdown","source":"<div class = \"alert  alert-danger\"> \n    \nAttention: **veillez à bien sauvegarder votre travail** dans le bon dossier du disque réseau (dossier document) avec le bon nom (et l'extension *.ipynb*), **sinon toutes les modifications seront perdues!**\n\nPour reprendre votre travail, il suffit d'ouvrir le fichier .ipynb en cliquant sur *Fichier ouvrir*\n</div>"},{"metadata":{},"cell_type":"markdown","source":"Rappel de quelques fonction de Turtle avec des exemples qui pourront vous servir\n\n| Fonction |Exemple|Commentaire|\n|:-------- |:------|:----------|\n|forward(x)|forward(150)|Trace un trait de 150 points|\n|backward(x)|backward(150)|Trace un trait “à reculons” de 150 points|\n|left(n)|left(60)|Tourne sur place la tortue de 60° à gauche|\n|right(n)|right(60)|Tourne sur place la tortue de 60° à droite|\n|width(x)|width(5)|Change l’épaisseur à 5 points|\n|color(\"c\")|color(\"yellow\")|Change la couleur du trait (mais aucun trait n’est tracé à ce moment). Notez les guillemets !|\n|penup()|penup()|Lève la tortue (permet de se déplacer sans dessiner)|\n|pendown()|pendown()|Baisse le stylo|"},{"metadata":{},"cell_type":"markdown","source":"# 2. Répéter - `for`\n\nDans ce chapitre, nous découvrons comment utiliser une boucle `for` pour répéter un bloc d'instructions un certain nombre de fois. Nous allons voir que :\n\n* la boucle `for` permet de répéter des instructions,\n* la structure `for _ in range(n):` permet de répéter un bloc un nombre `n` fois,\n* les instructions, qui sont répétées, sont celles qui suivent le `:` et qui sont indentées (décalées à droite). En effet, le langage python, n'a pas de end for pour indiquer la fin de la boucle. Le langage utilise l'indentation pour signifier qu'une suite d'instruction fait partie de la boucle.\n\n"},{"metadata":{},"cell_type":"markdown","source":"<h3 style=\"color:chocolate;background-color:papayawhip;\" > <i class=\"fa fa-question\" aria-hidden=\"true\"> </i> &nbsp; Quizz </h3> \n \n```\nUne boucle informatique est\n\nA) une instruction\nB) un passage ondulé\nC) une section de code répétée\nD) une protection thermique\nE) un cercle dessiné par \"Turtle\"\n```"},{"metadata":{},"cell_type":"markdown","source":"<details>\n<summary style=\"border-left:3px solid #3c763d; border-radius:2pt; width:100%; color:#3c763d; padding:6px; background-color: #dff0d8\"> \nRéponse\n</summary>  \n\n<div style=\"border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8\">\n\nC) une section de code répétée\n</div>\n</details>"},{"metadata":{},"cell_type":"markdown","source":"## 2.1 La répétition\n\nRevenons vers un exemple simple : dessiner un carré.\n\nSi nous regardons le code de près, nous pouvons voir que nous répétons 4 fois les mêmes deux instructions `forward()` et `left()`.\n\n"},{"metadata":{"trusted":false},"cell_type":"code","source":"from turtle import *\n\nforward(100)\nleft(90)\nforward(100)\nleft(90)\nforward(100)\nleft(90)\nforward(100)\nleft(90)\n\ndone()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Ne serait-ce pas pratique de pouvoir dire à la tortue de répéter ces instructions 4 fois ?\nCeci est possible avec une boucle `for`. \n\n"},{"metadata":{},"cell_type":"markdown","source":"<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 1 </h3>Transformez le rectangle en triangle.\n\n"},{"metadata":{"trusted":false},"cell_type":"code","source":"from turtle import *\n\nfor _ in range(4):\n    forward(100)\n    left(90)\n\ndone()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<div class=\"alert alert-block alert-warning\"><b>A savoir:</b> \n    \nPour distinguer les instructions qui seront répétées de celles qui ne le seront pas, on indente le code, c'est-à-dire que toutes les instructions qui suivent le `for` qui commencent par un espacement seront répétées le nombre de fois explicité dans le `range`. Après les répétitions le programme exécutera la permière instruction qui n'est pas indentée.\n\nNB: Vous être libre de choisir l'espace d'indentation mais soyez rigoureux avec votre choix et garder la même valeur pour tout votre programme. Nous utilisons en général un espace de 4 caractères pour rendre les codes plus lisible.\n</div>"},{"metadata":{},"cell_type":"markdown","source":"<h3 style=\"color:chocolate;background-color:papayawhip;\" > <i class=\"fa fa-question\" aria-hidden=\"true\"> </i> &nbsp; Quizz </h3> \n \n```\n\nUne indentation de texte est\n\nA) un décalage vers la gauche\nB) un décalage vers la droite\nC) une mise en paragraphe\nD) une mise en sous-section\n```"},{"metadata":{},"cell_type":"markdown","source":"<details>\n<summary style=\"border-left:3px solid #3c763d; border-radius:2pt; width:100%; color:#3c763d; padding:6px; background-color: #dff0d8\"> \nRéponse\n</summary>  \n\n<div style=\"border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8\">\n\nB) un décalage vers la droite\n</div>\n</details>"},{"metadata":{},"cell_type":"markdown","source":"<h3 style=\"color:chocolate;background-color:papayawhip;\" > <i class=\"fa fa-question\" aria-hidden=\"true\"> </i> &nbsp; Quizz </h3> \n \n```\nAvez-vous compris la notion d'indentation ?\nDans l'exemple ci-dessous (juste après la question/réponses) combien de fois le texte \"Au revoir\" va être affiché ?\nEssayer de répondre puis exécuter le programme qui suit pour vérifier votre réponse\n\nA) 0 fois\nB) 1 fois\nC) 5 fois\nD) le code fera une une erreur à cause de l'indentation dans la boucle for\n```"},{"metadata":{"trusted":false},"cell_type":"code","source":"# Dans cette exemple l'instruction B ne fait pas partie de la boucle.\n\nfor _ in range(5):\n    print(\"Hello\")\n    print(\"----------\")\nprint(\"Au revoir\")","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## 2.3 Faire des figures avec les boucles\n\n### Polygone régulier\nAvec une boucle `for`, nous pouvons simplifier le dessin des formes symétriques."},{"metadata":{},"cell_type":"markdown","source":"<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 2 </h3>\n\n1. Utiliser une boucle pour réécrire le programme ci-dessous \n2. Quelle est la figure dessinée ?"},{"metadata":{"trusted":false,"scrolled":true},"cell_type":"code","source":"from turtle import *\n\nforward(100)\nleft(60)\nforward(100)\nleft(60)\nforward(100)\nleft(60)\nforward(100)\nleft(60)\nforward(100)\nleft(60)\nforward(100)\nleft(60)\n\ndone()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 3 </h3>\n\nCompléter le programme ci-dessous pour tracer un octogone. Un octogone est un polygone à huit sommets, donc huit côtés."},{"metadata":{"trusted":false},"cell_type":"code","source":"from turtle import *\n\nforward(100)\nleft(45)\n\n# à compléter\n\ndone()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Escalier\n\nPour dessiner un escalier, il faut simplement répéter dans une boucle le dessin pour une seule marche.\n\n"},{"metadata":{"trusted":false},"cell_type":"code","source":"from turtle import *\n\nfor _ in range(5):\n    forward(20)\n    left(90)\n    forward(20)\n    right(90)\n\nforward(100)\n\ndone()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Pour dessiner des dents de scie, il faut simplement répéter dans une boucle le dessin pour une seule dent.\n\n"},{"metadata":{},"cell_type":"markdown","source":"<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 4 </h3>\n\nDessinez une usine avec un toit en dents de scie.\n![Image de losange](https://githepia.hesge.ch/info_sismondi/exercices-1ere/-/raw/main/Notebooks/imgs_chap2/Toit_dent_de_scie.svg)"},{"metadata":{"trusted":false},"cell_type":"code","source":"from turtle import *\n\nfor _ in range(4):\n    left(45)\n    forward(71)\n    right(135)\n    forward(50)\n    left(90)\n\nforward(80)\n\ndone()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Éventail\n\nQue se passe-t-il si nous dessinons une ligne (`forward()`/`backward()`) et tournons chaque fois d'un petit angle ?\nC'est un peu comme un éventail qui s'ouvre.\n\n"},{"metadata":{},"cell_type":"markdown","source":"<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 5 </h3>\n\nDoublez l'angle de rotation dans `left()`."},{"metadata":{"trusted":false},"cell_type":"code","source":"from turtle import *\n\nfor _ in range(18):\n    forward(100)\n    backward(100)\n    left(10)\n\ndone()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Que se passe-t-il si nous avançons plus que nous reculons ?\nUne toute petite modification du programme peut faire une chouette différence."},{"metadata":{},"cell_type":"markdown","source":"<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 6 </h3>\n\nModifiez les valeurs dans `forward()` et `backward()`.\n\n"},{"metadata":{"trusted":false},"cell_type":"code","source":"from turtle import *\n\nfor _ in range(18):\n    forward(100)\n    backward(90)\n    left(20)\n\ndone()\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Étoile\n\nVoici une autre façon de toujours avancer, mais en tournant chaque fois d'un angle un peu plus petit que 180°.\nEssayons !\n\n"},{"metadata":{},"cell_type":"markdown","source":"<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 7 </h3>\n\nChangez le nombre de pics de l'étoile."},{"metadata":{"trusted":false},"cell_type":"code","source":"from turtle import *\n\nfor _ in range(9):\n    forward(200)\n    left(160)\n\ndone()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Cercle\nRappel: La fonction circle(R, A) permet de dessiner un arc de cercle de rayon R et d'angle A.\n\nExemple: circle(100, 360) dessine un cercle de rayon 100.\n\n"},{"metadata":{},"cell_type":"markdown","source":"<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 8 </h3>\n\nCompléter la boucle for pour dessiner trois cercles rouge de rayon 50 coller les uns aux autres comme sur le dessin:\n![Image de losange](https://githepia.hesge.ch/info_sismondi/exercices-1ere/-/raw/main/Notebooks/imgs_chap2/3cercles.png)"},{"metadata":{"trusted":false},"cell_type":"code","source":"from turtle import *\n\ncolor('red')\nfor _ in range(3):\n    \n\n\ndone()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## 2.4 Explorer \"La tortue\"\n\nVoici quelques fonctions de la tortue.\n\n"},{"metadata":{},"cell_type":"markdown","source":"### Estampe\n\nVous pouvez laisser une impression de la tortue à sa position actuelle avec la fonction `stamp()`.\n\n"},{"metadata":{"trusted":false},"cell_type":"code","source":"from turtle import *\nshape('turtle')\n\nfor _ in range(6):\n    forward(100)\n    left(60)\n    stamp()\n\ndone()\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Forme\n\nVous pouvez changer la forme de votre tortue avec la fonction `shape()`.\n\n"},{"metadata":{},"cell_type":"markdown","source":"<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 9 </h3>Essayez les formes `'triangle'` et `'arrow'`.\n\n"},{"metadata":{"trusted":false},"cell_type":"code","source":"from turtle import *\nbackward(200)\n\nstamp()\nshape('turtle')\nforward(100)\n\nstamp()\nshape('circle')\nforward(100)\n\nstamp()\nshape('square')\nforward(100)\n\ndone()\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## 2.5 Les erreurs\n\nIl est important de bien lire et comprendre les messages d'erreur.\nDans cette section, vous allez découvrir les différentes catégories d'erreur et comment les corriger.\n\n"},{"metadata":{},"cell_type":"markdown","source":"### ImportError\n\nCette erreur survient lorsque vous essayez d'importer un module qui n'existe pas.\n\n"},{"metadata":{},"cell_type":"markdown","source":"<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 10 </h3>Corrigez l'erreur d'importation.\n\n"},{"metadata":{"trusted":false},"cell_type":"code","source":"from turtl import *\n\nfor i in range(3):\n    forward(100)\n    left(120)\n\ndone()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### <font color='red'>SyntaxError</font>\n\nCette erreur survient lorsque vous écrivez mal un mot-clé, ou si vous oubliez une ponctuation. Dans ce cas, le mot-clé mal écrit n'est pas reconnu et il n'est pas colorié correctement dans votre code.\n\n"},{"metadata":{},"cell_type":"markdown","source":"<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 11 </h3>Corrigez les trois erreurs de syntaxe et remarquez les éventuelles différences de stylisation.\n\n"},{"metadata":{"trusted":false},"cell_type":"code","source":"fro turtle import *\n\nfore i in range(3)\n    forward(100)\n    left(120)\n\ndone()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### <font color='red'>NameError</font>\n\nCette erreur survient lorsque vous écrivez mal le nom d'une variable ou fonction.\n\n"},{"metadata":{},"cell_type":"markdown","source":"<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 12 </h3>Corrigez les trois erreurs de nom.\n\n"},{"metadata":{"trusted":false},"cell_type":"code","source":"from turtle import *\n\nfor _ in range(n):\n    forwarde(100)\n    lefft(120)\n\ndone()\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### <font color='red'>TypeError</font>\n\nCette erreur survient lorsque vous ne mettez pas le nombre d'arguments corrects pour une fonction.\n\n"},{"metadata":{},"cell_type":"markdown","source":"<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 13 </h3>Corrigez les trois erreurs de type.\n\n"},{"metadata":{"trusted":false},"cell_type":"code","source":"from turtle import *\n\nfor _ in range():\n    forward()\n    left(100, 120)\n\ndone()\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Exercices d'entraînement "},{"metadata":{},"cell_type":"markdown","source":"<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 14 </h3>\n\nRéécrire le code suivant en remplaçant par une boucle `for` partout où c’est possible.\n\n"},{"metadata":{"trusted":false},"cell_type":"code","source":"from turtle import *\n\nforward(20)\nright(40)\nforward(20)\nright(40)\nforward(20)\nright(40)\nforward(20)\nright(40)\nforward(-40)\nleft(30)\nforward(-40)\nleft(30)\nforward(20)\nright(40)\nforward(20)\nright(40)\nforward(-40)\nleft(30)\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 15 </h3>\n\nUtiliser votre identifiant EEL et le mot de passe *Sismondi2024* pour faire les exercices de la **série B** de la plateforme [AlgoPython](https://www.algopython.fr/login). [![A mushroom-head robot](https://www.algopython.fr/css/img/navbar-logo.png 'AlgoPython')](https://www.algopython.fr/login)\n\n\n"},{"metadata":{},"cell_type":"markdown","source":"---\n\n#### Remarque générale\n\nCe document est une adaptation d'un ressource pédagogique tiré du catalogue modulo https://modulo-info.ch/. Il est sous license Creative Commons [BY-NC-SA](https://creativecommons.org/licenses/?lang=fr)\n![Licence Creative Commons](https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png)\n"}],"metadata":{"kernelspec":{"display_name":"Python 3 (ipykernel)","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.12.3"}},"nbformat":4,"nbformat_minor":2}
\ No newline at end of file
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<div class = \"alert  alert-danger\"> \n",
+    "    \n",
+    "Attention: **veillez à bien sauvegarder votre travail** dans le bon dossier du disque réseau (dossier document) avec le bon nom (et l'extension *.ipynb*), **sinon toutes les modifications seront perdues!**\n",
+    "\n",
+    "Pour reprendre votre travail, il suffit d'ouvrir le fichier .ipynb en cliquant sur *Fichier ouvrir*\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Rappel de quelques fonction de Turtle avec des exemples qui pourront vous servir\n",
+    "\n",
+    "| Fonction |Exemple|Commentaire|\n",
+    "|:-------- |:------|:----------|\n",
+    "|forward(x)|forward(150)|Trace un trait de 150 points|\n",
+    "|backward(x)|backward(150)|Trace un trait “à reculons” de 150 points|\n",
+    "|left(n)|left(60)|Tourne sur place la tortue de 60° à gauche|\n",
+    "|right(n)|right(60)|Tourne sur place la tortue de 60° à droite|\n",
+    "|width(x)|width(5)|Change l’épaisseur à 5 points|\n",
+    "|color(\"c\")|color(\"yellow\")|Change la couleur du trait (mais aucun trait n’est tracé à ce moment). Notez les guillemets !|\n",
+    "|penup()|penup()|Lève la tortue (permet de se déplacer sans dessiner)|\n",
+    "|pendown()|pendown()|Baisse le stylo|"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# 2. Répéter - `for`\n",
+    "\n",
+    "Dans ce chapitre, nous découvrons comment utiliser une boucle `for` pour répéter un bloc d'instructions un certain nombre de fois. Nous allons voir que :\n",
+    "\n",
+    "* la boucle `for` permet de répéter des instructions,\n",
+    "* la structure `for _ in range(n):` permet de répéter un bloc un nombre `n` fois,\n",
+    "* les instructions, qui sont répétées, sont celles qui suivent le `:` et qui sont indentées (décalées à droite). En effet, le langage python, n'a pas de end for pour indiquer la fin de la boucle. Le langage utilise l'indentation pour signifier qu'une suite d'instruction fait partie de la boucle.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 style=\"color:chocolate;background-color:papayawhip;\" > <i class=\"fa fa-question\" aria-hidden=\"true\"> </i> &nbsp; Quizz </h3> \n",
+    " \n",
+    "```\n",
+    "Une boucle informatique est\n",
+    "\n",
+    "A) une instruction\n",
+    "B) un passage ondulé\n",
+    "C) une section de code répétée\n",
+    "D) une protection thermique\n",
+    "E) un cercle dessiné par \"Turtle\"\n",
+    "```"
+   ]
+  },
+  {
+   "cell_type": "raw",
+   "metadata": {},
+   "source": [
+    "Ta réponse : "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<details>\n",
+    "<summary style=\"border-left:3px solid #3c763d; border-radius:2pt; width:100%; color:#3c763d; padding:6px; background-color: #dff0d8\"> \n",
+    "Réponse (Cliquer pour dévoiler)\n",
+    "</summary>  \n",
+    "\n",
+    "<div style=\"border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8\">\n",
+    "\n",
+    "C) une section de code répétée\n",
+    "</div>\n",
+    "</details>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## 2.1 La répétition\n",
+    "\n",
+    "Revenons vers un exemple simple : dessiner un carré.\n",
+    "\n",
+    "Si nous regardons le code de près, nous pouvons voir que nous répétons 4 fois les mêmes deux instructions `forward()` et `left()`.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from turtle import *\n",
+    "\n",
+    "forward(100)\n",
+    "left(90)\n",
+    "forward(100)\n",
+    "left(90)\n",
+    "forward(100)\n",
+    "left(90)\n",
+    "forward(100)\n",
+    "left(90)\n",
+    "\n",
+    "done()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Ne serait-ce pas pratique de pouvoir dire à la tortue de répéter ces instructions 4 fois ?\n",
+    "Ceci est possible avec une boucle `for`. \n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 1 </h3>Transformez le rectangle en triangle.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from turtle import *\n",
+    "\n",
+    "for _ in range(4):\n",
+    "    forward(100)\n",
+    "    left(90)\n",
+    "\n",
+    "done()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<div class=\"alert alert-block alert-warning\"><b>A savoir:</b> \n",
+    "    \n",
+    "Pour distinguer les instructions qui seront répétées de celles qui ne le seront pas, on  <b>indente</b>  le code, c'est-à-dire que toutes les instructions qui suivent le `for` qui commencent par un espacement seront répétées le nombre de fois explicité dans le `range`. Après les répétitions le programme exécutera la permière instruction qui n'est pas indentée.\n",
+    "\n",
+    "NB: Vous être libre de choisir l'espace d'indentation mais soyez rigoureux avec votre choix et garder la même valeur pour tout votre programme. Nous utilisons en général un espace de 4 caractères ou la <b>touche Tabulation</b> pour rendre les codes plus lisibles.\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 style=\"color:chocolate;background-color:papayawhip;\" > <i class=\"fa fa-question\" aria-hidden=\"true\"> </i> &nbsp; Quizz </h3> \n",
+    " \n",
+    "```\n",
+    "\n",
+    "Une indentation de texte est\n",
+    "\n",
+    "A) un décalage vers la gauche\n",
+    "B) un décalage vers la droite\n",
+    "C) une mise en paragraphe\n",
+    "D) une mise en sous-section\n",
+    "```"
+   ]
+  },
+  {
+   "cell_type": "raw",
+   "metadata": {},
+   "source": [
+    "Ta réponse : "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<details>\n",
+    "<summary style=\"border-left:3px solid #3c763d; border-radius:2pt; width:100%; color:#3c763d; padding:6px; background-color: #dff0d8\"> \n",
+    "Réponse (Cliquer pour dévoiler)\n",
+    "</summary>  \n",
+    "\n",
+    "<div style=\"border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8\">\n",
+    "\n",
+    "B) un décalage vers la droite\n",
+    "</div>\n",
+    "</details>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 style=\"color:chocolate;background-color:papayawhip;\" > <i class=\"fa fa-question\" aria-hidden=\"true\"> </i> &nbsp; Quizz </h3> \n",
+    " \n",
+    "```\n",
+    "Avez-vous compris la notion d'indentation ?\n",
+    "Dans l'exemple ci-dessous (juste après la question/réponses) combien de fois le texte \"Au revoir\" va être affiché ?\n",
+    "Essayer de répondre puis exécuter le programme qui suit pour vérifier votre réponse\n",
+    "\n",
+    "A) 0 fois\n",
+    "B) 1 fois\n",
+    "C) 5 fois\n",
+    "D) le code fera une une erreur à cause de l'indentation dans la boucle for\n",
+    "```"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Dans cette exemple l'instruction B ne fait pas partie de la boucle.\n",
+    "\n",
+    "for _ in range(5):\n",
+    "    print(\"Hello\")\n",
+    "    print(\"----------\")\n",
+    "print(\"Au revoir\")"
+   ]
+  },
+  {
+   "cell_type": "raw",
+   "metadata": {},
+   "source": [
+    "Ta réponse : "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<details>\n",
+    "<summary style=\"border-left:3px solid #3c763d; border-radius:2pt; width:100%; color:#3c763d; padding:6px; background-color: #dff0d8\"> \n",
+    "Réponse (Cliquer pour dévoiler)\n",
+    "</summary>  \n",
+    "\n",
+    "<div style=\"border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8\">\n",
+    "\n",
+    "B) 1 fois\n",
+    "</div>\n",
+    "</details>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## 2.3 Faire des figures avec les boucles\n",
+    "\n",
+    "### Polygone régulier\n",
+    "Avec une boucle `for`, nous pouvons simplifier le dessin des formes symétriques."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 2 </h3>\n",
+    "\n",
+    "1. Utiliser une boucle pour réécrire le programme ci-dessous \n",
+    "2. Quelle est la figure dessinée ?"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [],
+   "source": [
+    "from turtle import *\n",
+    "\n",
+    "forward(100)\n",
+    "left(60)\n",
+    "forward(100)\n",
+    "left(60)\n",
+    "forward(100)\n",
+    "left(60)\n",
+    "forward(100)\n",
+    "left(60)\n",
+    "forward(100)\n",
+    "left(60)\n",
+    "forward(100)\n",
+    "left(60)\n",
+    "\n",
+    "done()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 3 </h3>\n",
+    "\n",
+    "Compléter le programme ci-dessous pour tracer un octogone. Un octogone est un polygone à huit sommets, donc huit côtés."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from turtle import *\n",
+    "\n",
+    "forward(100)\n",
+    "left(45)\n",
+    "\n",
+    "# à compléter\n",
+    "\n",
+    "done()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Escalier\n",
+    "\n",
+    "Pour dessiner un escalier, il faut simplement répéter dans une boucle le dessin pour une seule marche.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from turtle import *\n",
+    "\n",
+    "for _ in range(5):\n",
+    "    forward(20)\n",
+    "    left(90)\n",
+    "    forward(20)\n",
+    "    right(90)\n",
+    "\n",
+    "forward(100)\n",
+    "\n",
+    "done()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Pour dessiner des dents de scie, il faut simplement répéter dans une boucle le dessin pour une seule dent.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 4 </h3>\n",
+    "\n",
+    "Dessinez une usine avec un toit en dents de scie.\n",
+    "![Image de losange](https://githepia.hesge.ch/info_sismondi/exercices-1ere/-/raw/main/Notebooks/imgs_chap2/Toit_dent_de_scie.svg)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from turtle import *\n",
+    "\n",
+    "for _ in range(4):\n",
+    "    left(45)\n",
+    "    forward(71)\n",
+    "    right(135)\n",
+    "    forward(50)\n",
+    "    left(90)\n",
+    "\n",
+    "forward(80)\n",
+    "\n",
+    "done()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Éventail\n",
+    "\n",
+    "Que se passe-t-il si nous dessinons une ligne (`forward()`/`backward()`) et tournons chaque fois d'un petit angle ?\n",
+    "C'est un peu comme un éventail qui s'ouvre.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 5 </h3>\n",
+    "\n",
+    "Doublez l'angle de rotation dans `left()`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from turtle import *\n",
+    "\n",
+    "for _ in range(18):\n",
+    "    forward(100)\n",
+    "    backward(100)\n",
+    "    left(10)\n",
+    "\n",
+    "done()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 6 </h3>\n",
+    "\n",
+    "Que se passe-t-il si nous avançons plus que nous reculons ?\n",
+    "Une toute petite modification du programme peut faire une chouette différence.\n",
+    "\n",
+    "Modifiez les valeurs dans `forward()` et `backward()`.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from turtle import *\n",
+    "\n",
+    "for _ in range(18):\n",
+    "    forward(100)\n",
+    "    backward(90)\n",
+    "    left(20)\n",
+    "\n",
+    "done()\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Étoile\n",
+    "\n",
+    "Voici une autre façon de toujours avancer, mais en tournant chaque fois d'un angle un peu plus petit que 180°.\n",
+    "Essayons !\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 7 </h3>\n",
+    "\n",
+    "Essayez de changer le nombre de pics de l'étoile."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from turtle import *\n",
+    "\n",
+    "for _ in range(9):\n",
+    "    forward(200)\n",
+    "    left(160)\n",
+    "\n",
+    "done()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Cercle\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 8 </h3>\n",
+    "\n",
+    "Compléter la boucle for pour dessiner trois cercles rouge de rayon 50 collés les uns aux autres comme sur le dessin:\n",
+    "![Image de losange](https://githepia.hesge.ch/info_sismondi/exercices-1ere/-/raw/main/Notebooks/imgs_chap2/3cercles.png)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##### Rappel: \n",
+    "\n",
+    "La fonction circle(R, A) permet de dessiner un arc de cercle de rayon R et d'angle A.\n",
+    "\n",
+    "Exemple: circle(100, 360) dessine un cercle de rayon 100.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from turtle import *\n",
+    "\n",
+    "color('red')\n",
+    "for _ in range(3):\n",
+    "    \n",
+    "\n",
+    "\n",
+    "done()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## 2.4 Explorer \"La tortue\"\n",
+    "\n",
+    "Voici quelques fonctions de la tortue.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Estampe\n",
+    "\n",
+    "Vous pouvez laisser une impression de la tortue à sa position actuelle avec la fonction `stamp()`.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from turtle import *\n",
+    "shape('turtle')\n",
+    "\n",
+    "for _ in range(6):\n",
+    "    forward(100)\n",
+    "    left(60)\n",
+    "    stamp()\n",
+    "\n",
+    "done()\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Forme\n",
+    "\n",
+    "Vous pouvez changer la forme de votre tortue avec la fonction `shape()`.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 9 </h3>Essayez les formes 'triangle', 'arrow', 'circle' et 'square'.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from turtle import *\n",
+    "shape('turtle')\n",
+    "\n",
+    "for _ in range(6):\n",
+    "    forward(100)\n",
+    "    left(60)\n",
+    "    stamp()\n",
+    "\n",
+    "done()\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## 2.5 Les erreurs\n",
+    "\n",
+    "Il est important de bien lire et comprendre les messages d'erreur.\n",
+    "Dans cette section, vous allez découvrir les différentes catégories d'erreur et comment les corriger.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### ImportError\n",
+    "\n",
+    "Cette erreur survient lorsque vous essayez d'importer un module qui n'existe pas.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 10 </h3>Corrigez l'erreur d'importation.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from turtl import *\n",
+    "\n",
+    "for i in range(3):\n",
+    "    forward(100)\n",
+    "    left(120)\n",
+    "\n",
+    "done()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### <font color='red'>SyntaxError</font>\n",
+    "\n",
+    "Cette erreur survient lorsque vous écrivez mal un mot-clé, ou si vous oubliez une ponctuation. Dans ce cas, le mot-clé mal écrit n'est pas reconnu et il n'est pas colorié correctement dans votre code.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 11 </h3>Corrigez les trois erreurs de syntaxe et remarquez les éventuelles différences de stylisation.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "fro turtle import *\n",
+    "\n",
+    "fore i in range(3)\n",
+    "    forward(100)\n",
+    "    left(120)\n",
+    "\n",
+    "done()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### <font color='red'>NameError</font>\n",
+    "\n",
+    "Cette erreur survient lorsque vous écrivez mal le nom d'une variable ou fonction.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 12 </h3>Corrigez les trois erreurs de nom.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from turtle import *\n",
+    "\n",
+    "for _ in range(n):\n",
+    "    forwarde(100)\n",
+    "    lefft(120)\n",
+    "\n",
+    "done()\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### <font color='red'>TypeError</font>\n",
+    "\n",
+    "Cette erreur survient lorsque vous ne mettez pas le nombre d'arguments corrects pour une fonction.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 13 </h3>Corrigez les trois erreurs de type.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from turtle import *\n",
+    "\n",
+    "for _ in range():\n",
+    "    forward()\n",
+    "    left(100, 120)\n",
+    "\n",
+    "done()\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Exercices d'entraînement "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 14 </h3>\n",
+    "\n",
+    "Réécrire le code suivant en remplaçant par une boucle `for` partout où c’est possible.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from turtle import *\n",
+    "\n",
+    "forward(20)\n",
+    "right(40)\n",
+    "forward(20)\n",
+    "right(40)\n",
+    "forward(20)\n",
+    "right(40)\n",
+    "forward(20)\n",
+    "right(40)\n",
+    "forward(-40)\n",
+    "left(30)\n",
+    "forward(-40)\n",
+    "left(30)\n",
+    "forward(20)\n",
+    "right(40)\n",
+    "forward(20)\n",
+    "right(40)\n",
+    "forward(-40)\n",
+    "left(30)\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 15 </h3>\n",
+    "\n",
+    "Utiliser votre identifiant EEL et le mot de passe *Sismondi2024* pour faire les exercices de la **série B** de la plateforme [AlgoPython](https://www.algopython.fr/login). [![A mushroom-head robot](https://www.algopython.fr/css/img/navbar-logo.png 'AlgoPython')](https://www.algopython.fr/login)\n",
+    "\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "---\n",
+    "\n",
+    "#### Remarque générale\n",
+    "\n",
+    "Ce document est une adaptation d'un ressource pédagogique tiré du catalogue modulo https://modulo-info.ch/. Il est sous license Creative Commons [BY-NC-SA](https://creativecommons.org/licenses/?lang=fr)\n",
+    "![Licence Creative Commons](https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png)\n"
+   ]Update 
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.11.2"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}