diff --git a/README.md b/README.md
index 97168c9e8ebd16b9e3e2b73dbdfaaf9e901dd493..df005081c419e9be5ccc1d0b87f1c2a212195e04 100644
--- a/README.md
+++ b/README.md
@@ -4,98 +4,171 @@ Ce projet représente un script Python capable de reproduire fidèlement le comp
 
 ## Fonctionnalités
 
-- **Simulation authentique** : Reproduit le comportement réaliste des radios GTA V
-- **Stations multiples** : Support de plusieurs stations (Non-Stop-Pop, SilverLake, Funk, etc.)
-- **Contenu varié** : Musique, publicités, actualités, identifiants de station
-- **Séquençage intelligent** : Utilise des patterns configurables pour organiser le contenu
-- **Gestion de la répétition** : Évite la répétition du contenu déjà joué
-- **Contrôle du volume** : Volume ajustable pour tous les types de contenu
+- **Simulation authentique** : Reproduit le comportement réaliste des radios GTA V avec patterns de diffusion
+- **Interface graphique** : Interface Tkinter avec contrôles en temps réel et suivi de progression
+- **Stations multiples** : Support de plusieurs stations (Non-Stop-Pop, SilverLake, Funk) avec changement dynamique
+- **Contenu varié** : Musique, publicités, actualités, identifiants de station, segments DJ
+- **Séquençage intelligent** : Patterns configurables pour organiser le contenu de manière réaliste
+- **Gestion de la répétition** : Évite la répétition avec système de listes recyclables
+- **Système d'intros** : Overlays d'introduction sur les musiques avec timing aléatoire
+- **Contrôle du volume** : Volume ajustable avec intégration VLC
+- **Multi-threading** : Interface non-bloquante avec lecture audio en arrière-plan
 
 ## Architecture
 
 ### Composants principaux
 
 - **radio.py** : Point d'entrée principal et implémentation de la classe Radio
-  - Gère la logique de lecture des stations
-  - Traite les séquences de contenu basées sur des patterns
-  - Suit le contenu joué pour éviter les répétitions
-  - Sélectionne aléatoirement parmi les stations disponibles
-
-- **defs.py** : Gestion des fichiers audio et utilitaires de lecture
-  - Découverte de fichiers via des patterns regex
-  - Lecture audio basée sur VLC avec contrôle du volume
-  - Fonctionnalité d'overlay intro/musique avec timing différé
-  - Filtrage des fichiers audio par extension
-
-- **config.py** : Gestion de la configuration (copier depuis example.config.py)
-  - Patterns audio et probabilités
-  - Patterns regex de correspondance de fichiers
-  - Paramètres de lecture (volume, délais, extensions de fichiers)
+  - Gère la logique de lecture avec séquençage basé sur des patterns
+  - Suit le contenu joué avec listes multiples pour éviter les répétitions
+  - Implémente le changement de station avec réinitialisation d'état
+  - Intégration GUI pour mises à jour temps réel et contrôles
+  - Exécution en thread séparé quand l'interface graphique est présente
+
+- **radio_gui.py** : Interface graphique Tkinter
+  - Affichage de progression en temps réel avec formatage temporel
+  - Contrôles de changement de station et ajustement de volume
+  - Retour visuel pour piste courante, type et pattern
+  - Suivi de session et statistiques de lecture
+  - Mises à jour threadées pour éviter le blocage de l'interface
+
+- **defs.py** : Gestion des fichiers audio et utilitaires de lecture VLC
+  - Découverte de fichiers via patterns regex configurables
+  - Intégration du lecteur média VLC avec contrôle du volume
+  - Overlay intro/musique avec délais de timing aléatoires
+  - Suivi de progression et gestion d'état pour intégration GUI
+  - Système double lecteur pour superposition intro et piste principale
+
+- **config.py** : Gestion de la configuration
+  - Patterns regex complexes pour correspondance de types de contenu
+  - Patterns de lecture configurables pour musique et pubs/actualités
+  - Paramètres de volume, timing et probabilités
+  - Définitions d'extensions de fichiers et structure de répertoires
 
 ## Organisation des fichiers audio
 
