# TimeTrack Pro - Plan de Projet ## 1. Vision **Objectif:** Outil de suivi des heures par client/projet, propre et fonctionnel, qui demontre la capacite a livrer un produit fini. **Public cible:** Freelances, petites equipes, usage personnel. **Differenciateur:** Genere via MCP VBA Server = double vitrine (outil + technologie). --- ## 2. Perimetre V1 ### Inclus | Fonctionnalite | Description | |----------------|-------------| | Gestion clients | CRUD complet (Creer, Lire, Modifier, Supprimer) | | Gestion projets | Lies aux clients, avec taux horaire | | Saisie temps | Entrees rapides avec date, duree, notes | | Calculs auto | Totaux par projet, client, periode | | Rapports | Recapitulatif exportable PDF/Excel | | Navigation | Interface propre et intuitive | ### Hors Perimetre (V2 eventuelle) - Multi-utilisateurs - Facturation automatique - Synchro cloud / API externe - Dashboard graphique avance --- ## 3. Modele de Donnees ### Tables | Table | Champs | |-------|--------| | tbl_Clients | ClientID (PK), Nom, Email, Telephone, Notes, DateCreation | | tbl_Projets | ProjetID (PK), ClientID (FK), Nom, Description, TauxHoraire, Actif, DateCreation | | tbl_Temps | TempsID (PK), ProjetID (FK), Date, Duree, Description, DateCreation | ### Relations ``` tbl_Clients (1) ──── (N) tbl_Projets │ │ tbl_Projets (1) ──── (N) tbl_Temps ``` --- ## 4. Interfaces (Formulaires) | Formulaire | Fonction | |------------|----------| | frm_Accueil | Navigation principale, stats rapides | | frm_Clients | Liste + ajout/edition clients | | frm_Projets | Liste + ajout/edition projets (filtrable par client) | | frm_SaisieTemps | Saisie rapide : date, projet, duree, note | | frm_Historique | Liste des entrees avec filtres (date, client, projet) | --- ## 5. Rapports | Rapport | Contenu | |---------|---------| | rpt_RecapPeriode | Total heures par projet/client sur une periode choisie | | rpt_DetailClient | Detail des heures pour un client specifique | **Export:** PDF ou Excel --- ## 6. Architecture VBA ### Modules | Module | Responsabilite | |--------|----------------| | mod_Config | Constantes, parametres globaux | | mod_Navigation | Ouverture/fermeture formulaires | | mod_DataAccess | Fonctions CRUD generiques | | mod_Calculs | Totaux, moyennes, agregations | | mod_Export | Generation PDF/Excel | | mod_Utils | Helpers (dates, validation, formatage) | ### Principes 1. **Pas de code dans les formulaires** (ou minimal) 2. **Nommage explicite:** `GetTotalHeuresByProjet()`, `OpenFormClient()` 3. **Commentaires en-tete** de chaque fonction 4. **Gestion d'erreurs** coherente --- ## 7. Phases de Developpement | Phase | Contenu | Methode | Duree | |-------|---------|---------|-------| | 1 | Structure BDD + relations | MCP VBA | 1h | | 2 | Formulaires de base (CRUD) | Access UI | 3h | | 3 | Saisie temps + calculs | MCP VBA + UI | 2h | | 4 | Rapports + export | Access UI + VBA | 2h | | 5 | UI polish + navigation | Access UI | 2h | | 6 | Tests + documentation | Manuel | 2h | **Total estime:** ~12h --- ## 8. Livrables Finaux - [ ] Fichier `.accdb` fonctionnel - [ ] README avec screenshots - [ ] Code source commente (via MCP VBA) - [ ] (Bonus) GIF de demo --- ## 9. Criteres de Succes - [ ] L'outil fonctionne sans bugs visibles - [ ] Le code est lisible et structure - [ ] Un utilisateur peut saisir du temps en < 30 secondes - [ ] Le rapport est exportable et presentable - [ ] Utilisation personnelle (dogfooding) --- ## 10. Stack Technique | Composant | Technologie | |-----------|-------------| | Base de donnees | Microsoft Access (.accdb) | | Langage | VBA (Visual Basic for Applications) | | Automatisation | VBA MCP Server v0.6.0 | | Export | PDF via Access, Excel via VBA | --- ## 11. Approche MCP VBA ### Ce qui sera automatise (MCP) ``` run_access_query → Creation tables, relations, requetes inject_vba → Tous les modules VBA get/set_data → Tests et population de donnees ``` ### Ce qui sera manuel (Access UI) ``` Formulaires → Design visuel des interfaces Rapports → Mise en page des rapports Controles → Positionnement, formatage ``` --- **Auteur:** Alexis Trouve **Date:** 2025-12-30 **Version:** 1.0