From 0dc3eddab79cff33fdd94964863e551376d75522 Mon Sep 17 00:00:00 2001 From: evolve <84813895+e-v-o-l-v-e@users.noreply.github.com> Date: Sat, 27 Dec 2025 21:21:47 +0100 Subject: [PATCH] docs: adds french documentation (#112) --- CHILLHOP.md | 29 --- CONTRIBUTING.md | 2 + README.md | 6 +- .../en/ENVIRONMENT_VARS.md | 4 +- MUSIC.md => docs/en/MUSIC.md | 6 +- docs/fr/CONTRIBUER.md | 23 ++ docs/fr/ENVIRONMENT_VARS.md | 7 + docs/fr/MUSIQUE.md | 48 ++++ docs/fr/README.md | 243 ++++++++++++++++++ {media => docs/media}/example1.png | Bin {media => docs/media}/example2.png | Bin 11 files changed, 334 insertions(+), 34 deletions(-) delete mode 100644 CHILLHOP.md rename ENVIRONMENT_VARS.md => docs/en/ENVIRONMENT_VARS.md (75%) rename MUSIC.md => docs/en/MUSIC.md (96%) create mode 100644 docs/fr/CONTRIBUER.md create mode 100644 docs/fr/ENVIRONMENT_VARS.md create mode 100644 docs/fr/MUSIQUE.md create mode 100644 docs/fr/README.md rename {media => docs/media}/example1.png (100%) rename {media => docs/media}/example2.png (100%) diff --git a/CHILLHOP.md b/CHILLHOP.md deleted file mode 100644 index ddbd687..0000000 --- a/CHILLHOP.md +++ /dev/null @@ -1,29 +0,0 @@ -# Using the chillhop list - -> [!WARNING] -> As of lowfi 1.7.0, the chillhop list is included by default. For a more -> detailed explanation, see [MUSIC.md](MUSIC.md). This document is included -> to preserve any old links or references. The instructions are still valid. - -## Linux - -```sh -mkdir -p ~/.local/share/lowfi -curl https://raw.githubusercontent.com/talwat/lowfi/refs/heads/main/data/chillhop.txt -O --output-dir ~/.local/share/lowfi -``` - -## MacOS - -```sh -mkdir -p "$HOME/Library/Application Support/lowfi" -curl https://raw.githubusercontent.com/talwat/lowfi/refs/heads/main/data/chillhop.txt -O --output-dir "$HOME/Library/Application Support/lowfi" -``` - -## Windows - -Go to `%appdata%` in Explorer, then `Roaming`, and make a folder called `lowfi`. -Then just put [this file](https://raw.githubusercontent.com/talwat/lowfi/refs/heads/main/data/chillhop.txt) in there. - -## Launching lowfi - -Once the list has been added, just launch `lowfi` with `-t chillhop`. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4de2754..a779e64 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,5 +1,7 @@ # Contributing to lowfi +[[version française](./docs/fr/CONTRIBUER.md)] + There are a few guidelines outlined here that will make it more likely for your PR to be accepted. Only ones that are less obvious are going to be listed. If you need to ask, it's probably a no. diff --git a/README.md b/README.md index 008d03e..1920ab1 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,17 @@ # lowfi +[[version française](./docs/fr/README.md)] + lowfi is a tiny rust app that serves a single purpose: play lofi. It'll do this as simply as it can: no albums, no ads, just lofi. -![example image](media/example1.png) +![example image](docs/media/example1.png) ## Disclaimer As of the 1.7.0 version of lowfi, **all** of the audio files embedded by default are from [chillhop](https://chillhop.com/). Read -[MUSIC.md](MUSIC.md) for more information. +[MUSIC.md](./docs/en/MUSIC.md) for more information. ## Why? diff --git a/ENVIRONMENT_VARS.md b/docs/en/ENVIRONMENT_VARS.md similarity index 75% rename from ENVIRONMENT_VARS.md rename to docs/en/ENVIRONMENT_VARS.md index 0745623..e109d13 100644 --- a/ENVIRONMENT_VARS.md +++ b/docs/en/ENVIRONMENT_VARS.md @@ -1,6 +1,8 @@ # Environment Variables -Lowfi has some more specific options, usually as a result of minor feature requests, which are only documented here. +[[version française](../fr/ENVIRONMENT_VARS.md)] + +lowfi has some more specific options, usually as a result of minor feature requests, which are only documented here. If you have some behavior you'd like to change, which is quite specific, then see if one of these options suits you. * `LOWFI_FIXED_MPRIS_NAME` - Limits the number of lowfi instances to one, but ensures the player name is always `lowfi`. diff --git a/MUSIC.md b/docs/en/MUSIC.md similarity index 96% rename from MUSIC.md rename to docs/en/MUSIC.md index f5a9c3b..9e07549 100644 --- a/MUSIC.md +++ b/docs/en/MUSIC.md @@ -1,4 +1,6 @@ -# The State of Lowfi's Music +# The State of lowfi's Music + +[[version française](../fr/MUSIQUE.md)] > [!WARNING] > This document will be a bit long and has almost nothing to do with the actual @@ -12,7 +14,7 @@ I always hated apps that required extensive configuration just to be usable. Sometimes it's justified, but often, it's just pointless when most will end up with the same set of "defaults" that aren't really defaults. -Lowfi is so nice and simple because of the "plug and play" aspect, +lowfi is so nice and simple because of the "plug and play" aspect, but it's become a lot harder to continue it as of late. ## The Lofi Girl List diff --git a/docs/fr/CONTRIBUER.md b/docs/fr/CONTRIBUER.md new file mode 100644 index 0000000..f497c85 --- /dev/null +++ b/docs/fr/CONTRIBUER.md @@ -0,0 +1,23 @@ +# Contribuer à lowfi + +Il y a quelque directives listées ici qui vont augmenter les chances pour votre PR d'être acceptée. +Seules les moins évidentes seront listées, si vous avez besoin de demander la réponse est probablement non. + +## 1. IA + +Vous pouvez utiliser l'IA pour chercher, ou s'il y a quelque chose de mineur et fastidieux(eg. des tests) que vous préférez éviter de faire manuellement. + +Cela dit, si l'usage d'IA est visible, c'est déjà trop. +Les PR générées par IA n'aident pas les développeurs, elles sont juste embêtantes et leur font perdre leur temps. + +## 2. petit = mieux + +Faites en sorte que chaque PR ne contienne qu'une fonctionnalité distincte. Ajouter plusieurs fonctionnalités dans une seule PR est généralement une mauvaise idée. +Cela permet aussi que des fonctionnalités spécifiques soit approuvées ou refusées au cas par cas, plutot qu'un seul bloc de code important. + +## 3. Keep lowfi simple + +lowfi est censé être un programme simple. Pour l'instant aucune modification de l'interface initiale ne sera acceptée. +L'interface de lowfi pendant la lecture est restée la même depuis les premières versions, la compliquer irait à l'encontre de son but initial. + +Des fonctionnalités plus complexes, comme des couleurs fantaisistes ou des pochettes d'albums, ne seront jamais acceptées. L'implémentation de fonctionnalitées acceptables doit être simple et discrète, si une fonctionnalité est simple mais que sa mise en oeuvre est très complexe elle ne sera pas acceptée. diff --git a/docs/fr/ENVIRONMENT_VARS.md b/docs/fr/ENVIRONMENT_VARS.md new file mode 100644 index 0000000..b0b1a3c --- /dev/null +++ b/docs/fr/ENVIRONMENT_VARS.md @@ -0,0 +1,7 @@ +# Variables d'Environment + +lowfi a quelques options précises, généralement dûe à des demandes de fonctionnalité mineures, qui sont uniquement documentées ici. +S'il y a quelque chose de spécifique que vous souhaitez changer, voyez si l'une des ces options vous va. + +* `LOWFI_FIXED_MPRIS_NAME` - Limite le nombre d'instances de lowfi à 1, mais force le nom du lecteur à toujours être `lowfi`. +* `LOWFI_DISABLE_UI` - Désactive l'interface utilisateur. diff --git a/docs/fr/MUSIQUE.md b/docs/fr/MUSIQUE.md new file mode 100644 index 0000000..3a0cba7 --- /dev/null +++ b/docs/fr/MUSIQUE.md @@ -0,0 +1,48 @@ +# La Musique de lowfi + +> [!WARNING] +> Ce document sera un peu long et n'aura presque rien à voir avec l'utilisation pratique de lowfi, juste avec la musique intégrée par défaut. + +Mais avant cela, un peu de contexte. lowfi comprend une longue liste de musiques intégrés au programme, vous pouvez donc l'installer et l'utiliser directement. + +J'ai toujours détesté les applications qui nécessitent une configuration complexe juste pour pouvoir les utiliser. Occasionnellement, cela se justifie, mais souvent, cela n'a aucun sens, car la plupart des utilisateurs finissent par utiliser les mêmes paramètres, qui ne sont même pas vraiment les mêmes. + +lowfi est super et simple grâce à son aspect « plug and play », mais c'est devenu beaucoup plus difficile de continuer comme ça les derniers temps. + +## La Liste Lofi Girl + +À l'origine, il était prévu que lowfi utilise la musique récupérée sur le site web de Lofi Girl. Croyez-le ou non, le scraper est en fait apparu avant le reste du programme. + +Cependant, après une longue période d'indisponibilité, le site web de Lofi Girl a été refait sans les fichiers mp3. Ceux-ci sont désormais pratiquement inaccessibles, sauf en achetant chaque album individuellement sur Bandcamp, ce qui revient très vite très cher. + +*Scraper* n'a jamais été interdit, mais c'est désormais tout simplement impossible. La question était donc : que faire après avoir perdu la principale source de musique de lowfi ? + +## Listes de Morceaux + +Au départ, j'étais contre l'idée de créer des listes de morceaux personnalisées, car j'avais une vision presque puriste d'un lowfi 100 % sans configuration. J'ai cependant finis par céder, ce qui s'est avéré être une très bonne décision. Maintenant peu importe le choix que je fais par rapport à la musique qui est intégrée, tout le monde peut ne pas utiliser celle-ci et choisir ce qu'il veut. + +Cela a aboutit à quelque *templates*, stockés dans le dossier [data](../../data), et en particulier la liste chillhop par [danielwerg](https://github.com/danielwerg). + +## Le Changement + +Après que `lofigirl.com` deviennent inaccessible, j'ai réfléchi un coup puis ai finalement décidé de serrer les dents et passer à la liste chillhop. Et ce malgré que chillhop bannis tous les lecteurs tiers dans leur CGU. Ils interdisent aussi les *scrappers*, ce que j'ai appris seulement après en avoir écrit un. + +Bon, est-ce que lowfi va vraiment devoir violer les CGU de son fournisseur de musique ? +Eh bien oui. J'y ai réfléchi et je suis arrivé à la conclusion que lowfi n'est probablement pas une grande menace pour plusieurs raisons. + +Premièrement, il émule exactement le lecteur "radio" de chillhop. La seule différence étant que l'un force l'utilisation d'un navigateur web, et l'autre celle d'une beau terminal. + +Ensuite j'ai réalisé que lowfi est juste un petit programme utilisé par peu. +Je ne gagne pas d'argent avec, et je pense que dégrader l'expérience de mes cher nerds qui veulent juste écouter de la lofi sans toute la merde ne vaut pas le coup. + +Au final, lowfi a un `UserAgent` unique, si chillhop a un jour un problème avec, le bannir est extrêmement simple. Je ne souhaite pas que cela arrive, mais je comprendrais. + +## Well, *je* Deteste la Musique Chillhop + +Ce n'est pas aussi « lofi ». C'est presque un compromis, ça je ne peux même pas prétendre le nier. J'utilise le bouton « skip » presque trois fois plus souvent avec chillhop. + +Si vous n'êtes pas assez découragé par les CGU pour avoir lu jusqu'ici, vous pouvez utiliser la liste [archive.txt](../../data/archive.txt) dans le dossier [data](../../data). Cette liste est le fruit de mon inquiétude quant à la possibilité que les morceaux sur `lofigirl.com` aient pu être perdus d'une manière ou d'une autre, en raison de la fermeture du site web. + +Elle est hébergée sur `archive.org` et pourrait être supprimée à tout moment pour n'importe quelle raison. +Provenant de mes propres archives locales, elle contient environ 2 700 des 3 700 morceaux. +Elle n'est pas parfaite, son organisation est également *mauvaise*, mais elle existe. diff --git a/docs/fr/README.md b/docs/fr/README.md new file mode 100644 index 0000000..3cba5f9 --- /dev/null +++ b/docs/fr/README.md @@ -0,0 +1,243 @@ +# lowfi + +lowfi est une petite application écrite en Rust qui sert un objectif unique : écouter de la lofi. +Elle le fait de la manière la plus simple possible : pas d’albums, pas de pubs, juste de la lofi. + +![exemple image](../media/example1.png) + +## Attention + +À partir de la version 1.7.0 de lowfi, **tous** les fichiers audio intégrés par défaut proviennent de [chillhop](https://chillhop.com/). +Consultez [MUSIQUE](./MUSIQUE.md) pour plus d’informations. + +## Pourquoi ? + +Je déteste les plateformes de musique modernes, et je voulais une application, petite et simple, qui mettrait simplement de la lofi aléatoire, sans vidéo ni autres fioritures. + +Au-delà de ça, elle a aussi été conçue pour être assez résistante aux connections instables, et *cache* 5 morceaux entiers à la fois. + +## Installation + +> [!NOTE] +> Si vous êtes intéressé par la maintenance d’un paquet pour `lowfi` sur des gestionnaires de paquets comme Homebrew ou autres, ouvrez une issue. + +### Dépendances + +Sur toutes les plateformes : Rust 1.83.0+. + +Sur macOS et Windows, aucune dépendance supplémentaire n’est nécessaire. + +Sur Linux, vous aurez aussi besoin d’openssl et d’alsa. + +* `alsa-lib` sur Arch, `libasound2-dev` sur Ubuntu, `alsa-lib-devel` sur Fedora. +* `openssl` sur Arch, `libssl-dev` sur Ubuntu, `openssl-devel` sur Fedora. + +Si vous utilisez PulseAudio vous aurez aussi besoin d’installer `pulseaudio-alsa`. + +### Cargo + +La méthode d’installation recommandée est cargo : + +```sh +cargo install lowfi + +# Si vous voulez utiliser le protocole MPRIS. +cargo install lowfi --features mpris +``` + +Assurez-vous que `$HOME/.cargo/bin` est ajouté à votre `$PATH`. +Voir également [Fonctionnalités supplémentaires](#fonctionnalités-supplémentaires) pour des fonctionnalités étendues. + +### Packets précompilés + +Si vous rencontrez des difficultés ou ne souhaitez pas utiliser cargo, vous pouvez simplement télécharger les exécutables précompilés depuis la [dernière release](https://github.com/talwat/lowfi/releases/latest). + +### AUR + +```sh +yay -S lowfi +``` + +### openSUSE + +```sh +zypper install lowfi +``` + +### Debian + +> [!NOTE] +> Ce packet est sur un dépôt non officiel maintenu par [Dario Griffo](https://github.com/dariogriffo). + +```sh +curl -sS https://debian.griffo.io/3B9335DF576D3D58059C6AA50B56A1A69762E9FF.asc | gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/debian.griffo.io.gpg +echo "deb https://debian.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/debian.griffo.io.list +sudo apt install -y lowfi +``` + +### Fedora (COPR) + +> [!NOTE] +> Ce packet utilise un dépôt COPR non officiel par [FurqanHun](https://github.com/FurqanHun). + +```sh +sudo dnf copr enable furqanhun/lowfi +sudo dnf install lowfi +``` + +### Manuel + +Utile pour le débogage. + +```sh +git clone https://github.com/talwat/lowfi +cd lowfi + +# Si vous voulez un exécutable +cargo build --release --all-features +./target/release/lowfi + +# Si vous voulez juste tester +cargo run --all-features +``` + +## Utilisation + +`lowfi` + +Oui, c’est tout. + +### Contrôles + +| Touche | Fonction | +| ------------------ | ------------------- | +| `s`, `n`, `l` | Passer le morceau | +| `p`, Espace | Lecture / Pause | +| `+`, `=`, `k`, `↑` | Volume +10 % | +| `→` | Volume +1 % | +| `-`, `_`, `j`, `↓` | Volume -10 % | +| `←` | Volume -1 % | +| `q`, CTRL+C | Quitter | +| `b` | Ajouter aux Favoris | + +> [!NOTE] +> En plus de ces contrôles habituels, lowfi est compatible avec les touches multimédia de votre machine ainsi qu'avec le standard [MPRIS](https://wiki.archlinux.org/title/MPRIS) (avec des outils comme `playerctl`). +> +> MPRIS est actuellement une [fonctionnalité optionnelle](#fonctionnalités-supplémentaires) dans Cargo (activée avec `--features mpris`) car elle est uniquement destinée à Linux, et parce que le but principal de lowfi est son interface unique et minimaliste. + +### Favoris + +Les favoris sont la réponse extrêmement simple de lowfi à la question « et si je voulais garder un morceau ? ». +Vous pouvez ajouter ou retirer des morceaux des favoris avec `b`, et les lire avec `lowfi -t bookmarks`. + +D’un point de vue technique, vos favoris ne sont pas différents de n’importe quelle autre liste de morceaux, et sont donc stockés dans le même répertoire. + +### Options supplémentaires + +Si vous avez quelque chose que vous souhaitez ajuster dans lowfi, vous pouvez utiliser des options supplémentaires qui modifient légèrement l’interface ou le comportement du menu. +Les options peuvent être consultées avec `lowfi --help`. + +| Option | Fonction | +| ----------------------------------- | ------------------------------------------------------------------------------ | +| `-a`, `--alternate` | Utiliser un écran de terminal alternatif | +| `-m`, `--minimalist` | Masquer la barre de contrôle inférieure | +| `-b`, `--borderless` | Exclure les bordures de l’interface | +| `-p`, `--paused` | Lancer lowfi en pause, | +| `-f`, `--fps` | FPS de l’interface [défaut : 12] | +| `--timeout` | Délai d’attente en secondes pour les téléchargements | +| `-d`, `--debug` | Inclure les logs ALSA et autres | +| `-w`, `--width ` | Largeur du lecteur, de 0 à 32 [défaut : 3] | +| `-t`, `--track-list ` | Utiliser une [liste de pistes personnalisée](#listes-de-pistes-personnalisées) | +| `-s`, `--buffer-size ` | Nombre de morceaux ajoutés au cache en avance [défaut : 5] | + +### Fonctionnalités supplémentaires + +lowfi utilise le système de « features » de cargo/rust pour rendre certaines parties du programme optionnelles, notamment celles qui ne sont censées être utilisées que par une minorité d’utilisateurs. + +#### `scrape` - Scraping + +Cette fonctionnalité fournit la commande `scrape`. +Elle n’est généralement pas très utile, mais est incluse par souci de transparence. + +Plus d’informations sont disponibles en exécutant `lowfi help scrape`. + +#### `mpris` - MPRIS + +Active MPRIS. + +#### `extra-audio-formats` - Formats audio supplémentaires + +Ceci est uniquement pertinent pour les utilisateurs de listes de pistes personnalisées ; dans ce cas, cela permet plus de formats que le simple MP3, à savoir FLAC, Vorbis et WAV. + +Ces formats devraient couvrir environ 99 % des fichiers audio que les gens souhaitent lire. Si vous faites partie du 1 % utilisant un autre format audio, et présent dans [cette liste](https://github.com/pdeljanov/Symphonia?tab=readme-ov-file#codecs-decoders), ouvrez une issue. + +### Listes de pistes personnalisées + +> [!NOTE] +> Certains gentils utilisateurs, en particulier [danielwerg](https://github.com/danielwerg), ont déjà créé des listes alternatives situées dans le dossier [data](https://github.com/talwat/lowfi/blob/main/data/) de ce dépôt. Vous pouvez les utiliser avec lowfi en utilisant l’option `--track-list`. +> +> N’hésitez pas à proposer votre propre liste via une pull request. + +lowfi prend également en charge les listes de pistes personnalisées, bien que celle par défaut de chillhop soit intégrée directement dans l'exécutable. + +Pour utiliser une liste personnalisée, utilisez l’option `--track-list`. Cela peut être soit un chemin vers un fichier, soit le nom d’un fichier (sans l’extension `.txt`) présent dans le dossier données. + +> [!NOTE] +> Répertoires de données par plateforme : +> +> * Linux - `~/.local/share/lowfi` +> * macOS - `~/Library/Application Support/lowfi` +> * Windows - `%appdata%\Roaming\lowfi` + +Par exemple, `lowfi --track-list minipop` chargera `~/.local/share/lowfi/minipop.txt`. +Tandis que `lowfi --track-list ~/Music/minipop.txt` chargera depuis le répertoire spécifié. + +Tous les morceaux doivent être au format MP3, sauf si lowfi a été compilé avec la fonctionnalité `extra-audio-formats`, qui ajoute la prise en charge de certains autres formats. + +#### Le format + +Dans les listes, la première ligne est appelée l’en-tête, suivie du reste des pistes. +Chaque piste sera d’abord concaténée à l’en-tête, puis l’ensemble sera utilisé pour télécharger le morceau. + +> [!NOTE] +> lowfi *n’ajoutera pas* de `/` entre la base et la piste pour plus de flexibilité ; +> dans la plupart des cas, vous devriez donc avoir un `/` final dans votre en-tête. + +L’exception à cette règle est lorsque le nom de la piste commence par un protocole tel que `https://`, auquel cas la base ne sera pas préfixée. Si toutes vos pistes sont de ce type, vous pouvez mettre `noheader` comme première ligne et ne pas avoir d’en-tête du tout. + +Par exemple, dans cette liste : + +```txt +https://lofigirl.com/wp-content/uploads/ +2023/06/Foudroie-Finding-The-Edge-V2.mp3 +2023/04/2-In-Front-Of-Me.mp3 +https://file-examples.com/storage/fe85f7a43b689349d9c8f18/2017/11/file_example_MP3_1MG.mp3 +``` + +lowfi téléchargerait ces trois URL : + +* `https://lofigirl.com/wp-content/uploads/2023/06/Foudroie-Finding-The-Edge-V2.mp3` +* `https://file-examples.com/storage/fe85f7a43b689349d9c8f18/2017/11/file_example_MP3_1MG.mp3` +* `https://lofigirl.com/wp-content/uploads/2023/04/2-In-Front-Of-Me.mp3` + +De plus, vous pouvez choisir un nom d’affichage personnalisé pour une piste, +indiqué par un `!`. Par exemple, avec une entrée comme celle-ci : + +```txt +2023/04/2-In-Front-Of-Me.mp3!nom personnalisé +``` + +lowfi téléchargera depuis la première partie et affichera la seconde comme nom du morceau. + +`file://` peut être utilisé devant une piste ou un en-tête pour que lowfi le traite comme un fichier local. +C’est utile si vous souhaitez utiliser un fichier local comme URL de base, par exemple : + +```txt +file:///home/utilisateur/Musique/ +fichier.mp3 +file:///home/utilisateur/Musique 2/deuxieme-fichier.mp3 +``` + +D’autres exemples sont disponibles dans le dossier +[data](https://github.com/talwat/lowfi/tree/main/data). + diff --git a/media/example1.png b/docs/media/example1.png similarity index 100% rename from media/example1.png rename to docs/media/example1.png diff --git a/media/example2.png b/docs/media/example2.png similarity index 100% rename from media/example2.png rename to docs/media/example2.png