Trois problemes distincts empechaient une installation propre.
1. audioop-lts==0.2.2 declare Requires-Python >=3.13. Le fichier ayant
ete produit par un pip freeze sur 3.13, la ligne etait inconditionnelle
et faisait echouer `pip install -r requirements.txt` sur le 3.12 cible
par la CI. Les jobs security-scan et test n'atteignaient donc jamais
leur etape utile. Ajout du marqueur python_version >= "3.13" : le
backport n'est tire que la ou audioop a quitte la bibliotheque standard.
2. Fichier encode en UTF-16 LE. pip sait le lire grace au BOM, mais
l'outillage tiers non, et le diff est illisible. Reecrit en UTF-8, LF.
3. psycopg[binary] etait la seule dependance non epinglee. Epinglee a la
version effectivement resolue (3.2.12).
Retrait de trois dependances parasites, verifiees non importees sur
l'ensemble de app/ et de la racine :
- dotenv==0.9.9 doublon relais de python-dotenv (seul import reel)
- discord==2.3.2 doublon relais de discord.py (seul import reel)
- login==0.0.6 sans rapport avec Flask-Login, jamais reference
WTForms est conserve : c'est une dependance transitive legitime de
Flask-WTF (utilisee par CSRFProtect), et non une dependance directe morte.
Installation verifiee en environnement neuf sous Python 3.12.10.
Co-Authored-By: Claude Opus 5 <[email protected]>
Force connection HTTPS, proxy-inversé, WSGI de production, reset cookie de conncection à chaque reconnection, limite sur les mdp, fichiers et One on One par minute, verification d'injection de SQL dans les champs d'entrées. renommage des fichiers lors du téléchargement, fichier de backup quotidien pour la bd et j'ai oublié quelque chose :(