Skip to content

Latest commit

 

History

History
251 lines (201 loc) · 9.86 KB

File metadata and controls

251 lines (201 loc) · 9.86 KB

Spotify Music Personality Analyzer - Objectif du Projet

🎯 Vision Globale

Créer une application Flutter cross-platform innovante qui transforme les données d'écoute Spotify d'un utilisateur en un profil de personnalité psychologique détaillé, en utilisant les caractéristiques audio des morceaux et les patterns d'écoute pour révéler des insights personnels fascinants.

🎵 Concept Central

L'application analyse les habitudes musicales pour établir des corrélations entre :

  • Caractéristiques audio (energy, valence, danceability, etc.)
  • Traits de personnalité Big Five (Openness, Conscientiousness, Extraversion, Agreeableness, Neuroticism)
  • Patterns comportementaux (diversité, découverte, habitudes temporelles)

📱 Plateformes Cibles

  • Mobile : Android & iOS (priorité)
  • Web : Application web responsive
  • Desktop : Potentiel futur (Windows, macOS, Linux)

👥 Utilisateurs Cibles

  1. Utilisateurs Spotify actifs qui écoutent régulièrement de la musique
  2. Passionnés de psychologie intéressés par l'auto-découverte
  3. Mélomanes curieux de comprendre leurs goûts musicaux
  4. Créateurs de contenu pour partager leurs profils musicaux
  5. Chercheurs/Étudiants en psychologie de la musique

🏗️ Architecture Technique

Stack Principal

  • Framework : Flutter 3.x
  • Langage : Dart
  • Architecture : Clean Architecture + BLoC Pattern
  • State Management : flutter_bloc
  • API : Spotify Web API
  • Storage : Hive (local) + Secure Storage (tokens)

Choix Architecturaux

  • Clean Architecture pour la maintenabilité et testabilité
  • BLoC Pattern pour une gestion d'état prévisible et testable
  • Dependency Injection avec GetIt + Injectable
  • Repository Pattern pour l'abstraction des sources de données

🔧 Fonctionnalités Principales

1. Authentification & Sécurité

  • OAuth 2.0 Spotify avec WebView intégrée ✅ TERMINÉ
  • Gestion sécurisée des tokens (access & refresh) ✅ TERMINÉ
  • Auto-refresh automatique des tokens expirés ✅ TERMINÉ
  • Déconnexion propre avec révocation des tokens ✅ TERMINÉ

2. Collecte de Données Spotify

  • Top Tracks (short, medium, long term) ✅ TERMINÉ
  • Top Artists avec genres associés ✅ TERMINÉ
  • Audio Features pour chaque track ✅ TERMINÉ
  • Recently Played pour les patterns temporels ✅ TERMINÉ
  • Playlists pour analyser la curation musicale ✅ TERMINÉ
  • Saved Tracks pour évaluer les préférences à long terme ✅ TERMINÉ

3. Algorithmes d'Analyse Psychologique ✅ TERMINÉ

Mapping Big Five

  • Openness : Diversité des genres, découverte de nouveaux artistes ✅
  • Conscientiousness : Régularité d'écoute, organisation des playlists ✅
  • Extraversion : Energy des tracks, tempo, danceability ✅
  • Agreeableness : Valence, acousticness, harmonie ✅
  • Neuroticism : Variabilité émotionnelle, loudness, patterns d'écoute ✅

Métriques Avancées

  • Musical Diversity Index : Entropie des genres et artistes ✅
  • Emotional Profile : Distribution valence/energy ✅
  • Discovery Score : Ratio nouveaux vs anciens contenus ✅
  • Temporal Patterns : Habitudes d'écoute par moment/saison ✅

4. 🎵 Système de Recommandations IA Intelligent ✅ AMÉLIORÉ - TERMINÉ

  • IA avancée : Utilisation de Llama 3.3 70B pour recommandations ultra-personnalisées
  • Analyse multi-sources : Combine top tracks, artists, recently played, audio features ET analyse de personnalité
  • Intégration Big Five : Prend en compte les traits de personnalité (Ouverture, Sociabilité, Organisation, Bienveillance, Émotivité)
  • Profil musical automatique : Classification (Explorateur, Amateur de Hits, Découvreur, Équilibré)
  • Humeur musicale : Détection automatique (Énergique, Calme, Intensif, Joyeux, Neutre)
  • Audio signature : Analyse des caractéristiques audio (energy, valence, danceability, acousticness)
  • Stratégie intelligente : 2 hits favoris + 2 découvertes + 1 surprise d'élargissement
  • Justifications enrichies : Chaque recommandation expliquée selon profil musical ET traits psychologiques
  • Interface adaptive : Différencie visuellement les recommandations avec/sans analyse de personnalité
  • Workflow optimisé : Analyse personnalité → Recommandations ultra-ciblées
  • Re-génération : Possibilité d'obtenir de nouvelles suggestions à volonté

5. Interface Utilisateur ✅ TERMINÉ

Dashboard Principal

  • Profil de personnalité avec radar chart Big Five ✅
  • Top contenus (tracks, artists, genres) ✅
  • Insights personnalisés avec descriptions narratives ✅
  • Métriques d'écoute (temps total, diversité, etc.) ✅

Analyses Détaillées

  • Graphiques audio features (interactive charts) ✅
  • Timeline des goûts (évolution temporelle) ✅
  • Comparaisons avec moyennes populaires ✅
  • Recommandations IA basées sur le profil ✅ NOUVEAU

