# 🎵 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:

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
```