diff --git a/.DS_Store b/.DS_Store
index 85ce18a..95e5154 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 49c6618..7c65d15 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,54 @@ Conventions :
---
+## [2.8] — édition des accords dans la progression
+
+### Ajouté
+- **Édition d'un slot existant.** Chaque slot porte un bouton ✎ : il **recharge la configuration de l'accord** (type, tensions, altérations, voicing, drop, basse/slash, tonalité) dans les commandes principales. On retouche librement — y compris rejouer une autre fondamentale — puis **✓ mettre à jour** réécrit l'accord dans le même slot en conservant sa durée, ou **✕ annuler** laisse le slot intact. Re-cliquer ✎ sort du mode édition.
+- Chaque slot mémorise désormais sa **configuration source**, ce qui le rend ré-éditable. Les slots générés par preset et par ✦ suggérer sont éditables de la même façon.
+- La configuration voyage dans les sessions `.json`.
+
+### Corrigé
+- **Robustesse audio** : une éventuelle défaillance de l'aperçu Web Audio n'interrompt plus l'interface ni la sortie MIDI (l'aperçu échoue silencieusement, le reste continue).
+
+### Notes
+- L'édition regénère l'accord à partir des commandes (sans voice-leading automatique), pour un résultat prévisible.
+- Les slots issus d'anciennes sessions (sans configuration mémorisée) restent supprimables/déplaçables ; l'édition fine nécessite qu'ils aient été créés en 2.8+.
+
+---
+
+## [2.7] — Key Mode : contrôle complet du type et des tensions
+
+### Corrigé
+- **En Key Mode, les tensions altérées ♭9, ♯9, ♯11, ♭5, ♯5 n'avaient aucun effet.** Le constructeur diatonique ne câblait que 6, m7, M7, 9, 11, 13 (et no3). Les cinq altérations manquantes sont désormais appliquées comme colorations chromatiques sur l'accord diatonique.
+- **En Key Mode, les boutons de type paraissaient morts.** C'était en partie voulu (la qualité vient du degré de la gamme), mais sans aucune échappatoire.
+
+### Ajouté
+- **Type override en Key Mode.** Les boutons de type deviennent des interrupteurs : par défaut aucun n'est allumé (mode « auto », qualité diatonique du degré) ; cliquer un type l'**épingle** (LED allumée) et force cette qualité sur la fondamentale jouée, avec accès complet aux tensions et altérations ; re-cliquer le même type revient en auto. La fondamentale **reste dans la tonalité** dans tous les cas (les notes hors gamme restent muettes).
+- L'état d'épinglage est enregistré dans les sessions `.json`.
+
+### Modifié
+- Hors Key Mode, les boutons de type conservent leur comportement de sélection unique (radio) inchangé.
+- Nommage diatonique unifié : l'astérisque `*` (harmonisation dans la tonalité) est conservé et suffixe le nom complet, tensions comprises (`Dm7(♭9)*`).
+
+---
+
+## [2.6] — export tracker (.txt)
+
+### Ajouté
+- **Export d'un fichier texte pour trackers** (Polyend Tracker Mini et similaires), en plus du `.mid`. Le fichier contient une grille de pattern façon tracker : chaque note de l'accord occupe une piste (`T1..Tn`, de la plus grave à la plus aiguë), la basse a sa propre colonne (`B`), les accords sont plaqués et tenus. `OFF` coupe une voix, `...` maintient.
+- **Sélecteur de résolution** : 1 step = 1/16, 1/8 (défaut) ou 1/4 (un pas par temps). Il détermine l'espacement des accords sur la grille et doit correspondre à la résolution de pattern choisie sur le tracker.
+- **Section de référence** sous la grille : pour chaque accord, ses notes en notation tracker **et leur numéro MIDI**, avec la plage de steps occupée.
+- Gestion correcte des changements de nombre de voix : quand un accord a moins de notes que le précédent, un `OFF` est écrit sur les pistes libérées. Une ligne `OFF` finale ferme le pattern.
+- En-tête localisé (FR/EN) reprenant tonalité, BPM, résolution et conventions de notation.
+
+### Notes d'implémentation
+- Convention d'octave : MIDI 60 = `C-4`. Le numéro MIDI est indiqué à côté de chaque note dans la section de référence, ce qui lève toute ambiguïté si l'affichage d'octave du tracker diffère.
+- Le fichier texte utilise les accords plaqués (voicing courant), indépendamment du mode de performance choisi pour le `.mid`.
+- La résolution retenue est enregistrée dans les sessions `.json`.
+
+---
+
## [2.5] — interface bilingue
### Ajouté
diff --git a/TUTORIEL_UTILISATION.md b/TUTORIEL_UTILISATION.md
index 546ccd5..9c7cd18 100644
--- a/TUTORIEL_UTILISATION.md
+++ b/TUTORIEL_UTILISATION.md
@@ -126,6 +126,8 @@ Activez **KEY**, choisissez une tonique et une gamme parmi les huit disponibles.
- Les touches hors tonalité sont **grisées** et n'émettent rien (le LCD affiche `hors tonalité`).
- Les tensions 6/7/9/11/13 restent actives et sont harmonisées **dans la gamme** (la 7e de G en Do majeur sera F naturel → G7, pas Gmaj7). Un astérisque dans le nom (`G7*`) signale un accord harmonisé diatoniquement.
+**Type et tensions en Key Mode.** Par défaut, la qualité de l'accord vient du degré (mode auto, aucun bouton de type allumé). Tu peux forcer une qualité en **épinglant** un bouton de type : il s'allume et s'applique à la fondamentale jouée, avec accès à toutes les tensions et altérations ; re-clique-le pour revenir en auto. Dans tous les cas la fondamentale reste dans la tonalité. Les douze tensions/altérations (dont ♭9, ♯9, ♯11, ♭5, ♯5) sont actives aussi bien en auto qu'en override.
+
Le mineur harmonique vaut le détour : le degré V y devient un vrai accord de dominante avec sensible — la cadence mineure classique à un doigt.
---
@@ -137,6 +139,7 @@ Jouez un accord, puis **ADD** (ou barre espace). Il apparaît dans un slot avec
Sur chaque slot :
- **− / +** autour du badge durée (`3♩`) — règle la durée de **1 à 16 temps**, au pas de 1. Un accord de 3, 5 ou 7 temps est désormais un seul slot, plus besoin de le découper.
+- **✎** — **éditer l'accord** : recharge sa configuration (type, tensions, voicing, basse, tonalité) dans les commandes ; retouche puis **✓ mettre à jour** pour réécrire le slot, ou **✕ annuler**. Re-clique ✎ pour sortir.
- **‹ ›** — déplacer le slot dans la séquence
- **×** — supprimer
- **clic sur le slot** — l'auditionner seul
@@ -196,6 +199,15 @@ Panneau **Export MIDI** :
Le fichier généré (`chordlab_Cm7-Fm7-Ab-Bb_112bpm.mid`, format 1, PPQ 480, tempo inclus) respecte la durée individuelle de chaque slot.
+### Export tracker (.txt)
+
+À côté du `.mid`, le bouton **↓ tracker (.txt)** génère un fichier texte pensé pour la transcription manuelle sur un tracker (Polyend Tracker Mini et similaires). Il contient :
+
+- une **grille de pattern** : chaque note de l'accord occupe une piste (`T1`, `T2`… de la plus grave à la plus aiguë), la basse a sa colonne `B`. `OFF` coupe une voix, `...` la maintient ;
+- une **section de référence** listant, pour chaque accord, ses notes en notation tracker (`C-4`, `D#5`) **et leur numéro MIDI**, avec la plage de steps occupée.
+
+Le sélecteur **résol. tracker** (1/16, 1/8, 1/4) fixe l'espacement des accords sur la grille : règle-le sur la résolution de pattern que tu utilises sur ta machine. Convention d'octave : MIDI 60 = `C-4` ; le numéro MIDI en référence lève toute ambiguïté si l'affichage de ton tracker diffère.
+
**Destinations typiques** :
- **DAW** — glisser-déposer sur une piste instrument, c'est tout.
- **Polyend Tracker Mini** — copier le `.mid` sur la carte SD et l'importer ; chaque piste MIDI devient une piste du pattern.
diff --git a/index.html b/index.html
index 1dcfe96..a07b2f6 100644
--- a/index.html
+++ b/index.html
@@ -187,6 +187,16 @@
font-size:.72rem;
}
.slot.playing{border-color:var(--led-on);box-shadow:0 0 10px rgba(255,174,51,.35)}
+ .slot.editing{border-color:var(--led-green);box-shadow:0 0 10px rgba(139,195,74,.45)}
+ .slot .edit{color:var(--led-green);opacity:.75}
+ .slot .edit:hover{opacity:1}
+ .edit-action{
+ background:var(--module-2);border:1px solid #4A4436;border-radius:7px;
+ color:var(--silk-light);font-family:var(--mono);font-size:.7rem;font-weight:600;
+ padding:.45rem .7rem;cursor:pointer;
+ }
+ .edit-action:active{transform:translateY(1px)}
+ .edit-action.upd{border-color:var(--led-green);color:var(--led-green)}
.slot .sname{font-weight:700;color:var(--lcd-amber);font-size:.85rem;padding-right:.9rem}
.slot .snotes{opacity:.55;font-size:.56rem;margin-top:.15rem}
.slot .srow{display:flex;gap:.3rem;margin-top:.3rem;align-items:center}
@@ -256,7 +266,7 @@
Machine à accords et à progressions. Le principe tient en une phrase : vous ne jouez pas les notes d'un accord, vous le décrivez — une fondamentale, un type, des tensions — et la machine fait le reste, jusqu'à vos synthés ou votre DAW.
@@ -486,6 +486,7 @@
Les tensions 6m7M791113 restent actives et sont harmonisées dans la gamme : la 7e de G en Do majeur donne un vrai G7 (avec F naturel). L'astérisque dans le nom (G7*) signale cette harmonisation diatonique.
Le mineur harmonique vaut le détour : son degré V devient un véritable accord de dominante avec sensible — la cadence mineure classique, à un doigt.
+
Type et tensions. Par défaut la qualité vient du degré (mode auto). Tu peux épingler un bouton de type pour forcer une qualité sur la fondamentale jouée, puis re-cliquer pour revenir en auto ; la fondamentale reste toujours dans la tonalité. Les douze tensions et altérations (♭9, ♯9, ♯11, ♭5, ♯5 comprises) sont actives dans les deux cas.
@@ -519,6 +520,7 @@
3Clic sur le slot — l'auditionner seul.
4− / + — durée de 1 à 16 temps, au pas de 1. Un accord de 3, 5 ou 7 temps tient dans un seul slot.
5‹ › — déplacer le slot dans la séquence.
+
✎Éditer l'accord — recharge sa configuration dans les commandes ; ✓ mettre à jour réécrit le slot, ✕ annuler le laisse intact.
fig. 7 — anatomie d'un slot de progression
@@ -690,6 +692,8 @@
perf rendue
oui : les strums/arps sont écrits note par note dans le fichier · non : accords plaqués (préférable si vous arpégez ensuite dans le DAW ou le Tracker)
+
À côté du .mid, le bouton ↓ tracker (.txt) produit un fichier texte pour la transcription manuelle sur un tracker (Polyend Tracker Mini et similaires) : une grille de pattern où chaque note occupe une piste (T1..Tn grave→aigu) plus une colonne basse, OFF pour couper et ... pour maintenir, suivie d'une section de référence donnant les notes et leur numéro MIDI. Le sélecteur résol. tracker (1/16, 1/8, 1/4) doit correspondre à la résolution de pattern de ta machine.
+
Sessions
↓ sauver la session génère un .json avec tous les réglages et la progression complète ; ↑ charger restaure tout. Rien n'est stocké dans le navigateur : le fichier est l'unique persistance — versionnez vos sessions dans Gitea comme n'importe quel fichier de projet.