From 9a3722091b28af32c4ac2154e9081160e89f5e27 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20M=2E=20Thi=C3=A9ry?= <nthiery@users.sf.net>
Date: Mon, 11 Sep 2023 22:13:40 +0200
Subject: [PATCH] =?UTF-8?q?Pr=C3=A9paration?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .gradebook.db         | Bin 200704 -> 212992 bytes
 1a.md                 |   4 +
 2a.md                 |  14 ++-
 TD.md                 |   4 +
 counting-the-rocks.md |  16 +++
 cours.md              | 253 ++++++++++++++++++++++++------------------
 index.md              |  43 +++++++
 this-is-crazy.md      |  57 +++++++++-
 8 files changed, 278 insertions(+), 113 deletions(-)

diff --git a/.gradebook.db b/.gradebook.db
index e551af62008ae036385296e36efc90e77e7c50e5..fcd05c16a9a7bffe2d9215ea4101bbfd1335f8d1 100644
GIT binary patch
delta 8520
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

delta 6321
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

diff --git a/1a.md b/1a.md
index 3d51168..933b98a 100644
--- a/1a.md
+++ b/1a.md
@@ -77,3 +77,7 @@ nbgrader:
 CHECK( a_gagne() )
 ```
 
+```{code-cell}
+
+```
+
diff --git a/2a.md b/2a.md
index 79bb20e..2ae720d 100644
--- a/2a.md
+++ b/2a.md
@@ -1,5 +1,6 @@
 ---
 jupytext:
+  notebook_metadata_filter: semantic
   text_representation:
     extension: .md
     format_name: myst
@@ -9,13 +10,22 @@ kernelspec:
   display_name: C++17
   language: C++17
   name: xcpp17
+semantic:
+  programming_language:
+    wikidata: Q2407
+  subjects:
+  - smglom:computing?loops
+  - wikidata: Q8868615
+  - didactic_role: initiation
 ---
 
-+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "b3c7b6b3dbbfe091d64d11f2af7d0074", "grade": false, "grade_id": "cell-fc82dd31f240c228", "locked": true, "schema_version": 3, "solution": false, "task": false}}
++++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "2e4b98b62671ffb9894c02229684a076", "grade": false, "grade_id": "cell-fc82dd31f240c228", "locked": true, "schema_version": 3, "solution": false, "task": false}}
 
 # Laby, niveau 2a: Que c'est loin ...
 
-Simple pas vrai ? Mais bien répétitif, non? Le but du jeu ici est d'écrire un programme court en utilisant une boucle “while” qui dit à la fourmi d'avancer tant que la case devant lui est vide.
+Affichez le labyrinthe suivant. Simple pas vrai ? Mais bien répétitif, non?
+
+Le but du jeu ici est d'écrire un programme court en utilisant une boucle `while` (tant que ... faire ...) qui dit à la fourmi d'avancer tant que la case devant lui est vide. On vous a fourni un squelette à compléter.
 
 [Niveau précédent](1c.md), <!--[Liste des niveaux](index.md#ListeDesNiveaux), !-->[Niveau suivant](2b.md), [Documentation](0b.md#Documentation)
 
diff --git a/TD.md b/TD.md
index c74f692..3528369 100644
--- a/TD.md
+++ b/TD.md
@@ -13,6 +13,10 @@ jupytext:
     format_name: myst
     format_version: 0.13
     jupytext_version: 1.15.1
+kernelspec:
+  display_name: Python 3 (ipykernel)
+  language: python
+  name: python3
 ---
 
 # TD 1: Notion d'algorithme
diff --git a/counting-the-rocks.md b/counting-the-rocks.md
index 3c1f669..014eb96 100644
--- a/counting-the-rocks.md
+++ b/counting-the-rocks.md
@@ -36,6 +36,22 @@ nbgrader:
 LABY("counting-the-rocks")
 ```
 
