feat: expose verified podcast video availability - #13
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Some newly added UI copy/ARIA labeling is misleading (claims “direct links” where there are none) and the PRD update contains statements that should be clarified/rewritten to remain consistent and verifiable.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Cette PR clarifie l’affichage de la disponibilité des formats (audio/vidéo) et des plateformes sur /podcast et sur les pages d’épisode, en distinguant l’“annonce” de disponibilité (résumé) des liens (cartes existantes), et en conditionnant l’annonce YouTube à la présence d’un lien vidéo résolu.
Changes:
- Ajout de tests de route pour valider l’affichage des sections de disponibilité sur
/podcastet/podcast/:season/:episode. - Ajout de deux sections de disponibilité dans le template
podcast.hbs: une générale (audio + vidéo si chaîne configurée) et une spécifique épisode (plateformes à lien direct + vidéo si URL YouTube résolue). - Mise à jour du PRD YouTube pour refléter l’extension UI (v1.1) et les vérifications associées.
File summaries
| File | Description |
|---|---|
| test/routes/podcast-availability.test.js | Nouveau test couvrant l’affichage “disponibilité plateformes / formats” sur la page podcast et sur une page épisode. |
| server/views/podcast.hbs | Ajoute des sections dédiées qui distinguent audio/vidéo et conditionnent l’annonce de disponibilité à la configuration/résolution. |
| documentation/prd_youtube_podcast.md | Met à jour le PRD (v1.1) pour documenter le comportement attendu et les vérifications effectuées. |
Review details
- Files reviewed: 3/3 changed files
- Comments generated: 3
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| <p class="mb-3 text-sm text-gray-300">Liens directs vers cet épisode :</p> | ||
| <ul class="flex flex-wrap gap-2" aria-label="Plateformes audio avec un lien direct vers cet épisode"> |
| Extension d'interface 1.1 : | ||
|
|
||
| - 13 tests ciblés des routes podcast, YouTube et mode dégradé passent. | ||
| - `npm test` exécute 141 tests : 128 passent, 12 intégrations externes sont | ||
| ignorées et le test mémoire Jimp fluctuant échoue à 58,83 Mo de croissance. | ||
| Les deux tests mémoire passent isolément avec GC explicite. |
| - `npm run build` réussit. Le CSS généré par Tailwind 4.1.11 n'est pas conservé, | ||
| car l'artefact du dépôt vient de Tailwind 4.3.3 et toutes les classes utilisées | ||
| par le nouveau récapitulatif y sont déjà présentes. |
Résumé
/podcast/podcastmaxres16/9 comme image Open Graph/Twitter, avec fallback sur l’image OG existante/podcast/:season/:episode/compatible par redirection vers l’URL canoniqueDonnées et sécurité
010_add_podcast_video_availability.sqlVérifications
npm test: 150 exécutés, 137 réussis, 12 ignorés et 1 échec sur le test mémoire Jimp fluctuant ; ses 2 cas passent isolément avec--expose-gcnpm run build: réussi ; l’artefact CSS local Tailwind 4.1.11 n’est pas conservé face à la version 4.3.3 du dépôt, et les classes utilisées sont déjà présentesgit diff --check: réussi/podcastn'affiche plus de tag vidéo et propose la chaîne YouTube parmi les plateformes ; S3E1 afficheSpotify (HD)sans carte YouTube ; S3E2 afficheSpotify (4K) · YouTube (4K)avec son lien directog:imageettwitter:image, dimensions 1280 × 720Aperçu
https://macbook-pro-de-damien.taild95457.ts.net:9446/podcasthttps://macbook-pro-de-damien.taild95457.ts.net:9446/podcast/3/1https://macbook-pro-de-damien.taild95457.ts.net:9446/podcast/3/2L’aperçu est limité au tailnet et lit le RSS ainsi que les liens publics réels. Le flux public ne contient pas encore les enclosures MP4/HLS annoncées : le site officiel et Apple apparaîtront par épisode dès leur ajout, indépendamment de Spotify et YouTube.
Aucune production, variable Clever Cloud ou base distante n’a été modifiée.