# GBCM Client Implementation - Quarkus

Interface web pour la plateforme GBCM (Global Business Consulting and Management) développée avec Quarkus et PrimeFaces.

## Description

Ce module contient l'interface utilisateur web de la plateforme GBCM, permettant aux utilisateurs d'accéder aux services de consulting, coaching et gestion des ateliers.

## Technologies

- **Quarkus 3.6.0** - Framework Java moderne
- **PrimeFaces 13.0.0** - Composants JSF
- **Jakarta Faces 4.0** - Framework web
- **Freya Theme 5.0.0** - Thème PrimeFaces
- **Maven** - Gestion des dépendances

## Prérequis

- Java 17 ou supérieur
- Maven 3.8+
- PostgreSQL 13+ (production)

## Installation

1. Cloner le repository
```bash
git clone https://git.lions.dev/gbcm/gbcm-client-impl-quarkus.git
cd gbcm-client-impl-quarkus
```

2. Installer les dépendances
```bash
mvn clean install
```

3. Configuration
Copier `application.properties.example` vers `application.properties` et configurer :
- URL du serveur API GBCM
- Base de données
- Paramètres de sécurité

## Développement

### Démarrage en mode développement
```bash
mvn quarkus:dev
```

L'application sera accessible sur http://localhost:8080/gbcm

### Build de production
```bash
mvn clean package -Pnative
```

## Structure du projet

```
src/
├── main/
│   ├── java/com/gbcm/client/
│   │   ├── beans/          # Managed Beans JSF
│   │   ├── converters/     # Convertisseurs
│   │   ├── validators/     # Validateurs
│   │   └── config/         # Configuration
│   ├── resources/
│   │   ├── META-INF/resources/  # Ressources web
│   │   └── application.properties
│   └── webapp/
│       ├── templates/      # Templates PrimeFaces
│       ├── pages/          # Pages JSF
│       └── WEB-INF/
└── test/                   # Tests unitaires
```

## Fonctionnalités

### Authentification
- Connexion/déconnexion sécurisée
- Gestion des rôles (Admin, Coach, Client)
- Réinitialisation de mot de passe

### Dashboard
- Tableaux de bord personnalisés par rôle
- Métriques et KPIs
- Notifications en temps réel

### Gestion des Services
- Programmes Strategic Workshops
- Sessions de coaching individuel
- Coaching à la demande
- Projets spéciaux

### Administration
- Gestion des utilisateurs
- Configuration système
- Rapports et analytics

## API Integration

Ce client communique avec l'API GBCM via REST :
- Base URL configurée dans `application.properties`
- Authentification JWT
- Gestion automatique des tokens

## Tests

```bash
# Tests unitaires
mvn test

# Tests d'intégration
mvn verify
```

## Déploiement

### Docker
```bash
docker build -t gbcm-client .
docker run -p 8080:8080 gbcm-client
```

### Production
1. Build de l'application
2. Configuration des variables d'environnement
3. Déploiement sur serveur d'application

## Configuration

### Variables d'environnement principales
- `GBCM_SERVER_API_URL` - URL de l'API serveur
- `DATABASE_URL` - URL de la base de données
- `JWT_SECRET` - Secret pour les tokens JWT

## Support

Pour toute question ou problème :
- Email: support@gbcm.com
- Documentation: https://docs.gbcm.com

## Licence

Propriétaire - GBCM LLC © 2024
