# 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