Files
youtube_personal/ETAPE18_7_PAGE_CHAINE_RICHE_TRI.md
T

129 lines
2.2 KiB
Markdown

# Étape 18.7 - Page chaîne riche + tri réellement fonctionnel
La capture montrait deux problèmes distincts :
```text
durée 0:00
0 vues
```
et une grande zone vide à droite.
Le tri local utilisait donc des valeurs identiques (0 vues / dates absentes),
ce qui explique pourquoi "Plus récentes", "Plus vues" et "Plus anciennes"
semblaient ne rien changer.
## Correction des métadonnées
La liste de chaîne donne d'abord les IDs des uploads.
YouTube Personal enrichit maintenant chaque vidéo avec :
```text
youtube.videos.get(videoId)
```
pour récupérer la vraie fiche :
```text
durée
vues
likes
date de publication
description
```
L'enrichissement se fait par lots de 6 pour ne pas lancer toutes les requêtes
en même temps.
## Tri
Le menu devient :
```text
Plus récentes
Plus vues
Plus aimées
Plus anciennes
```
Les tris utilisent désormais les vraies métadonnées.
Pour le fallback public, la demande de chaîne utilise également le tri natif :
```text
VideoSorting.newest
VideoSorting.popularity
VideoSorting.oldest
```
## Nouvelle présentation desktop
Au lieu d'une petite ligne collée à gauche avec beaucoup de vide :
```text
[ miniature ] texte [ grand vide ]
```
la page utilise maintenant une grille responsive :
```text
[ vidéo 1 ] [ vidéo 2 ] [ vidéo 3 ] [ vidéo 4 ]
[ vidéo 5 ] [ vidéo 6 ] [ vidéo 7 ] [ vidéo 8 ]
```
Selon la largeur :
```text
>= 1500 px : 4 colonnes
>= 1080 px : 3 colonnes
>= 720 px : 2 colonnes
mobile : 1 colonne
```
Chaque carte affiche :
```text
miniature
durée
titre
vues
likes
commentaires si disponibles
date de publication
description
```
## Résumé du catalogue
Au-dessus du tri apparaissent maintenant :
```text
Vidéos chargées
Vues cumulées
Moyenne vues / vidéo
Likes cumulés
Durée totale chargée
Période des vidéos
```
## Test
Après extraction :
```powershell
cd "D:\07-Logiciels\23-youtube_personal"
flutter run -d windows
```
Pas besoin de `flutter clean`.
Dans PowerShell, le fallback public doit aussi afficher :
```text
[CHANNEL-VIDEOS][18.7] channel=UC... sort=newest uploads=...
```
Puis vérifier visuellement que `Plus vues` place réellement les vidéos les
plus vues en premier et que `Plus anciennes` inverse clairement les dates.