Profil & Partage

  • Page profil complète avec descriptions détaillées ✅
  • Export/Partage des résultats (image, PDF, lien) ⏳ EN COURS
  • Historique des analyses avec comparaisons ⏳ EN COURS
  • Badges/Achievements musicaux ⏳ EN COURS

6. Fonctionnalités Avancées

  • Mode offline avec cache intelligent ✅ TERMINÉ
  • Notifications pour re-analyser périodiquement ⏳ PLANIFIÉ
  • Thèmes personnalisables (light/dark/Spotify) ✅ TERMINÉ
  • Multi-langues (FR, EN minimum) ⏳ PLANIFIÉ
  • Accessibilité complète ✅ TERMINÉ

🎨 Design System

Identité Visuelle

  • Palette Spotify : Vert principal, noir, blanc, gris
  • Accents : Couleurs dynamiques basées sur l'artwork
  • Typography : Google Fonts (Poppins/Inter pour modernité)
  • Iconographie : Mix Material Design + icônes musicales custom

UX Principles

  • Progressive Disclosure : Information par niveaux
  • Immediate Feedback : Loading states, animations
  • Accessibility First : Support complet screen readers
  • Mobile First : Design responsive prioritisant mobile

🔬 Algorithmes de Personnalité

Modèle Big Five Adapté

Openness (Ouverture)

Score = (0.4 * genre_diversity) + 
        (0.3 * artist_discovery_rate) + 
        (0.2 * avg_instrumentalness) + 
        (0.1 * playlist_variety)

Conscientiousness (Conscience)

Score = (0.4 * listening_regularity) + 
        (0.3 * playlist_organization) + 
        (0.2 * repeat_listen_ratio) + 
        (0.1 * completion_rate)

Extraversion

Score = (0.4 * avg_energy) + 
        (0.3 * avg_danceability) + 
        (0.2 * social_playlist_activity) + 
        (0.1 * tempo_preference)

Agreeableness (Amabilité)

Score = (0.4 * avg_valence) + 
        (0.3 * collaborative_playlists) + 
        (0.2 * mainstream_vs_niche) + 
        (0.1 * acoustic_preference)

Neuroticism (Névrosisme)

Score = (0.4 * emotional_variability) + 
        (0.3 * skip_rate) + 
        (0.2 * late_night_listening) + 
        (0.1 * loudness_preference)

📊 Métriques & Analytics

KPIs Utilisateur

  • Diversité musicale (nombre genres uniques / total écoutes)
  • Index de découverte (nouveaux artistes / mois)
  • Stabilité émotionnelle (variance valence sur période)
  • Intensité d'écoute (heures / jour)
  • Patterns temporels (moments préférés d'écoute)

Insights Générés

  • "Votre profil suggère une personnalité créative et ouverte"
  • "Vous écoutez 40% plus de musique énergique que la moyenne"
  • "Votre diversité musicale vous place dans le top 15% des utilisateurs"
  • "Vos habitudes d'écoute révèlent des patterns d'introverti"

🚀 Roadmap de Développement

Phase 1 : MVP Core (2-3 semaines)

  • Setup projet Flutter + architecture
  • Authentification Spotify
  • Récupération données de base
  • Interface login + dashboard simple
  • Calcul personnalité basique

Phase 2 : Analyses Avancées (2 semaines)

  • Algorithmes complets de personnalité
  • Graphiques interactifs (fl_chart)
  • Pages d'analyse détaillées
  • Cache intelligent et offline

Phase 3 : UX & Polish (1-2 semaines)

  • Design system complet
  • Animations et micro-interactions
  • Thèmes et personnalisation
  • Tests et optimisations

Phase 4 : Features Avancées (1-2 semaines)

  • Partage et export
  • Historique et comparaisons
  • Notifications et recommandations
  • Support multi-langues

🔒 Considérations Sécurité & Privacy

Protection des Données

  • Chiffrement des tokens et données sensibles
  • Storage local uniquement (pas de serveur backend)
  • Respect RGPD avec contrôle utilisateur complet
  • Anonymisation des données d'analytics

Spotify API Compliance

  • Respect des rate limits avec retry logic
  • Usage conforme aux Terms of Service
  • Attribution appropriée dans l'interface
  • Gestion des permissions scope minimales

🎯 Objectifs de Succès

Techniques

  • ✅ Performance : App fluide 60fps minimum
  • ✅ Compatibilité : Android 7+ / iOS 12+
  • ✅ Tests : Couverture >80% code critique
  • ✅ Accessibilité : WCAG 2.1 AA compliance

Utilisateur

  • ✅ Onboarding : <2min pour premiers insights
  • ✅ Engagement : Utilisateurs reviennent analyser
  • ✅ Partage : Feature utilisée par >30% users
  • ✅ Satisfaction : Insights perçus comme pertinents

Innovation

  • ✅ Algorithmes pertinents de personnalité musicale
  • ✅ UX exceptionnelle pour l'analyse de données
  • ✅ Insights uniques non disponibles ailleurs
  • ✅ Architecture scalable pour futures features

Ce projet représente l'intersection fascinante entre technologie, psychologie et art musical, offrant aux utilisateurs une nouvelle façon de se découvrir à travers leur passion pour la musique.