# 🏗️ BTPXpress Client (Frontend) **Interface web d'administration BTP** — Quarkus + JSF + PrimeFaces Freya [![Quarkus](https://img.shields.io/badge/Quarkus-3.27.3_LTS-blue)](https://quarkus.io/) [![Java](https://img.shields.io/badge/Java-21-orange)](https://openjdk.org/) [![PrimeFaces](https://img.shields.io/badge/PrimeFaces-14-green)](https://primefaces.org/) ## Rôle Application web d'administration BTP : gestion de chantiers, matériel, personnel, devis, factures, planning. Consomme l'API `btpxpress-server` via REST Client. ## Stack | Composant | Technologie | |-----------|-------------| | Framework | Quarkus 3.27.3 LTS | | Java | 21 | | UI | PrimeFaces 14 + Freya | | Composants partagés | `lions-faces-layout:1.0.0` | | Auth | OIDC (Keycloak — realm `btpxpress`, client `btpxpress-frontend`) | | REST Client | MicroProfile REST Client | ## Développement local ```bash ./mvnw quarkus:dev ``` App : `http://localhost:8080` ## Déploiement (lionsctl) Le repo Gitea est publié sous le nom **`btpxpress-frontend`** (pas `btpxpress-client`). ```bash lionsctl pipeline \ -u https://git.lions.dev/lionsdev/btpxpress-frontend \ -b main -j 21 -e production -c k1 -p prod ``` **URL prod** : `https://btpxpress.lions.dev` **Pré-requis infrastructure** (migration Helm → lionsctl) : - `Dockerfile` racine (fast-jar, `ubi8/openjdk-21:1.21`, UID 1001) - `.dockerignore` : `target/*` + `!target/quarkus-app/**` - Deployment Helm existant supprimé au préalable (selector immutable) - Service selector à repatcher après pipeline (retirer labels `app.kubernetes.io/*`) ## Documentation complémentaire - [`CONFIGURATION.md`](CONFIGURATION.md) — Configuration générale - [`CONFIGURATION_KEYCLOAK_JSF.md`](CONFIGURATION_KEYCLOAK_JSF.md) — Intégration Keycloak/JSF - [`CORRECTIONS_OIDC.md`](CORRECTIONS_OIDC.md) — Fixes OIDC notables - [`AUDIT_CONFIGURATION.md`](AUDIT_CONFIGURATION.md) — Configuration audit - [`CORRECTIONS_MENU_SOUS_MENUS.md`](CORRECTIONS_MENU_SOUS_MENUS.md) — Notes navigation ## Licence Propriétaire — Lions Dev © 2026