- Introduced `LogisticsApiException` to handle connection and request errors with user-friendly messages in French. - Updated `LogisticsService` to include configurable timeout, connection timeout, retry attempts, and sleep duration for retries. - Enhanced error handling in Filament pages to catch `LogisticsApiException` and provide clear feedback to users. - Updated `.env` and `config/logistics.php` to support new configuration options. - Added logging for failed API requests in `api_request_logs`. - Created comprehensive API documentation for Logistics endpoints.
3.0 KiB
3.0 KiB
Active Context
Derniere mise a jour : 2026-02-20
Travail en cours
Aucun travail en cours. Les ameliorations de robustesse du service API sont terminees.
Decisions recentes
- Filament v5 sans authentification : Le
AdminPanelProvidera ete configure sans->login()et sansauthMiddlewarepour permettre un acces libre au dashboard. - Pages personnalisees plutot que Resources : L'application interroge une API externe, il n'y a pas de modeles Eloquent a gerer en CRUD. Les pages Filament utilisent des vues Blade avec des formulaires Livewire.
- MySQL au lieu de SQLite : Choix de l'utilisateur pour la base de donnees.
- LogisticsService : Toutes les interactions avec l'API sont centralisees dans un seul service pour faciliter la maintenance et le tracage.
- Heroicon enum : Filament v5 impose l'utilisation de
BackedEnumpour$navigationIconau lieu de strings. - $view non-static : Filament v5 a change
$viewde static a instance property. - Timeout et retry configurables (2026-02-20) : Les parametres
timeout,connect_timeout,retry.timesetretry.sleep_mssont desormais dansconfig/logistics.phpet pilotes par des variables.env. Le retry ne se declenche que sur lesConnectionException. - LogisticsApiException (2026-02-20) : Exception dediee creee pour distinguer les erreurs de connexion (API injoignable) des erreurs de requete generiques. Messages en francais.
- Logging des echecs (2026-02-20) : Les requetes echouees sont desormais aussi enregistrees dans
api_request_logsavecresponse_status = 0. - Contrainte reseau (2026-02-20) : Le serveur API
tse-10-test.esiweb.proest sur un reseau prive, accessible uniquement via Bureau a distance (RDP). L'application locale ne peut pas joindre l'API sans tunnel ou deploiement sur le reseau distant.
Changements importants (2026-02-20)
LogisticsServicemis a jour : timeout, connectTimeout, retry, gestion d'erreur avecLogisticsApiException.LogisticsApiExceptioncreee dansapp/Exceptions/.config/logistics.phpetendu avec timeout et retry..envet.env.examplecompletes avec les nouvelles variables.- Les 5 pages Filament mises a jour pour attraper
LogisticsApiException. - Tests passes de 8 a 12 (4 nouveaux tests pour timeout, exception, logging, contexte).
Historique (2026-02-19)
- Installation de Filament v5.0.0 (31 packages ajoutes).
- 5 pages Filament creees : TablesExplorer, Articles, Documents, Journaux, Tiers.
LogisticsServicecree avec 17 endpoints.- Migration
api_request_logscreee. - 8 tests Pest ecrits et valides.
Prochaines etapes
- Deployer l'application sur le reseau distant (serveur accessible via RDP) ou mettre en place un tunnel SSH/VPN pour que l'application puisse joindre l'API.
- Tester le dashboard avec de vraies donnees API une fois la connectivite reseau resolue.
- Eventuellement : ajouter des pages pour les endpoints d'ecriture (document_add, document_mod).
- Eventuellement : ameliorer l'affichage des resultats (pagination, formatage).