- Added `barryvdh/laravel-dompdf` to `composer.json` for PDF generation capabilities. - Updated `boost.json` to include `tailwindcss-development` in skills. - Modified `package.json` and `package-lock.json` to upgrade Tailwind CSS and related packages. - Improved README.md for clarity and corrected French language errors. - Created design system documentation for Filament components. - Added new Filament pages for Dashboard and Documentation with dynamic content loading. - Enhanced TablesExplorer functionality with improved table and column management.
80 lines
6.0 KiB
Markdown
80 lines
6.0 KiB
Markdown
# Active Context
|
|
|
|
Dernière mise à jour : 2026-02-20
|
|
|
|
## Travail en cours
|
|
|
|
Aucun travail en cours.
|
|
|
|
## Décisions récentes
|
|
|
|
- **Convention d'écriture avec accents** (2026-02-20) : Tous les contenus rédigés en français (documentation, memory bank, règles Cursor) doivent utiliser les accents appropriés. La documentation API et le memory bank ont été entièrement réécrits avec les accents.
|
|
- **Page Documentation ajoutée** (2026-02-20) : Nouvelle page Filament `Documentation` qui affiche le fichier markdown `documentation/documentation_api_logistics.md` converti en HTML via `Str::markdown()`. Actions d'en-tête : télécharger en PDF et ouvrir dans un nouvel onglet.
|
|
- **Styles prose personnalisés** (2026-02-20) : Le thème CSS Filament (`theme.css`) a été enrichi avec des styles `.documentation-prose` dédiés au rendu du markdown en dark mode : hiérarchie de titres avec bordures, tableaux avec bordures et en-têtes stylisés, blocs de code avec fond sombre, code inline coloré, liens bleus, listes à marqueurs, séparateurs visibles.
|
|
- **Plugin @tailwindcss/typography** (2026-02-20) : Ajout du plugin via `@plugin "@tailwindcss/typography"` dans le thème Filament pour activer les classes `prose`.
|
|
- **Export PDF de la documentation** (2026-02-20) : Route `documentation.download-pdf` dans `routes/web.php` utilisant `barryvdh/laravel-dompdf` pour générer un PDF téléchargeable de la documentation.
|
|
- **Règle update-documentation** (2026-02-20) : Nouvelle règle Cursor `.cursor/rules/update-documentation.mdc` définissant la procédure de mise à jour de la documentation quand l'utilisateur dit "update documentation".
|
|
- **Filament v5 sans authentification** : Le `AdminPanelProvider` a été configuré sans `->login()` et sans `authMiddleware` pour permettre un accès libre au dashboard.
|
|
- **Pages personnalisées plutôt que Resources** : L'application interroge une API externe, il n'y a pas de modèles Eloquent à gérer en CRUD.
|
|
- **MySQL au lieu de SQLite** : Choix de l'utilisateur pour la base de données.
|
|
- **LogisticsService** : Toutes les interactions avec l'API sont centralisées dans un seul service.
|
|
- **Heroicon enum** : Filament v5 impose l'utilisation de `BackedEnum` pour `$navigationIcon` au lieu de strings.
|
|
- **$view non-static** : Filament v5 a changé `$view` de static à instance property.
|
|
- **Timeout et retry configurables** : Les paramètres sont dans `config/logistics.php` et pilotés par `.env`.
|
|
- **LogisticsApiException** : Exception dédiée créée pour distinguer les erreurs de connexion des erreurs de requête génériques.
|
|
- **Logging des échecs** : Les requêtes échouées sont aussi enregistrées dans `api_request_logs` avec `response_status = 0`.
|
|
- **Système de design unifié** (2026-02-20) : Création de 10 composants Blade réutilisables dans `resources/views/components/logistics/` et d'une convention documentée dans `.cursor/rules/design-system.mdc`.
|
|
- **Thème Filament personnalisé** (2026-02-20) : Création de `resources/css/filament/admin/theme.css` enregistré dans `AdminPanelProvider` via `->viteTheme()`.
|
|
- **TablesExplorer amélioré** (2026-02-20) : Remplacement de `wire:then` (invalide) par une méthode `selectTable()`. Ajout de la déduplication des colonnes, d'un filtre de tables, de la propriété computed `filteredTables`, des labels de type (`getDataTypeLabel`), et du stockage des métadonnées.
|
|
- **Connectivité API résolue** (2026-02-20) : Le serveur API est accessible via `http://tse-10-test.esi.local` (réseau interne). Le timeout a été augmenté à 300s dans `.env`.
|
|
|
|
## Changements récents (2026-02-20, session documentation)
|
|
|
|
- Page Filament `Documentation` créée (`app/Filament/Pages/Documentation.php`).
|
|
- Vue Blade `resources/views/filament/pages/documentation.blade.php` créée.
|
|
- Documentation markdown réécrite intégralement avec accents français.
|
|
- Styles CSS `.documentation-prose` ajoutés dans `theme.css` (titres, tableaux, code, liens, listes).
|
|
- Plugin `@tailwindcss/typography` activé dans le thème Filament.
|
|
- Route PDF (`documentation.download-pdf`) ajoutée dans `routes/web.php`.
|
|
- Template PDF (`resources/views/pdf/documentation.blade.php`) créé.
|
|
- 5 tests Pest créés pour la page Documentation (`tests/Feature/DocumentationTest.php`).
|
|
- Règle Cursor `update-documentation.mdc` créée.
|
|
- Memory bank entièrement réécrit avec accents français.
|
|
- Total : 61 tests passent (165 assertions).
|
|
|
|
## Historique
|
|
|
|
### 2026-02-20 (session design)
|
|
|
|
- 10 composants Blade créés dans `resources/views/components/logistics/`.
|
|
- Convention de design documentée dans `.cursor/rules/design-system.mdc`.
|
|
- 5 pages Filament refactorisées pour utiliser les composants du système de design.
|
|
- `TablesExplorer.php` amélioré : `selectTable()`, déduplication, filtre, computed property, métadonnées, labels de types.
|
|
- Thème Filament personnalisé créé (`resources/css/filament/admin/theme.css`).
|
|
- `AdminPanelProvider.php` mis à jour avec `->viteTheme()`.
|
|
- 6 tests Pest créés pour `TablesExplorer` (Livewire).
|
|
|
|
### 2026-02-20 (session robustesse)
|
|
|
|
- `LogisticsService` mis à jour : timeout, connectTimeout, retry, gestion d'erreur avec `LogisticsApiException`.
|
|
- `LogisticsApiException` créée dans `app/Exceptions/`.
|
|
- `config/logistics.php` étendu avec timeout et retry.
|
|
- `.env` et `.env.example` complétés avec les nouvelles variables.
|
|
- Les 5 pages Filament mises à jour pour attraper `LogisticsApiException`.
|
|
- Tests passés de 8 à 12.
|
|
|
|
### 2026-02-19
|
|
|
|
- Installation de Filament v5.0.0 (31 packages ajoutés).
|
|
- 5 pages Filament créées : TablesExplorer, Articles, Documents, Journaux, Tiers.
|
|
- `LogisticsService` créé avec 17 endpoints.
|
|
- Migration `api_request_logs` créée.
|
|
- 8 tests Pest écrits et validés.
|
|
|
|
## Prochaines étapes
|
|
|
|
- Tester toutes les pages avec de vraies données API et vérifier le rendu visuel.
|
|
- Éventuellement : ajouter des pages pour les endpoints d'écriture (document_add, document_mod).
|
|
- Éventuellement : ajouter de la pagination ou du tri côté client pour les grands tableaux.
|
|
- Éventuellement : ajouter une page de consultation des logs API.
|