J'ai codé ça en une soirée et vraiment n'importe comment. Si ce message est encore là, c'est que je n'ai pas encore pris le temps de revenir dessus. Bisous.
Un explorateur de fichiers web avec gestion des liens symboliques pour Plex et intégration de Transmission. Permet de gérer facilement vos fichiers téléchargés et leur organisation dans votre bibliothèque Plex.
- 📁 Navigation dans les dossiers
- 🔍 Recherche de fichiers
↕️ Tri par nom, date et taille- 🎬 Intégration Plex avec création de liens symboliques
- 🌐 Gestion des torrents Transmission
- 🔒 Interface sécurisée par mot de passe
- 📱 Interface responsive
- Ouvrir/Télécharger : Naviguer dans les dossiers ou télécharger des fichiers
- Plex : Créer des liens symboliques vers votre bibliothèque Plex avec un nommage standardisé
- Supprimer : Options multiples de suppression (fichier, lien symbolique ou les deux)
- Python 3.12+
- Django 5.0+
- Transmission-daemon
- Accès à un serveur Plex (optionnel)
-
Clonez le dépôt :
bash git clone [url-du-repo] cd movie-explorer -
Créez un environnement virtuel :
python3 -m venv venv source venv/bin/activate -
Installez les dépendances :
pip install -r requirements.txt
-
Créez un fichier
.envà la racine du projet :cp .env.dist .env
-
Effectuez les migrations :
python manage.py migrate
-
Lancez le serveur :
python manage.py runserver
-
Clonez le dépôt :
bash git clone [url-du-repo] cd movie-explorer -
Créez un environnement virtuel :
python3 -m venv venv source venv/bin/activate -
Installez les dépendances :
pip install -r requirements.txt
-
Créez un fichier
.envà la racine du projet :cp .env.dist .env
-
Générez les fichiers statics :
python manage.py collectstatic
-
Création du service Systemd dans
/etc/systemd/system/transmiplex.service: Pensez à changer les valeursPATH&[Unit] Description=TransmiPlex Gunicorn Daemon After=network.target [Service] User=www-data Group=www-data WorkingDirectory=/opt/transmiplex Environment="PATH=/opt/transmiplex/venv/bin" Environment="DJANGO_SETTINGS_MODULE=movie_explorer.settings" ExecStart=/opt/transmiplex/movie-explorer/venv/bin/gunicorn \ --access-logfile /var/log/transmiplex/movie-explorer/access.log \ --error-logfile /var/log/transmiplex/movie-explorer/error.log \ --workers 3 \ --bind unix:/run/transmiplex.sock \ movie_explorer.wsgi:application [Install] WantedBy=multi-user.target -
Créez les dossiers de logs :
sudo mkdir /var/log/transmiplex/movie-explorer sudo chown www-data:www-data /var/log/transmiplex/movie-explorer
-
Créez et activez la configuration du serveur web
-
Démarrez le service :
sudo systemctl start transmiplex sudo systemctl enable transmiplex -
Configuration des permission :
# Permissions pour les dossiers sudo chown -R www-data:www-data /opt/transmiplex sudo chmod -R 755 /opt/transmiplex # Permissions spéciales pour les dossiers qui nécessitent l'écriture sudo chmod -R 775 /chemin/vers/vos/telechargements sudo usermod -a -G transmission-daemon www-data
Les liens symboliques sont créés dans des sous-dossiers spécifiques :
plex-film/plex-serie/plex-documentaire/plex-livre/plex-bd/
Les fichiers dans Plex suivent le format :
- Films :
Titre (Année) - Exemple :
Avatar (2009)
- Authentification requise pour accéder à l'interface
- Validation des chemins de fichiers
- Protection CSRF
- Gestion des permissions de fichiers
- Suppression automatique des torrents lors de la suppression de fichiers
- Gestion récursive des dossiers et sous-dossiers
- Synchronisation avec l'état des téléchargements
- Backend : Django
- Frontend : HTML, CSS, JavaScript
- API : Transmission RPC
- Assurez-vous d'avoir les permissions nécessaires pour créer des liens symboliques
- Configurez correctement les chemins dans le fichier
.env - Utilisez HTTPS en production
- Faites des sauvegardes régulières de vos données
- Erreur de permission : Vérifiez les droits d'accès aux dossiers
- Liens symboliques non créés : Vérifiez les chemins dans
.env - Transmission non connecté : Vérifiez les paramètres de connexion
Pour toute question ou suggestion, n'hésitez pas à ouvrir une issue.