--- title: YoutubeDL-Material created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, downloads, video, youtube, nodejs, yt-dlp, material-ui, subscriptions] confidence: high contested: false sources: [https://selfh.st/apps/?tag=downloads, https://github.com/Tzahi12345/YoutubeDL-Material] --- # YoutubeDL-Material > GUI web complète pour **yt-dlp** avec support des **playlists**, **abonnements** à des chaînes, **multi-utilisateurs**, **Material Design** et un système de **file d'attente** avancé. Le pendant riche de [[app-metube]]. | Métadonnée | Valeur | | :--- | :--- | | **Site web** | https://youtubedl-material.tzahi.fr/ | | **GitHub** | https://github.com/Tzahi12345/YoutubeDL-Material | | **License** | AGPL-3.0 | | **Langage** | TypeScript (Node.js / Express + Angular / Material UI) | | **Étoiles GitHub** | 323 ⭐ | | **Dernière MAJ** | 2026-05 | | **Catégorie** | [[cat-downloads]] | ## Description YoutubeDL-Material (ou YTM) est une **GUI web Material Design** pour **yt-dlp**, écrite en **TypeScript** avec un backend Node.js/Express et un frontend Angular. Là où [[app-metube]] propose une interface minimaliste de type « paste-URL-and-go », YTM va beaucoup plus loin : **abonnements à des chaînes YouTube** (synchronisation automatique), **playlists persistantes**, **file d'attente avancée**, **gestion multi-utilisateurs** avec permissions granulaires, **historique de téléchargements**, et **téléchargement de fichiers multiples en parallèle**. L'application gère en interne une **base de données SQLite** (par défaut) qui stocke les abonnements, l'historique, les comptes utilisateurs et les métadonnées des fichiers. Une **API REST** exposée permet l'intégration avec des outils externes (Home Assistant, scripts Bash, etc.). Le **frontend Material UI** est responsive et offre une expérience proche de YouTube lui-même, avec un **lecteur vidéo intégré** (via video.js) et un **lecteur audio**. YoutubeDL-Material est un projet **maintenu activement** (release mensuelle), régulièrement mis à jour pour suivre les changements d'API de YouTube. Le principal cas d'usage est le **« Personal YouTube »** : héberger une instance privée de sa bibliothèque de chaînes favorites, avec téléchargement automatique des nouvelles vidéos et consultation hors-ligne. ## Installation ### Option 1 : Docker Compose (recommandé) ```yaml services: youtubedl-material: image: tzahi12345/youtubedl-material:latest container_name: youtubedl-material restart: unless-stopped ports: - "8998:8998" environment: - TZ=Europe/Paris - YDLM_DEFAULT_AUDIO_DIRECTORY=/youtube_dl/audio - YDLM_DEFAULT_VIDEO_DIRECTORY=/youtube_dl/video volumes: - ./config:/youtube_dl/config - ./youtube_dl:/youtube_dl - ./downloads:/downloads ``` UI sur `http://localhost:8998`. Compte admin créé au premier démarrage, à modifier immédiatement. ### Option 2 : Installation manuelle ```bash git clone https://github.com/Tzahi12345/YoutubeDL-Material cd YoutubeDL-Material npm install node src/back-end/index.js # par défaut sur http://localhost:8998 ``` ## Configuration 1. **Comptes utilisateurs** : *Settings → Users* → créer plusieurs utilisateurs avec des permissions distinctes (admin, downloader, viewer). 2. **Abonnements** : *Subscriptions* → ajouter des chaînes YouTube à scraper. Configurer la fréquence (`subscription_check_interval`). 3. **Playlists** : ajouter des playlists YouTube à suivre ; YTM propose de télécharger les nouvelles entrées automatiquement. 4. **File d'attente** : supporte la **priorité**, la **pause/reprise**, l'**annulation sélective** et la **planification horaire**. 5. **Cookies** : monter un `cookies.txt` dans `/youtube_dl/cookies/` pour les vidéos soumises à authentification. 6. **Format** : `YDL_OPTIONS` permet de passer des flags yt-dlp avancés (qualité max, sponsorblock, format codec). 7. **Notification** : webhooks sortants (Discord, Telegram, NTFY) à la fin d'un téléchargement. ## Alternatives ### Open Source - [[app-metube]] — Plus minimaliste, pas d'abonnements, plus rapide à déployer - [[app-cobalt]] — API-first moderne, pas de base de données, plus simple - **Tube Archivist** — Bibliothèque de chaînes YouTube avec focus sur la collection (Plex/Jellyfin) - **Piped** / **Invidious** — Frontends alternatifs à YouTube (streaming, pas de téléchargement) - [[app-plex]] / [[app-jellyfin]] — Media servers (YTM peut alimenter leur bibliothèque) ### Propriétaires - **YouTube Premium** — Téléchargement hors-ligne officiel, limité à l'app mobile - **4K Video Downloader** — Desktop, pas de webapp - **Y2mate** — Site tiers, adwares ## Sécurité - Changer le **mot de passe admin** créé au premier démarrage - Activer l'authentification obligatoire (par défaut, YTM peut tourner en mode « open access » à désactiver) - Restreindre l'accès via reverse proxy authentifié ([[app-authelia]], [[app-nginx-proxy-manager]]) - Les **abonnements** peuvent scrapper massivement YouTube : configurer un rate-limit raisonnable pour ne pas être banni - ⚠️ Le téléchargement de contenu protégé par le droit d'auteur est **illégal** dans la plupart des juridictions - Les cookies YouTube doivent être **renouvelés régulièrement** (expiration rapide) ## Ressources - Site officiel : https://youtubedl-material.tzahi.fr/ - Code source : https://github.com/Tzahi12345/YoutubeDL-Material - Documentation : https://github.com/Tzahi12345/YoutubeDL-Material/wiki - yt-dlp (backend) : https://github.com/yt-dlp/yt-dlp - Discord : https://discord.gg/AdFUBKx ## Pages Liées - [[cat-downloads]] — Vue d'ensemble de la catégorie Downloads - [[app-metube]] — Alternative minimaliste - [[app-cobalt]] — Alternative API-first - [[app-authelia]] — SSO pour restreindre l'accès - [[app-jellyfin]] / [[app-plex]] — Media servers qui peuvent exploiter les fichiers - [[recettes-docker-compose]] — Templates Docker