diff --git a/A-preparatifs-linux.md b/A-preparatifs-linux.md
index b894ae809a20abb1b1e6fff9b6c7a28451724626..519a4bed6691cbe9443fa95608b045eac18df1ea 100644
--- a/A-preparatifs-linux.md
+++ b/A-preparatifs-linux.md
@@ -2,73 +2,63 @@
 
 # Installations et configuration Linux<!-- omit in toc -->
 ### (instructions spéciales Université de Lille)<!-- omit in toc -->
-- [1. Installation de VSCodium](#1-installation-de-vscodium)
+- [1. Configuration du proxy](#1-configuration-du-proxy)
 - [2. Installation et configuration de Node](#2-installation-et-configuration-de-node)
-- [3. configurer le proxy](#3-configurer-le-proxy)
+- [3. Configurer le proxy (_optionnel_)](#3-configurer-le-proxy-optionnel)
 
-## 1. Installation de VSCodium
-**Pour installer VSCodium sur Linux en mode portable (sans les droits d'admin) :**
-- téléchargez la version **"linux x64"** disponible sur https://github.com/VSCodium/vscodium/releases/latest
-- décompressez-la dans le dossier de votre choix,
-- créez un sous-dossier nommé `"data"` et `"data/tmp"` dans le répertoire de vscodium
-	```bash
-	cd chemin/vers/vscodium
-	mkdir -p data/tmp
-	```
-- Ajoutez ensuite le sous-dossier `"bin"` de vscodium à votre PATH dans votre fichier `~/.bashrc` :
-	```bash
-	export PATH=$PATH:chemin/vers/VSCodium/bin
-	```
-	puis appliquer votre modif dans votre terminal
-	```bash
-	source ~/.bashrc
-	```
-- vous pouvez maintenant ouvrir VSCodium via un terminal, avec la commande `codium` :
-	```bash
-	codium chemin/vers/un/dossier/
-	```
+## 1. Configuration du proxy
+**Les machines des salles de TP sont connectées à internet à travers le proxy de l'Université de Lille.** Pour que les outils qu'on va utiliser soient capables de se connecter à internet, on va utiliser deux **[variables d'environnement](https://fr.wikipedia.org/wiki/Variable_d'environnement)** :
 
-## 2. Installation et configuration de Node
-**Pour installer Node sans droit d'admin, vous pouvez utiliser [Node Version Manager (nvm)](https://github.com/nvm-sh/nvm).**
-
-- Commencez par ajouter le proxy à votre `~/.bashrc` si ce n'est pas déjà fait :
+1. **Commencez par ajouter le proxy à votre fichier `~/.bashrc`** -_si ce n'est pas déjà fait_- en y ajoutant les lignes suivantes :
 	```bash
 	export http_proxy=http://cache.univ-lille.fr:3128
 	export https_proxy=http://cache.univ-lille.fr:3128
 	```
-	puis
+2. **Une fois le fichier sauvegardé, appliquez les modifications** pour prendre en compte les nouvelles variables d'environnement :
 	```bash
 	source ~/.bashrc
 	```
-- Lancez ensuite l'install de `nvm` :
+
+## 2. Installation et configuration de Node
+Les machines des salles TP de l'IUT disposent déjà de Node mais dans une version trop ancienne pour être utilisée dans ce cours.
+
+Vous allez donc avoir besoin d'installer Node vous même, sans droit d'admin, dans votre session : **on va pour cela utiliser [Node Version Manager (nvm)](https://github.com/nvm-sh/nvm).**
+
+1. **Lancez l'install de `nvm`** :
 	```bash
-	curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
+	curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
 	```
-	puis
+	puis rechargez les variables d'environnement ajoutées par nvm :
 	```bash
 	source ~/.bashrc
 	```
-- Enfin, téléchargez et installez la version de Node que l'on souhaite (ici la 14) grâce à nvm :
+2. **Téléchargez et installez ensuite la version de Node que l'on souhaite** (_ici la 17_) grâce à nvm :
 	```bash
-	nvm install 14
+	nvm install 17
 	```
 	> _**NB :** si la commande `nvm` n'est pas reconnue, tentez de fermer et relancer votre terminal. Si ça ne suffit pas, ajoutez les lignes suivantes à votre `.bashrc` :_
 	> ```bash
 	> export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
 	> [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
 	> ```
-- vérifiez ensuite que la version de node est correcte :
+	> Puis relancez
+	> ```bash
+	> source ~/.bashrc
+	> ```
+2. **Vérifiez ensuite que la version de node est correcte** :
 	```bash
 	node -v
 	```
-	doit retourner `v14.15.4`
+	doit retourner `v17.4.0`
+
+## 3. Configurer le proxy (_optionnel_)
+**Cette étape est à priori optionnelle, car par défaut node doit utiliser les variables `http_proxy` et `https_proxy` configurées à l'étape 1.**
 
-## 3. configurer le proxy
-Il ne reste ensuite plus qu'à indiquer à npm le proxy de l'université. A cause d'un bug pour le moment non résolu, il n'est pas possible d'utiliser le nom de domaine du proxy (cache.univ-lille.fr), il faut à la place utiliser son IP comme ceci :
+Si jamais vous rencontrez des soucis lors de l'utilisation de `npm` ou `npx` dans la suite du TP sachez que vous pouvez forcer l'utilisation du proxy avec la commande suivante :
 ```bash
-npm config set proxy http://193.49.225.25:3128/
+npm config set proxy http://cache.univ-lille.fr:3128/
 ```
 
 
 ## Étape suivante <!-- omit in toc -->
-Une fois tout installé, vous pouvez revenir aux préparatifs : [A. Préparatifs](A-preparatifs.md#a2-récupération-des-fichiers)
\ No newline at end of file
+Une fois tout installé, vous pouvez revenir aux préparatifs : [A.2. À propos de ce repo](A-preparatifs.md#a2-à-propos-de-ce-repo)
\ No newline at end of file
diff --git a/A-preparatifs.md b/A-preparatifs.md
index 0b8f83fd48e1a63c33089685adf121497e91b07c..abb5e65ca7808df918a83a493b7d8c27fda68d1d 100644
--- a/A-preparatifs.md
+++ b/A-preparatifs.md
@@ -11,12 +11,22 @@
 
 
 ## A.1. Installations
-**Avant de démarrer le TP, installez, si vous ne les avez pas déjà, les logiciels suivants :**
-- Git : https://git-scm.com/
-- Node.js (_version LTS **14.x**_): https://nodejs.org/en/download/releases/
-- VSCodium : https://vscodium.com/ (Si vous avez déjà vscode, ça fera très bien l'affaire !)
+**Avant de démarrer le TP il va vous falloir faire quelques installs et configurations.** Selon que vous utilisez une machine de l'Université ou votre propre ordinateur la situation n'est pas la même :
 
-> _**NB :** Si vous êtes sur un poste **linux sans droits d'admin**, par exemple à l'**Université de Lille** ou si vous êtes derrière **un proxy** suivez [ce tuto pour installer Node et VSCodium](A-preparatifs-linux.md) puis revenez suivre la suite du TP ici_
+### Si vous êtes sur une machine des salles TP de l'IUT <!-- omit in toc -->
+Dans ce cas, un certain nombre de logiciels sont déjà pré-installés (notamment Git et VSCode) mais vous aurez quand même besoin :
+- de configurer le **proxy** de l'Université
+- d'installer une version de **NodeJS** plus récente que celle fournie sur les machines
+
+Suivez donc [ce tuto spécifique aux machines des salles TP de l'IUT](A-preparatifs-linux.md) puis revenez suivre la suite du TP ici.
+
+### Si vous utilisez votre propre machine <!-- omit in toc -->
+Dans ce cas il vous faudra installer :
+- **Git** : https://git-scm.com/
+- **Node.js** (_version "Current" **17.x**_): https://nodejs.org/en/download/current/
+	> _**Attention :** si vous aviez déjà une version plus ancienne de Node (tapez `node -v` dans un terminal pour en avoir le coeur net) alors je vous conseille de la désinstaller complètement avant d'installer la nouvelle version._
+- **VSCodium** https://vscodium.com ou **VSCode** https://code.visualstudio.com
+	> _**NB :** Si vous avez déjà VSCode, ça fera très bien l'affaire, VSCodium et VSCode sont quasi identiques (_cf. [A.3. VSCod[e/ium]](#a3-vscodeium)_) !_
 
 ## A.2. À propos de ce repo
 
@@ -59,7 +69,7 @@ _**Allons y !**_
 
 ## A.3. VSCod[e/ium]
 
-_**Pour développer je vous recommande d'utiliser un éditeur adapté au JS moderne. Si vous ne l'avez pas encore testé, je ne peux que vous recommander d'utiliser Visual Studio Code / VSCodium au moins pour ce cours.**_
+_**Pour développer en JS, je vous recommande d'utiliser un éditeur adapté au JS moderne. Si vous ne l'avez pas encore testé, je ne peux que vous conseiller d'utiliser Visual Studio Code / VSCodium au moins pour ce cours.**_
 
 <img src="images/readme/vscode-ium.jpg" />
 
diff --git a/B-integration.md b/B-integration.md
index 0381e04255aba855f5a22031e09ae1af096c8644..6d9ce4751b9f7fd553822b5703a0996b229a4c9a 100644
--- a/B-integration.md
+++ b/B-integration.md
@@ -3,6 +3,7 @@
 # B. Intégration du JS <!-- omit in toc -->
 
 ***Maintenant que l'on a récupéré les fichiers du TP et que notre éditeur de code est prêt, lançons le projet pour voir à quoi ça ressemble !***
+
 ## Sommaire <!-- omit in toc -->
 
 - [B.1. Lancement d'un serveur HTTP](#b1-lancement-dun-serveur-http)
@@ -11,7 +12,6 @@
 
 ## B.1. Lancement d'un serveur HTTP
 
-
 **Pour consulter notre appli web dans un navigateur, il nous faut un serveur http.** <br>
 On pourrait, pour cet exercice, utiliser n'importe quel serveur http (apache, tomcat, etc.) mais je vous propose d'utiliser Node.js (_installé au point A.1._) et **[npx](https://www.npmjs.com/package/npx)** qui est un des 2 principaux utilitaires fournis automatiquement avec Node (_l'autre étant [npm : Node Package Manager](https://fr.wikipedia.org/wiki/Npm) dont nous parlerons plus tard_).
 
@@ -32,7 +32,7 @@ On pourrait, pour cet exercice, utiliser n'importe quel serveur http (apache, to
 
 3. **Vérifiez dans votre navigateur que la page index.html** (fournie dans ce repo) **s'affiche correctement** en ouvrant l'url http://localhost:8000. Le résultat attendu est le suivant :
 
-	<img src="images/readme/pizzaland-00.png" >
+	<img src="images/readme/pizzaland-00.png" />
 
 	> _**NB :** Si la page ne s'affiche pas correctement, vérifiez que vous avez bien lancé votre serveur Node avec npx dans **le bon dossier** (c'est à dire celui où se trouve le fichier `index.html`)._
 
diff --git a/C-devtools.md b/C-devtools.md
index 66df4d2803de248f5c3d99bb0353e380aafaa462..aa8b4cebb14a9e8fe1234bc85273ee24f4c757dc 100644
--- a/C-devtools.md
+++ b/C-devtools.md
@@ -7,13 +7,12 @@ _**Lorsque l'on développe en JS, les outils de debug dont on dispose nous sont
 ### IMPORTANT !! <!-- omit in toc -->
 **Pendant les TP gardez TOUJOURS les outils de développement (_et notamment la console_) ouverts, ça vous sauvera la vie !**
 
-
 ## Sommaire <!-- omit in toc -->
-- [C.1. devtools : La console](#c1-devtools-la-console)
-- [C.2. devtools : l'inspecteur d'éléments](#c2-devtools-linspecteur-déléments)
-- [C.3. devtools : l'onglet Sources](#c3-devtools-longlet-sources)
+- [C.1. La console](#c1-la-console)
+- [C.2. L'inspecteur d'éléments](#c2-linspecteur-déléments)
+- [C.3. L'onglet Sources](#c3-longlet-sources)
 
-## C.1. devtools : La console
+## C.1. La console
 La console sert à afficher les instructions `console.log()` mais aussi les erreurs éventuelles dans votre code (vous me direz que ce n'est pas la peine, que vous ne faites jamais d'erreur, mais on sait tous les deux que c'est un mensonge, *"n'est-ce pas ?"*).
 
 <img src="images/readme/devtools-console.jpg" >
@@ -24,13 +23,14 @@ console.log('Welcome to ', {title:'PizzaLand', emoji: '🍕'});
 ```
 
 En fait l'objet `console` est un objet global qui contient la méthode `.log()` mais aussi d'autres méthodes qui permettent d'avoir un rendu différent et de filtrer les messages. Essayez les méthodes suivantes et constatez le résultat dans la console :
-- console.warn()
-- console.error()
+- console.warn('Oh oh attention')
+- console.error('fatal error lol')
 - console.clear()
+- console.table([['Walter','White'],['Skyler','White'],['Saul','Goodman']])
 
 Enfin, la console permet de tester rapidement du code JS grâce à un champ de saisie. Tapez-y l'instruction `42+"12"-10` puis tapez <kbd>Entrée</kbd>. Le résultat s'affiche directement dans la console. Incroyable !
 
-## C.2. devtools : l'inspecteur d'éléments
+## C.2. L'inspecteur d'éléments
 
 L'inspecteur d'éléments permet de consulter ET de manipuler le code HTML et CSS de la page.
 
@@ -38,23 +38,48 @@ L'inspecteur d'éléments permet de consulter ET de manipuler le code HTML et CS
 
 Il sera utile pour vérifier que le code HTML que va générer votre JS correspond bien à ce qui est attendu.
 
-## C.3. devtools : l'onglet Sources
+## C.3. L'onglet Sources
 L'onglet sources permet d'inspecter le code JavaScript de la page, de placer des breakpoints et de stopper l'exécution du code quand une erreur survient. Quand l'exécution du JS est stoppée, on peut consulter les valeurs des variables locales et globales, de voir la call-stack, etc.
 
 C'est probablement l'onglet des devtools le plus important lorsqu'on développe en JavaScript.
 
 <img src="images/readme/devtools-sources.jpg" >
 
-Pour l'utiliser, remplacez le contenu de votre fichier `main.js` en ajoutant le code suivant :
+Pour l'utiliser, commencez par ajouter dans le fichier `main.js`, le code suivant :
 ```js
-let what = 'door';
+const what = 'door';
 console.log('Hold', 'the', what );
 ```
-Rechargez la page, dans l'onglet "Sources" sélectionnez le fichier main.js (dans le panneau de gauche), puis cliquez sur le numéro de la 2e ligne. Une flèche bleue a du s'ajouter ce qui signifie qu'un breakpoint a été ajouté. Comme le code en question s'est déjà exécuté (puisque notre JS se lance au chargement de la page), rechargez la page pour que le breakpoint se déclenche.
 
-Une fois la page rechargée, l'exécution est interrompue, et il est possible de voir à droite, dans l'onglet "Scope" les valeurs des variables locales et notamment de la variable `what`. Vous pouvez aussi consulter la valeur des variables au survol de la variable directement dans le code !
+1. **Ajout d'un breakpoint**
+
+	Rechargez la page, puis dans l'onglet "Sources" sélectionnez le fichier `main.js` (dans le panneau de gauche), puis cliquez sur le numéro de la 2e ligne :
+	```js
+	console.log('Hold', 'the', what );
+	```
+
+	Une flèche bleue a du s'afficher à côté du numéro de ligne ce qui signifie qu'un breakpoint a été ajouté. Comme le code en question s'est déjà exécuté (_puisque notre JS se lance au chargement de la page_), rechargez la page pour que le code s'exécute à nouveau et déclenche cette fois notre breakpoint.
+
+	**Une fois la page rechargée, l'exécution est maintenant interrompue**, et il est possible de voir à droite, dans l'onglet "Scope", les valeurs des variables locales et notamment de la constante `what`. Vous pouvez aussi consulter la valeur des variables au survol de la variable directement dans le code !
+
+	Pour reprendre l'exécution de la page, cliquez sur le bouton play bleu.
+
+	Cliquez ensuite à nouveau sur le numéro de la 2e ligne pour enlever le breakpoint.
+
+2. **L'instruction `debugger;`**
+
+	Au lieu d'ajouter manuellement un breakpoint comme on vient de le faire, il est possible de déclarer un breakpoint directement dans le code à l'aide d'un instruction JS : `debugger;`.
+
+	Modifiez le code de votre application comme ceci : (_notez l'instruction `debugger` qu'on a insérée entre les 2 lignes de code de notre fichier_)
+	```js
+	const what = 'door';
+	debugger;
+	console.log('Hold', 'the', what );
+	```
+
+	Rechargez la page à nouveau avec les devtools ouvert, et constatez que l'exécution s'est arrêtée automatiquement sans avoir eu besoin de mettre de point d'arrêt manuel ! Pratique !
 
-Pour reprendre l'exécution de la page, cliquez sur le bouton play bleu, puis re-cliquez sur le numéro de la 2e ligne pour enlever le breakpoint.
+	Voilà, vous connaissez les principales façons de mettre des breakpoints, supprimez l'instruction `debugger;` et rechargez la page.
 
 ## Étape suivante <!-- omit in toc -->
-Si tout fonctionne, vous pouvez passer à l'étape suivante : [D. Les chaînes de caractères](D-chaines.md)
\ No newline at end of file
+Maintenant que vous avez vu les principaux devtools offerts par les navigateurs, attaquons nous au code à proprement parler avec quelques exercices sur les chaînes de caractères : [D. Les chaînes de caractères](D-chaines.md)
\ No newline at end of file
diff --git a/D-chaines.md b/D-chaines.md
index 46bd9b648808ed8449a7b6640bec4a56acb3f1b8..91ab101f0a585c82dcc8f54ae6f3067c5f6ba61b 100644
--- a/D-chaines.md
+++ b/D-chaines.md
@@ -51,29 +51,29 @@ Si ce n'est pas le cas, le choix entre guillemets simples ou double est une ques
 	- la valeur de la variable `name` transformée en minuscules à l'aide de la méthode `.toLowerCase()` (_cf. [la doc de `toLowerCase()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase)_)
 	- et de la chaîne de caractères `'.jpg'`
 
-	Affichez la valeur de `url` dans la console, vous devez obtenir :
+	Affichez la valeur de `url` dans la console, à l'aide de l'instruction `console.log(url);`, vous devez obtenir :
 	```js
 	'images/regina.jpg'
 	```
 
 4. **Sur la ligne suivante, créez une variable nommée `html`** :
 
-	Votre code devra permettre d'assigner à la variable `html` une chaîne qui corresponde au code d'une balise `<a>` (*lien hypertexte*) :
+	Votre code devra permettre d'assigner dans la variable `html` une chaîne qui corresponde au code HTML d'une balise `<a>` (*lien hypertexte*) :
 	- L'URL du lien (*attribut `href`*) devra correspondre à la valeur la constante `url`.
 	- Le contenu de la balise `<a>` correspondra lui aussi à la valeur de la constante `url`
 
 	> _**NB:** pour ça, les template strings sont parfaitement adaptées !_
 
-	Affichez dans la console la valeur de la variable html, elle doit correspondre à la chaîne de caractères suivante :
-   ```html
-   '<a href="images/regina.jpg">images/regina.jpg</a>'
-   ```
+	Affichez dans la console la valeur de la variable html, on doit obtenir la chaîne de caractères suivante :
+	```html
+	'<a href="images/regina.jpg">images/regina.jpg</a>'
+	```
 
 ## D.4. Injection dans la page HTML
 
-1. **C'est le moment d'afficher le contenu de la variable `html` dans la page.**
+**C'est le moment d'afficher le contenu de la variable `html` dans la page.**
 
-	Même si nous n'avons pas encore vu comment manipuler la page html grâce à l'API DOM (prochains chapitres), vous trouverez ci-dessous le code qui va permettre d'injecter notre balise `<a>` dans la page. A la fin de votre code, ajoutez donc l'instruction suivante :
+1. Même si nous n'avons pas encore vu comment manipuler la page html grâce à l'API DOM (prochains chapitres), vous trouverez ci-dessous le code qui va permettre d'injecter notre balise `<a>` dans la page. **A la fin de votre code, ajoutez donc l'instruction suivante :**
 	```js
 	document.querySelector('.pageContent').innerHTML = html;
 	```
diff --git a/E-tableaux-objets.md b/E-tableaux-objets.md
index 3f02fc99dab5c4b2f651661a83fa35823e740f12..a75942519d4e6c70998b880bd0284f8e70fcde9c 100644
--- a/E-tableaux-objets.md
+++ b/E-tableaux-objets.md
@@ -39,9 +39,9 @@ Parcourez ce tableau afin de générer 3 liens sur le modèle de celui réalisé
 
 Utilisez pour cela **au moins 2 techniques parmi les 4 suivantes** :
 1. une boucle **`for`** classique
-2. la méthode **`Array.forEach`** cf. https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/forEach
-3. la méthode **`Array.map`** cf. https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/map accompagnée de la méthode **`Array.join`** cf. https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/join
-4. la méthode **`Array.reduce`** cf. https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/reduce
+2. la méthode **`Array.forEach`** (https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/forEach)
+3. la méthode **`Array.map`** (https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/map) associée à la méthode **`Array.join`** (https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/join)
+4. la méthode **`Array.reduce`** (https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/reduce)
 
 > _**NB :** pour `forEach`, `map` et surtout `reduce` pensez à utiliser les arrow functions !_
 
@@ -50,55 +50,58 @@ Le résultat obtenu sera identique dans les 4 cas :
 <img src="images/readme/pizzaland-03.png" />
 
 ## E.2. Les Objets littéraux
-Modifiez le tableau `data` : au lieu de 3 chaînes de caractères, on va maintenant y mettre 3 objets littéraux :
 
-```js
-const data = [
-	{
-		name: 'Regina',
-		base: 'tomate',
-		price_small: 6.5,
-		price_large: 9.95,
-		image: 'https://images.unsplash.com/photo-1532246420286-127bcd803104?fit=crop&w=500&h=300'
-	},
-	{
-		name: 'Napolitaine',
-		base: 'tomate',
-		price_small: 6.5,
-		price_large: 8.95,
-		image: 'https://images.unsplash.com/photo-1562707666-0ef112b353e0?&fit=crop&w=500&h=300'
-	},
-	{
-		name: 'Spicy',
-		base: 'crème',
-		price_small: 5.5,
-		price_large: 8,
-		image: 'https://images.unsplash.com/photo-1458642849426-cfb724f15ef7?fit=crop&w=500&h=300',
-	}
-];
-```
-
-Modifiez la boucle pour générer un code de ce type :
-```html
-<article class="pizzaThumbnail">
-	<a href="https://images.unsplash.com/photo-1532246420286-127bcd803104?fit=crop&w=500&h=300">
-		<img src="https://images.unsplash.com/photo-1532246420286-127bcd803104?fit=crop&w=500&h=300" />
-		<section>
-			<h4>Regina</h4>
-			<ul>
-				<li>Prix petit format : 5.50 €</li>
-				<li>Prix grand format : 7.50 €</li>
-			</ul>
-		</section>
-	</a>
-</article>
-```
-
-Le rendu final devra correspondre à ceci :
-
-<img src="images/readme/pizzaland-04.png" />
-
-***Attention au formatage des prix** (examinez bien la capture d'écran) !*
+**Maintenant que l'on sait manipuler les chaînes de caractères et les tableaux, attaquons-nous pour terminer aux [objets littéraux](https://developer.mozilla.org/fr/docs/Web/JavaScript/Guide/Grammar_and_types#les_litt%C3%A9raux_dobjets) !**
+
+1. **Modifiez le tableau `data` :** au lieu de 3 chaînes de caractères, on va maintenant y mettre 3 objets littéraux :
+
+	```js
+	const data = [
+		{
+			name: 'Regina',
+			base: 'tomate',
+			price_small: 6.5,
+			price_large: 9.95,
+			image: 'https://images.unsplash.com/photo-1532246420286-127bcd803104?fit=crop&w=500&h=300'
+		},
+		{
+			name: 'Napolitaine',
+			base: 'tomate',
+			price_small: 6.5,
+			price_large: 8.95,
+			image: 'https://images.unsplash.com/photo-1562707666-0ef112b353e0?&fit=crop&w=500&h=300'
+		},
+		{
+			name: 'Spicy',
+			base: 'crème',
+			price_small: 5.5,
+			price_large: 8,
+			image: 'https://images.unsplash.com/photo-1458642849426-cfb724f15ef7?fit=crop&w=500&h=300',
+		}
+	];
+	```
+
+2. **Modifiez ensuite la boucle pour générer un code de ce type :**
+	```html
+	<article class="pizzaThumbnail">
+		<a href="https://images.unsplash.com/photo-1532246420286-127bcd803104?fit=crop&w=500&h=300">
+			<img src="https://images.unsplash.com/photo-1532246420286-127bcd803104?fit=crop&w=500&h=300" />
+			<section>
+				<h4>Regina</h4>
+				<ul>
+					<li>Prix petit format : 5.50 €</li>
+					<li>Prix grand format : 7.50 €</li>
+				</ul>
+			</section>
+		</a>
+	</article>
+	```
+
+	Le rendu final devra correspondre à ceci :
+
+	<img src="images/readme/pizzaland-04.png" />
+
+	_**Attention au formatage des prix** (examinez bien la capture d'écran) !_
 
 ## Étape suivante <!-- omit in toc -->
 Si tout fonctionne, vous pouvez passer à l'étape suivante : [F. Compiler avec Babel](./F-babel.md)
\ No newline at end of file
diff --git a/G-filtres-tri.md b/G-filtres-tri.md
index 0acb863017ada0c236da8adcdad9f2623b96aa7c..40a15414615617d990ff076d0fee477e2aa7a58c 100644
--- a/G-filtres-tri.md
+++ b/G-filtres-tri.md
@@ -12,16 +12,16 @@
 
 ## G.1. Tri de tableau
 A l'aide de la [méthode `.sort()` de la classe Array](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/sort), triez les pizzas :
-1. Par ordre alphabétique
+1. **Par ordre alphabétique**
 
 	<img src="images/readme/pizzaland-05.png" />
 
-1. Par prix petit format croissant
+1. **Par prix petit format croissant**
 
 	<img src="images/readme/pizzaland-06.png" />
 
 
-1. Par prix petit format croissant et en cas d'égalité, par prix grand format croissant
+1. **Par prix petit format croissant et en cas d'égalité, par prix grand format croissant**
 
 	<img src="images/readme/pizzaland-07.png" />
 
@@ -29,24 +29,24 @@ A l'aide de la [méthode `.sort()` de la classe Array](https://developer.mozilla
 
 ## G.2. Système de filtres
 A l'aide de la [méthode .filter()](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/filter), n'affichez que les pizzas dont :
-1. la propriété `base` est 'tomate'
+1. **la propriété `base` est 'tomate'**
 
 	<img src="images/readme/pizzaland-08.png" />
 
-1. le prix petit format est inférieur à 6€
+1. **le prix petit format est inférieur à 6€**
 
 	<img src="images/readme/pizzaland-09.png" />
 
-1. le nom contient deux fois la lettre "i"
+1. **le nom contient deux fois la lettre "i"**
 
 	<img src="images/readme/pizzaland-10.png" />
 
 ## G.3. Destructuring
 
 ### G.3.1. Principe du destructuring
-Une des fonctionnalités ES6+ les plus pratiquées s'appelle le "destructuring".
+**C'est quelque chose que l'on a pas vu en cours, mais une des fonctionnalités ES6+ les plus utilisées s'appelle le "destructuring".**
 
-Le destructuring permet de déclarer des variables dont les valeurs vont être remplies automatiquement par des propriétés d'objets. Prenons par exemple l'objet `character` ci-dessous :
+Le **destructuring** permet de déclarer des variables dont les valeurs vont être remplies automatiquement par des propriétés d'un objet littéral. Prenons par exemple l'objet `character` ci-dessous :
 
 ```js
 const character = { firstName: 'Skyler', lastName: 'White' };