Skip to content

Commit 294eff4

Browse files
mm-elmazaniclaude
andcommitted
[REFACTOR] Simplification de l'arborescence
52 fichiers suivis hors skins -> 39, et deux dossiers en moins. Doublons supprimes : - requirements.txt : les dependances etaient listees deux fois, en plus de pyproject.toml. Elles n'ont plus qu'une source, et l'installation se fait par pip install -e . (install.bat, CI et release mis a jour) - config/*.json n'est plus suivi : l'application recree ces fichiers au premier lancement, et les suivre faisait apparaitre les reglages personnels de chaque utilisateur comme des modifications a commiter Redondances supprimees : - packaging/ : la recette PyInstaller rejoint scripts/ et pointe directement sur launcher.pyw, son script d'entree intermediaire disparait - run_server.pyw : redondant avec server.py et --console - scripts/start_gui.bat : n'existait que parce qu'une erreur de demarrage etait invisible, ce que le journal et la boite d'erreur ont corrige - application.py : ServerRuntime.create() et run_console() reprennent son contenu - tests/__init__.py : remplace par une fixture Regroupements : - le paquet server/ devient un module unique music_overlay/server.py - docs/ passe de 5 a 3 fichiers : DEMARRAGE, GUIDE et TROUBLESHOOTING Verifie : 76 tests, ruff, GUI, diagnostic et compilation de l'executable. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent faf4a85 commit 294eff4

38 files changed

Lines changed: 963 additions & 1114 deletions

.github/workflows/ci.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ jobs:
3030
- name: Installer les dependances
3131
run: |
3232
python -m pip install --upgrade pip
33-
pip install -r requirements.txt
34-
pip install pytest ruff
33+
pip install -e ".[dev]"
3534
3635
- name: Ruff (lint)
3736
run: ruff check .

.github/workflows/release.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,25 +38,24 @@ jobs:
3838
- name: Installer les dependances
3939
run: |
4040
python -m pip install --upgrade pip
41-
pip install -r requirements.txt
42-
pip install pytest ruff pyinstaller
41+
pip install -e ".[dev,build]"
4342
4443
- name: Tests avant publication
4544
run: |
4645
ruff check .
4746
pytest
4847
4948
- name: Compiler l'executable
50-
run: pyinstaller --noconfirm --clean packaging/MusicOverlayServer.spec
49+
run: pyinstaller --noconfirm --clean scripts/MusicOverlayServer.spec
5150

