232 lines
3.7 KiB
Markdown
232 lines
3.7 KiB
Markdown
# 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.
|