129 lines
2.2 KiB
Markdown
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.
|