diff --git a/README.md b/README.md
new file mode 100644
index 0000000..a7a3886
--- /dev/null
+++ b/README.md
@@ -0,0 +1,372 @@
+
+
+# đČ Boidelo
+
+**L'application de jeux de soirĂ©e â questions, dĂ©fis et cartes entre amis**
+
+
+
+
+
+
+
+
+
+---
+
+## đ Description
+
+**Boidelo** est une application Android de jeux de soirée regroupant plusieurs mini-jeux autour d'un hub central. Entrez les noms des joueurs, choisissez un jeu, et laissez l'ambiance opérer !
+
+L'application propose trois jeux distincts ainsi qu'un consulteur de rĂšgles de jeux d'ambiance populaires.
+
+---
+
+## đź Jeux disponibles
+
+### 1. Boidelo Classic
+
+Le jeu original de questions et défis. Inspiré de jeux comme *King's Cup* ou *Never Have I Ever*.
+
+- **150+ questions** préchargées depuis un fichier JSON, avec 10 catégories distinctes
+- Questions dynamiques avec remplacement de variables (``, ``, ``, ``)
+- **Défis multi-manches** avec compte à rebours et message de fin
+- Gestion intelligente : pas d'accumulation de défis simultanés
+- SystÚme de **gorgées** (boire / distribuer) avec accord grammatical automatique
+- Catégorisation automatique des questions avec couleur de fond dynamique :
+ - Ciblage, Classement, Jugement, Duel, Interactif, Défi, Variante, Caliente, Vote, Classique
+- ParamÚtres personnalisables : nombre de questions, gorgées supplémentaires, durée des défis
+- **Intégration OpenAI** (optionnelle) pour générer des questions via ChatGPT
+
+### 2. 89++
+
+Un jeu de cartes avec timer et défis spéciaux.
+
+- Objectif : ne pas ĂȘtre celui qui atteint ou dĂ©passe **89**
+- RĂšgles spĂ©ciales : Valet (â10), Dame (changement de sens), Roi (choix de valeur)
+- Gorgées distribuées à chaque dizaine atteinte (70 = double !)
+- **9 types de défis** aléatoires :
+ - Changement de sens, ImmunitĂ©, GorgĂ©e surprise, Joker (passer son tour), Ăchange de mains, Double prochaine valeur, Compte mystĂšre, Tour gĂ©nĂ©rale, Victime au choix
+- Timer configurable pour les défis
+- Suivi des gorgées par joueur
+
+### 3. Papelito (Undercover)
+
+Un jeu de déduction sociale. Trouvez l'Undercover avant qu'il ne soit trop tard !
+
+- **20 paires de mots** préchargées (Pizza/Burger, Chat/Chien, Vin/BiÚre, etc.)
+- Attribution aléatoire des rÎles : **Civil**, **Undercover**, **Mr. White**
+- MĂ©canique de **discussion â vote â Ă©limination**
+- Conditions de victoire :
+ - Civils gagnent si tous les Undercovers sont éliminés
+ - Undercovers gagnent s'ils sont en nombre â„ aux Civils
+- Gestion des égalités de votes (personne n'est éliminé)
+- Machine à états avec validation des transitions légales
+
+### 4. RĂšgles de jeux
+
+Consultez les rĂšgles des jeux d'ambiance populaires directement dans l'application.
+
+---
+
+## đ Architecture
+
+### Vue d'ensemble
+
+Boidelo suit un pattern **Repository + Séparation des responsabilités**. Chaque jeu est isolé dans son propre package avec sa propre logique métier.
+
+```
+app/src/main/java/com/example/boidelov3/
+âââ hub/ # Hub central
+â âââ GameSelectionActivity.java # ActivitĂ© LAUNCHER (point d'entrĂ©e)
+â âââ adapter/
+â â âââ GameAdapter.java # RecyclerView adapter
+â âââ model/
+â âââ GameInfo.java # ModĂšle (nom, description, icĂŽne, type)
+â
+âââ games/ # Jeux isolĂ©s par package
+â âââ boideloclassic/ # Boidelo Classic
+â â âââ BoideloClassicSetupActivity.java
+â â âââ BoideloClassicParamsActivity.java
+â â âââ BoideloClassicGameActivity.java
+â â âââ manager/
+â â âââ BoideloPlayerManager.java
+â â âââ BoideloPlayerRowManager.java
+â âââ game89/ # 89++
+â â âââ Game89SetupActivity.java
+â â âââ Game89GameActivity.java
+â â âââ Game89Player.java # ModĂšle joueur
+â â âââ Game89ChallengeManager.java # Gestionnaire de dĂ©fis
+â âââ papelito/ # Papelito (Undercover)
+â âââ PapelitoSetupActivity.java
+â âââ PapelitoGameActivity.java
+â âââ PapelitoResultActivity.java
+â âââ PapelitoResultAdapter.java
+â âââ PapelitoGame.java # Logique complĂšte du jeu
+â âââ PapelitoPlayer.java # ModĂšle joueur (Serializable)
+â
+âââ data/ # Couche d'accĂšs aux donnĂ©es
+â âââ QuestionRepository.java # Chargement JSON + SharedPreferences
+â âââ Result.java # Wrapper type-safe succĂšs/erreur
+â âââ PlayerStats.java # Stats joueur (Parcelable)
+â âââ QuestionCategory.java # CatĂ©gorisation + couleurs
+â
+âââ game/ # Logique mĂ©tier commune
+â âââ GameEngine.java # Moteur de jeu (pur Java)
+â
+âââ utils/ # Utilitaires
+â âââ ErrorHandler.java
+â âââ SecureConfig.java
+â âââ SoundManager.java
+â âââ SoundGenerator.java
+â
+âââ MainActivity.java # Legacy (Ă supprimer)
+âââ Jeux.java # Legacy (Ă supprimer)
+âââ JeuxParametres.java # Legacy (Ă supprimer)
+âââ EndGameActivity.java # Legacy (Ă supprimer)
+âââ OpenAIService.java # Service OpenAI
+âââ ChatGPTTask.java # Task async OpenAI
+âââ DatabaseConnection.java # Connexion PostgreSQL
+âââ Question.java # ModĂšle de question
+âââ Questions.java # Conteneur de questions (Gson)
+âââ PreferencesKeys.java # Constantes SharedPreferences
+âââ BoideloAnimationUtils.java # Animations UI
+```
+
+### Flux d'une partie
+
+Chaque jeu suit le mĂȘme schĂ©ma d'activitĂ© :
+
+```
+Hub (GameSelectionActivity)
+ âââș Setup (saisie des joueurs)
+ âââș Parameters (configuration, optionnel)
+ âââș Game (partie en cours)
+ âââș End Game (statistiques & rĂ©sultats)
+```
+
+### Pattern Result
+
+Le projet utilise un wrapper type-safe pour la gestion des erreurs, évitant les exceptions non contrÎlées :
+
+```java
+Result result = repository.loadQuestions();
+if (result.isSuccess()) {
+ Questions questions = result.getData();
+} else {
+ Exception error = result.getError();
+}
+```
+
+---
+
+## đ Stack technique
+
+| ĂlĂ©ment | Version / DĂ©tail |
+|---|---|
+| **Langage** | Java 8 |
+| **Min SDK** | 24 (Android 7.0) |
+| **Target / Compile SDK** | 35 (Android 15) |
+| **Build system** | Gradle 8.12.0 + AGP 8.12.0 |
+| **UI** | Material Design 3, AppCompat 1.7.0 |
+| **Layout** | ConstraintLayout 2.2.0 |
+| **Réseau** | OkHttp 4.12.0 |
+| **JSON** | Gson 2.11.0 |
+| **Base de données** | pgjdbc-ng 0.8.3 (PostgreSQL, actuellement inutilisé) |
+| **Tests unitaires** | JUnit 4.13.2, Mockito 5.7.0, Robolectric 4.11.1 |
+| **Tests UI** | AndroidX Test JUnit 1.2.1, Espresso 3.6.1 |
+
+---
+
+## đ§Ș Tests
+
+Le projet dispose de **11 classes de test** couvrant l'ensemble des jeux et des composants de données :
+
+| Classe de test | Fichier |
+|---|---|
+| `GameEngineTest` | `game/GameEngineTest.java` (15 tests) |
+| `ResultTest` | `data/ResultTest.java` (8 tests) |
+| `PlayerStatsTest` | `data/PlayerStatsTest.java` |
+| `QuestionCategoryTest` | `data/QuestionCategoryTest.java` |
+| `QuestionTest` | `QuestionTest.java` |
+| `QuestionsClassTest` | `QuestionsClassTest.java` |
+| `BoideloPlayerManagerTest` | `games/boideloclassic/manager/BoideloPlayerManagerTest.java` |
+| `Game89PlayerTest` | `games/game89/Game89PlayerTest.java` |
+| `Game89ChallengeManagerTest` | `games/game89/Game89ChallengeManagerTest.java` |
+| `PapelitoPlayerTest` | `games/papelito/PapelitoPlayerTest.java` |
+| `PapelitoGameTest` | `games/papelito/PapelitoGameTest.java` |
+
+---
+
+## đš Compilation et installation
+
+### Prérequis
+
+- **Android Studio** (recommandé) ou **JDK 17-21** + SDK Android
+- Android SDK avec compileSdk 35
+
+### Build depuis la ligne de commande
+
+```bash
+# Cloner le projet
+git clone
+cd boidelo
+
+# Build
+./gradlew build
+
+# APK debug
+./gradlew assembleDebug
+
+# Installer sur un appareil connecté
+adb install -r app/build/outputs/apk/debug/app-debug.apk
+```
+
+### Exécuter les tests
+
+```bash
+# Tous les tests unitaires
+./gradlew test
+
+# Tests instrumentés (appareil/émulateur requis)
+./gradlew connectedAndroidTest
+
+# Test spécifique
+./gradlew test --tests com.example.boidelov3.game.GameEngineTest
+```
+
+> â ïž **Note :** Un bug connu avec Gradle 8.13 peut causer l'Ă©chec des tests unitaires en CLI. Utilisez Android Studio ou un JDK 17-21 pour contourner le problĂšme.
+
+### Clean
+
+```bash
+./gradlew clean
+```
+
+---
+
+## đš Interface
+
+- **Material Design 3** avec composants modernes (MaterialCardView, TextInputLayout, etc.)
+- **Mode sombre** avec thÚmes dédiés (`values-night/`)
+- **Animations fluides** : fade in/out, slide, color transition, button press/release
+- **Feedback haptique** et effets sonores via `SoundManager` / `SoundGenerator`
+- **Palette principale** : Violet (`#9395D3`) / Lavande (`#B3B7EE`) sur fond blanc cassé (`#FBF9FF`)
+- Couleurs dynamiques par catégorie de question (10 couleurs distinctes)
+- Toutes les activités en mode **portrait**
+
+---
+
+## đ Structure des ressources
+
+```
+app/src/main/res/
+âââ anim/ # 10 animations (slide, fade, button, color)
+âââ drawable/ # IcĂŽnes de jeux, boutons, fonds
+âââ layout/ # 19 layouts XML
+â âââ activity_game_selection.xml # Hub principal
+â âââ activity_boidelo_classic_setup.xml
+â âââ activity_boidelo_classic_params.xml
+â âââ activity_boidelo_classic_game.xml
+â âââ activity_game89_setup.xml
+â âââ activity_game89_game.xml
+â âââ activity_papelito_setup.xml
+â âââ activity_papelito_game.xml
+â âââ activity_papelito_result.xml
+â âââ dialog_papelito_vote.xml
+â âââ dialog_papelito_word_reveal.xml
+âââ values/ # Strings, couleurs, thĂšmes, styles
+âââ values-night/ # Variantes mode sombre
+âââ mipmap-*/ # IcĂŽnes launcher (mdpi â xxxhdpi)
+âââ xml/ # Backup rules, data extraction rules
+```
+
+---
+
+## đ DonnĂ©es
+
+Les questions de Boidelo Classic sont stockées dans `app/src/main/assets/question.json`. Chaque question contient :
+
+- `id` â identifiant unique
+- `question` â texte avec placeholders (``, ``, ``)
+- `gorger` â nombre de gorgĂ©es
+- `distribution` / `recois` â flags pour boire ou distribuer
+- `variante` â liste de variantes alternatives
+- `manches` â nombre de manches pour les dĂ©fis
+- `arret` â message de fin de dĂ©fi
+
+---
+
+## đ Configuration
+
+### Clé API OpenAI (optionnel)
+
+Les clés sensibles sont stockées dans `local.properties` (non versionné) :
+
+```properties
+OPENAI_API_KEY=sk-votre-cle-ici
+```
+
+La classe `SecureConfig` fournit un accÚs sécurisé à ces valeurs.
+
+### Base de données PostgreSQL
+
+La connexion PostgreSQL est prĂ©parĂ©e mais le backend n'est pas encore en production. Les identifiants BuildConfig sont intentionnellement vides â l'usage d'une API backend est recommandĂ©.
+
+---
+
+## đ Ajouter un nouveau jeu
+
+1. Créer un package sous `com.example.boidelov3.games.`
+2. Implémenter les activités **Setup**, **Game** et **Result** (suivre le flux standard)
+3. Ajouter une valeur Ă l'enum `GameInfo.GameType`
+4. Enregistrer le jeu dans `GameSelectionActivity.setupGamesList()`
+5. Ajouter le cas dans le `switch` de `GameSelectionActivity.onItemClick()`
+6. Déclarer les activités dans `AndroidManifest.xml` avec `screenOrientation="portrait"`
+7. Ajouter l'icĂŽne drawable `ic_.xml`
+8. Ăcrire les tests unitaires correspondants
+
+---
+
+## đ Conventions
+
+- **Langue métier** : français (`gorgees`, `manches`, `caliente`)
+- **Code technique** : anglais (`allPlayers`, `activeManches`)
+- **Interface utilisateur** : français
+- **Clés SharedPreferences** : centralisées dans `PreferencesKeys.java`
+- **Nommage layouts** : `activity__<écran>.xml`, `dialog__.xml`
+- **Nommage strings** : préfixe par jeu (`papelito_`, `boidelo_`, `game89_`)
+
+---
+
+## đ Statut des fonctionnalitĂ©s
+
+| Fonctionnalité | Statut |
+|---|---|
+| Hub de sĂ©lection de jeux | â
Opérationnel |
+| Boidelo Classic (150+ questions) | â
Opérationnel |
+| 89++ (cartes + dĂ©fis) | â
Opérationnel |
+| Papelito / Undercover | â
Opérationnel |
+| RĂšgles de jeux | đ§ En cours |
+| IntĂ©gration OpenAI (questions IA) | đ§ En dĂ©veloppement |
+| Connexion PostgreSQL | đ§ PrĂȘte (backend requis) |
+| Mode sombre | â
Opérationnel |
+| Tests unitaires (11 classes) | â
Opérationnel |
+
+---
+
+## đ Documentation supplĂ©mentaire
+
+- [`ANALYSE_CODE.md`](ANALYSE_CODE.md) â Analyse dĂ©taillĂ©e du code (ancienne architecture)
+- [`README_ARCHITECTURE.md`](README_ARCHITECTURE.md) â Documentation de l'architecture Repository
+- [`CLAUDE.md`](CLAUDE.md) â Guide de dĂ©veloppement pour l'IA
+
+---
+
+## đ Licence
+
+Projet privĂ© â tous droits rĂ©servĂ©s.
+
+---
+
+*Boidelo â buvez responsable* đ»