Skip to content

Un gestionnaire de téléchargement moderne et intuitif

License

Notifications You must be signed in to change notification settings

Docteur-Parfait/PytDm

Repository files navigation

PytDm - Python Download Manager

Python Version License: MIT GitHub stars GitHub forks

Un gestionnaire de téléchargement moderne et intuitif avec interface graphique, développé en Python avec tkinter.

🚀 Fonctionnalités

✨ Fonctionnalités Principales

  • Interface graphique moderne avec tkinter
  • Téléchargement avec pause/reprise - Reprenez vos téléchargements interrompus
  • Barre de progression en temps réel - Suivez l'avancement de vos téléchargements
  • Sélection de dossier personnalisé - Choisissez où sauvegarder vos fichiers
  • Gestion des erreurs intelligente - Messages d'erreur clairs et informatifs
  • Interface responsive et scrollable - Fonctionne sur toutes les tailles d'écran

🔧 Fonctionnalités Avancées

  • Reprise automatique - Les téléchargements interrompus reprennent automatiquement
  • Simulation de navigateur - Contourne les protections anti-bot
  • Gestion des cookies - Maintient les sessions comme un navigateur
  • Support multi-plateforme - Windows, macOS, Linux
  • Validation d'URL - Vérification automatique des liens
  • Affichage de vitesse - Vitesse de téléchargement en temps réel

📸 Captures d'écran

┌─────────────────────────────────────────────────────────────┐
│                    PytDm - Python Download Manager          │
├─────────────────────────────────────────────────────────────┤
│ 🔗 URL du fichier                                          │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ https://example.com/file.zip                           │ │
│ └─────────────────────────────────────────────────────────┘ │
│                                                             │
│ 📁 Dossier de téléchargement                               │
│ ┌─────────────────────────────────────────┐ ┌──────────┐   │
│ │ C:\Users\Username\Downloads             │ │ 📂 Parcourir │ │
│ └─────────────────────────────────────────┘ └──────────┘   │
│                                                             │
│ 📊 Progression                                             │
│ ████████████████████████████████████████ 85%              │
│ Téléchargé: 42.5 MB / 50.0 MB (85.0%)                     │
│ Vitesse: 2.3 MB/s                                          │
│                                                             │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────┐ │
│ │ 🚀 Télécharger │ │ ⏸️ Pause    │ │ ❌ Annuler   │ │ 📂 Ouvrir │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ └─────────┘ │
└─────────────────────────────────────────────────────────────┘

🛠️ Installation

Prérequis

  • Python 3.7 ou supérieur
  • pip (gestionnaire de paquets Python)

Installation rapide

# Cloner le repository
git clone https://github.com/Docteur-Parfait/PytDm.git
cd PytDm

# Installer les dépendances
pip install -r requirements.txt

# Lancer l'application
python main.py

Installation avec pip (bientôt disponible)

pip install PytDm

🚀 Utilisation

Lancement de l'application

python main.py

Guide d'utilisation

  1. Entrez l'URL du fichier à télécharger dans le champ de saisie
  2. Choisissez le dossier de destination (optionnel, par défaut: Downloads)
  3. Spécifiez un nom de fichier personnalisé (optionnel)
  4. Cliquez sur "Télécharger" pour commencer
  5. Utilisez les contrôles :
    • ⏸️ Pause/Reprendre : Mettez en pause ou reprenez le téléchargement
    • Annuler : Arrêtez et supprimez le fichier partiel
    • 📂 Ouvrir Dossier : Accédez directement au dossier de téléchargement

Raccourcis clavier

  • Entrée : Démarrer le téléchargement (quand le champ URL est sélectionné)
  • Molette de souris : Faire défiler l'interface

🔧 Configuration

Variables d'environnement

# Dossier de téléchargement par défaut
export PytDm_DOWNLOAD_DIR="/path/to/downloads"

# User-Agent personnalisé
export PytDm_USER_AGENT="MonApp/1.0"

Fichier de configuration

Créez un fichier config.json dans le répertoire de l'application :

{
  "default_download_folder": "C:\\Users\\Username\\Downloads",
  "user_agent": "PytDm/1.0",
  "max_retries": 3,
  "timeout": 30
}

🏗️ Architecture

Structure du projet

PytDm/
├── main.py          # Application principale
├── requirements.txt     # Dépendances Python
├── setup.py            # Configuration d'installation
├── README.md           # Documentation principale
├── CONTRIBUTING.md     # Guide de contribution
├── LICENSE             # Licence MIT
└── tests/              # Tests unitaires (à venir)
    └── test_main.py

Classes principales

  • DownloadManager : Gère l'état des téléchargements
  • DownloadGUI : Interface graphique principale
  • DownloadThread : Thread de téléchargement (à venir)

🧪 Tests

# Lancer les tests
python -m pytest tests/

# Tests avec couverture
python -m pytest --cov=download tests/

🤝 Contribution

Nous accueillons toutes les contributions ! Consultez notre Guide de Contribution pour plus d'informations.

Comment contribuer

  1. Fork le projet
  2. Créez une branche pour votre fonctionnalité (git checkout -b feature/AmazingFeature)
  3. Commitez vos changements (git commit -m 'Add some AmazingFeature')
  4. Pushez vers la branche (git push origin feature/AmazingFeature)
  5. Ouvrez une Pull Request

Idées de contributions

  • 🐛 Correction de bugs
  • Nouvelles fonctionnalités
  • 📚 Amélioration de la documentation
  • 🧪 Tests unitaires
  • 🎨 Amélioration de l'interface
  • 🌐 Support multilingue

📋 Roadmap

Version 1.1.0

  • Support des téléchargements multiples
  • Historique des téléchargements
  • Thèmes personnalisables
  • Notifications système

Version 1.2.0

  • Support des torrents
  • Intégration cloud (Google Drive, Dropbox)
  • API REST
  • Mode ligne de commande

Version 2.0.0

  • Interface web
  • Synchronisation multi-appareils
  • Plugins système
  • Base de données intégrée

🐛 Signaler un bug

Si vous trouvez un bug, merci de créer une issue avec :

  • Description détaillée du problème
  • Étapes pour reproduire
  • Version de Python utilisée
  • Captures d'écran si applicable

💡 Demander une fonctionnalité

Pour demander une nouvelle fonctionnalité :

  1. Vérifiez d'abord les issues existantes
  2. Créez une nouvelle issue avec le label "enhancement"
  3. Décrivez clairement la fonctionnalité souhaitée

📄 Licence

Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.

👥 Auteurs

🙏 Remerciements

  • requests - Bibliothèque HTTP
  • tkinter - Interface graphique
  • Tous les contributeurs de la communauté open source

📊 Statistiques

GitHub stars GitHub forks GitHub issues GitHub pull requests


Si ce projet vous plaît, n'hésitez pas à lui donner une étoile !

About

Un gestionnaire de téléchargement moderne et intuitif

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages