Skip to content

Latest commit

 

History

History
389 lines (278 loc) · 16.3 KB

README-fr.md

File metadata and controls

389 lines (278 loc) · 16.3 KB

YouTube Music

GitHub release Licence GitHub style de code eslint Statut de la construction Toutes les versions GitHub AUR Vulnérabilités connues

Capture d'écran

Lisez ceci dans d'autres langues: 🏴 Anglais, 🇰🇷 Coréen, 🇫🇷 Français, 🇮🇸 Islandais, 🇪🇸 Espagnol, 🇷🇺 Russe

Enveloppe Electron autour de YouTube Music offrant :

  • Aspect & sensation naturels, vise à conserver l'interface originale
  • Cadre pour les plugins personnalisés : modifiez YouTube Music selon vos besoins (style, contenu, fonctionnalités), activez/désactivez les plugins en un clic

Image de démonstration

Écran du lecteur (thème de couleur de l'album & lumière ambiante)
Capture d'écran1

Contenu

Fonctionnalités :

  • Confirmation automatique lors de la pause (Toujours activé) : désactiver la pop-up "Continuer à regarder ?" qui pause la musique après un certain temps

  • Et plus encore ...

Plugins disponibles :

  • Bloqueur de publicités : Bloquez toutes les publicités et le suivi dès le départ

  • Actions d'album : Ajoute des boutons Je n'aime pas, Dislike, J'aime, et Unlike pour appliquer cela à toutes les chansons dans une playlist ou un album

  • Thème de couleur d'album : Applique un thème dynamique et des effets visuels basés sur la palette de couleurs de l'album

  • Mode Ambiant : Applique un effet d'éclairage en projetant des couleurs douces de la vidéo, sur l'arrière-plan de votre écran

  • Compresseur Audio : Appliquer une compression audio (diminue le volume des parties les plus fortes du signal et augmente le volume des parties les plus douces)

  • Barre de navigation floue : rend la barre de navigation transparente et floue

  • Contournement des restrictions d'âge : contourner la vérification d'âge de YouTube

  • Sélecteur de sous-titres : Activer les sous-titres

  • Barre latérale compacte : Toujours définir la barre latérale en mode compact

  • Fondu enchaîné : Fondu enchaîné entre les chansons

  • Désactiver la lecture automatique : Fait démarrer chaque chanson en mode "pause"

  • Discord Présence riche : Montrez à vos amis ce que vous écoutez avec Présence riche

  • Téléchargeur : télécharge des MP3 directement depuis l'interface (youtube-dl)

  • Volume exponentiel : Rend le curseur de volume exponentiel afin qu'il soit plus facile de sélectionner des volumes plus bas

  • Menu In-App : donne aux barres un aspect chic et sombre

    (voir ce poste si vous avez des problèmes pour accéder au menu après avoir activé ce plugin et l'option masquer-menu)

  • Scrobbler : Ajoute le support de scrobbling pour Last.fm et ListenBrainz

  • Lumia Stream : Ajoute le support de Lumia Stream

  • Lyrics Genius : Ajoute le support des paroles pour la plupart des chansons

  • Musique Ensemble : Partagez une playlist avec d'autres. Lorsque l'hôte joue une chanson, tout le monde entendra la même chanson

  • Navigation : Flèches de navigation Suivant/Retour directement intégrées dans l'interface, comme dans votre navigateur préféré

  • Pas de connexion Google : Supprime les boutons et les liens de connexion Google de l'interface

  • Notifications : Affiche une notification lorsqu'une chanson commence à jouer (notifications interactives sont disponibles sur Windows)

  • Image dans l'image : permet de passer l'application en mode image dans l'image

  • Vitesse de lecture : Écoutez rapidement, écoutez lentement ! Ajoute un curseur qui contrôle la vitesse des chansons

  • Volume précis : Contrôlez le volume précisément en utilisant la molette de la souris/raccourcis clavier, avec un hud personnalisé et des étapes de volume personnalisables

  • Raccourcis (& MPRIS) : Permet de définir des raccourcis globaux pour la lecture (lecture/pause/suivant/précédent) + désactive osd média en remplaçant les touches multimédias + activer Ctrl/CMD + F pour rechercher + activer le support mpris linux pour les touches multimédias + raccourcis personnalisés pour utilisateurs avancés

  • Passer la chanson non aimée : passe les chansons non aimées

  • Passer les silences : passe automatiquement les sections silencieuses

  • SponsorBlock : Saute automatiquement les parties non musicales comme les intros/outros ou les parties des clips vidéo où la chanson n'est pas jouée

  • Contrôle multimédia de la barre des tâches : Contrôlez la lecture depuis votre barre des tâches Windows

  • TouchBar : Disposition personnalisée de la TouchBar pour macOS

  • Tuna OBS : Intégration avec le plugin Tuna d'OBS

  • Changeur de qualité vidéo : Permet de changer la qualité vidéo avec un bouton sur l'overlay vidéo

  • Bascule vidéo : Ajoute un bouton pour basculer entre le mode Vidéo/Chanson. peut également supprimer l'onglet vidéo entier

  • Visualiseur : Différents visualiseurs musicaux

Traduction

Vous pouvez aider à la traduction sur Hosted Weblate.

statut de la traduction statut de la traduction 2

Téléchargement

Vous pouvez consulter la dernière sortie pour trouver rapidement la dernière version.

Arch Linux

Installez le paquet youtube-music-bin depuis l'AUR. Pour les instructions d'installation de l'AUR, consultez cette page wiki.

MacOS

Vous pouvez installer l'application en utilisant Homebrew (voir la définition du fût) :

brew install th-ch/youtube-music/youtube-music

Si vous installez l'application manuellement et obtenez une erreur "est endommagé et ne peut pas être ouvert." lors du lancement de l'application, exécutez ce qui suit dans le Terminal :

/usr/bin/xattr -cr /Applications/YouTube\ Music.app

Windows

Vous pouvez utiliser le gestionnaire de paquets Scoop pour installer le paquet youtube-music depuis le seau extras.

scoop bucket add extras
scoop install extras/youtube-music

Alternativement, vous pouvez utiliser Winget, le gestionnaire de paquets CLI officiel de Windows 11, pour installer le paquet th-ch.YouTubeMusic.

Note : Microsoft Defender SmartScreen pourrait bloquer l'installation car elle provient d'un "éditeur inconnu". Ceci est également vrai pour l'installation manuelle lors de l'essai d'exécution de l'exécutable (.exe) après un téléchargement manuel ici sur GitHub (même fichier).

winget install th-ch.YouTubeMusic

Comment installer sans connexion réseau ? (sous Windows)

  • Téléchargez le fichier *.nsis.7z pour l'architecture de votre appareil sur la page des versions.
    • x64 pour Windows 64 bits
    • ia32 pour Windows 32 bits
    • arm64 pour Windows ARM64
  • Téléchargez l'installeur sur la page des versions. (*-Setup.exe)
  • Placez-les dans le même dossier.
  • Exécutez l'installeur.

Thèmes

Vous pouvez charger des fichiers CSS pour changer l'apparence de l'application (Options > Ajustements visuels > Thèmes).

Certains thèmes prédéfinis sont disponibles sur https://github.com/kerichdev/themes-for-ytmdesktop-player.

Dev

git clone https://github.com/th-ch/youtube-music
cd youtube-music
pnpm install --frozen-lockfile
pnpm dev

Créez vos propres plugins

En utilisant des plugins, vous pouvez :

  • manipuler l'application - la BrowserWindow d'Electron est passée au gestionnaire de plugin
  • changer le front en manipulant le HTML/CSS

Créer un plugin

Créez un dossier dans src/plugins/NOM-DE-VOTRE-PLUGIN :

  • index.ts : le fichier principal du plugin
import style from './style.css?inline'; // importez le style comme inline

import { createPlugin } from '@/utils';

export default createPlugin({
  name: 'Étiquette du plugin',
  restartNeeded: true, // si la valeur est vraie, ytmusic affichera la boîte de dialogue de redémarrage
  config: {
    enabled: false,
  }, // votre configuration personnalisée
  stylesheets: [style], // votre style personnalisé,
  menu: async ({ getConfig, setConfig }) => {
    // Toutes les méthodes *Config sont des promesses encapsulées <T>
    const config = await getConfig();
    return [
      {
        label: 'menu',
        submenu: [1, 2, 3].map((value) => ({
          label: `valeur ${value}`,
          type: 'radio',
          checked: config.value === value,
          click() {
            setConfig({ value });
          },
        })),
      },
    ];
  },
  backend: {
    start({ window, ipc }) {
      window.maximize();

      // vous pouvez communiquer avec le plugin du rendu
      ipc.handle('un événement', () => {
        return 'bonjour';
      });
    },
    // il est déclenché lorsque la configuration change
    onConfigChange(newConfig) { /* ... */ },
    // il est déclenché lorsque le plugin est désactivé
    stop(context) { /* ... */ },
  },
  renderer: {
    async start(context) {
      console.log(await context.ipc.invoke('un événement'));
    },
    // Seul le crochet disponible pour le rendu
    onPlayerApiReady(api: YoutubePlayer, context: RendererContext) {
      // définir facilement la configuration du plugin
      context.setConfig({ myConfig: api.getVolume() });
    },
    onConfigChange(newConfig) { /* ... */ },
    stop(_context) { /* ... */ },
  },
  preload: {
    async start({ getConfig }) {
      const config is obtained by `getConfig` method.
    },
    onConfigChange(newConfig) {},
    stop(_context) {},
  },
});

Cas d'utilisation courants

  • Injection de CSS personnalisé : créez un fichier style.css dans le même dossier puis :
// index.ts
import style from './style.css?inline'; // importez le style comme en ligne

import { createPlugin } from '@/utils';

export default createPlugin({
  name: 'Étiquette du plugin',
  restartNeeded: true, // si la valeur est vraie, ytmusic affichera la boîte de dialogue de redémarrage
  config: {
    enabled: false,
  }, // votre configuration personnalisée
  stylesheets: [style], // votre style personnalisé
  renderer() {} // définissez le crochet de rendu
});
  • Si vous voulez modifier le HTML :
import { createPlugin } from '@/utils';

export default createPlugin({
  name: 'Étiquette du plugin',
  restartNeeded: true, // si la valeur est vraie, ytmusic affichera la boîte de dialogue de redémarrage
  config: {
    enabled: false,
  }, // votre configuration personnalisée
  renderer() {
    // Supprimez le bouton de connexion
    document.querySelector(".sign-in-link.ytmusic-nav-bar").remove();
  } // définissez le crochet de rendu
});
  • Communication entre le front et le back : cela peut se faire en utilisant le module ipcMain d'Electron. Voir le fichier index.ts et l'exemple dans le plugin sponsorblock.

Construction

  1. Clonez le dépôt
  2. Suivez ce guide pour installer pnpm
  3. Exécutez pnpm install --frozen-lockfile pour installer les dépendances
  4. Exécutez pnpm build:OS
  • pnpm dist:win - pour Windows
  • pnpm dist:linux - pour Linux
  • pnpm dist:mac - pour MacOS

Construit l'application pour macOS, Linux et Windows, en utilisant electron-builder.

Aperçu de la production

pnpm start

Tests

pnpm test

Utilise Playwright pour tester l'application.

Licence

MIT © th-ch

FAQ

Pourquoi le menu de l'application ne s'affiche-t-il pas ?

Si l'option Masquer le menu est activée - vous pouvez afficher le menu avec la touche alt (ou ` [backtick] si vous utilisez le plugin du menu intégré)