-Le projet attend une structure de répertoires spécifique avec les fichiers audio organisés par station de radio :
+Le projet attend une structure de répertoires stricte avec des sous-répertoires catégorisés :
 
 ```
 ├── non-stop-pop/          # Station Non-Stop-Pop
-├── silverlake/            # Station SilverLake
-├── funk/                  # Station Funk
+│   ├── id_XX/             # Identifiants de station
+│   ├── general/           # Contenu général/commentaires DJ
+│   ├── mono_solo_XX/      # Segments solo
+│   ├── intro/             # Fichiers d'introduction pour musiques
+│   ├── time/              # Segments temporels (matin/soir)
+│   ├── to/                # Transitions vers pubs/actualités
+│   └── [musiques]/        # Dossiers individuels pour chaque chanson
+├── silverlake/            # Station SilverLake (même structure)
+├── funk/                  # Station Funk (même structure)
 ├── radio-adverts/         # Publicités partagées
+│   └── mono_adXXX_*/      # Publicités numérotées
 └── radio-news/           # Actualités partagées
+    └── mono_news_XX/      # Actualités numérotées
 ```
 
-Chaque station contient des sous-répertoires catégorisés pour différents types de contenu.
+### Système d'intros
+Chaque station possède un dossier `intro/` contenant des fichiers d'introduction spécifiques aux chansons, nommés selon le pattern `NOM_CHANSON_01.wav`, `NOM_CHANSON_02.wav`.
 
-## Types de contenu et patterns
+## Séquençage basé sur des patterns
 
-- **IDs** : Clips d'identification de station
-- **General** : Contenu général de station/commentaires DJ
-- **Mono Solos** : Courts segments solo
-- **Music** : Chansons complètes avec overlays d'intro optionnels
-- **Ads** : Publicités depuis le pool partagé
-- **News** : Segments d'actualités depuis le pool partagé
+Le système utilise des patterns configurables définis dans `config.py` :
 
-Le système utilise des patterns configurables pour séquencer le contenu de manière réaliste (ex: "ID, GENERAL, MUSIC" ou "AD, AD, NEWS").
+- **Patterns musicaux** : Séquences comme "ID, GENERAL, MUSIC" ou "ID, MUSIC"
+- **Patterns pubs/actualités** : Séquences comme "AD, AD, NEWS" ou "MONO_SOLO, AD"
+- **Types de contenu** : IDs, General, Mono Solos, Music, Ads, News
+- **Correspondance regex** : Patterns complexes pour catégoriser automatiquement les fichiers
+
+### Architecture de gestion d'état
+
+- **Suivi de lecture** : Listes séparées pour musiques, pubs, actualités, mono solos joués
+- **Recyclage des listes** : Quand tout le contenu est joué, les listes se réinitialisent
+- **Changement de station** : Préserve l'état global pubs/actualités mais réinitialise le contenu spécifique à la station
+- **Threading** : Mises à jour GUI et lecture audio dans des threads séparés
 
 ## Installation et utilisation
 
-### Prérequis
+### Prérequis et installation
 
 ```bash
 # Installer les dépendances
 pip install -r requirements.txt
 ```
 
-### Configuration
+**Dépendances système :**
+- **Lecteur VLC** : Doit être installé sur le système pour que python-vlc fonctionne
+- **Python 3.x** avec tkinter (généralement inclus)
+
+### Modes d'exécution
 
 ```bash
-# Copier le fichier de configuration (requis avant la première exécution)
-cp example.config.py config.py
+# Mode GUI (par défaut) - Interface graphique complète
+python radio.py
+
+# Mode console (modifier la section main dans radio.py)
+python -c "
+import random
+from radio import Radio
+radios = ['non-stop-pop', 'silverlake', 'funk']
+radio = Radio(random.choice(radios))
+radio.startRadio()
+"
 ```
 
