# AGENTS.md — Projet Bourse ## Description du projet Application de gestion boursière permettant : * le suivi des actions et titres financiers ; * la gestion des ordres d'achat et de vente ; * l'importation de données financières ; * la consultation via une interface web et des API. Le projet doit rester maintenable, sécurisé et compatible avec l'environnement Docker existant. --- # Architecture technique ## Environnement Système de développement : * Ubuntu Linux * Python 3.x * environnement virtuel `.venv` * Docker / Docker Compose ## Technologies principales Backend : * Python * Flask * API REST Base de données : * MySQL 8 * phpMyAdmin pour administration Frontend : * HTML * CSS  * JavaScript * Tailwind Déploiement : * Docker * conteneurs séparés pour application et base de données --- # Règles générales de développement ## Avant toute modification Toujours : 1. analyser le code existant ; 2. expliquer la cause du problème ; 3. proposer une modification ; 4. attendre validation avant les changements importants. Ne jamais réécrire une partie complète du projet sans justification. --- # Python Respecter : * PEP8 ; * code lisible et commenté en Français ; * fonctions courtes ; * gestion correcte des exceptions. Éviter : * duplication de code ; * variables globales inutiles ; * modifications qui cassent l'existant. Toujours utiliser l'environnement virtuel : ``` .venv ``` --- # Flask Respecter l'organisation actuelle du projet. Avant modification : * identifier les routes existantes ; * vérifier les dépendances ; * vérifier les appels frontend/API. Les nouvelles routes doivent : * avoir une validation des entrées ; * retourner des erreurs explicites ; * utiliser les codes HTTP appropriés. --- # Base de données MySQL Règles : * ne jamais supprimer une table sans confirmation ; * ne jamais modifier une colonne existante sans vérifier les impacts ; * toujours proposer une migration SQL. Respecter les conventions : * noms de tables en minuscules ; * clés primaires explicites ; * index sur les recherches fréquentes. Avant une requête SQL complexe : * expliquer son fonctionnement ; * vérifier les performances. --- # Données financières Attention aux données : * ticker ; * ISIN ; * exchange ; * pays ; * devise ; * cours ; * ordres. Ne jamais modifier automatiquement une donnée financière sans conserver la valeur précédente si nécessaire. --- # Docker Avant modification : Vérifier : ``` docker ps docker compose ps ``` Ne jamais : * supprimer un volume Docker ; * supprimer une base ; * reconstruire tous les conteneurs sans raison. Toujours expliquer : * quel conteneur est modifié ; * pourquoi ; * comment revenir en arrière. --- # Tests Après chaque modification importante : Tester : * démarrage de l'application ; * connexion MySQL ; * appels API ; * affichage frontend. Vérifier les logs : ``` docker logs ``` --- # Style de réponse attendu de l'IA Quand tu analyses ce projet : 1. commence par expliquer ce que tu observes ; 2. indique les fichiers concernés ; 3. propose une solution ; 4. donne les commandes exactes à exécuter. Ne pas modifier plusieurs fichiers simultanément sans expliquer pourquoi. --- # Priorités du projet Ordre des priorités : 1. stabilité ; 2. conservation des données ; 3. sécurité ; 4. performances ; 5. nouvelles fonctionnalités. --- # Modèle IA utilisé Le projet utilise OpenCode avec Ollama local : Modèle principal : ``` qwen2.5-coder:32b ``` L'IA doit privilégier : * compréhension du code existant ; * explications techniques ; * modifications minimales ; * solutions compatibles avec l'architecture actuelle.