Update project dependencies and enhance documentation

- 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.
This commit is contained in:
2026-02-20 14:16:24 +01:00
parent 4aef33f270
commit 657c5ad5e3
46 changed files with 3318 additions and 857 deletions

View File

@@ -1,39 +1,51 @@
# Tech Context
Derniere mise a jour : 2026-02-20
Dernière mise à jour : 2026-02-20
## Stack technique
| Composant | Version | Role |
| Composant | Version | Rôle |
|-----------|---------|------|
| PHP | 8.4 | Langage serveur |
| Laravel | 12 | Framework applicatif |
| Filament | 5.0 | Panel admin / dashboard |
| Livewire | 4 | Composants reactifs |
| Livewire | 4 | Composants réactifs |
| Flux UI Free | 2.9+ | Composants UI Livewire |
| Fortify | 1.30+ | Authentification (existant, non utilise par Filament) |
| Fortify | 1.30+ | Authentification (existant, non utilisé par Filament) |
| Pest | 4.4+ | Framework de tests |
| MySQL | - | Base de donnees |
| Vite | - | Bundler frontend |
| Tailwind CSS | 4 | Framework CSS |
| MySQL | - | Base de données |
| Vite | 7.3 | Bundler frontend |
| Tailwind CSS | 4 | Framework CSS (via @tailwindcss/vite) |
| @tailwindcss/typography | 0.5.19 | Plugin prose pour le rendu markdown |
| barryvdh/laravel-dompdf | - | Génération PDF |
## Dependances principales (composer.json)
## Dépendances principales (composer.json)
- `filament/filament: ^5.0`
- `laravel/framework: ^12.0`
- `livewire/livewire: ^4.0`
- `livewire/flux: ^2.9.0`
- `laravel/fortify: ^1.30`
- `barryvdh/laravel-dompdf` (export PDF de la documentation)
## Frontend
- Tailwind CSS 4 avec le plugin Vite `@tailwindcss/vite`
- Plugin `@tailwindcss/typography` (v0.5.19) pour le rendu prose du markdown
- Thème Filament personnalisé : `resources/css/filament/admin/theme.css`
- Le thème Filament scanne les sources : `app/Filament/**/*`, `resources/views/filament/**/*`, `resources/views/components/logistics/**/*`
- Le thème inclut des styles CSS personnalisés pour la classe `.documentation-prose` (titres, tableaux, blocs de code, liens, listes) optimisés pour le dark mode Filament
- Build : `npm run build` (recompile `app.css` et `theme.css`)
## Configuration
### Variables d'environnement specifiques
### Variables d'environnement spécifiques
```
LOGISTICS_API_BASE_URL=http://tse-10-test.esiweb.pro
LOGISTICS_API_KEY=<cle API>
LOGISTICS_API_BASE_URL=http://tse-10-test.esi.local
LOGISTICS_API_KEY=<clé API>
LOGISTICS_API_FOLDER=esigescom
LOGISTICS_API_TIMEOUT=30
LOGISTICS_API_TIMEOUT=300
LOGISTICS_API_CONNECT_TIMEOUT=10
LOGISTICS_API_RETRY_TIMES=3
LOGISTICS_API_RETRY_SLEEP_MS=500
@@ -41,17 +53,17 @@ LOGISTICS_API_RETRY_SLEEP_MS=500
Fichier de config : `config/logistics.php`
| Cle de config | Variable .env | Defaut | Description |
| Clé de config | Variable .env | Défaut | Description |
|---------------|---------------|--------|-------------|
| `logistics.base_url` | `LOGISTICS_API_BASE_URL` | - | URL de base de l'API |
| `logistics.api_key` | `LOGISTICS_API_KEY` | - | Cle d'authentification |
| `logistics.api_key` | `LOGISTICS_API_KEY` | - | Clé d'authentification |
| `logistics.folder` | `LOGISTICS_API_FOLDER` | - | Dossier dans l'URL |
| `logistics.timeout` | `LOGISTICS_API_TIMEOUT` | 30 | Timeout total de la requete (secondes) |
| `logistics.timeout` | `LOGISTICS_API_TIMEOUT` | 30 | Timeout total de la requête (secondes) |
| `logistics.connect_timeout` | `LOGISTICS_API_CONNECT_TIMEOUT` | 10 | Timeout de connexion (secondes) |
| `logistics.retry.times` | `LOGISTICS_API_RETRY_TIMES` | 3 | Nombre de tentatives en cas d'echec de connexion |
| `logistics.retry.sleep_ms` | `LOGISTICS_API_RETRY_SLEEP_MS` | 500 | Delai entre les tentatives (ms) |
| `logistics.retry.times` | `LOGISTICS_API_RETRY_TIMES` | 3 | Nombre de tentatives en cas d'échec de connexion |
| `logistics.retry.sleep_ms` | `LOGISTICS_API_RETRY_SLEEP_MS` | 500 | Délai entre les tentatives (ms) |
### Base de donnees
### Base de données
- Connexion : MySQL
- Base : `logistics`
@@ -61,26 +73,28 @@ Fichier de config : `config/logistics.php`
### Connexion
- Serveur : TSE-10-TEST (reseau prive, accessible uniquement via Bureau a distance / RDP)
- Base URL : `http://tse-10-test.esiweb.pro`
- Serveur : TSE-10-TEST (réseau privé)
- Base URL : `http://tse-10-test.esi.local`
- Dossier : `esigescom` (minuscules obligatoires)
- Authentification : Header `X-API-KEY`
- Methode : POST pour tous les endpoints
- Port HTTP : 5186 / Port HTTPS : 7126
- Méthode : POST pour tous les endpoints
### Structure de reponse
### Structure de réponse
```json
{
"data": "<resultat>",
"data": "<résultat>",
"metadata": { "rowcount": 0, "issuccess": true },
"error": "<message d'erreur ou null>"
}
```
Réponse `tables_list` : chaque table a `name` et `columnCount`.
Réponse `column_list` : chaque colonne a `name`, `dataType` (C/N/T/D/L/M), `length`, `precision`. Les colonnes sont retournées en double par l'API (dédupliquées côté client).
### Endpoints
| Endpoint | Description | Parametres principaux |
| Endpoint | Description | Paramètres principaux |
|----------|-------------|-----------------------|
| `tables_list` | Liste des tables | - |
| `column_list/{table}` | Colonnes d'une table | table (URL) |
@@ -88,18 +102,29 @@ Fichier de config : `config/logistics.php`
| `art_getstk` | Stock d'un article | ARTID |
| `jnl_list` | Liste des journaux | select, results, TYPE |
| `document_list` | Liste des documents | select, thirdid |
| `document_detail` | Detail d'un document | jnl, number |
| `document_detail` | Détail d'un document | jnl, number |
| `document_add` | Ajout d'un document | ThirdId, Date, Artid[], Qty[], Saleprice[], JNL, ... |
| `document_mod` | Modification d'un document | number, Thirdid, Artid[], Qty[], Saleprice[], JNL, ... |
| `Document_GetStatusList` | Statuts d'un journal | jnl |
| `Document_GetUnitPriceAndVat` | Prix et TVA | ARTID, QTY, JNL, THIRDID, DATE |
| `Document_GetDueDate` | Echeance | paydelay, date |
| `Document_GetDueDate` | Échéance | paydelay, date |
| `Document_GetAttachListThumbnail` | Miniatures annexes | JNL, NUMBER |
| `third_list` | Liste des tiers | select, results, search |
| `third_GetArtHistory` | Historique articles tiers | thirdid |
| `getserialnumber` | Numero de serie | - |
| `codes_list` | Donnees par code | code |
| `getserialnumber` | Numéro de série | - |
| `codes_list` | Données par code | code |
### Tables accessibles
art, attach, barcode, category, codes, cust, docdet, dochead, docpay, file, hist, incodes, jnl, pers, price, stk
art (160 col.), attach (13), barcode (12), category (10), codes (50), cust (216), docdet (82), dochead (212), docpay (22), file (17), hist (50), incodes (24), jnl (155), pers (78), price (28), stk (20)
### Types de colonnes (dataType)
| Code | Label | Couleur badge |
|------|-------|---------------|
| C | Caractère | Bleu |
| N | Numérique | Vert (emerald) |
| T | Date/Heure | Violet |
| D | Date | Violet |
| L | Logique | Ambre |
| M | Mémo | Gris |