Update links in readme-translations/*.md so they point to the project root (prepend ../). Adjusted references for README.md, .github/CI_CD_README.md and LICENSE across the translation files so links resolve correctly from the readme-translations directory.
28 KiB
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.
🌍 Langues du README
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
❓ Pourquoi YTSage ?
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
| 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 |
🚀 Installation
⚡ Installation rapide (Recommandé)
Installez YTSage via PyPI :
pip install ytsage
🔄 Mettre à jour une installation existante
pip install --upgrade ytsage
Lancez ensuite l'application :
ytsage
📦 Exécutables pré-construits
🪟 Windows
| 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.
🐧 Linux
| 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
🍎 macOS
| 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
1. Cloner le dépôt
git clone https://github.com/oop7/YTSage.git
cd YTSage
2. Installer les dépendances
⚡ Avec uv
uv pip install .
📦 Ou avec pip standard
pip install .
3. Lancer l'application
python -m ytsage.main
📸 Captures d'écran
📖 Utilisation
🎯 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.
Langues prises en charge
| 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 |
Traductions du README
| 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 !
🛠️ Dépannage
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
🛡️ Avertissement Windows Defender / Antivirus
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.
🍎 macOS : "L'application est endommagée et ne peut pas être ouverte"
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.
Emplacements de configuration (Avancé)
- Windows :
%LOCALAPPDATA%\YTSage - macOS :
~/Library/Application Support/YTSage - Linux :
~/.local/share/YTSage
💖 Sponsor
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.
👥 Contribution
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
🌍 Contribuer aux traductions
- 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
YTSage - Structure du projet
Ce document décrit la structure organisée des dossiers de YTSage.
📁 Structure du projet
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 principal
⭐️ Historique des étoiles
📜 Licence
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
🙏 Remerciements
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 |
⚠️ Clause de non-responsabilité
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



