# Étape 18 - Radar V1 Première version du système original de vidéos proposées. ## Principe Le classement est calculé localement à partir de : - historique ; - favoris ; - chaînes déjà regardées ; - sujets extraits des titres ; - durée de la vidéo ; - mode de session choisi ; - feedback `Pas maintenant` ; - feedback `Moins de cette chaîne`. YouTube sert seulement à fournir des vidéos candidates via les recherches déjà utilisées par l'application. Le score final et l'ordre sont calculés par YouTube Personal. ## Nouveautés de l'accueil ### Radar personnel Sections : ```text Pour toi maintenant Continuer ce sujet Quelque chose de différent À redécouvrir Continuer à regarder Vues récemment Favoris récents ``` ### Modes de session ```text Comme d'habitude Je veux du nouveau Apprendre Détente Courtes vidéos Long format ``` Le mode ne modifie pas définitivement le profil. Il influence seulement la génération actuelle du Radar. ### Mélanger mon Radar Force une nouvelle combinaison de candidats et de classement. ### Pourquoi cette vidéo ? Chaque proposition possède un score sur 100 et une explication : ```text Proche de ce que tu regardes maintenant Thèmes communs : ... Chaîne proche de tes habitudes Sujet proche de tes favoris Nouvelle chaîne pour toi ``` La fenêtre affiche aussi la contribution du score : ```text Sujet +... Habitudes +... Favoris +... Découverte +... Session +... Feedback -... ``` ### Feedback Menu `...` de chaque proposition : ```text Pourquoi cette vidéo ? Pas maintenant Moins de cette chaîne ``` `Pas maintenant` masque la vidéo pendant 30 jours. `Moins de cette chaîne` ajoute un malus persistant à cette chaîne. ## Fichiers ```text lib/models/radar_recommendation.dart lib/services/radar_service.dart lib/screens/home_page.dart ``` ## Test Extraire le ZIP à la racine : ```powershell cd "D:\07-Logiciels\23-youtube_personal" flutter run -d windows ``` Pas besoin de `flutter clean`. Le premier chargement du Radar peut prendre quelques secondes car il lance plusieurs recherches candidates. Les générations suivantes sont gardées en cache mémoire tant que l'historique/favoris/feedback ne changent pas.