Files
Deezer-Downloader-Nextcloud/README.md
Grizouille d8797e8feb up
2025-11-07 23:53:18 +01:00

2.7 KiB
Raw Blame History

🎵 Deezer Downloader for Nextcloud

🧩 Description

Ce projet a pour objectif dévoluer en une application Nextcloud. Pour linstant, il sagit dune application externe.

Le projet est basé sur le dépôt GitHub de 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 didentification de lutilisateur connecté.
  • 📂 Téléchargement des fichiers dans le dossier personnel de lutilisateur connecté, dans un répertoire créé à la racine : DeezerDl.
  • 🍪 Utilisation dun cookie pour sauvegarder le répertoire de destination choisi par lutilisateur.
  • 🚫 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