-Éditez `config.py` pour personnaliser :
-- `debug` : Activer/désactiver la sortie de débogage
-- `volume` : Volume audio par défaut (0-100)
-- `adsProbability` : Chance de jouer des pubs/actualités entre les musiques
-- `musicPatterns` : Patterns de séquence pour les segments musicaux
-- `adsAndNewsPatterns` : Patterns de séquence pour les pubs/actualités
+### Gestion de la configuration
 
-### Exécution
+Le système de configuration utilise des patterns regex complexes qui correspondent à la structure des fichiers audio de GTA V :
 
-```bash
-# Lancer la simulation radio
-python radio.py
-```
+**Paramètres clés de config.py :**
+- `debug = True/False` : Active la sortie détaillée en console
+- `volume = 75` : Volume audio (0-100)
+- `adsProbability = 0.25` : Probabilité de pubs/actualités entre les blocs musicaux
+- `musicMinIntroDelay/musicMaxIntroDelay` : Timing pour overlays d'intro (5-15 secondes)
+- `filesExtension = ".wav"` : Format des fichiers audio
+
+**Patterns regex critiques :**
+- `idPattern` : Correspond aux fichiers ID de station (ID_01, ID_02, etc.)
+- `monoSoloPattern` : Correspond aux segments DJ solo
+- `generalPattern` : Correspond au contenu général de station
+- `musicPatten` : Pattern d'exclusion complexe pour les fichiers musicaux
+- `musicIntro` : Pattern pour les fichiers d'intro correspondant aux chansons spécifiques
+
+### Architecture threading et GUI
+
+- **Thread principal** : Exécute la boucle d'événements Tkinter GUI
+- **Thread radio** : Exécute `radio.startRadio()` avec `daemon=True`
+- **Thread de mise à jour** : Mises à jour GUI toutes les 100ms pour suivi de progression
+- **Intégration VLC** : Utilise `python-vlc` pour lecture audio multiplateforme
+
+## Exigences de structure des fichiers
+
+Les fichiers audio doivent suivre les conventions de nommage de GTA V :
+- **Dossiers de station** : minuscules avec tirets (`non-stop-pop`)
+- **Dossiers de contenu** : basés sur les catégories (`id_01/`, `general/`, `mono_solo_XX/`)
+- **Fichiers audio** : majuscules avec underscores (`NOM_PISTE.wav`)
+- **Fichiers d'intro** : `NOM_CHANSON_01.wav`, `NOM_CHANSON_02.wav` dans le dossier `intro/`
+
+## Débogage et développement
+
+Activez le mode debug dans `config.py` pour voir :
+- Patterns sélectionnés pour chaque séquence de lecture
+- Chemins des fichiers en cours de lecture
+- Timing et délais des overlays d'intro
+- Événements de changement de station
 
-## Exigences des fichiers
+### Dépendances et prérequis
 
-- Python avec le module `vlc` pour la lecture audio
-- Les fichiers audio doivent correspondre à `filesExtension` configuré (défaut : .wav)
-- La structure des répertoires doit correspondre à l'organisation attendue
+- **python-vlc** : Bindings du lecteur média VLC multiplateforme
+- **tkinter** : Framework GUI intégré (généralement inclus avec Python)
+- **threading** : Module intégré pour exécution concurrente
+- **Lecteur média VLC** : Doit être installé sur le système pour que python-vlc fonctionne
 
 ## Développement
 
-Le projet suit une architecture modulaire permettant une extension facile avec de nouvelles stations et types de contenu. Les patterns de configuration permettent un contrôle fin du comportement de diffusion.
+Le projet suit une architecture modulaire avec threading permettant :
+- Extension facile avec de nouvelles stations et types de contenu
+- Patterns de configuration pour contrôle fin du comportement de diffusion
+- Interface non-bloquante avec lecture audio en arrière-plan
+- Système de state management sophistiqué pour éviter les répétitions
 
 ## Licence