From fa8bcfdca2de783bb059b40feef718414d9c4f01 Mon Sep 17 00:00:00 2001 From: kyuno Date: Wed, 16 Sep 2026 07:33:32 +0200 Subject: [PATCH] docs: init README --- README.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..928db7f --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +# youtubeDownloader + +Application web self-hosted pour parcourir, mettre en file d'attente et extraire des vidéos/audios YouTube, en s'appuyant sur [yt-dlp](https://github.com/yt-dlp/yt-dlp) et [ffmpeg](https://ffmpeg.org/). + +Ce projet reprend et remplace une série de scripts `.cmd` (téléchargement vidéo, récupération de miniatures, recherche de streams par chaîne) par une interface web unique. + +## Fonctionnalités prévues + +- **Parcourir une chaîne** : recherche par chaîne (URL ou `@handle`), liste de ses vidéos/streams avec filtre par mots-clés dans le titre. +- **Ajout par URL** : ajout direct d'une ou plusieurs URLs YouTube. +- **File d'attente** : chaque élément ajouté est configurable individuellement : + - **Vidéo** : qualité, sous-titres (fr/en), miniature intégrée, métadonnées. + - **Audio seul** : extraction dans un format courant (mp3/m4a/opus). + - **Miniature seule** : récupération du poster uniquement. +- **Exécution en parallèle** : plusieurs téléchargements simultanés (concurrence configurable), avec suivi de progression en temps réel. +- **Livraison au navigateur** : les fichiers terminés sont téléchargés directement par l'utilisateur (pas de dépôt sur une bibliothèque partagée type Emby). +- **Accès** : aucune authentification, usage LAN uniquement. + +## Stack technique (prévue) + +- **Backend** : TypeScript / Fastify, organisé en services modulaires (découverte de chaîne, gestion de la file d'attente, exécution des téléchargements, notifications temps réel). +- **Frontend** : TypeScript vanilla, vues séparées en `.ts` / `.html` / `.scss`. +- **Moteur** : `yt-dlp` + `ffmpeg` (installés dans l'image Docker, non versionnés). +- **Déploiement** : Docker / docker-compose. +- **Linting** : Biome.js. + +## Statut + +En cours de conception — pas encore de code applicatif. Voir les issues et PR pour le suivi du développement.