Un téléchargeur YouTube moderne avec une interface PySide6 épurée.
Téléchargez des vidéos dans n'importe quelle qualité, extrayez l'audio, récupérez les sous-titres, et plus encore.
Anglais : EN | Arabe : AR | Allemand : DE | Espagnol : ES | Français : FR | Hindi : HI | Indonésien : ID | Italien : IT | Japonais : JA | Polonais : PL | Portugais : PT | Russe : RU | Turc : TR | Chinois : ZH
Installation • Fonctionnalités • Utilisation • Captures d'écran • Dépannage • Sponsor • Contribution
YTSage est conçu pour les utilisateurs qui recherchent un téléchargeur YouTube simple mais puissant. Contrairement à d'autres outils, il offre :
- Une interface PySide6 moderne et épurée
- Téléchargements en un clic pour la vidéo, l'audio et les sous-titres
- Fonctionnalités avancées comme SponsorBlock, la fusion des sous-titres et la sélection de playlists
- Mode générique (Generic Mode) optionnel pour les sites pris en charge par yt-dlp au-delà de YouTube
- Support multiplateforme et installation facile
| Fonctionnalités de base | Fonctionnalités avancées | Fonctionnalités supplémentaires |
|---|---|---|
| 🎥 Tableau des formats | 🚫 Intégration de SponsorBlock | 🎞️ Affichage FPS/HDR |
| 🎵 Extraction audio | 📝 Sélection et fusion de sous-titres | 🔄 Mise à jour automatique de yt-dlp |
| ✨ Interface utilisateur simple | 💾 Enregistrement de la description et de la miniature | 🛠️ Détection de FFmpeg/yt-dlp/Deno |
| 📋 Support et sélecteur de playlists | 🚀 Limiteur de vitesse | ⚙️ Commandes personnalisées |
| 📑 Intégration des chapitres | ✂️ Découpage de sections vidéo | 🍪 Connexion avec Cookies |
| 📜 Historique des téléchargements | 🔄 Sélection du canal de version | 🌐 Support Proxy |
| 🎚️ Conversion du format audio | 🎬 Paramètres de format vidéo | 🆙 Onglet de mise à jour intégré |
| 🌍 Mode générique | 🔊 Normalisation audio (EBU R128) | 🌍 Localisation en 14 langues |
| 💾 Exportation de playlists | ⚙️ Qualité et sous-titres par défaut |
Installez YTSage via PyPI :
pip install ytsage🔄 Mettre à jour une installation existante
pip install --upgrade ytsageLancez ensuite l'application :
ytsage| Format | Description |
|---|---|
| Installateur standard | |
| Avec FFmpeg inclus | |
| Version portable, aucune installation requise | |
| Portable avec FFmpeg, zippé |
🛠️ Étapes d'installation
- Installateur EXE (
.exe) : Double-cliquez sur le fichier et suivez l'assistant de configuration. - Version portable (
.zip) : Extrayez l'archive vers l'emplacement souhaité et lancezytsage.exe. - FFmpeg inclus : Choisissez les versions avec FFmpeg inclus si vous n'avez pas FFmpeg installé sur votre système.
| Format | Description |
|---|---|
| Paquet Debian | |
| AppImage, portable | |
| Paquet RPM | |
| Flatpak Bundle |
🛠️ Étapes d'installation
- DEB (
.deb) :sudo dpkg -i ytsage_*.deb sudo apt-get install -f # Répare les dépendances manquantes si nécessaire
- RPM (
.rpm) :sudo rpm -i ytsage-*.rpm - AppImage (
.AppImage) :chmod +x YTSage-*.AppImage ./YTSage-*.AppImage
- Flatpak : Suivez les instructions sur Flathub ou lancez :
flatpak install flathub io.github.oop7.ytsage
| Format | Description |
|---|---|
| Application zippée pour Apple Silicon | |
| Installateur d'image disque pour Apple Silicon |
🛠️ Étapes d'installation
- Installateur DMG (
.dmg) : Double-cliquez pour monter, puis faites glisserYTSage.appdans votre dossier Applications. - Archive d'application (
.zip) : Extrayez le zip et déplacezYTSage.appdans votre dossier Applications.
Note : Si vous rencontrez une erreur "L'application est endommagée", consultez la section de dépannage macOS ci-dessous.
💻 Installation manuelle à partir des sources
git clone https://github.com/oop7/YTSage.git
cd YTSageuv pip install .pip install .python -m ytsage.main🎯 Utilisation de base
- Lancez YTSage
- Collez l'URL YouTube (ou utilisez le bouton "Paste URL")
- Cliquez sur "Analyze"
- Sélectionnez le format :
Videopour les téléchargements vidéoAudio Onlypour l'extraction audio
- Choisissez les options :
- Activer les sous-titres et sélectionner la langue
- Activer la fusion des sous-titres
- Enregistrer la miniature
- Supprimer les segments sponsorisés
- Enregistrer la description
- Intégrer les chapitres
- Sélectionnez le répertoire de sortie
- Cliquez sur "Download"
💡 Le répertoire de téléchargement par défaut est le dossier "Téléchargements" de l'utilisateur.
📋 Téléchargement de playlist
- Collez l'URL de la playlist
- Cliquez sur "Analyze"
- Sélectionnez les vidéos du sélecteur de playlist (optionnel, toutes par défaut)
- Choisissez le format/la qualité souhaitée
- Cliquez sur "Download"
💡 L'application gère automatiquement la file d'attente de téléchargement, et vous pouvez exporter les entrées de la playlist au format
.txt,.csv,.m3uou.json.
🌍 Mode générique pour les sites non-YouTube
Utilisez le mode générique (Generic Mode) lorsque vous souhaitez que YTSage accepte des URL de sites pris en charge par yt-dlp, tels que Dailymotion, CBC Gem, TikTok, et d'autres.
Comment l'utiliser :
- Ouvrez
Download Settings. - Activez
Generic Mode. - Collez une URL de vidéo ou de playlist prise en charge qui n'est pas YouTube.
- Cliquez sur
Analyze. - Choisissez un format et téléchargez comme d'habitude.
Notes :
- Le mode générique ne modifie que la validation de l'URL à l'intérieur de YTSage. Le site cible doit toujours être pris en charge par votre version installée de yt-dlp.
- Certains sites nécessitent des cookies, une session de connexion, un proxy ou des arguments yt-dlp supplémentaires selon l'extracteur.
- Si un site échoue, mettez d'abord à jour yt-dlp depuis l'onglet de mise à jour intégré avant de signaler le problème.
🧰 Options média et de téléchargement
- Options de sous-titres : Filtrer les langues et intégrer les sous-titres dans le fichier vidéo.
- Fusion de sous-titres : Fusionner les sous-titres dans le fichier vidéo pour des sous-titres incrustés (hardcoded).
- Enregistrer la description : Enregistrer la description de la vidéo sous forme de fichier texte.
- Enregistrer la miniature : Enregistrer la miniature de la vidéo sous forme de fichier image.
- Intégrer les chapitres : Intégrer les marqueurs de chapitres comme métadonnées pour les lecteurs vidéo compatibles.
- Supprimer les segments sponsorisés : Supprimer les segments sponsorisés de la vidéo à l'aide de SponsorBlock.
- Découper la vidéo : Téléchargez uniquement des parties spécifiques d'une vidéo en spécifiant des plages temporelles au format
HH:MM:SS.
⚙️ Paramètres de sortie et de fichier
- Limiteur de vitesse : Limiter la vitesse de téléchargement, par exemple
500Kpour 500 Ko/s. - Enregistrer le chemin de téléchargement : Enregistre le chemin de téléchargement par défaut pour les futurs téléchargements. Disponible dans Download Settings → Download Path.
- Résolution vidéo par défaut : Définissez votre résolution vidéo préférée par défaut pour la sélection automatique (ex : 1080p, 720p). Disponible dans Download Settings → Default Video Resolution.
- Langues de sous-titres par défaut : Définissez les langues de sous-titres par défaut pour une sélection automatique (séparées par des virgules, ex :
fr,en). Disponible dans Download Settings → Default Subtitle Languages. - Format du nom de fichier de sortie : Personnalisez le format du nom de fichier de sortie à l'aide de variables telles que
%(title)s,%(uploader)s,%(playlist_index)set%(resolution)s. Disponible dans Download Settings → Filename Format. - Forcer le format de sortie : Forcer les téléchargements vidéo dans un format de conteneur spécifique tel que
mp4,webmoumkv. Disponible dans Download Settings → Output Format Settings. - Conversion du format audio : Convertir les téléchargements audio uniquement dans les formats préférés tels que
AAC,MP3,FLAC,WAV,Opus,M4A,VorbisouBest. Disponible dans Download Settings → Audio Format Settings. - Normalisation audio : Standardiser le volume pour les téléchargements audio uniquement à l'aide de l'EBU R128.
- Connexions simultanées : Augmentez considérablement la vitesse de téléchargement en téléchargeant les fichiers en plusieurs fragments simultanément. Disponible dans Download Settings → General → Concurrent Connections (1 par défaut, le maximum recommandé est de 8 à 10 pour éviter la limitation par IP).
🌐 Accès et réseau
- Connexion avec cookies : Connectez-vous à YouTube à l'aide de cookies pour accéder au contenu privé.
Comment l'utiliser :
- Recommandé : Utilisez l'option intégrée
Extract cookies from browserdans l'application, puis sélectionnez votre navigateur et éventuellement un profil. - Alternativement, extrayez les cookies manuellement :
a. Exportez les cookies de votre navigateur à l'aide d'une extension comme cookie-editor
b. Copiez les cookies au format Netscape
c. Créez un fichier nommé
cookies.txtet collez-y les cookies d. Sélectionnez le fichiercookies.txtdans l'application
- Recommandé : Utilisez l'option intégrée
- Support Proxy : Utilisez un serveur proxy pour les téléchargements, par exemple
http://<proxy-server>:<port> - Mode générique : Permet à YTSage d'analyser et de télécharger à partir de sites non-YouTube pris en charge par yt-dlp. Activez-le depuis Download Settings → Generic Mode.
🛠️ Outils et maintenance
- Commandes personnalisées : Accédez aux fonctionnalités avancées de yt-dlp via des arguments de ligne de commande.
- Onglet de mise à jour : Gérez les outils de mise à jour intégrés depuis un seul endroit dans Options personnalisées :
- Mises à jour de yt-dlp : Vérifiez les mises à jour et basculez entre les canaux de version Stable et Nightly.
- Vérificateur de version FFmpeg : Vérifiez votre version de FFmpeg et ouvrez les guides d'installation.
- Mises à jour de Deno : Vérifiez et mettez à jour le moteur d'exécution Deno.
- Détection de FFmpeg/yt-dlp/Deno : Détecte automatiquement les chemins et les versions de FFmpeg, yt-dlp et Deno à partir de la boîte de dialogue À propos.
- Historique des téléchargements : Affichez les téléchargements passés avec les miniatures et les statuts depuis le bouton History.
🌍 Localisation
YTSage prend en charge 14 langues pour une accessibilité mondiale. Sélectionnez votre langue préférée dans Custom Options → Language.
| Langue | Code | Langue | Code |
|---|---|---|---|
| 🇺🇸 Anglais | en |
🇪🇸 Espagnol | es |
| 🇸🇦 Arabe | ar |
🇫🇷 Français | fr |
| 🇩🇪 Allemand | de |
🇮🇳 Hindi | hi |
| 🇮🇩 Indonésien | id |
🇮🇹 Italien | it |
| 🇯🇵 Japonais | ja |
🇵🇱 Polonais | pl |
| 🇧🇷 Portugais | pt |
🇷🇺 Russe | ru |
| 🇹🇷 Turc | tr |
🇨🇳 Chinois | zh |
| Langue | Fichier | Langue | Fichier |
|---|---|---|---|
| 🇺🇸 Anglais | README.md | 🇪🇸 Espagnol | README.es.md |
| 🇸🇦 Arabe | README.ar.md | 🇫🇷 Français | README.fr.md |
| 🇩🇪 Allemand | README.de.md | 🇮🇳 Hindi | README.hi.md |
| 🇮🇩 Indonésien | README.id.md | 🇮🇹 Italien | README.it.md |
| 🇯🇵 Japonais | README.ja.md | 🇵🇱 Polonais | README.pl.md |
| 🇧🇷 Portugais | README.pt.md | 🇷🇺 Russe | README.ru.md |
| 🇹🇷 Turc | README.tr.md | 🇨🇳 Chinois | README.zh.md |
💡 Vous souhaitez contribuer à une traduction ? Consultez la section Contribution pour nous aider à ajouter d'autres langues !
Cliquez pour voir les problèmes courants et les solutions
- Le tableau des formats ne s'affiche pas : Mettez à jour yt-dlp à la dernière version et passez à yt-dlp nightly.
- Échec du téléchargement : Vérifiez votre connexion Internet et assurez-vous que la vidéo est disponible.
- Erreurs de téléchargement spécifiques :
- Vidéos privées : Utilisez l'authentification par cookies pour accéder au contenu privé.
- Contenu soumis à une limite d'âge : Connectez-vous à votre compte YouTube pour visionner les vidéos avec limite d'âge.
- Vidéos géo-bloquées : Envisagez d'utiliser un VPN pour contourner les restrictions régionales.
- Vidéos supprimées : La vidéo n'est plus disponible sur YouTube.
- Directs (Live streams) : Les directs ne peuvent pas être téléchargés ; attendez la fin de la diffusion.
- Erreurs réseau : Vérifiez votre connexion Internet et réessayez.
- URL non valides : Assurez-vous que l'URL est correcte et provient d'une plateforme prise en charge.
- Contenu Premium : Nécessite un abonnement YouTube Premium.
- Blocages pour droits d'auteur : Le contenu est bloqué en raison de restrictions de droits d'auteur.
- Fichiers vidéo et audio séparés après le téléchargement : Cela se produit lorsque FFmpeg est manquant ou non détecté. YTSage nécessite FFmpeg pour fusionner les flux vidéo et audio de haute qualité.
- Solution : Assurez-vous que FFmpeg est installé et accessible dans le PATH de votre système. Pour les utilisateurs Windows, l'option la plus simple est de télécharger le fichier
YTSage-v<version>-ffmpeg.exe, qui est livré avec FFmpeg.
- Solution : Assurez-vous que FFmpeg est installé et accessible dans le PATH de votre système. Pour les utilisateurs Windows, l'option la plus simple est de télécharger le fichier
Certains logiciels antivirus peuvent signaler les fichiers .exe comme de faux positifs. Il s'agit d'une limitation connue des applications packagées.
Pourquoi cela se produit :
- L'heuristique des antivirus peut identifier par erreur les exécutables packagés comme suspects.
Alternatives sûres :
- ✅ Utilisez l'installation pip :
pip install ytsage(recommandé) - ✅ Compiler à partir des sources : en suivant ce guide
- ✅ Mettre l'application en liste blanche dans votre logiciel antivirus.
Si vous voyez cette erreur sur macOS Sonoma ou une version plus récente, vous devez supprimer l'attribut de quarantaine.
- Ouvrez le Terminal (vous pouvez le trouver en utilisant Spotlight).
- Tapez la commande suivante mais n'appuyez pas encore sur Entrée. Assurez-vous d'inclure l'espace à la fin :
xattr -d com.apple.quarantine
- Faites glisser le fichier
YTSage.appdepuis votre fenêtre Finder et déposez-le directement dans la fenêtre du Terminal. Cela collera automatiquement le chemin correct du fichier. - Appuyez sur Entrée pour exécuter la commande.
- Essayez d'ouvrir à nouveau YTSage.app. Il devrait maintenant se lancer correctement.
- Windows :
%LOCALAPPDATA%\YTSage - macOS :
~/Library/Application Support/YTSage - Linux :
~/.local/share/YTSage
Si YTSage vous fait gagner du temps, envisagez de sponsoriser le projet. Le parrainage aide à couvrir le temps de développement, les tests sur toutes les plateformes et les améliorations futures.
- GitHub Sponsors : https://github.com/sponsors/oop7
- Le lien de parrainage est également disponible directement dans l'application via la boîte de dialogue À propos.
Nous accueillons les contributions avec plaisir ! Voici comment vous pouvez aider :
- 🍴 Forkez le dépôt
- 🌿 Créez votre branche de fonctionnalité :
git checkout -b feature/AmazingFeature- 💾 Committez vos modifications :
git commit -m 'Add some AmazingFeature'- 📤 Pushez vers la branche :
git push origin feature/AmazingFeature- 🔄 Ouvrez une Pull Request
- Mettez à jour le fichier README localisé correspondant (par exemple
readme-translations/README.fr.md) - Gardez les chaînes de l'application synchronisées en éditant
ytsage/languages/<code>.json - Si votre langue est manquante, commencez par
README.mdet créezREADME.<code>.md
📂 Structure du projet
Ce document décrit la structure organisée des dossiers de YTSage.
YTSage/
├── 📁 .github/ # Configuration GitHub
│ ├── 📁 ISSUE_TEMPLATE/ # Modèles de tickets
│ │ └── 🐛-bug-report.md # Modèle de rapport de bug
│ ├─── 📁 workflows/ # Workflows GitHub Actions
│ │ ├── build-linux.yml # Workflow de build Linux
│ │ ├── build-macos.yml # Workflow de build macOS
│ │ │── build-windows.yml # Workflow de build Windows
| | └── release-all.yml # Workflow de release master
│ └── 📄 CI_CD_README.md # Documentation CI/CD
├── 📁 branding/ # Actifs de marque (Captures d'écran, SVGs)
│ ├── 📁 icons/ # Icônes de l'application
│ ├── 📁 screenshots/ # Captures d'écran pour la documentation
│ └── 📁 svg/ # Actifs SVG
├── 📄 LICENSE # Fichier de licence
├── 📄 pyproject.toml # Métadonnées du projet et dépendances
├── 📄 README.md # Documentation du projet
├── 📄 requirements.txt # Dépendances Python (dev)
└── 📁 ytsage/ # Paquet source
├── 📁 assets/ # Actifs d'exécution
│ ├── 📁 Icon/ # Icônes de l'application
│ └── 📁 sound/ # Fichiers audio
├── 📁 languages/ # Fichiers de localisation
│ ├── 📄 ar.json # Traduction arabe
│ ├── 📄 de.json # Traduction allemande
│ ├── 📄 en.json # Traduction anglaise
│ └── ... # Autres langues
├── 📁 core/ # Logique métier principale
│ ├── 📄 __init__.py # Initialisation du paquet core
│ ├── 📄 ytsage_deno.py # Intégration Deno
│ ├── 📄 ytsage_downloader.py # Fonctionnalité de téléchargement
│ ├── 📄 ytsage_ffmpeg.py # Intégration FFmpeg
│ ├── 📄 ytsage_utils.py # Fonctions utilitaires
│ └── 📄 ytsage_yt_dlp.py # Intégration yt-dlp
├── 📁 gui/ # Composants de l'interface utilisateur
│ ├── 📄 __init__.py # Initialisation du paquet GUI
│ ├── 📄 ytsage_gui_main.py # Fenêtre principale de l'application
│ └── 📁 ytsage_gui_dialogs/ # Classes de dialogues
├── 📁 utils/ # Modules utilitaires
│ ├── 📄 __init__.py # Initialisation du paquet utils
│ ├── 📄 ytsage_config_manager.py # Gestion de la configuration
│ └── 📄 ytsage_logger.py # Utilitaires de log
├── 📄 __init__.py # Point d'entrée du paquet
└── 📄 main.py # Script d'exécution principalCe projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
Afficher les remerciements
Un grand merci à tous ceux qui ont contribué à ce projet en ouvrant un ticket pour suggérer une amélioration ou signaler un bug.
| Composants de base | |
|---|---|
| yt-dlp | Moteur de téléchargement |
| FFmpeg | Traitement média |
| Deno | Runtime pour l'intégration avec yt-dlp |
| Bibliothèques et Frameworks | |
| PySide6 | Framework GUI |
| Pillow | Traitement d'images |
| requests | Requêtes HTTP |
| packaging | Gestion des versions et des paquets |
| markdown | Rendu Markdown |
| loguru | Logging |
| Actifs & Contributeurs | |
| New Notification 09 by Universfield | Son de notification |
| viru185 | Contributeur de code |
Cet outil est destiné à un usage personnel uniquement. Veuillez respecter les conditions d'utilisation de YouTube et les droits des créateurs de contenu.
Fait avec ❤️ par oop7



