# lionsdev-client-impl-quarkus > Landing + portail LionsDev — `https://lions.dev` ## Rôle Application web vitrine de l'écosystème LionsDev : présentation des produits (UnionFlow, LUM, BTPXpress), auto-inscription, téléchargements, accès aux différents portails d'administration. ## Stack | Composant | Technologie | |-----------|-------------| | Framework | Quarkus 3.27.3 LTS | | UI | PrimeFaces 14 + Freya | | Auth | OIDC (Keycloak) | | Java | 21 | ## Développement local ```shell ./mvnw quarkus:dev ``` Dev UI : `http://localhost:8080/q/dev/` ### Storage local La propriété `app.storage.base-path` (stockage des fichiers upload) doit être définie. En `%dev`, elle vaut `${user.home}/lionsdev/storage`. En `%prod`, elle lit la variable d'env `STORAGE_PATH`. ## Déploiement (lionsctl) ```bash lionsctl pipeline \ -u https://git.lions.dev/lionsdev/lionsdev-client-impl-quarkus \ -b feature/business-enhancement \ -j 21 -e production -c k1 -p prod ``` > ⚠️ La branche prod est `feature/business-enhancement` (pas `main`). **URL prod** : `https://lions.dev` **Health** : `https://lions.dev/q/health` **Pré-requis infrastructure** avant pipeline (migration Helm → lionsctl) : - `Dockerfile` racine (fast-jar, `ubi8/openjdk-21:1.21`, UID 1001, `java -jar` direct) - Deployment Helm existant supprimé au préalable (selector immutable) - Override env `STORAGE_PATH=/tmp/lionsdev-storage` sur le deployment (lionsctl ne l'injecte pas) - Service selector à repatcher après pipeline (retirer labels `app.kubernetes.io/*`) ## Build ```shell ./mvnw clean package -DskipTests java -jar target/quarkus-app/quarkus-run.jar ``` ## Licence Propriétaire — Lions Dev © 2026