+```{code-cell}
+---
+deletable: false
+nbgrader:
+  cell_type: code
+  checksum: 73e4e8dd92f614b3b9e861393d196db0
+  grade: false
+  grade_id: cell-dc0eba466ac0f399
+  locked: false
+  schema_version: 3
+  solution: true
+  task: false
+---
+// REMPLACER CETTE LIGNE PAR VOTRE RÉPONSE
+```
+
 ```{code-cell}
 ---
 deletable: false
diff --git a/cours.md b/cours.md
index 14364b4..6290e41 100644
--- a/cours.md
+++ b/cours.md
@@ -7,12 +7,12 @@ jupytext:
     format_version: 0.13
     jupytext_version: 1.15.1
 kernelspec:
-  display_name: Python 3 (ipykernel)
-  language: python
-  name: python3
+  display_name: C++17
+  language: C++17
+  name: xcpp17
 rise:
   auto_select: first
-  autolaunch: true
+  autolaunch: false
   centered: false
   controls: false
   enable_chalkboard: true
@@ -35,24 +35,28 @@ Nicolas Thiéry
 
 <http://Nicolas.Thiery.name/Enseignement/Info111>
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
++++ {"slideshow": {"slide_type": "slide"}}
 
 ## Pourquoi enseigner l'informatique?
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 :::{admonition} Évidence : l'ordinateur est partout!
 
 -   Combien d'ordinateurs dans la salle?
 -   Combien d'ordinateurs possédez vous?
--   Le mot «assisté par ordinateur» a disparu
+-   Le mot « assisté par ordinateur » a disparu
 -   Usage constant des ordinateurs, pour le travail comme le reste
 
 :::
 
 +++ {"slideshow": {"slide_type": "fragment"}}
 
-**Évidence : tous les jeunes connaissent déjà l'informatique!**
+:::{admonition} Évidence : tous les jeunes connaissent déjà l'informatique!
+
+.
+
+:::
 
 +++ {"slideshow": {"slide_type": "fragment"}}
 
@@ -96,27 +100,31 @@ Et pourtant, loin d'être Einstein ou Alonso, ...
 | Conduite          | Réparation, Conception      | Physique           |
 | Consommation      | Cuisine                     | Chimie, Biologie   |
 | Utilisation       | Programmation, ...          | Informatique       |
+
 :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
++++ {"slideshow": {"slide_type": "slide"}}
 
 ### Qu'est-ce qu'on apprend à l'école?
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 -   Principalement **la science**
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 -   Et il y a des raisons profondes pour cela
 
-	<img src="media/Vinci.jpg" height="20ex" />
+    :::{image} media/Vinci.jpg
+    :width: 60%
+    :alt: "Ceux qui sont férus de pratique sans posséder la science sont comme le pilote qui s'embarquerait sans timon ni boussole et ne saurait jamais vraiment où il va -- Léonard de Vinci"
+    :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 -   Et des pressions pour que ce ne soit pas le cas
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 <!-- TODO IMG -->
 
@@ -136,89 +144,94 @@ Une conférence de [François Élie](http://fr.wikipedia.org/wiki/Fran%C3%A7ois_
 :::
 ::::
 
-+++ {"editable": true, "slideshow": {"slide_type": "subslide"}}
++++ {"slideshow": {"slide_type": "subslide"}}
 
 ### Tous les jeunes connaissent déjà l'informatique?
 
-+++ {"editable": true, "slideshow": {"slide_type": "subslide"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 **L'usage?**
 
-+++ {"editable": true, "slideshow": {"slide_type": "subslide"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 -   Évidence : tous les jeunes savent utiliser un ordinateur
 
-+++ {"editable": true, "slideshow": {"slide_type": "subslide"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 -   Vraiment?
     [les-enfants-ne-savent-pas-se-servir-dun-ordinateur](http://nicolaslegland.wordpress.com/2013/08/15/les-enfants-ne-savent-pas-se-servir-dun-ordinateur/)
 
-+++ {"editable": true, "slideshow": {"slide_type": "subslide"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 **La technologie?**
 
 -   Qui sait programmer? Configurer un réseau?
 
-+++ {"editable": true, "slideshow": {"slide_type": "subslide"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 **La science?**
 
-+++ {"editable": true, "slideshow": {"slide_type": "subslide"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 **Ma petite expérience :**
 
 -   6ème :
     ```{image} media/Epson-hx-20.jpg
-    :alt: Beautiful Sunset
+    :alt: Ordinateur portable Epson HX-20
     :height: 100px
     :align: center
     ```
     3ème:
     ```{image} media/TurboPascal-Objet.jpg
-    :alt: Beautiful Sunset
+    :alt: Manuel Turbo Pascal Objet
     :height: 100px
     :align: center
     ```
 
-+++ {"editable": true, "slideshow": {"slide_type": "subslide"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 -   Fac : apprendre la *science* a chamboulé ma programmation
 
-+++ {"editable": true, "slideshow": {"slide_type": "subslide"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 -   2023 : après 33 ans et 300000 lignes de code, j'apprends encore ...
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
++++ {"slideshow": {"slide_type": "slide"}}
 
 ## La science informatique?
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
-- ***Science du calcul et de l'information***
+:::{prf:definition}
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
+L'***informatique*** est la Science du calcul et de l'information
 
--   Notion fondamentale : **étude des systèmes en évolution**
+:::
 
-    -   État du système avant
-    -   Étape de calcul
-    -   État du système après
++++ {"slideshow": {"slide_type": "fragment"}}
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
+:::{admonition} Thème fondamental : étude des systèmes en évolution
 
--   Modèles de calcul
+-   État du système avant
+-   Étape de calcul
+-   État du système après
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
+:::
+
++++ {"slideshow": {"slide_type": "slide"}}
 
 ### Grands thèmes de l'informatique
 
 :::{admonition} Calculabilité : Que peut, ou ne peut pas faire, un ordinateur?
 
+-   Modèles de calcul
 -   Indépendamment du langage
 -   Indépendamment du matériel
 -   Miracle : tous les langages sont équivalents!
 :::
 
++++
+
 :::{admonition} Complexité : Combien faut-il de ressources pour résoudre un problème?
 
 -   Indépendamment du langage
@@ -226,9 +239,9 @@ Une conférence de [François Élie](http://fr.wikipedia.org/wiki/Fran%C3%A7ois_
 -   Indépendamment de l'algorithme?
 :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "subslide"}}
 
-### Grands problèmes de l'informatique
+### Grands thèmes de l'informatique (suite)
 
 :::{admonition} Maîtriser les systèmes extrêmement complexes
 
@@ -238,17 +251,17 @@ Une conférence de [François Élie](http://fr.wikipedia.org/wiki/Fran%C3%A7ois_
 -   Services gérant des millions de clients
 :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 Problématiques de **passage à l'échelle**
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 Stratégies d'**abstraction**
 
 Exemple : Couches OSI pour les réseaux
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 :::{admonition} Difficulté
 :class: attention
@@ -258,11 +271,11 @@ Apprendre des outils conçus pour les programmes de 100000 lignes
 en travaillant sur des programmes de 10 lignes ...
 :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "subslide"}}
++++ {"slideshow": {"slide_type": "subslide"}}
 
 ### Grands thèmes de l'informatique (suite)
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 **Comment mieux s'exprimer pour que l'ordinateur résolve nos
 problèmes?**
@@ -288,9 +301,9 @@ problèmes?**
 -   Au delà des langages: modélisation, ...
 :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "subslide"}}
++++ {"slideshow": {"slide_type": "subslide"}}
 
-### Autres grands thèmes de l'informatique
+### Grands thèmes de l'informatique (suite)
 
 -   Interactions Humain Machine
 -   Bases de données
@@ -304,7 +317,7 @@ problèmes?**
 -   Langages formels, automates, compilation
 -   Mathématiques discrètes : graphes, combinatoire, ...
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "slide"}}
 
 ## À propos de ce cours
 
@@ -314,7 +327,7 @@ problèmes?**
 -   **Usage** : environnement de programmation, GNU/Linux
 :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 :::{admonition} Ce que l'on va voir
 -   Des briques de bases, des règles de compositions
@@ -323,7 +336,7 @@ problèmes?**
 
 :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 :::{hint} Pour quoi faire??
 -   Bénéficier de l'expérience de plus de 50 ans de programmation
@@ -331,13 +344,13 @@ problèmes?**
 -   Intuition de comment résoudre un nouveau problème
 :::
 
-+++ {"editable": true, "jp-MarkdownHeadingCollapsed": true, "slideshow": {"slide_type": "subslide"}}
++++ {"slideshow": {"slide_type": "subslide"}}
 
 ### Organisation du cours
 
 1h30 amphi, 1h30 TD, 2h TP
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 :::{hint} Du TD? pour quoi faire???
 -   Apprendre la science informatique, en utilisant un ordinateur, pour
@@ -346,14 +359,14 @@ problèmes?**
 -   C'est pas facile ...
 :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 :::{admonition} Une difficulté : la forte hétérogénéité de niveau
 :class: attention
 Ce module s'adresse à tous, *débutants* comme *expérimentés*
 :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 :::{important} Évaluation
 -   25% : Examen mi-semestre (dans l'axe des TD)
@@ -362,7 +375,7 @@ Ce module s'adresse à tous, *débutants* comme *expérimentés*
 -   15% : Exercices en ligne, notes de TP
 :::
 
-+++ {"editable": true, "jp-MarkdownHeadingCollapsed": true, "slideshow": {"slide_type": "subslide"}}
++++ {"editable": true, "slideshow": {"slide_type": "subslide"}}
 
 ### Comment travailler l'informatique?
 
@@ -391,7 +404,7 @@ Ce module s'adresse à tous, *débutants* comme *expérimentés*
 -   Il vous faut un ordinateur ou tablette avec un navigateur web!  
     Variante: salle informatique en libre service
 
-+++ {"editable": true, "slideshow": {"slide_type": ""}}
++++ {"editable": true, "slideshow": {"slide_type": "subslide"}}
 
 ### Fraude et plagiat
 
@@ -404,7 +417,7 @@ C'est super!
 +++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
 
 :::{attention} Récupérer du code de quelqu'un d'autre (dont IA générationnelles comme chat-GPT)
-**C'est contre-productif**
+**À ce stade, c'est contre-productif**
 :::
 
 +++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
@@ -422,7 +435,7 @@ C'est de la **fraude**
 
 +++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
 
-:::{warning} Mais, au cas où, nous avons des outils ...
+:::{warning} Mais, au cas où, nous avons quelques outils :-)
 
 <!-- asdfsdf -->
 :::
@@ -435,14 +448,14 @@ C'est de la **fraude**
 
 Suivez le guide!
 
-+++ {"editable": true, "slideshow": {"slide_type": "skip"}}
++++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
 
 :::{admonition} Espace eCampus
 -   Pour interagir avec les enseignants
 -   <https://ecampus.paris-saclay.fr/course/view.php?id=80953>
 :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "skip"}}
++++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
 
 :::{admonition} Page web
 -   Pour trouver toutes les informations
@@ -450,30 +463,31 @@ Suivez le guide!
 -   Mot clés: «Info111» ou «Nicolas Thiéry»
 :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "skip"}}
++++ {"editable": true, "slideshow": {"slide_type": "subslide"}}
 
 ### Infrastructure du cours, suite
 
-+++ {"editable": true, "slideshow": {"slide_type": "skip"}}
++++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
 
 :::{admonition} Salles de TP
 -   Pour programmer
 -   Salle de TP physique à la fac au 336 (SIF / PGIP)
--   Salle de TP virtuelle JupyterHub@Paris-Saclay
+-   Salle de TP virtuelle [JupyterHub@Paris-Saclay](https://jupyterhub.ijclab.in2p3.fr/) 
     ```{image} media/logo-jupyterhub.svg
     :alt: logo jupyterhub
     :height: 20px
     :align: center
     ```
-    <https://jupyterhub.ijclab.in2p3.fr/> 
+    <!-- <https://jupyterhub.ijclab.in2p3.fr/> -->
 -   Ou directement sur votre machine personnelle
 -   Exercices en ligne PLaTon
 
 :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "skip"}}
++++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
 
 :::{admonition} Forge logicielle GitLab
+
 ```{image} media/logo-gitlab.svg
 :alt: logo gitlab
 :width: 5%
