79 lines
2.7 KiB
Markdown
79 lines
2.7 KiB
Markdown
# 🎵 Deezer Downloader for Nextcloud
|
||
|
||
## 🧩 Description
|
||
|
||
Ce projet a pour objectif d’évoluer en une **application Nextcloud**.
|
||
Pour l’instant, il s’agit d’une **application externe**.
|
||
|
||
Le projet est basé sur le dépôt GitHub de [deezer-downloader](https://github.com/kmille/deezer-downloader).
|
||
Un grand merci aux auteurs pour leur excellent travail !
|
||
|
||
## ❓ Pourquoi
|
||
|
||
Je souhaitais intégrer à **Nextcloud** un **raccourci** permettant aux utilisateurs de **télécharger leur musique, playlists, albums**, etc., directement depuis **Deezer**.
|
||
|
||
## 🔧 Modifications apportées par rapport au dépôt original
|
||
|
||
* 🔐 Utilisation du **JWT de Nextcloud** pour obtenir les informations d’identification de l’utilisateur connecté.
|
||
* 📂 Téléchargement des fichiers dans le **dossier personnel** de l’utilisateur connecté, dans un répertoire créé à la racine : `DeezerDl`.
|
||
* 🍪 Utilisation d’un **cookie** pour sauvegarder le répertoire de destination choisi par l’utilisateur.
|
||
* 🚫 Vérification de la **connexion à Nextcloud** : si non connecté → retour **403 Forbidden**.
|
||
|
||
## ⚠️ Limites actuelles
|
||
|
||
* 💡 Fonctionne uniquement avec le plugin **AppExterne**.
|
||
* 👥 Pas de gestion de **sessions utilisateurs séparées** :
|
||
il est possible que le répertoire de destination ne soit pas correct si deux utilisateurs téléchargent simultanément.
|
||
Cependant, chaque utilisateur ayant son propre cookie, cela **devrait fonctionner correctement** dans la plupart des cas.
|
||
|
||
|
||
## Dev sous windows (vsCode):
|
||
|
||
Pour que powershell accepte d'exécuter des scripts:
|
||
```
|
||
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
|
||
```
|
||
|
||
venv activer avec:
|
||
```
|
||
.\.venv\Scripts\Activate.ps1
|
||
```
|
||
|
||
Install:
|
||
```
|
||
pip install poetry
|
||
git clone https://github.com/kmille/deezer-downloader.git
|
||
cd deezer-downloader
|
||
poetry install
|
||
poetry run deezer-downloader --show-config-template > settings.ini
|
||
```
|
||
|
||
run du srv en ligne de cmd:
|
||
```
|
||
poetry run deezer-downloader --config .\deezer_downloader\settings.ini
|
||
```
|
||
|
||
# Installation sur NextCloud (Debian 12)
|
||
|
||
Dans le container nextcloud:
|
||
```
|
||
adduser nextclouddeezer
|
||
```
|
||
|
||
installer `sudo`, puis taper `visudo`,
|
||
ajouter en fin de fichier la ligne:
|
||
```
|
||
nextclouddeezer ALL=(www-data) NOPASSWD: /usr/bin/php
|
||
```
|
||
cela permet d'executer des command php avec l'utilisateur `nextclouddeezer`
|
||
|
||
Dans le container DeezerDownloader
|
||
|
||
* Créer le point de montage où son stoké les données Nextcloud.
|
||
* Créer un utilisateur `www-data` pour faire tourner le service.
|
||
* Donner à l'utilisateur `www-data` le meme `uid` user et group que celui de `www-data` du contenair Nextcloud.
|
||
* `ls -ln /nextcloud_user_data/`
|
||
* Installer `python` et le `venv`
|
||
* Installer le site DeezerDownloader
|
||
* Créer le service pour qu'il soit autonome
|
||
* Configurer les settings |