Commit Graph

6 Commits

Author SHA1 Message Date
DahoudG
a5adb84a62 Fix: Correction des types TypeScript et validation du build production
Corrections apportées:

1. **Utilisation correcte des services exportés**
   - Remplacement de apiService.X par les services nommés (chantierService, clientService, etc.)
   - Alignement avec l'architecture d'export du fichier services/api.ts

2. **Correction des types d'interface**
   - Utilisation des types officiels depuis @/types/btp
   - Chantier: suppression des propriétés custom, utilisation du type standard
   - Client: ajout des imports Chantier et Facture
   - Materiel: adaptation aux propriétés réelles (numeroSerie au lieu de reference)
   - PlanningEvent: remplacement de TacheChantier par PlanningEvent

3. **Correction des propriétés obsolètes**
   - Chantier: dateFin → dateFinPrevue, budget → montantPrevu, responsable → typeChantier
   - Client: typeClient → entreprise, suppression de chantiers/factures inexistants
   - Materiel: reference → numeroSerie, prixAchat → valeurAchat
   - PlanningEvent: nom → titre, suppression de progression

4. **Correction des enums**
   - StatutFacture: EN_ATTENTE → ENVOYEE/BROUILLON/PARTIELLEMENT_PAYEE
   - PrioritePlanningEvent: MOYENNE → CRITIQUE/HAUTE/NORMALE/BASSE

5. **Fix async/await pour cookies()**
   - Ajout de await pour cookies() dans les routes API (Next.js 15 requirement)
   - app/api/auth/logout/route.ts
   - app/api/auth/token/route.ts
   - app/api/auth/userinfo/route.ts

6. **Fix useSearchParams() Suspense**
   - Enveloppement de useSearchParams() dans un Suspense boundary
   - Création d'un composant LoginContent séparé
   - Ajout d'un fallback avec spinner

Résultat:
 Build production réussi: 126 pages générées
 Compilation TypeScript sans erreurs
 Linting validé
 Middleware 34.4 kB
 First Load JS shared: 651 kB

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 13:24:12 +00:00
DahoudG
be04ef16d9 Fix: Connexion des pages de détails aux APIs backend avec authentification cookies
- Mise à jour de services/api.ts pour supporter l'authentification par cookies HttpOnly
  * Ajout de withCredentials: true dans l'intercepteur de requêtes
  * Modification de l'intercepteur de réponse pour gérer les 401 sans localStorage
  * Utilisation de sessionStorage pour returnUrl au lieu de localStorage
  * Suppression des tentatives de nettoyage de tokens localStorage (gérés par cookies)

- Connexion des pages de détails à apiService au lieu de fetch direct:
  * app/(main)/chantiers/[id]/page.tsx → apiService.chantiers.getById()
  * app/(main)/chantiers/[id]/budget/page.tsx → apiService.budgets.getByChantier()
  * app/(main)/clients/[id]/page.tsx → apiService.clients.getById()
  * app/(main)/materiels/[id]/page.tsx → apiService.materiels.getById()

Avantages:
- Gestion automatique de l'authentification via cookies HttpOnly (plus sécurisé)
- Redirection automatique vers /api/auth/login en cas de 401
- Code plus propre et maintenable
- Gestion d'erreurs cohérente dans toute l'application

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 12:04:35 +00:00
DahoudG
a91a34dbf8 feat: Pages de détails complètes pour chantiers, clients et matériels
PHASE 2 - FINALISATIONS FONCTIONNELLES TERMINÉES

 Pages Chantiers [id] créées:
- /chantiers/[id]: Vue d'ensemble avec statistiques et navigation
- /chantiers/[id]/budget: Suivi budgétaire détaillé avec graphiques
- /chantiers/[id]/planning: Chronologie et planning des tâches
- /chantiers/[id]/documents: Gestion des documents du chantier
- /chantiers/[id]/equipe: Liste et gestion de l'équipe affectée

 Pages Clients [id] créées:
- /clients/[id]: Fiche client complète avec coordonnées
- Onglets: Chantiers, Factures, Documents
- Statistiques et historique complet

 Pages Matériels [id] créées:
- /materiels/[id]: Fiche matériel avec informations techniques
- Calendrier de disponibilité
- Onglets: Réservations, Maintenances, Documents
- Timeline des maintenances

Fonctionnalités implémentées:
- Navigation fluide entre les pages
- Boutons retour vers listes principales
- DataTables avec tri et filtres
- Graphiques budget (bar chart, doughnut)
- Calendriers et timeline
- Tags de statut colorés
- Cards statistiques
- Responsive design

Technologies utilisées:
- PrimeReact (DataTable, Chart, Calendar, Timeline, TabView)
- Next.js App Router avec dynamic routes [id]
- TypeScript avec interfaces typées
- Integration API backend via fetch

Prochaines étapes:
- Connecter aux vraies APIs backend
- Ajouter formulaires de modification
- Implémenter actions (supprimer, modifier)
- Ajouter toasts de confirmation

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 11:52:21 +00:00
dahoud
a8825a058b Fix: Corriger toutes les erreurs de build du frontend
- Correction des erreurs TypeScript dans userService.ts et workflowTester.ts
- Ajout des propriétés manquantes aux objets User mockés
- Conversion des dates de string vers objets Date
- Correction des appels asynchrones et des types incompatibles
- Ajout de dynamic rendering pour résoudre les erreurs useSearchParams
- Enveloppement de useSearchParams dans Suspense boundary
- Configuration de force-dynamic au niveau du layout principal

Build réussi: 126 pages générées avec succès

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-18 13:23:08 +00:00
dahoud
30cad6220b fix: Update PrimeReact to v10.8.3 and fix all compilation errors 2025-10-13 03:01:36 +00:00
dahoud
b430bf3b96 Initial commit 2025-10-01 01:39:07 +00:00