---
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
