Files
BoursePython/AGENTS.md
T

232 lines
3.7 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 <container>
```
---
# 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.