5251
- name: Archiver l'executable
5352
run: Compress-Archive -Path dist/MusicOverlayServer/* -DestinationPath MusicOverlayServer-${{ env.VERSION }}.zip
5453

5554
- name: Archiver les sources utilisables
5655
run: |
57-
$inclus = @('music_overlay', 'skins', 'docs', 'scripts', 'packaging',
58-
'launcher.pyw', 'run_server.pyw', 'server.py', 'DEMARRER.bat',
59-
'requirements.txt', 'pyproject.toml', 'README.md', 'CHANGELOG.md', 'LICENSE')
56+
$inclus = @('music_overlay', 'skins', 'docs', 'scripts',
57+
'launcher.pyw', 'server.py', 'DEMARRER.bat',
58+
'pyproject.toml', 'README.md', 'CHANGELOG.md', 'LICENSE')
6059
Compress-Archive -Path $inclus -DestinationPath MusicOverlayServer-sources-${{ env.VERSION }}.zip
6160
6261
- name: Publier la release

.gitignore

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ MANIFEST
4040
# PyInstaller (la recette de build du projet reste versionnee)
4141
*.manifest
4242
*.spec
43-
!packaging/*.spec
43+
!scripts/*.spec
4444

4545
# Unit test / coverage
4646
htmlcov/
@@ -131,10 +131,8 @@ tmp/
131131
*.bak
132132
*.backup
133133

134-
# Configuration locale (surcharges utilisateur)
135-
config/local_settings.json
136-
config/settings.local.json
137-
config/*.local.json
134+
# Configuration utilisateur : recreee automatiquement au premier lancement
135+
/config/
138136

139137
# Artefact Windows : un « > nul » mal echappe cree un fichier nomme nul
140138
nul

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,29 @@ Toutes les modifications notables du projet seront documentées dans ce fichier.
44

55
## [Non publié]
66

7+
### 🧹 Simplification de l'arborescence
8+
9+
52 fichiers suivis (hors skins) → 39, et deux dossiers en moins.
10+
11+
-**`requirements.txt`** : les dépendances étaient listées deux fois.
12+
`pyproject.toml` est désormais l'unique source ; l'installation se fait par
13+
`pip install -e .`
14+
-**`config/*.json` ne sont plus suivis** : l'application les recrée au
15+
premier lancement. Vos réglages personnels n'apparaissent plus comme des
16+
modifications à commiter
17+
-**`packaging/`** : la recette PyInstaller rejoint `scripts/` et son script
18+
d'entrée intermédiaire disparaît (elle pointe directement sur `launcher.pyw`)
19+
-**`run_server.pyw`** : redondant avec `server.py` et
20+
`python -m music_overlay --console`
21+
-**`scripts/start_gui.bat`** : n'existait que parce qu'une erreur de
22+
démarrage était invisible — le journal et la boîte d'erreur le remplacent
23+
-**`application.py`** : `ServerRuntime.create()` et `run_console()` en
24+
reprennent le contenu
25+
- 📦 **Paquet `server/` aplati** en un module unique `music_overlay/server.py`
26+
- 📚 **`docs/` passe de 5 à 3 fichiers** : `DEMARRAGE.md` (installation et
27+
premier lancement), `GUIDE.md` (interface, filtres, configuration, API) et
28+
`TROUBLESHOOTING.md`
29+
730
### ✨ Nouveautés
831

932
- 🖼️ **Aperçus complets** : `clipping_mask`, `kinetic_typography` et

CONTRIBUTING.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ en joignant :
2222
git clone https://github.com/dexteee-r/Windows-Music-overlay-server.git
2323
cd Windows-Music-overlay-server
2424
python -m venv .venv
25-
.venv\Scripts\python.exe -m pip install -r requirements.txt
26-
.venv\Scripts\python.exe -m pip install pytest ruff
25+
.venv\Scripts\python.exe -m pip install -e ".[dev]"
2726
```
2827

2928
| Commande | Rôle |
@@ -51,9 +50,7 @@ music_overlay/
5150
├── media.py Session média Windows (WinRT)
5251
├── diagnostics.py Auto-diagnostic
5352
├── startup.py Démarrage automatique Windows
54-
├── server/
55-
│ ├── app.py Application Flask et routes
56-
│ └── runtime.py Démarrage, arrêt, gestion du port
53+
├── server.py Routes Flask, démarrage, arrêt et choix du port
5754
└── gui/
5855
├── window.py Fenêtre principale
5956
├── dialogs.py Fenêtres secondaires

README.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ avec 10 skins prêts à l'emploi et une interface de configuration.
2222

2323
Dans OBS : *Sources***+****Navigateur** → collez l'URL → largeur **650**, hauteur **180**.
2424

25-
> Besoin de détails ? [Installation pas à pas](docs/INSTALL.md) ·
26-
> [Guide d'utilisation](docs/USAGE.md) · [Dépannage](docs/TROUBLESHOOTING.md)
25+
> Besoin de détails ? [Installation pas à pas](docs/DEMARRAGE.md) ·
26+
> [Guide d'utilisation](docs/GUIDE.md) · [Dépannage](docs/TROUBLESHOOTING.md)
2727
2828
---
2929

@@ -64,7 +64,7 @@ Pour créer le vôtre : [CONTRIBUTING.md](CONTRIBUTING.md).
6464
## ⚙️ Configuration
6565

6666
Tout se règle dans l'onglet **Paramètres** ; les fichiers JSON de `config/` restent
67-
modifiables à la main pour les habitués ([détail des options](docs/CONFIGURATION.md)).
67+
modifiables à la main pour les habitués ([détail des options](docs/GUIDE.md)).
6868

6969
**Filtrer les applications** — trois modes :
7070

@@ -79,7 +79,7 @@ cochez vos lecteurs, enregistrez. Le filtre s'applique immédiatement.
7979

8080
Si un lecteur échappe à la détection, les listes restent modifiables à la main :
8181
le bouton **« Ouvrir la page source_app »** affiche l'identifiant exact à
82-
recopier ([procédure détaillée](docs/USAGE.md#choisir-ce-qui-saffiche)).
82+
recopier ([procédure détaillée](docs/GUIDE.md#choisir-ce-qui-saffiche)).
8383

8484
---
8585

@@ -124,13 +124,12 @@ Windows-Music-overlay-server/
124124
│ ├── skins.py # découverte et sélection des skins
125125
│ ├── media.py # lecture de la session média Windows
126126
│ ├── diagnostics.py # auto-diagnostic
127-
│ ├── server/ # application Flask et cycle de vie
127+
│ ├── server.py # routes Flask et cycle de vie
128128
│ └── gui/ # interface tkinter
129129
├── skins/ # 10 skins (un dossier chacun)
130130
├── config/ # Configuration utilisateur (JSON)
131131
├── tests/ # Tests automatisés
132-
├── scripts/ # install.bat, start.bat, diagnostic.bat, build_exe.bat
133-
├── packaging/ # Recette PyInstaller
132+
├── scripts/ # install.bat, diagnostic.bat, build_exe.bat, recette PyInstaller
134133
└── docs/ # Documentation détaillée
135134
```
136135

@@ -140,8 +139,7 @@ Windows-Music-overlay-server/
140139

141140
```bash
142141
python -m venv .venv
143-
.venv\Scripts\python.exe -m pip install -r requirements.txt
144-
.venv\Scripts\python.exe -m pip install pytest ruff
142+
.venv\Scripts\python.exe -m pip install -e ".[dev]"
145143
```
146144

147145
| Commande | Rôle |

config/active_skin.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

config/media_filter.json

Lines changed: 0 additions & 17 deletions
This file was deleted.

config/settings.json

Lines changed: 0 additions & 6 deletions
This file was deleted.

docs/CONFIGURATION.md

Lines changed: 0 additions & 155 deletions
This file was deleted.

0 commit comments

Comments
 (0)