Application web pour analyser vos données Spotify et générer des playlists intelligentes basées sur la météo et votre vitesse de conduite.
- 🔐 Authentification Spotify - Connexion sécurisée via OAuth 2.0
- 📊 Analyse musicale - Top tracks, artistes, et morceaux récemment écoutés
- 🎵 Générateur de playlist simple - Crée une playlist avec vos morceaux favoris
- 🚗 Mode conduite intelligent - Adapte la playlist à la météo, heure et vitesse
- 💾 Sauvegarde sur Spotify - Crée des playlists directement dans votre compte
- 🎧 Lecteur audio - Écoutez les aperçus 30 secondes depuis l'app
- Node.js 14+
- MongoDB en local ou distant
- Compte Spotify (gratuit ou premium)
# Cloner le projet
cd server
npm installCréez un fichier .env :
MONGODB_URI=mongodb://localhost:27017/mongo-android-app
PORT=5000
JWT_SECRET=votre_clé_secrète
NODE_ENV=development
SPOTIFY_CLIENT_ID=votre_client_id
SPOTIFY_CLIENT_SECRET=votre_client_secret
SPOTIFY_REDIRECT_URI=http://127.0.0.1:5000/api/spotify/callback# Terminal 1 : Démarrer MongoDB
mongod
# Terminal 2 : Démarrer le serveur Node
cd server
npm startOuvrez http://localhost:5000 dans votre navigateur.
- Allez sur https://developer.spotify.com/dashboard
- Créez une application
- Copiez votre
Client IDetClient Secret - Dans "Edit Settings", ajoutez le Redirect URI :
http://127.0.0.1:5000/api/spotify/callback - Remplissez votre
.envavec ces données
server/
├── server.js # Point d'entrée principal
├── routes/
│ ├── spotifyRoutes.js # Routes Spotify API
│ ├── userRoutes.js # Routes utilisateur
│ ├── itemRoutes.js # Routes articles
│ └── recommendationRoutes.js
├── models/
│ ├── User.js # Modèle utilisateur MongoDB
│ ├── SpotifyToken.js # Stockage des tokens
│ └── ...
├── public/
│ ├── index.html # Page d'accueil (login)
│ └── analysis.html # Tableau de bord principal
├── .env # Configuration (variables d'environnement)
└── package.json
GET /api/spotify/login- Redirection vers Spotify pour authentificationGET /api/spotify/callback- Callback après authentificationGET /api/spotify/profile- Profil utilisateurGET /api/spotify/top-tracks- Top 5 morceauxGET /api/spotify/top-artists- Top 10 artistesGET /api/spotify/recently-played- Morceaux récemment écoutésGET /api/spotify/generate-playlist- Générer playlist (simple)POST /api/spotify/generate-smart-playlist- Générer playlist intelligentePOST /api/spotify/save-playlist- Sauvegarder sur Spotify
- Thème Spotify : Couleurs officielles (#121212 noir, #1DB954 vert)
- Responsive : Adapté mobile et desktop
- Interface moderne : Gradients, animations fluides, cards élégantes
L'algorithme ajuste la playlist selon :
Vitesse :
- < 50 km/h → Musique relax (tempo 90 BPM)
- 50-90 km/h → Route tranquille (tempo 120 BPM)
- 90-130 km/h → Autoroute dynamique (tempo 140 BPM)
-
130 km/h → Mode sport (tempo 160 BPM)
Météo :
- ☀️ Soleil → Musique joyeuse
- 🌧️ Pluie → Musique mélancolique
- ⛈️ Orage → Musique énergique
Heure :
- Matin → Réveil en douceur
- Midi → Pause détente
- Après-midi → Productivité
- Soir → Décontraction
- Backend : Node.js + Express.js
- Base de données : MongoDB
- API externe : Spotify Web API, Open-Meteo
- Frontend : HTML5 + CSS3 + Vanilla JS
- Authentification : OAuth 2.0 + JWT
MIT