diff --git a/CORRECTION_tri_et_bugs.md b/CORRECTION_tri_et_bugs.md
new file mode 100644
index 0000000..f4e7226
--- /dev/null
+++ b/CORRECTION_tri_et_bugs.md
@@ -0,0 +1,98 @@
+# đ§ Correction â le tri + 2 bugs discrets
+
+Ton formulaire d'ajout est **bon** (immutabilitĂ© avec `[...jeux, nouveau]`, champs vidĂ©s, `preventDefault`) đ. Trois choses Ă rĂ©gler : le **tri**, et deux petits bugs que tu n'as peut-ĂȘtre pas repĂ©rĂ©s.
+
+---
+
+## đ Bug 1 â tu as nommĂ© une variable `console` (Ă Ă©viter absolument)
+
+```jsx
+const [console, setConsole] = useState("");
+```
+
+`console`, c'est **déjà ** un objet de JavaScript (celui de `console.log` !). En créant une variable qui s'appelle `console`, tu **l'écrases** dans tout ton composant : si un jour tu écris `console.log(...)` dans `App`, tu auras `console.log is not a function` (car `console` vaut maintenant `""`).
+
+### â
Renomme-la
+```jsx
+const [plateforme, setPlateforme] = useState("");
+```
+âŠet adapte partout oĂč tu l'utilises (`value={plateforme}`, `setPlateforme(...)`, et `console: plateforme` dans l'objet `nouveau`).
+
+> đĄ **Ă retenir :** Ă©vite de nommer tes variables comme des mots **dĂ©jĂ pris** par JavaScript : `console`, `document`, `window`, `event`⊠Tu risques d'Ă©craser un outil du langage sans t'en rendre compte.
+
+---
+
+## đ Bug 2 â `BarreRecherche` ne reçoit pas la bonne prop
+
+Ton composant attend une prop **`valeur`** :
+```jsx
+function BarreRecherche({ valeur, onChange }) { ... value={valeur} ... }
+```
+Mais dans `App` tu lui passes **`value`** :
+```jsx
+ // â "value", pas "valeur"
+```
+Du coup, Ă l'intĂ©rieur, `valeur` est `undefined` â le champ n'est plus **contrĂŽlĂ©** par ton Ă©tat.
+
+### â
Mets le mĂȘme nom des deux cĂŽtĂ©s
+```jsx
+ setRecherche(e.target.value)} />
+```
+
+> đ§© **Ă retenir :** une prop, c'est comme une Ă©tiquette : le nom que tu mets dans `App` (`valeur=`) doit ĂȘtre **exactement** celui que le composant lit (`{ valeur }`). Sinon, le composant reçoit `undefined`.
+
+---
+
+## đ Le tri (Module J) â comment le faire marcher
+
+Pour trier, il te faut **trois** choses, et bien les **enchaĂźner** : filtrer â trier â afficher.
+
+### Ătape 1 â un Ă©tat pour le critĂšre de tri
+```jsx
+const [tri, setTri] = useState("titre");
+```
+
+### Ătape 2 â un `