docs: update README with watchlist and series features
This commit is contained in:
@@ -1,39 +1,58 @@
|
||||
# Ohm Stream Downloader
|
||||
|
||||
**Application web complète pour télécharger des animes et fichiers depuis divers hébergeurs.**
|
||||
**Application web complète pour télécharger des animes, séries TV et fichiers depuis divers hébergeurs.**
|
||||
|
||||
Interface moderne avec recherche d'anime, métadonnées enrichies, téléchargements parallèles et streaming vidéo.
|
||||
Interface moderne avec recherche unifiée, watchlist automatique, métadonnées enrichies, téléchargements parallèles et streaming vidéo.
|
||||
|
||||
## ✨ Fonctionnalités
|
||||
|
||||
### 🎬 Recherche et Téléchargement d'Animes
|
||||
- **Recherche unifiée** : Recherchez sur 4 providers simultanément (Anime-Sama, Neko-Sama, Anime-Ultime, Vostfree)
|
||||
- **Métadonnées riches** : Synopsis, genres, notes, année de sortie, studio, nombre d'épisodes, statut
|
||||
### 🎬 Recherche d'Animes & Séries TV
|
||||
- **Recherche unifiée** : Recherchez animes et séries TV simultanément
|
||||
- **Providers Anime** : Anime-Sama, Neko-Sama, Anime-Ultime, Vostfree, French-Manga
|
||||
- **Providers Séries** : FS7 (French-Stream)
|
||||
- **Métadonnées riches** : Synopsis, genres, notes, année de sortie, studio, nombre d'épisodes
|
||||
- **Téléchargement par épisode** : Sélectionnez et téléchargez des épisodes individuels
|
||||
- **Téléchargement de saison complète** : Téléchargez tous les épisodes d'un coup
|
||||
- **Streaming vidéo** : Regardez vos animes directement dans le navigateur
|
||||
- **Recherche floue** : Gestion des fautes de frappe et variations de noms
|
||||
|
||||
### 📋 Watchlist (Suivi Automatique)
|
||||
- **Ajout à la watchlist** : Suivez vos animes préférés depuis la recherche
|
||||
- **Téléchargement automatique** : Télécharge tous les épisodes dès le suivi
|
||||
- **Vérification automatique** : Le planificateur vérifie les nouveaux épisodes automatiquement
|
||||
- **Intervalle configurable** : Paramétrez la fréquence de vérification (1-168 heures)
|
||||
- **Notifications** : Recevez des alertes pour les nouveaux épisodes
|
||||
- **Filtres** : Visualisez tous / actifs / en pause / terminés
|
||||
- **Contrôle granulaire** : Pausez, reprenez, vérifiez manuellement chaque anime
|
||||
|
||||
### 📁 Hébergeurs de Fichiers Supportés
|
||||
- **1fichier** (1fichier.com, 1fichier.fr)
|
||||
- **Uptobox** (uptobox.com, uptobox.fr)
|
||||
- **Doodstream** (doodstream.com, dood.to, dood.lol, etc.)
|
||||
- **Rapidfile** (rapidfile.net, rapidfile.com)
|
||||
- **Uqload** (uqload.co, uqload.io)
|
||||
- **OneUpload** (oneupload.co)
|
||||
- **SendVid** (sendvid.com)
|
||||
- **VidZ** (vidzi.tv)
|
||||
|
||||
### 🎥 Hébergeurs Vidéo Supportés
|
||||
- **VidMoly** (vidmoly.to, vidmoly.com)
|
||||
- **SendVid** (sendvid.com)
|
||||
- **DoodStream** (doodstream.com)
|
||||
- **LPlayer** (lplayer.net)
|
||||
- **VidZy** (vidzy.tv)
|
||||
|
||||
### 🚀 Gestion des Téléchargements
|
||||
- **Téléchargements parallèles** : Jusqu'à 3 téléchargements simultanés
|
||||
- **Téléchargements parallèles** : Hasta 5 téléchargements simultanés
|
||||
- **Pause/Reprise** : Contrôle total sur vos téléchargements
|
||||
- **Progression en temps réel** : Vitesse, progression, taille
|
||||
- **Reprise automatique** : Support des HTTP Range pour reprendre les téléchargements interrompus
|
||||
|
||||
### 🌐 Interface Web
|
||||
- **Design moderne** : Interface sombre avec gradients et animations
|
||||
- **Design moderne** : Interface sombre avec onglets
|
||||
- **5 onglets** : Accueil, Recherche, Séries, Providers, Watchlist
|
||||
- **Responsive** : Fonctionne sur desktop et mobile
|
||||
- **Mise à jour automatique** : Rafraîchissement chaque seconde
|
||||
- **Mise à jour automatique** : Rafraîchissement automatique du contenu
|
||||
- **Métadonnées visuelles** : Affichage des informations anime avec icônes
|
||||
|
||||
### 🔌 API REST
|
||||
@@ -49,8 +68,8 @@ Interface moderne avec recherche d'anime, métadonnées enrichies, téléchargem
|
||||
|
||||
```bash
|
||||
# Cloner le repository
|
||||
git clone https://github.com/votre-user/Ohm_streaming.git
|
||||
cd Ohm_streaming
|
||||
git clone https://git.lanro.eu/Roman/ohm_streaming.git
|
||||
cd ohm_streaming
|
||||
|
||||
# Créer l'environnement virtuel
|
||||
python3 -m venv venv
|
||||
@@ -69,26 +88,41 @@ Accédez à l'interface : http://localhost:3000/web
|
||||
|
||||
### Interface Web
|
||||
|
||||
1. **Onglet Recherche d'Anime** :
|
||||
- Entrez le nom d'un anime (ex: "Naruto", "One Piece")
|
||||
1. **Onglet Accueil** :
|
||||
- Dernières sorties anime et séries populaires
|
||||
- Recommandations personnalisées
|
||||
|
||||
2. **Onglet Recherche** :
|
||||
- Entrez le nom d'un anime (ex: "Naruto", "Frieren")
|
||||
- Sélectionnez la langue (VOSTFR ou VF)
|
||||
- Cochez "Inclure les métadonnées" pour plus d'informations
|
||||
- Cliquez sur "Rechercher"
|
||||
- Sélectionnez un épisode et cliquez sur "Télécharger"
|
||||
- Ou utilisez "Toute la saison" pour tout télécharger
|
||||
- Cliquez sur "➕ Suivre" pour ajouter à la watchlist
|
||||
|
||||
2. **Onglet Lien Direct** :
|
||||
- Collez un lien de téléchargement direct
|
||||
- Cliquez sur "Télécharger"
|
||||
3. **Onglet Séries** :
|
||||
- Recherchez des séries TV (Breaking Bad, Game of Thrones, etc.)
|
||||
- Téléchargez des épisodes
|
||||
|
||||
3. **Onglet Providers** :
|
||||
- Utilisez les onglets spécifiques à chaque provider
|
||||
- Chaque onglet a ses propres options de recherche
|
||||
4. **Onglet Providers** :
|
||||
- Liste des hébergeurs de fichiers disponibles
|
||||
|
||||
5. **Onglet Watchlist** :
|
||||
- Visualisez vos animes suivis
|
||||
- Contrôlez le planificateur automatique
|
||||
- Paramétrez l'intervalle de vérification
|
||||
- Filtrez par statut (tous, actifs, en pause, terminés)
|
||||
|
||||
### API Endpoints
|
||||
|
||||
#### Téléchargements
|
||||
#### Authentication
|
||||
| Méthode | Endpoint | Description |
|
||||
|---------|----------|-------------|
|
||||
| POST | `/api/auth/register` | Créer un compte |
|
||||
| POST | `/api/auth/login` | Connexion (JWT) |
|
||||
| GET | `/api/auth/me` | Profil utilisateur |
|
||||
|
||||
#### Téléchargements
|
||||
| Méthode | Endpoint | Description |
|
||||
|---------|----------|-------------|
|
||||
| POST | `/api/download` | Créer un nouveau téléchargement |
|
||||
@@ -100,55 +134,37 @@ Accédez à l'interface : http://localhost:3000/web
|
||||
| GET | `/api/download/{task_id}/file` | Télécharger le fichier terminé |
|
||||
|
||||
#### Anime
|
||||
|
||||
| Méthode | Endpoint | Description |
|
||||
|---------|----------|-------------|
|
||||
| GET | `/api/anime/search` | Rechercher un anime (paramètres: `q`, `lang`, `include_metadata`) |
|
||||
| GET | `/api/anime/metadata` | Obtenir les métadonnées d'un anime (paramètre: `url`) |
|
||||
| GET | `/api/anime/episodes` | Liste des épisodes d'un anime (paramètres: `url`, `lang`) |
|
||||
| GET | `/api/anime/search` | Rechercher un anime |
|
||||
| GET | `/api/anime/metadata` | Obtenir les métadonnées |
|
||||
| GET | `/api/anime/episodes` | Liste des épisodes |
|
||||
| POST | `/api/anime/download` | Télécharger un épisode |
|
||||
| POST | `/api/anime/download-season` | Télécharger toute une saison |
|
||||
|
||||
#### Streaming Vidéo
|
||||
|
||||
#### Watchlist
|
||||
| Méthode | Endpoint | Description |
|
||||
|---------|----------|-------------|
|
||||
| GET | `/video/{task_id}` | Stream une vidéo (support Range/seeking) |
|
||||
| GET | `/stream/{filename}` | Stream par nom de fichier |
|
||||
| GET | `/player/{task_id}` | Lecteur vidéo pour un téléchargement |
|
||||
| GET | `/watch/{filename}` | Lecteur vidéo par nom de fichier |
|
||||
|
||||
#### Système
|
||||
|
||||
| Méthode | Endpoint | Description |
|
||||
|---------|----------|-------------|
|
||||
| GET | `/` | Informations sur l'API |
|
||||
| GET | `/api/providers` | Liste des providers supportés |
|
||||
| GET | `/health` | Vérifier l'état du serveur |
|
||||
| GET | `/web` | Interface web |
|
||||
| GET | `/api/watchlist` | Liste des animes suivis |
|
||||
| POST | `/api/watchlist` | Ajouter à la watchlist |
|
||||
| DELETE | `/api/watchlist/{item_id}` | Supprimer de la watchlist |
|
||||
| POST | `/api/watchlist/check-all` | Vérifier tous les animes |
|
||||
| GET | `/api/watchlist/settings` | Paramètres |
|
||||
| PUT | `/api/watchlist/settings` | Mettre à jour les paramètres |
|
||||
|
||||
### Exemples API
|
||||
|
||||
**Rechercher un anime avec métadonnées :**
|
||||
**Rechercher un anime :**
|
||||
```bash
|
||||
curl "http://localhost:3000/api/anime/search?q=naruto&lang=vostfr&include_metadata=true"
|
||||
curl "http://localhost:3000/api/anime/search?q=frieren&lang=vostfr"
|
||||
```
|
||||
|
||||
**Obtenir les épisodes d'un anime :**
|
||||
**Ajouter à la watchlist :**
|
||||
```bash
|
||||
curl "http://localhost:3000/api/anime/episodes?url=https://anime-sama.si/catalogue/naruto/saison1/vostfr/&lang=vostfr"
|
||||
```
|
||||
|
||||
**Télécharger une saison complète :**
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/anime/download-season?url=https://anime-sama.si/catalogue/naruto/saison1/vostfr/&lang=vostfr"
|
||||
```
|
||||
|
||||
**Créer un téléchargement direct :**
|
||||
```bash
|
||||
curl -X POST http://localhost:3000/api/download \
|
||||
curl -X POST http://localhost:3000/api/watchlist \
|
||||
-H "Authorization: Bearer YOUR_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"url": "https://1fichier.com/?xxxxx"}'
|
||||
-d '{"anime_title": "Frieren", "anime_url": "https://anime-sama.si/catalogue/frieren/saison1/vostfr/", "provider_id": "animesama", "lang": "vostfr"}'
|
||||
```
|
||||
|
||||
## 🏗️ Structure du Projet
|
||||
@@ -158,223 +174,34 @@ Ohm_streaming/
|
||||
├── main.py # Application FastAPI & endpoints API
|
||||
├── app/
|
||||
│ ├── models/ # Modèles Pydantic
|
||||
│ │ └── __init__.py # DownloadTask, AnimeMetadata, etc.
|
||||
│ ├── downloaders/ # Downloaders par provider
|
||||
│ │ ├── base.py # Classe BaseDownloader
|
||||
│ │ ├── animesama.py # Anime-Sama (avec métadonnées)
|
||||
│ │ ├── animeultime.py # Anime-Ultime (avec métadonnées)
|
||||
│ │ ├── nekosama.py # Neko-Sama (avec métadonnées)
|
||||
│ │ ├── vostfree.py # Vostfree (avec métadonnées)
|
||||
│ │ ├── unfichier.py # 1fichier
|
||||
│ │ ├── uptobox.py # Uptobox
|
||||
│ │ ├── doodstream.py # Doodstream
|
||||
│ │ ├── rapidfile.py # Rapidfile
|
||||
│ │ ├── vidmoly.py # VidMoly
|
||||
│ │ ├── sendvid.py # SendVid
|
||||
│ │ └── __init__.py # Registry des downloaders
|
||||
│ │ ├── anime_sites/ # Providers anime
|
||||
│ │ └── series_sites/ # Providers séries
|
||||
│ ├── providers.py # Configuration des providers
|
||||
│ └── download_manager.py # Gestionnaire de file d'attente
|
||||
├── downloads/ # Fichiers téléchargés
|
||||
├── templates/
|
||||
│ ├── download_manager.py # Gestionnaire de file d'attente
|
||||
│ ├── watchlist.py # Gestion de la watchlist
|
||||
│ ├── episode_checker.py # Vérification des nouveaux épisodes
|
||||
│ └── auto_download_scheduler.py # Planificateur automatique
|
||||
├── templates/ # Templates HTML
|
||||
│ ├── index.html # Interface web principale
|
||||
│ └── player.html # Lecteur vidéo
|
||||
├── static/ # Fichiers statiques (CSS, JS, images)
|
||||
│ └── components/ # Composants réutilisables
|
||||
├── static/ # Fichiers statiques (CSS, JS)
|
||||
└── requirements.txt # Dépendances Python
|
||||
```
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
Modifiez ces paramètres dans `main.py` :
|
||||
Les paramètres peuvent être configurés via variables d'environnement ou fichier `.env` :
|
||||
|
||||
```python
|
||||
download_manager = DownloadManager(
|
||||
download_dir="downloads", # Répertoire de stockage
|
||||
max_parallel=3 # Téléchargements simultanés
|
||||
)
|
||||
```
|
||||
JWT_SECRET_KEY=votre-clé-secrète
|
||||
DOWNLOAD_DIR=downloads
|
||||
MAX_PARALLEL_DOWNLOADS=5
|
||||
```
|
||||
|
||||
## 🔧 Ajouter un Provider
|
||||
|
||||
### Ajouter un Hébergeur de Fichiers
|
||||
|
||||
1. Créez `app/downloaders/myhost.py` :
|
||||
```python
|
||||
from .base import BaseDownloader
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
class MyHostDownloader(BaseDownloader):
|
||||
def can_handle(self, url: str) -> bool:
|
||||
return "myhost.com" in url.lower()
|
||||
|
||||
async def get_download_link(self, url: str) -> tuple[str, str]:
|
||||
# Extraire le lien de téléchargement direct
|
||||
response = await self.client.get(url)
|
||||
soup = BeautifulSoup(response.text, 'lxml')
|
||||
# ... logique d'extraction ...
|
||||
return download_url, filename
|
||||
```
|
||||
|
||||
2. Ajoutez-le dans `app/providers.py` :
|
||||
```python
|
||||
FILE_HOSTS = {
|
||||
# ...
|
||||
"myhost": {
|
||||
"name": "MyHost",
|
||||
"domains": ["myhost.com"],
|
||||
"icon": "📁",
|
||||
"color": "#4ecdc4"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Ajouter un Provider Anime avec Métadonnées
|
||||
|
||||
1. Créez le downloader avec les méthodes requises :
|
||||
```python
|
||||
class MyAnimeDownloader(BaseDownloader):
|
||||
async def search_anime(self, query: str, lang: str = "vostfr", include_metadata: bool = False):
|
||||
# Implémenter la recherche
|
||||
|
||||
async def get_anime_metadata(self, anime_url: str) -> dict:
|
||||
# Extraire: synopsis, genres, rating, release_year, studio, etc.
|
||||
return {
|
||||
'synopsis': '...',
|
||||
'genres': ['Action', 'Aventure'],
|
||||
'rating': '8.5/10',
|
||||
'release_year': 2023,
|
||||
'studio': 'Studio Name',
|
||||
# ...
|
||||
}
|
||||
|
||||
async def get_episodes(self, anime_url: str, lang: str = "vostfr"):
|
||||
# Retourner la liste des épisodes
|
||||
```
|
||||
|
||||
2. Enregistrez-le dans `app/providers.py` et `main.py`
|
||||
|
||||
## 🗺️ Roadmap / Plans Futurs
|
||||
|
||||
### Version 2.2 - Système de Favoris ✅ (Terminé)
|
||||
- [x] **Favoris** : Sauvegarder les animes favoris avec métadonnées complètes
|
||||
- [x] **API REST complète** : 6 endpoints pour gérer les favoris
|
||||
- [x] **Tri et filtrage** : Par titre, rating, année, provider, genre
|
||||
- [x] **Statistiques** : Distribution par provider et genre
|
||||
- [x] **Stockage persistant** : Base JSON (favorites.json)
|
||||
|
||||
### Version 2.3 - Base de Données & Authentification
|
||||
- [ ] **SQLite avec SQLAlchemy** : Persistance complète des données
|
||||
- [ ] **Système d'authentification local** :
|
||||
- [ ] Inscription et connexion utilisateur
|
||||
- [ ] Tokens JWT avec expiration (7 jours)
|
||||
- [ ] Hachage de mot de passe bcrypt
|
||||
- [ ] Préférences utilisateur personnalisables
|
||||
- [ ] **Profils utilisateurs** :
|
||||
- [ ] Table User : username, email, preferences, admin
|
||||
- [ ] Historique de téléchargement par utilisateur
|
||||
- [ ] Historique de visionnage (position, progression)
|
||||
- [ ] Préférences : langue par défaut, thème, auto-download
|
||||
- [ ] **Rétrocompatibilité** : Accès anonyme toujours possible
|
||||
|
||||
**Nouveaux endpoints :**
|
||||
- `POST /api/auth/register` - Inscription
|
||||
- `POST /api/auth/login` - Connexion (JWT)
|
||||
- `GET /api/auth/me` - Profil utilisateur
|
||||
- `PUT /api/auth/me/preferences` - Préférences
|
||||
- `GET /api/auth/me/download-history` - Historique
|
||||
- `GET /api/auth/me/watch-history` - Visionnage
|
||||
|
||||
### Version 2.4 - APIs Externes & Recommandations
|
||||
- [ ] **Intégration Jikan API** (MyAnimeList) :
|
||||
- [ ] Métadonnées enrichies (poster, notes, genres)
|
||||
- [ ] Limitation de débit : 3 req/sec
|
||||
- [ ] **Intégration AniList API** (GraphQL) :
|
||||
- [ ] Recommandations basées sur l'historique
|
||||
- [ ] Limitation de débit : 90 req/min
|
||||
- [ ] **Système de cache** :
|
||||
- [ ] Cache API dans la base de données
|
||||
- [ ] TTL configurable (168h par défaut)
|
||||
- [ ] Mécanisme de fallback (AniList → Jikan)
|
||||
- [ ] **Enrichissement automatique** :
|
||||
- [ ] Fusion des données providers + API externes
|
||||
- [ [ ] Affichage des posters dans les résultats
|
||||
|
||||
**Nouveaux endpoints :**
|
||||
- `GET /api/anime/metadata?enrich=true` - Métadonnées enrichies
|
||||
- `GET /api/recommendations` - Suggestions personnalisées
|
||||
|
||||
### Version 2.5 - Webhooks & Automatisation ✅ (Terminé)
|
||||
- [x] **Support Sonarr Webhook** :
|
||||
- [x] `POST /api/webhook/sonarr` - Réception événements
|
||||
- [x] Auto-téléchargement des nouveaux épisodes
|
||||
- [x] Vérification HMAC SHA256 (optionnel)
|
||||
- [x] Gestion des événements : Download, Rename, Delete
|
||||
- [x] **Automatisations** :
|
||||
- [x] Déclenchement automatique sur nouvel épisode
|
||||
- [x] Analyse des infos épisodes depuis Sonarr
|
||||
- [x] Mapping automatique vers les providers
|
||||
- [x] Système de mapping series Sonarr → anime providers
|
||||
- [x] Configuration API pour webhooks et mappings
|
||||
|
||||
**Nouveaux endpoints :**
|
||||
- `POST /api/webhook/sonarr` - Webhook principal Sonarr
|
||||
- `POST /api/webhook/test/sonarr` - Test de payload
|
||||
- `GET /api/sonarr/config` - Configuration webhook
|
||||
- `PUT /api/sonarr/config` - Mise à jour configuration
|
||||
- `GET /api/sonarr/mappings` - Liste des mappings
|
||||
- `POST /api/sonarr/mappings` - Créer mapping
|
||||
- `DELETE /api/sonarr/mappings/{id}` - Supprimer mapping
|
||||
- `GET /api/sonarr/search` - Rechercher anime
|
||||
- `GET /api/sonarr/episodes` - Liste épisodes
|
||||
- `GET /api/sonarr/suggest` - Suggestions mappings
|
||||
- `POST /api/sonarr/download` - Déclencher téléchargement manuel
|
||||
|
||||
**Documentation :** Voir [docs/SONARR_INTEGRATION.md](docs/SONARR_INTEGRATION.md)
|
||||
|
||||
### Version 2.6 - Gestion de Bibliothèque Avancée
|
||||
- [ ] **Bibliothèque personnelle** : Gérer sa collection d'anime téléchargés
|
||||
- [ ] **Statistiques détaillées** :
|
||||
- [ ] Temps de visionnage total
|
||||
- [ ] Espace disque utilisé
|
||||
- [ ] Animes les plus regardés
|
||||
- [ ] Graphiques de statistiques
|
||||
- [ ] **Marquage d'épisodes** :
|
||||
- [ ] Marquer épisodes comme vus/non vus
|
||||
- [ ] Système de progression automatique
|
||||
- [ ] Reprendre la lecture là où on s'est arrêté
|
||||
- [ ] **Listes de lecture** : Créer des playlists personnalisées
|
||||
- [ ] **Notes personnelles** : Noter les animes et laisser des commentaires
|
||||
|
||||
### Version 2.7 - Qualité et Formats
|
||||
- [ ] **Sélection de qualité** : Choisir entre 1080p, 720p, 480p
|
||||
- [ ] **Conversion automatique** : Convertir en différents formats
|
||||
- [ ] **Compression** : Réduire la taille des fichiers
|
||||
- [ ] **Extraction de sous-titres** : Télécharger les subs automatiquement
|
||||
- [ ] **Multi-audio** : Gérer les versions VF/VOSTFR
|
||||
|
||||
### Version 3.0 - Fonctionnalités Sociales & Mobile
|
||||
- [ ] **Fonctionnalités sociales** :
|
||||
- [ ] Partage de listes avec amis
|
||||
- [ ] Système de commentaires et avis
|
||||
- [ ] Intégration Discord/Telegram (notifications)
|
||||
- [ ] **Mobile & PWA** :
|
||||
- [ ] Application mobile native iOS/Android
|
||||
- [ ] Progressive Web App pour offline
|
||||
- [ ] Chromecast/AirPlay support
|
||||
- [ ] Interface optimisée mobile
|
||||
|
||||
### Version 4.0 - Fonctionnalités Avancées
|
||||
- [ ] **Sauvegarde cloud** : Sync avec Google Drive/Dropbox
|
||||
- [ ] **Streaming distant** : Regarder partout
|
||||
- [ ] **Multi-utilisateurs** : Profils et permissions
|
||||
- [ ] **API publique** : API pour développeurs tiers
|
||||
- [ ] **Plugins** : Système d'extensions
|
||||
|
||||
### Améliorations Continues
|
||||
- [ ] **Performance** : Optimisation du chargement et de l'interface
|
||||
- [ ] **Accessibilité** : Support lecteur d'écran, clavier
|
||||
- [ ] **Tests automatisés** : Suite de tests E2E
|
||||
- [ ] **Documentation** : Guides d'utilisation et API
|
||||
- [ ] **Internationalisation** : Support multilingue complet
|
||||
Voir la documentation dans le code source pour ajouter de nouveaux providers.
|
||||
|
||||
## 🤝 Contribution
|
||||
|
||||
@@ -394,15 +221,9 @@ Ce projet est à usage éducatif uniquement. Respectez les droits d'auteur et le
|
||||
|
||||
Ce logiciel est destiné à un usage personnel et éducatif. Les utilisateurs sont responsables de vérifier qu'ils ont le droit de télécharger du contenu protégé par des droits d'auteur dans leur juridiction.
|
||||
|
||||
## 📧 Support
|
||||
|
||||
Pour les bugs et suggestions :
|
||||
- Ouvrez une issue sur GitHub
|
||||
- Discutez avec la communauté
|
||||
|
||||
---
|
||||
|
||||
**Développé avec ❤️ pour la communauté anime**
|
||||
|
||||
*Version actuelle : 2.1*
|
||||
*Dernière mise à jour : Janvier 2026*
|
||||
*Version actuelle : 2.2*
|
||||
*Dernière mise à jour : Février 2026*
|
||||
|
||||
Reference in New Issue
Block a user