# Configuration Développement - UnionFlow

**Date** : 9 novembre 2025  
**Environnement** : Développement local

---

## 🔧 Configuration PostgreSQL

### Serveur
- **Host** : `localhost`
- **Port** : `5432`
- **Base de données** : `unionflow`
- **Username** : `skyfile`
- **Password** : `styfile`

### Configuration dans `application.properties`

```properties
# Profil de développement
%dev.quarkus.datasource.db-kind=postgresql
%dev.quarkus.datasource.username=skyfile
%dev.quarkus.datasource.password=styfile
%dev.quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/unionflow
```

---

## 🔐 Configuration Keycloak

### Serveur
- **URL** : `http://localhost:8180`
- **Realm** : `unionflow`
- **Client ID** : `unionflow-server`
- **Client Secret** : `unionflow-secret-2025`

### Configuration dans `application.properties`

```properties
# Configuration Keycloak OIDC
quarkus.oidc.auth-server-url=http://localhost:8180/realms/unionflow
quarkus.oidc.client-id=unionflow-server
quarkus.oidc.credentials.secret=unionflow-secret-2025
quarkus.oidc.tls.verification=none
quarkus.oidc.application-type=service
```

### Profil de développement

```properties
%dev.quarkus.oidc.auth-server-url=http://localhost:8180/realms/unionflow
%dev.quarkus.oidc.client-id=unionflow-server
%dev.quarkus.oidc.credentials.secret=unionflow-secret-2025
%dev.quarkus.oidc.tls.verification=none
```

**Note** : L'authentification Keycloak est temporairement désactivée en mode dev (`%dev.quarkus.oidc.tenant-enabled=false`).

---

## 🌐 Configuration des Ports

### Backend (unionflow-server-impl-quarkus)
- **Port HTTP** : `8085`
- **URL** : `http://localhost:8085`
- **Swagger UI** : `http://localhost:8085/swagger-ui`
- **Health Check** : `http://localhost:8085/health`

### Client (unionflow-client-quarkus-primefaces-freya)
- **Port HTTP** : `8086`
- **URL** : `http://localhost:8086`
- **Backend URL** : `http://localhost:8085` (configuré dans `application.properties`)

---

## 🚀 Démarrage en Mode Développement

### Prérequis
1. PostgreSQL démarré sur `localhost:5432`
2. Base de données `unionflow` créée
3. Keycloak démarré sur `http://localhost:8180`
4. Realm `unionflow` configuré dans Keycloak
5. Client `unionflow-server` créé dans Keycloak avec le secret `unionflow-secret-2025`

### Backend
```bash
cd unionflow/unionflow-server-impl-quarkus
mvn quarkus:dev
```

Le serveur démarrera sur `http://localhost:8085`

### Client
```bash
cd unionflow/unionflow-client-quarkus-primefaces-freya
mvn quarkus:dev
```

Le client démarrera sur `http://localhost:8086`

---

## 📝 Notes Importantes

1. **PostgreSQL** : Les credentials sont configurés dans le profil `%dev` uniquement
2. **Keycloak** : L'authentification est désactivée en mode dev pour faciliter le développement
3. **Flyway** : Les migrations sont désactivées en mode dev (`%dev.quarkus.flyway.migrate-at-start=false`)
4. **Hibernate** : Mode `drop-and-create` en dev pour réinitialiser la base à chaque démarrage

---

## ✅ Vérifications

### Vérifier PostgreSQL
```bash
psql -h localhost -p 5432 -U skyfile -d unionflow
```

### Vérifier Keycloak
```bash
curl http://localhost:8180/realms/unionflow/.well-known/openid-configuration
```

### Vérifier Backend
```bash
curl http://localhost:8085/health
```

### Vérifier Client
```bash
curl http://localhost:8086
```

---

## 🔄 Changements Effectués

1. ✅ Port backend changé de `8080` à `8085`
2. ✅ Port client changé de `8082` à `8086`
3. ✅ URL Keycloak mise à jour de `http://192.168.1.11:8180` à `http://localhost:8180`
4. ✅ Credentials PostgreSQL mis à jour : `skyfile/styfile`
5. ✅ URL backend dans le client mise à jour : `http://localhost:8085`


