managerr/README.md
2025-07-21 16:38:07 +02:00

187 lines
5.2 KiB
Markdown

# Managerr
Une application web pour gérer vos films et séries TV en utilisant les API de Sonarr et Radarr.
## Fonctionnalités
- **Authentification** : Système complet d'inscription et de connexion pour les utilisateurs
- **Tableau de bord** : Affichage d'un agenda mensuel avec les téléchargements prévus
- **Films** : Gestion complète de votre collection de films
- Liste de tous les films
- Films manquants
- Films à venir
- Historique des téléchargements
- **Séries** : Gestion complète de vos séries TV
- Liste de toutes les séries
- Épisodes manquants
- Épisodes à venir
- Historique des téléchargements
- **Paramètres** : Configuration personnalisée des API
- Gestion des URLs et clés API de Sonarr et Radarr
- Test de connexion aux API
- **Interface adaptative** : Design responsive pour mobile, tablette et desktop
- **Thème** : Support des modes clair et sombre avec détection des préférences système
## Technologies utilisées
### Backend
- **Node.js** et **Express.js** pour l'API
- **MongoDB** pour la base de données
- **JWT** pour l'authentification
- **MVC** architecture pour une meilleure organisation du code
### Frontend
- **Vue.js 3** avec **Composition API**
- **Vue Router** pour la navigation
- **Vuex** pour la gestion d'état
- **Axios** pour les requêtes HTTP
- **CSS Variables** pour la gestion des thèmes
- **Lazy Loading** des composants pour optimiser les performances
## Prérequis
- Node.js (v14 ou supérieur)
- MongoDB
- Instances fonctionnelles de Sonarr et Radarr avec leurs API accessibles
## Installation
### Configuration du backend
1. Cloner le dépôt
```bash
git clone https://github.com/votre-username/managerr.git
cd managerr
```
2. Installer les dépendances du backend
```bash
cd backend
npm install
```
3. Créer un fichier `.env` basé sur le fichier `.env.example`
```bash
cp ../config/.env.example ../config/.env
```
4. Modifier le fichier `.env` avec vos propres paramètres
```
PORT=5000
MONGODB_URI=mongodb://localhost:27017/managerr
JWT_SECRET=votre_secret_jwt
```
**Note** : Les URLs et clés API de Sonarr et Radarr peuvent maintenant être configurées directement depuis l'interface utilisateur dans la section "Paramètres".
### Configuration du frontend
1. Installer les dépendances du frontend
```bash
cd ../frontend
npm install
```
2. Créer un fichier `.env.local` pour la configuration du frontend
```bash
echo "VUE_APP_API_URL=http://localhost:5000/api" > .env.local
```
## Lancement de l'application
### Démarrer le backend
```bash
cd backend
npm run dev
```
### Démarrer le frontend
```bash
cd frontend
npm run serve
```
L'application sera accessible à l'adresse : http://localhost:8012
> **Note :** Si vous rencontrez des erreurs lors du démarrage du frontend, assurez-vous que toutes les dépendances sont correctement installées avec `npm install`. Pour les erreurs liées aux plugins webpack, la configuration a été rendue plus robuste pour gérer les différentes versions de Vue CLI.
### Démarrer l'application complète (script utilitaire)
Un script est fourni pour démarrer à la fois le backend et le frontend en une seule commande :
```bash
cd managerr
./start.sh
```
Utilisez Ctrl+C pour arrêter les deux serveurs.
### Utilisation avec Docker (recommandé)
L'application peut également être exécutée dans des conteneurs Docker, ce qui facilite le déploiement et évite les problèmes de configuration locale :
1. Assurez-vous que Docker et docker-compose sont installés sur votre système
2. Exécutez les commandes suivantes :
```bash
# Démarrer tous les services (MongoDB, backend et frontend)
./docker-manage.sh start
# Afficher l'état des services
./docker-manage.sh status
# Afficher les logs
./docker-manage.sh logs
# Arrêter tous les services
./docker-manage.sh stop
```
L'application sera accessible à l'adresse : http://localhost:8012
## Déploiement
### Backend
1. Démarrer le backend en mode production
```bash
cd backend
npm start
```
### Frontend
1. Construire le frontend optimisé pour la production
```bash
cd frontend
npm run build
```
2. Déployer le dossier `/dist` sur votre serveur web
## Optimisations implémentées
- **Lazy loading** des composants Vue.js
- **Compression des assets** pour le frontend
- **Mise en cache des réponses API** côté client
- **Optimisation des images** pour réduire les temps de chargement
- **Division du code** (code splitting) pour des temps de chargement initiaux plus rapides
## Contribuer
1. Fork le projet
2. Créer une branche pour votre fonctionnalité (`git checkout -b feature/amazing-feature`)
3. Commit vos changements (`git commit -m 'Add some amazing feature'`)
4. Push vers la branche (`git push origin feature/amazing-feature`)
5. Ouvrir une Pull Request
## Licence
Distribué sous la licence MIT. Voir `LICENSE` pour plus d'informations.
## Documentation
- [Documentation technique](/backend/API_DOCS.md) - Documentation complète de l'API
- [Guide utilisateur](/frontend/docs/USER_GUIDE.md) - Guide d'utilisation de l'application
## Contact
Votre Nom - [@votre_twitter](https://twitter.com/votre_twitter) - email@exemple.com
Lien du projet: [https://github.com/votre-username/managerr](https://github.com/votre-username/managerr)