BestDiskPrices - Plateforme de Comparaison de Prix de Disques de Stockage
Vue d'ensemble
BestDiskPrices est une plateforme web moderne développée en Django qui permet aux utilisateurs de comparer les prix des périphériques de stockage (HDD, SSD, NAS, disques externes, cartes SD, clés USB) provenant de multiples marketplaces en temps réel. Le site intègre également une suite complète d'outils de calcul pour optimiser les choix de stockage.
Architecture Technique
Backend
- Framework principal : Django avec architecture MVT (Model-View-Template)
- Base de données : PostgreSQL en production, SQLite en développement
- API REST : Django REST Framework avec authentification par token
- Cache : Redis pour les performances et la gestion des sessions
- Traitement asynchrone : Celery avec Redis comme broker
- Stockage de fichiers : MinIO (compatible S3) pour les images et assets
Frontend
- Framework CSS : Tailwind CSS avec système de design personnalisé
- Interactivité : HTMX pour les mises à jour dynamiques sans rechargement
- Responsive Design : Interface adaptative mobile-first
- Internationalisation : Support multilingue (EN, FR, DE, ES, IT)
Infrastructure
- Containerisation : Docker avec Docker Compose
- Orchestration : Services séparés pour web, Celery worker, Celery beat, Redis, Flower
- Sécurité : HTTPS obligatoire en production, HSTS, protection CSRF
- Monitoring : Flower pour la surveillance des tâches Celery
Fonctionnalités Principales
Système de Comparaison de Prix
- Sources de données : Intégration avec les APIs eBay et AliExpress
- Mise à jour automatique : Tâches Celery programmées pour rafraîchir les prix quotidiennement
- Filtrage avancé : Par capacité, marque, boutique, langue, condition
- Calculs automatiques : Prix par GB/TB, identification des meilleurs rapports qualité/prix
- Pagination optimisée : Chargement progressif avec HTMX
Suite d'Outils de Calcul
- Calculateur de stockage : Estimation des besoins en capacité
- Calculateur RAID : Configuration et calculs de redondance
- Calculateur TCO : Coût total de possession
- Calculateur de performance : Temps de transfert, bande passante
- Calculateur de compatibilité NAS : Vérification de compatibilité
- Calculateur de migration : Planification de migration de données
- Calculateur de redondance : Stratégies de sauvegarde
- Calculateur de consommation : Estimation de la consommation électrique
- Calculateur de temps de sauvegarde : Estimation des durées
- Calculateur de temps de récupération : RTO/RPO
API REST Complète
- Endpoints de données : Récupération des périphériques avec filtrage avancé
- Pagination : Système de pagination personnalisé
- Filtrage multiple : Support des filtres multiples par paramètre
- Tri flexible : Tri par prix, capacité, performance
- Authentification : Token-based authentication
Aspects Techniques Avancés
Traitement des Données
- Extraction intelligente : Algorithmes de reconnaissance de marques et capacités dans les titres
- Normalisation : Standardisation des données de différentes sources
- Calculs automatiques : Prix par GB/TB calculés automatiquement
- Gestion des erreurs : Système robuste de gestion des exceptions
Performance et Optimisation
- Indexation : Index optimisés sur les champs de recherche fréquents
- Cache Redis : Mise en cache des requêtes fréquentes
- Optimisation des requêtes : Utilisation de select_related et prefetch_related
- Compression : WhiteNoise pour la compression des assets statiques
Sécurité et Fiabilité
- Validation des données : Validation côté serveur et client
- Protection CSRF : Protection contre les attaques CSRF
- Gestion des sessions : Sessions sécurisées avec Redis
- Logs structurés : Système de logging avec niveaux configurables
Déploiement et DevOps
- Containerisation : Architecture microservices avec Docker
- Orchestration : Docker Compose pour la gestion des services
- Monitoring : Flower pour la surveillance des tâches asynchrones
- CI/CD : Configuration GitHub Actions prête
- Environnements : Gestion séparée dev/prod avec variables d'environnement
Innovations Techniques
- HTMX Integration : Interface réactive sans JavaScript complexe
- Multi-marketplace : Agrégation de données de sources multiples
- Calculs spécialisés : Suite complète d'outils de calcul pour le stockage
- Internationalisation avancée : Support de 5 langues avec adaptation des marketplaces
- Architecture scalable : Design permettant l'ajout facile de nouvelles sources de données
Ce projet démontre une maîtrise approfondie des technologies web modernes, de l'architecture distribuée, et de l'intégration d'APIs tierces, avec un focus particulier sur l'expérience utilisateur et les performances.