diff --git a/.gradebook.db b/.gradebook.db
index e551af62008ae036385296e36efc90e77e7c50e5..fcd05c16a9a7bffe2d9215ea4101bbfd1335f8d1 100644
Binary files a/.gradebook.db and b/.gradebook.db differ
diff --git a/1a.md b/1a.md
index 3d51168ed7ad7ee45a2255728b88a31a2225d8ac..933b98a476bd1bc70f43c349de5c5b7b2fef3551 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 79bb20e673ef9c7ba8e951e618de29d63ea8a955..2ae720de5f3b6526b9e3dbb664af68e69d3e960e 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 c74f692ee0fea269c8fbc57a527823c4c31107b9..352836964b5360196611ac8ac3b83961fa84e0ad 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 3c1f6693dcfca02e0b10a87829c9ea245697f9cb..014eb9644b50fc955bab4b9cb6702c7024ea55f5 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 14364b4f4188c7d3c725c1f2f779fbc9fe3fceda..6290e41792ec10c451d7302de809e70e413dca5d 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 cdf98ad52254fdc9070dc772d8b46f28b1747446..1e563a70533fd5882e1272e9ff92618128ab6fe4 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 4e4f77c8e73f67e30b5130ee9b42d3686b8a6462..1b9e43312b18a28732be50bb4f1f737686dc8f77 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