@@ -484,7 +498,7 @@ Suivez le guide!
 -   <https://gitlab.dsi.universite-paris-saclay.fr/>
 :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "skip"}}
++++ {"editable": true, "slideshow": {"slide_type": "subslide"}}
 
 :::{admonition} Gestion des devoirs avec GitLab et travo
 ![image](media/travo_workflow.png)
@@ -492,15 +506,15 @@ Suivez le guide!
 Une innovation pédagogique Orsay / Montréal!
 :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
++++ {"slideshow": {"slide_type": "slide"}}
 
 ## Ordinateurs et traitement automatique des informations
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 **Exemples d'ordinateurs :**
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 -   Calculatrice (programmable)
 -   Ordinateur personnel (PC, Mac, ...)
@@ -508,7 +522,7 @@ Une innovation pédagogique Orsay / Montréal!
 -   Super-ordinateur (Cray, IBM-SP, ...)
 -   Clusters d'ordinateurs
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 **Mais aussi :**
 
@@ -519,44 +533,47 @@ Une innovation pédagogique Orsay / Montréal!
 -   Téléviseurs, ...
 -   Arduino, Raspberry Pi, ...
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
++++ {"slideshow": {"slide_type": "slide"}}
 
 ### Caractéristiques principales d'un ordinateur
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 :::{admonition} Absolument stupide
+:class: warning
 -   Il obéit strictement aux ordres reçus
