Améliorations apportées:
1. **Connexion à apiService**
- Remplacement de fetch direct par apiService.planning.getByChantier()
- Bénéficie de l'authentification automatique par cookies HttpOnly
- Gestion automatique des erreurs 401 avec redirection
2. **Vue Gantt interactive**
- Ajout d'un diagramme de Gantt horizontal avec Chart.js
- Affichage de la durée des tâches en jours
- Code couleur par statut (vert=terminé, bleu=en cours, rouge=en retard, gris=à faire)
- Hauteur optimisée pour une bonne lisibilité
3. **Basculement Timeline/Gantt**
- Bouton pour alterner entre vue Timeline et vue Gantt
- Conservation des données lors du changement de vue
- Interface cohérente avec le reste de l'application
4. **Gestion des états vides**
- Message informatif si aucune tâche à afficher
- Icônes et textes explicatifs
Bénéfices:
- Meilleure visualisation du planning avec deux perspectives complémentaires
- Timeline pour la chronologie détaillée
- Gantt pour une vue d'ensemble des durées et chevauchements
- Expérience utilisateur enrichie pour la gestion de projet
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 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>
- 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>