timetrack-pro/CLAUDE.md
StillHammer fe30e811a3 Initial commit - TimeTrack Pro
- Structure projet complete
- Schema BDD (3 tables: Clients, Projets, Temps)
- 6 modules VBA documentes
- Scripts SQL de creation
- Plan d'implementation pour agent
- Base Access avec tables creees (Phase 1 complete)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 10:53:11 +07:00

219 lines
5.7 KiB
Markdown

# TimeTrack Pro - Instructions pour Claude
## Projet
TimeTrack Pro - Gestionnaire de temps Access, vitrine du VBA MCP Server.
## Status: En attente de developpement
## MCP VBA Server
Ce projet utilise **VBA MCP Server v0.6.0+** pour l'automatisation.
### Outils Disponibles pour Access
| Outil | Description | Usage |
|-------|-------------|-------|
| `run_access_query` | Execute SQL (SELECT, INSERT, UPDATE, DELETE, CREATE) | Creation tables, requetes |
| `list_access_tables` | Liste tables avec schema | Verification structure |
| `list_access_queries` | Liste requetes sauvegardees | Voir QueryDefs |
| `get_worksheet_data` | Lit donnees d'une table | Lecture avec filtres |
| `set_worksheet_data` | Ecrit donnees dans table | Insert mode append/replace |
| `inject_vba` | Injecte module VBA | Ajouter les 6 modules |
| `validate_vba` | Valide syntaxe VBA | Verifier avant injection |
| `create_backup` | Cree backup du fichier | Avant modifications |
| `restore_backup` | Restaure depuis backup | En cas d'erreur |
| `list_backups` | Liste les backups | Voir historique |
### Chemin du fichier
```
C:\Users\alexi\Documents\projects\timetrack-pro\db\TimeTrackPro.accdb
```
---
## Structure du Projet
```
timetrack-pro/
├── README.md # Documentation principale
├── PLAN.md # Plan projet (6 phases, 12h)
├── DATABASE.md # Schema BDD complet
├── VBA_MODULES.md # 6 modules VBA documentes
├── CLAUDE.md # CE FICHIER
├── db/
│ └── TimeTrackPro.accdb # Base Access
├── docs/
│ └── MCP_VBA_GUIDE.md # Guide utilisation MCP
└── scripts/
├── 01_create_tables.sql
├── 02_create_queries.sql
├── 03_sample_data.sql
└── modules/
```
---
## Workflow de Developpement
### Phase 1: Structure BDD (MCP VBA)
```python
# 1. Creer backup si fichier existe
create_backup("db/TimeTrackPro.accdb")
# 2. Creer les tables
run_access_query("db/TimeTrackPro.accdb", sql="""
CREATE TABLE tbl_Clients (
ClientID AUTOINCREMENT PRIMARY KEY,
Nom TEXT(100) NOT NULL,
Email TEXT(100),
Telephone TEXT(20),
Notes MEMO,
DateCreation DATETIME DEFAULT Now()
)
""")
run_access_query("db/TimeTrackPro.accdb", sql="""
CREATE TABLE tbl_Projets (
ProjetID AUTOINCREMENT PRIMARY KEY,
ClientID LONG NOT NULL,
Nom TEXT(100) NOT NULL,
Description MEMO,
TauxHoraire CURRENCY DEFAULT 0,
Actif YESNO DEFAULT True,
DateCreation DATETIME DEFAULT Now()
)
""")
run_access_query("db/TimeTrackPro.accdb", sql="""
CREATE TABLE tbl_Temps (
TempsID AUTOINCREMENT PRIMARY KEY,
ProjetID LONG NOT NULL,
Date DATETIME NOT NULL,
Duree DOUBLE NOT NULL,
Description MEMO,
DateCreation DATETIME DEFAULT Now()
)
""")
# 3. Verifier
list_access_tables("db/TimeTrackPro.accdb")
```
### Phase 2: Donnees de Test (MCP VBA)
```python
# Inserer clients
run_access_query("db/TimeTrackPro.accdb", sql="""
INSERT INTO tbl_Clients (Nom, Email, Telephone, Notes)
VALUES ('Acme Corporation', 'contact@acme.com', '01 23 45 67 89', 'Client principal')
""")
# Ou en batch avec set_worksheet_data
data = [
["Acme Corporation", "contact@acme.com", "0123456789", "Client 1"],
["Tech Solutions", "info@techsol.fr", "0198765432", "Client 2"],
]
set_worksheet_data("db/TimeTrackPro.accdb", "tbl_Clients", data,
columns=["Nom", "Email", "Telephone", "Notes"], mode="append")
```
### Phase 3: Modules VBA (MCP VBA)
```python
# Valider puis injecter chaque module
# Le code complet est dans VBA_MODULES.md
validate_vba(code_mod_config, file_type="access")
inject_vba("db/TimeTrackPro.accdb", "mod_Config", code_mod_config)
validate_vba(code_mod_utils, file_type="access")
inject_vba("db/TimeTrackPro.accdb", "mod_Utils", code_mod_utils)
# ... pour chaque module
```
### Phase 4-6: Formulaires et UI (Manuel dans Access)
Les formulaires doivent etre crees dans Access UI:
- frm_Accueil
- frm_Clients
- frm_Projets
- frm_SaisieTemps
- frm_Historique
---
## Commandes Rapides
### Lire donnees
```python
get_worksheet_data("db/TimeTrackPro.accdb", "tbl_Clients")
get_worksheet_data("db/TimeTrackPro.accdb", "tbl_Temps", where_clause="Date > #2025-01-01#")
```
### Executer requete
```python
run_access_query("db/TimeTrackPro.accdb", sql="SELECT * FROM tbl_Projets WHERE Actif = True")
run_access_query("db/TimeTrackPro.accdb", query_name="qry_TempsByClient")
```
### Ajouter entree temps
```python
run_access_query("db/TimeTrackPro.accdb", sql="""
INSERT INTO tbl_Temps (ProjetID, Date, Duree, Description)
VALUES (1, #2025-01-15#, 3.5, 'Travail effectue')
""")
```
### Modifier donnees
```python
run_access_query("db/TimeTrackPro.accdb", sql="""
UPDATE tbl_Projets SET TauxHoraire = 80 WHERE ProjetID = 1
""")
```
### Supprimer donnees
```python
run_access_query("db/TimeTrackPro.accdb", sql="""
DELETE FROM tbl_Temps WHERE TempsID = 5
""")
```
---
## Limitations MCP VBA
| Ce qui marche | Ce qui ne marche pas |
|---------------|---------------------|
| CREATE/ALTER TABLE | Creer formulaires |
| INSERT/UPDATE/DELETE | Creer rapports |
| Injection VBA modules | Creer macros Access (UI) |
| Lecture/ecriture donnees | Design visuel |
| Requetes SQL | Slicers/filtres visuels |
---
## Fichiers Cles
| Fichier | Quand l'utiliser |
|---------|------------------|
| `scripts/01_create_tables.sql` | Creer la structure |
| `scripts/03_sample_data.sql` | Peupler avec donnees test |
| `VBA_MODULES.md` | Code VBA a injecter |
| `DATABASE.md` | Reference schema |
| `docs/MCP_VBA_GUIDE.md` | Guide etape par etape |
---
## Contact
Alexis Trouve - alexistrouve.pro@gmail.com