--   Est-ce qu'il fait ce que l'on veut?
+-   Fiable? Est-ce qu'il fait ce que l'on veut?
 :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 :::{admonition} Très très rapide
+:class: hint
 -   2GHz : 2 milliards d'opérations par seconde
 -   sans faire d'erreur
 :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 :::{admonition} Très très bonne mémoire
+:class: hint
 -   Bible : Mo (million de caractères)
 -   Mémoire : Go (milliards de caractères)
 -   Disque : To (1000 milliards de caractères)
 -   Data center : Po
 :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "subslide"}}
++++ {"slideshow": {"slide_type": "subslide"}}
 
 ### À quoi sert un ordinateur?
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 **Stocker des informations :**
 
 -   Documents, musique, photos, agenda, ...
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 **Traiter automatiquement des informations :**
 
@@ -568,9 +585,9 @@ Une innovation pédagogique Orsay / Montréal!
 -   ***Sortie***: informations envoyées vers l'écran, la
     mémoire, d'autres ordinateurs, ...
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
-**Définition :**
+:::{prf:definition} Programme
 
 Informellement, un ***programme*** est une séquence
 d'instructions qui spécifie étape par étape les opérations à effectuer
@@ -579,11 +596,13 @@ pour obtenir à partir des ***entrées*** un résultat (la
 
 Voir aussi : <http://fr.wikipedia.org/wiki/Programme_informatique>
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
+:::
+
++++ {"slideshow": {"slide_type": "slide"}}
 
 ## Premiers programmes
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 :::{prf:example}
 
@@ -601,7 +620,7 @@ Voir aussi : <http://fr.wikipedia.org/wiki/Programme_informatique>
 
 **Entrée? Sortie?**
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
++++ {"slideshow": {"slide_type": "subslide"}}
 
 ::::{prf:example}
 :::{image} media/programme-lego.jpg
@@ -611,7 +630,7 @@ Voir aussi : <http://fr.wikipedia.org/wiki/Programme_informatique>
 ::::
 **Entrée? Sortie?**
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
++++ {"slideshow": {"slide_type": "subslide"}}
 
 :::::{prf:example}
 
@@ -626,11 +645,9 @@ Voir aussi : <http://fr.wikipedia.org/wiki/Programme_informatique>
 ::::
 :::::
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
-
 **Entrée? Sortie?**
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
++++ {"slideshow": {"slide_type": "subslide"}}
 
 :::::{prf:example}
 ::::{grid}
@@ -663,7 +680,7 @@ ouvre()
 
 **Entrée? Sortie?**
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
++++ {"slideshow": {"slide_type": "subslide"}}
 
 :::{prf:example} Un exemple de programme C++
 
@@ -688,23 +705,23 @@ int main() {
 ```
 :::
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 **Démo :** *Compilation* en ligne de commande, *exécution*
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
 **Un peu lourd?** **Pas de panique!**
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
++++ {"slideshow": {"slide_type": "subslide"}}
 
-### Le coeur du programme C++
+### Le cœur du programme C++
 
 ```{code-cell}
 ---
 editable: true
 slideshow:
-  slide_type: slide
+  slide_type: fragment
 ---
 // Entrée
 int x = 5;
@@ -714,7 +731,7 @@ int x = 5;
 ---
 editable: true
 slideshow:
-  slide_type: slide
+  slide_type: fragment
 ---
 // Traitement
 int xCarre = x * x;
@@ -725,48 +742,64 @@ int xPuissanceQuatre = xCarre * xCarre;
 ---
 editable: true
 slideshow:
-  slide_type: slide
+  slide_type: fragment
 ---
 // Sortie
 xPuissanceQuatre
 ```
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
++++ {"slideshow": {"slide_type": "subslide"}}
 
 ### Jupyter + Cling : une super calculatrice programmable
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
-**Jupyter :**
+:::{admonition} Jupyter
 
 -   Un environnement de calcul interactif multi-langage
 -   <http://jupyter.org>
 
-**Cling :**
+:::
+
++++ {"slideshow": {"slide_type": "fragment"}}
+
+:::{admonition} Cling
 
 -   Un interpréteur C++
 -   <https://root.cern.ch/cling>
 
-+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
+:::
+
++++ {"slideshow": {"slide_type": "slide"}}
 
 ## Résumé
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": "fragment"}}
 
--   À propos d'Info 111
-    -   Qu'est-ce que l'informatique (**Usage**, **Technologie**, **Science!**)
-    -   Objectifs du cours
-    -   Infrastructure du cours: eCampus, page web, salles de TP (virtuelles), forge GitLab
+:::{admonition} À propos d'Info 111
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
+-   Qu'est-ce que l'informatique (**Usage**, **Technologie**, **Science!**)
+-   Objectifs du cours
+-   Infrastructure du cours: eCampus, page web, salles de TP (virtuelles), forge GitLab
 
--   Un aperçu de premiers éléments de programmation :
-    -   Ordinateur
-    -   Programmes
+:::
+
++++ {"slideshow": {"slide_type": "fragment"}}
 
-    On reviendra dessus!
+:::{admonition} Un aperçu de premiers éléments de programmation
 
-+++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
+-   Ordinateur
+-   Programmes
 
--   Environnement Jupyter+Cling
+On reviendra dessus!
+
+:::
+
++++ {"slideshow": {"slide_type": "fragment"}}
+
+::::{admonition} Environnement Jupyter+Cling
+
+.
+
+::::
 
diff --git a/index.md b/index.md
index cdf98ad..1e563a7 100644
--- a/index.md
+++ b/index.md
@@ -79,6 +79,49 @@ fin du TP pour que tout ce que vous avez fait soit bien sauvegardé.
 
 +++
 
+Le jeu [`laby`](https://sgimenez.github.io/laby/) propose plusieurs
+défis successifs; pour chacun d'entre eux, le but est de guider
+pas-à-pas une fourmi vers la sortie d'un labyrinthe à l'aide d'un
+programme. Chacun de ces défis sera l'occasion de découvrir ou
+manipuler un concept de programmation.
+
+Nous allons utiliser
+[`laby-jupyter`](https://github.com/nthiery/laby-jupyter/), une
+réimplantation de laby dans Jupyter.
+
+1.  Chaque feuille ci-dessous correspond à un défi. Ouvrez les
+    tour-à-tour dans l'ordre et suivez les instructions
+    incluses. Déposez votre travail après chaque feuille.
+
+	- [Laby 0b : Démonstration](0b.md)
+	- [Laby 1a : À vous de jouer](1a.md)
+	- [Laby 1b : Oh le caillou](1b.md)
+	- [Laby 1c : Encore un caillou!](1c.md)
+	- [Laby 2a : Que c'est loin ...](2a.md)
+	- [Laby 2b : Le couloir des cailloux](2b.md)
+	- [Laby 2c : Zig-Zag](2c.md)
+	- [Laby 2d : Le Zig-Zag des cailloux](2d.md)
+	- [Laby 3a : Ahhh des toiles!](3a.md)
+	- [Laby 3b : Toiles et cailloux](3b.md)
+	- [Laby 4a : La spirale infernale](4a.md)
+	- [Laby 4b : Par où passer?](4b.md)
+
+
+2.  Résoudre en Python le défi [Chou, chèvre, loup](chou-chevre-loup.md).
+
+3.  ♣ Dans l'ordre que vous souhaiterez :
+
+    - Reprendre en Python tout ou partie des défis de laby. Pour cela,
+      vous utiliserez le tableau de bord pour télécharger le devoir
+      `Semaine1Python`.
+
+    - Résoudre en Python le [jeu des cruches](cruches.md).
+    - Faire les feuilles laby supplémentaires en C++ :
+		- [Laby C++ : Counting the rocks](counting-the-rocks.md)
+	    - [Laby C++ : C'est fou!](this-is-crazy.md)
+
++++
+
 ### Exercice 4 : À faire pour la semaine prochaine
 
 Deux heures supplémentaires de `Laby`! Vous pouvez par exemple
diff --git a/this-is-crazy.md b/this-is-crazy.md
index 4e4f77c..1b9e433 100644
--- a/this-is-crazy.md
+++ b/this-is-crazy.md
@@ -11,12 +11,19 @@ kernelspec:
   name: xcpp17
 ---
 
-+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "1412fa8dba22a59e78085d1ef371cf70", "grade": false, "grade_id": "cell-05f3f0bf76964094", "locked": true, "schema_version": 3, "solution": false, "task": false}}
++++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "3ec5c74d7827a86b9563e8ea4942ea3c", "grade": false, "grade_id": "cell-05f3f0bf76964094", "locked": true, "schema_version": 3, "solution": false, "task": false}}
 
 # Laby: C'est fou!
 
 Les obstacles se multiplient pour un défi de plus.
 
+:::{admonition} Indication
+:class: dropdown hint
+
+Les toiles d'arraignées peuvent être neutralisées avec des cailloux
+
+:::
+
 [Niveau précédent](counting-the-rocks.md), <!--[Liste des niveaux](index.md#ListeDesNiveaux), !-->[Documentation](0b.md#Documentation)
 
 ```{code-cell}
@@ -37,6 +44,54 @@ nbgrader:
 LABY("this-is-crazy")
 ```
 
+```{code-cell}
+---
+deletable: false
+nbgrader:
+  cell_type: code
+  checksum: 5175ca859f4bf6fabf94895343e7fbf4
+  grade: false
+  grade_id: cell-6f9c72052cad1db5
+  locked: false
+  schema_version: 3
+  solution: true
+  task: false
+---
+// REMPLACER CETTE LIGNE PAR VOTRE RÉPONSE
+```
+
+```{code-cell}
+---
+deletable: false
+nbgrader:
+  cell_type: code
+  checksum: 1bef98b8da2b78e6f16ebf6fefabc274
+  grade: false
+  grade_id: cell-6f9c72052cad1db6
+  locked: false
+  schema_version: 3
+  solution: true
+  task: false
+---
+// REMPLACER CETTE LIGNE PAR VOTRE RÉPONSE
+```
+
+```{code-cell}
+---
+deletable: false
+nbgrader:
+  cell_type: code
+  checksum: bed78d165b165fafc71f6ac63bc707ea
+  grade: false
+  grade_id: cell-6f9c72052cad1db7
+  locked: false
+  schema_version: 3
+  solution: true
+  task: false
+---
+// REMPLACER CETTE LIGNE PAR VOTRE RÉPONSE
+```
+
 ```{code-cell}
 ---
 deletable: false
-- 
GitLab