- Introduction
- Installation
- Architecture du programme
- Fonctionnalités
- Interface utilisateur
- Formats de données
- Base de données
- Export vers bases externes
- Bonnes pratiques
- Dépannage
- Développement futur
MP3Tag Analyzer est une application Python conçue pour analyser, rechercher et filtrer les métadonnées de fichiers MP3 exportées depuis le logiciel MP3Tag. Cette application offre une interface graphique conviviale pour explorer des collections musicales et obtenir des statistiques détaillées.
Cette documentation est destinée aux utilisateurs finaux ainsi qu'aux développeurs souhaitant comprendre ou étendre les fonctionnalités de l'application.
- Python 3.6 ou supérieur
- Dépendances Python listées dans
requirements.txt
- Clonez le dépôt ou téléchargez les fichiers sources
- Installez les dépendances :
pip install -r requirements.txt - Lancez l'application :
python mp3tag_analyzer.py
Pour utiliser les fonctionnalités d'export vers des bases de données externes, installez les modules suivants :
- Pour MySQL :
pip install mysql-connector-python - Pour PostgreSQL :
pip install psycopg2-binary
Pour contribuer au développement :
- Créez un environnement virtuel :
python -m venv venv source venv/bin/activate # Sur Windows : venv\Scripts\activate - Installez les dépendances de développement :
pip install -r requirements-dev.txt # Si disponible
L'application est structurée selon une architecture modulaire avec séparation des responsabilités :
- mp3tag_analyzer.py : Point d'entrée de l'application
- gui.py : Interface graphique et logique d'interaction utilisateur
- csv_parser.py : Analyse et traitement des fichiers CSV
- db_manager.py : Gestion de la base de données SQLite
- db_exporter.py : Export vers MySQL et PostgreSQL
- L'utilisateur charge un fichier CSV via l'interface graphique
- Le parser CSV analyse le fichier et extrait les données
- Les données sont stockées dans une base SQLite temporaire ou permanente
- L'interface affiche les données et permet leur manipulation
- Optionnellement, les données peuvent être exportées vers MySQL ou PostgreSQL
MainWindow (gui.py)
├── CSVParser (csv_parser.py)
├── DatabaseManager (db_manager.py)
└── DBExporter (db_exporter.py)
L'application utilise des threads séparés pour les opérations longues afin de maintenir la réactivité de l'interface :
- Chargement de fichiers CSV volumineux
- Insertion de données dans la base
- Exécution de requêtes SQL complexes
- Export vers bases de données externes
La classe Worker (dans gui.py) encapsule cette logique de threading.