@@ -14,12 +14,14 @@ Overlay web compatible avec OBS, Streamlabs et autres logiciels de streaming.
1414Music Overlay Server crée un serveur web local qui affiche en direct les informations de la musique que vous écoutez sur Apple Music. Parfait pour les streamers qui veulent partager leurs morceaux préférés avec leur audience !
1515
1616** Fonctionnalités :**
17- - 🎨 Interface moderne et élégante
18- - 🖼️ Pochette d'album animée
19- - 📊 Barre de progression en temps réel
20- - 🎚️ Equalizer animé
21- - 🎯 Filtre personnalisable (bloquer certaines apps)
22- - ⚙️ Configuration simple (fichiers JSON)
17+ - 🖥️ ** Interface graphique (GUI)** complète pour tout contrôler
18+ - 🎨 ** 5 skins professionnels** (Zen, Neon, Retro, RGB Gamer, Glassmorphism)
19+ - 🖼️ Pochette d'album animée avec barre de progression
20+ - 🎚️ Equalizer animé en temps réel
21+ - 🎯 ** Filtre média** : whitelist/blacklist d'applications
22+ - 🔔 ** System tray** : contrôle depuis la barre des tâches
23+ - 🚀 ** Démarrage automatique** au lancement de Windows
24+ - ⚙️ Configuration simple via GUI (plus besoin d'éditer les fichiers)
2325- 🔒 Serveur local sécurisé
2426
2527---
@@ -29,126 +31,187 @@ Music Overlay Server crée un serveur web local qui affiche en direct les inform
2931### 3 étapes simples :
3032
31331 . ** Installez Python 3.13+**
32- 👉 [ Guide d'installation détaillé] ( INSTALL.md )
34+ 👉 [ Guide d'installation détaillé] ( docs/ INSTALL.md)
3335
34- 2 . ** Double-cliquez sur ` install.bat ` **
36+ 2 . ** Double-cliquez sur ` scripts/ install.bat` **
3537 Installe toutes les dépendances automatiquement
3638
37- 3 . ** Double-cliquez sur ` start.bat ` **
38- Lance le serveur !
39+ 3 . ** Double-cliquez sur ` launcher.pyw ` **
40+ Lance l'application avec interface graphique !
3941
40- 📺 ** Visitez ** : ` http://127.0.0.1:48952 `
42+ 📺 ** L'overlay sera accessible à ** : ` http://127.0.0.1:49450 `
4143
42- Pour un guide complet pas à pas avec captures, consultez [ INSTALL.md] ( INSTALL.md ) .
44+ Pour un guide complet pas à pas avec captures, consultez [ docs/ INSTALL.md] ( docs/ INSTALL.md ) ou [ docs/QUICKSTART.md ] ( docs/QUICKSTART .md) .
4345
4446---
4547
4648## 📁 Structure du projet
4749
4850```
49- music-overlay-server/
50- ├── config/
51- │ ├── settings.json # Port, host, intervalle de rafraîchissement
52- │ └── media_filter.json # Applications autorisées/bloquées
53- ├── server.py # Fichier principal (tout-en-un)
54- ├── requirements.txt # Dépendances Python
55- ├── README.md # Ce fichier
56- ├── INSTALL.md # Guide d'installation détaillé
57- ├── install.bat # Installation automatique
58- └── start.bat # Démarrage du serveur
51+ Windows-Music-overlay-server/
52+ ├── config/ # Configuration JSON
53+ │ ├── settings.json # Port, host, intervalle
54+ │ ├── media_filter.json # Filtres média (whitelist/blacklist)
55+ │ └── active_skin.json # Skin actif
56+ ├── skins/ # 5 skins professionnels
57+ │ ├── zen_minimalist/
58+ │ ├── neon_cyberpunk/
59+ │ ├── retro_cassette/
60+ │ ├── rgb_gamer/
61+ │ └── glassmorphism_frosted/
62+ ├── src/ # Code source Python
63+ │ ├── gui.py # Interface graphique
64+ │ ├── server_manager.py # Gestion serveur
65+ │ ├── skin_manager.py # Gestion skins
66+ │ ├── config_manager.py # Gestion config
67+ │ └── startup_manager.py # Démarrage auto
68+ ├── scripts/ # Scripts batch
69+ │ ├── install.bat # Installation automatique
70+ │ └── start.bat # Démarrage serveur seul
71+ ├── docs/ # Documentation
72+ │ ├── USAGE.md # Guide utilisateur complet
73+ │ ├── QUICKSTART.md # Démarrage rapide
74+ │ └── INSTALL.md # Installation détaillée
75+ ├── launcher.pyw # 🚀 Point d'entrée (GUI)
76+ ├── server.py # Serveur Flask
77+ └── requirements.txt # Dépendances Python
5978```
6079
6180---
6281
6382## 🎮 Utilisation
6483
65- ### Démarrage
84+ ### Démarrage de l'Application
6685
67- Double-cliquez sur ** ` start.bat ` **
86+ Double-cliquez sur ** ` launcher.pyw ` ** à la racine du projet.
6887
69- Le serveur affiche :
70- ```
71- ======================================================================
72- 🎵 MUSIC OVERLAY SERVER - APPLE MUSIC
73- ======================================================================
88+ ** L'interface graphique s'ouvre avec 4 onglets :**
7489
75- 📺 URL de l'overlay : http://127.0.0.1:48952
76- 📊 API JSON : http://127.0.0.1:48952/api/current-track
77- ```
90+ 1 . ** 🎨 Skins** - Sélectionnez parmi 5 skins professionnels
91+ 2 . ** ⚙️ Paramètres** - Configurez le port, host, filtres média
92+ 3 . ** 🎛️ Contrôle** - Démarrez/Arrêtez le serveur, consultez les logs
93+ 4 . ** ℹ️ À propos** - Informations sur l'application
94+
95+ ### Démarrer le Serveur
7896
79- ** Laissez cette fenêtre ouverte** pendant que vous streamez.
97+ 1 . Ouvrez l'onglet ** Contrôle**
98+ 2 . Cliquez sur ** "Démarrer le serveur"**
99+ 3 . Le statut passe au vert avec l'URL : ` http://127.0.0.1:49450 `
100+
101+ ** Vous pouvez maintenant :**
102+ - ✅ Minimiser la fenêtre (l'app reste dans le system tray)
103+ - ✅ Configurer le démarrage automatique dans l'onglet Paramètres
104+ - ✅ Changer de skin à chaud dans l'onglet Skins
80105
81106### Dans OBS Studio
82107
831081 . ** Ajoutez une source** → Navigateur
84- 2 . ** URL** : ` http://127.0.0.1:48952 `
109+ 2 . ** URL** : ` http://127.0.0.1:49450 ` (ou l'URL affichée dans l'onglet Contrôle)
851103 . ** Dimensions** : 600 x 150
861114 . ✅ Cochez "Rafraîchir le navigateur lorsque la scène devient active"
87112
113+ ### Menu System Tray
114+
115+ L'icône dans la barre des tâches permet de :
116+ - 👁️ Afficher/Masquer la fenêtre
117+ - ▶️ Démarrer le serveur
118+ - ⏹️ Arrêter le serveur
119+ - ❌ Quitter l'application
120+
88121---
89122
90123## ⚙️ Configuration
91124
92- Tous les paramètres sont dans le dossier ` config/ ` .
125+ ### Via l'Interface Graphique (Recommandé)
126+
127+ Ouvrez l'onglet ** Paramètres** dans l'application pour configurer :
128+
129+ ** Serveur :**
130+ - 🔌 ** Port** : Port du serveur (défaut: 49450)
131+ - 🌐 ** Host** : ` 127.0.0.1 ` = local uniquement
132+ - ⏱️ ** Intervalle de rafraîchissement** : Mise à jour en secondes
133+
134+ ** Filtres Média :**
135+ - 🎯 ** Mode** : all / whitelist / blacklist
136+ - ✅ ** Applications autorisées** : Liste d'apps (une par ligne)
137+ - ❌ ** Applications bloquées** : Liste d'apps à ignorer
93138
94- ### 1. Configuration du serveur (` config/settings.json ` )
139+ ** Démarrage :**
140+ - 🚀 ** Démarrer automatiquement avec Windows** : Case à cocher
95141
142+ ⚠️ ** Important** : Après avoir modifié les filtres, il faut :
143+ 1 . Arrêter le serveur
144+ 2 . Fermer l'application
145+ 3 . Relancer l'application
146+
147+ ### Via les Fichiers JSON (Avancé)
148+
149+ Vous pouvez aussi éditer directement les fichiers dans ` config/ ` :
150+
151+ ** ` config/settings.json ` ** - Configuration serveur
96152``` json
97153{
98- "port" : 48952 ,
154+ "port" : 49450 ,
99155 "host" : " 127.0.0.1" ,
100156 "refresh_interval" : 0.5
101157}
102158```
103159
104- ** Paramètres :**
105- - ` port ` : Port du serveur (49152-65535 recommandé)
106- - ` host ` : ` 127.0.0.1 ` = local uniquement | ` 0.0.0.0 ` = accessible réseau
107- - ` refresh_interval ` : Intervalle de mise à jour en secondes
108-
109- ### 2. Filtre des applications (` config/media_filter.json ` )
110-
160+ ** ` config/media_filter.json ` ** - Filtres média
111161``` json
112162{
113163 "mode" : " whitelist" ,
114164 "allowed_apps" : [
115165 " AppleInc.AppleMusicWin_nzyj5cx40ttqa!App"
116166 ],
117- "blocked_apps" : [
118- " brave.exe" ,
119- " chrome.exe"
120- ]
167+ "blocked_apps" : []
121168}
122169```
123170
124171** Modes disponibles :**
172+ - ` all ` : Toutes les apps (sauf ` blocked_apps ` )
173+ - ` whitelist ` : Uniquement les apps dans ` allowed_apps `
174+ - ` blacklist ` : Toutes sauf celles dans ` blocked_apps `
125175
126- | Mode | Description |
127- | ------| -------------|
128- | ` all ` | Accepter toutes les apps (sauf celles dans ` blocked_apps ` ) |
129- | ` whitelist ` | Accepter UNIQUEMENT les apps dans ` allowed_apps ` |
130- | ` blacklist ` | Accepter toutes SAUF celles dans ` blocked_apps ` |
131-
132- ### Comment trouver le nom d'une application ?
176+ ### Trouver le nom d'une application
133177
134- 1 . Mettez ` " mode": " all" ` dans ` config/media_filter.json `
178+ 1 . Changez le mode à ` all ` dans l'onglet Paramètres
1351792 . Lancez l'application (ex: Spotify)
1361803 . Jouez une musique
137- 4 . Visitez : ` http://127.0.0.1:48952/api/current-track `
138- 5 . Regardez le champ ` "source_app" `
139- 6 . Copiez ce nom dans ` allowed_apps ` ou ` blocked_apps `
181+ 4 . Cliquez sur ** "Ouvrir dans navigateur"** dans l'onglet Contrôle
182+ 5 . Allez sur ` /api/current-track `
183+ 6 . Regardez ` "source_app" ` dans le JSON
184+ 7 . Ajoutez ce nom dans la liste appropriée
140185
141- ### Recharger la configuration sans redémarrer
186+ ---
187+
188+ ## 🎨 Skins Disponibles
189+
190+ L'application inclut ** 5 skins professionnels** que vous pouvez changer à la volée :
191+
192+ | Skin | Style | Description |
193+ | ------| -------| -------------|
194+ | ** Zen Minimalist** | Minimaliste | Design épuré, focus sur l'essentiel |
195+ | ** Neon Cyberpunk** | Futuriste | Néons roses/bleus, style cyberpunk |
196+ | ** Retro Cassette** | Vintage | Look cassette années 80-90 |
197+ | ** RGB Gamer** | Gaming | Effets RGB arc-en-ciel animés |
198+ | ** Glassmorphism Frosted** | Moderne | Effet verre dépoli (glassmorphism) |
199+
200+ ** Pour changer de skin :**
201+ 1 . Ouvrez l'onglet ** Skins** dans l'application
202+ 2 . Cliquez sur le skin souhaité
203+ 3 . Le skin change immédiatement (pas besoin de redémarrer)
142204
143- Visitez : ` http://127.0.0.1:48952/api/reload-config `
205+ ** Pour créer votre propre skin :**
206+ Consultez [ CONTRIBUTING.md] ( CONTRIBUTING.md ) pour le guide complet avec template HTML/CSS.
144207
145208---
146209
147210## 📊 API JSON
148211
149212### Endpoint : ` /api/current-track `
150213
151- ** URL** : ` http://127.0.0.1:48952 /api/current-track `
214+ ** URL** : ` http://127.0.0.1:49450 /api/current-track `
152215
153216** Exemple de réponse :**
154217``` json
@@ -164,6 +227,12 @@ Visitez : `http://127.0.0.1:48952/api/reload-config`
164227}
165228```
166229
230+ ### Autres endpoints
231+
232+ - ` GET /api/skins ` - Liste des skins disponibles
233+ - ` POST /api/set-skin ` - Changer de skin (body: ` {"skin_id": "neon_cyberpunk"} ` )
234+ - ` GET /api/list-skins ` - Métadonnées complètes des skins
235+
167236Parfait pour créer vos propres intégrations !
168237
169238---
@@ -172,27 +241,44 @@ Parfait pour créer vos propres intégrations !
172241
173242### ❌ "Python n'est pas reconnu..."
174243** Solution** : Réinstallez Python en cochant ** "Add python.exe to PATH"**
244+ 👉 Consultez [ docs/INSTALL.md] ( docs/INSTALL.md )
175245
176- ### ❌ "Le port 48952 est déjà utilisé"
177- ** Solution** :
178- 1 . Ouvrez ` config/settings.json `
179- 2 . Changez ` "port": 48952 ` vers ` "port": 49500 `
180- 3 . Redémarrez le serveur
246+ ### ❌ L'application ne se lance pas (` launcher.pyw ` )
247+ ** Vérifiez** :
248+ 1 . Python 3.13+ est installé : ` python --version ` dans CMD
249+ 2 . Dépendances installées : relancez ` scripts/install.bat `
250+ 3 . Vérifiez les logs dans l'onglet Contrôle
251+
252+ ### ❌ "Le port est déjà utilisé"
253+ ** Solution via GUI** :
254+ 1 . Ouvrez l'onglet ** Paramètres**
255+ 2 . Changez le ** Port** (ex: 49500, 50000, etc.)
256+ 3 . Cliquez sur ** "Enregistrer les paramètres"**
257+ 4 . Redémarrez le serveur
181258
182259### ❌ "No track playing" même avec Apple Music ouvert
183- ** Vérifiez que ** :
260+ ** Vérifiez dans l'onglet Paramètres ** :
184261- Apple Music est ouvert et joue une musique
185- - Le filtre autorise Apple Music (` config/media_filter.json ` )
186- - L'ID de l'app dans ` allowed_apps ` correspond (voir "Comment trouver le nom d'une application")
262+ - Le ** Mode de filtre** autorise Apple Music
263+ - ` AppleInc.AppleMusicWin_nzyj5cx40ttqa!App ` est dans ** Applications autorisées** (si mode whitelist)
264+
265+ ### ❌ Les changements de configuration ne s'appliquent pas
266+ ** Solution** :
267+ 1 . Arrêtez le serveur (bouton "Arrêter le serveur")
268+ 2 . Fermez complètement l'application
269+ 3 . Relancez ` launcher.pyw `
270+ 4 . Démarrez le serveur
187271
188272### ❌ La pochette d'album ne s'affiche pas
189273C'est normal si Apple Music ne fournit pas la pochette. Une icône par défaut sera affichée.
190274
191- ### ❌ Le serveur ne démarre pas
192- ** Vérifiez** :
193- 1 . Python est installé : ` python --version ` dans CMD
194- 2 . Dépendances installées : relancez ` install.bat `
195- 3 . Aucun antivirus ne bloque ` server.py `
275+ ### ❌ L'icône system tray n'apparaît pas
276+ ** Solution** :
277+ 1 . Vérifiez que ` pystray ` et ` Pillow ` sont installés : relancez ` scripts/install.bat `
278+ 2 . Relancez l'application
279+
280+ ### 📚 Plus d'aide
281+ Consultez le guide complet : [ docs/USAGE.md] ( docs/USAGE.md )
196282
197283---
198284
0 commit comments