mirror of
https://github.com/R0m1k3/Priceflow.git
synced 2026-10-11 17:29:14 +02:00
- Passage des requêtes DB en asynchrone dans improved_search_service pour éviter le blocage de l'Event Loop. - Ajout du Rapport d'Analyse Technique complet. - Sécurisation CORS (best effort). - Ajout Walkthrough et Implementation Plan.
2.4 KiB
2.4 KiB
Plan d'Implémentation - Correctifs de Sécurité et Performance
Ce plan vise à résoudre les vulnérabilités critiques et les goulots d'étranglement de performance identifiés dans le rapport d'analyse technique.
User Review Required
Important
Action Utilisateur Requise : Vous devrez créer un fichier
.envà la racine du projet en copiant.env.exampleet en y insérant vos vrais secrets (API Keys, Mots de passe). Je ne peux pas connaître vos mots de passe sécurisés.
Warning
Changement de Configuration : Le fichier
docker-compose.ymlsera modifié pour ne plus contenir de secrets en clair. Le redémarrage des conteneurs sera nécessaire.
Proposed Changes
Configuration & Sécurité
[NEW] .env.example
- Création d'un modèle de fichier d'environnement documentant toutes les variables requises.
[MODIFY] docker-compose.yml
- Remplacement des valeurs harcodées par
${VARIABLE}. - Suppression de la clé API OpenRouter en clair.
- Suppression du mot de passe DB en clair.
[MODIFY] app/main.py
- Restriction de la configuration CORS.
- Chargement sécurisé de la configuration.
Efficience & Performance
[MODIFY] app/services/improved_search_service.py
- Problème : Appels DB bloquants (
db.query) dans une fonctionasync. - Solution : Mettre les appels DB dans un threadpool pour ne pas bloquer la boucle d'événements principale.
- Détail : Utilisation de
fastapi.concurrency.run_in_threadpoolpour encapsuler les accès DB synchrones.
[MODIFY] app/routers/search.py
- Adaptation de l'appel au service pour gérer correctement l'asynchronisme.
Verification Plan
Automated Tests
- Vérification que l'application démarre avec les variables d'environnement.
- Test de charge léger sur l'endpoint de recherche pour confirmer que l'interface ne "gèle" pas pendant le chargement (grâce au fix async).
Manual Verification
- Vérifier que
docker-compose confign'affiche plus de secrets. - Vérifier les logs pour confirmer le chargement correct de la configuration.