config: Configuration des environnements et migrations DB - Séparation des configurations dev et prod - Configuration H2 pour développement - Configuration PostgreSQL pour production - Migration SQL pour les nouveaux champs d'événements (V2__Add_Event_Additional_Fields.sql) - Configuration CORS et root-path pour production
This commit is contained in:
28
src/main/resources/application-dev.properties
Normal file
28
src/main/resources/application-dev.properties
Normal file
@@ -0,0 +1,28 @@
|
||||
# ====================================================================
|
||||
# AfterWork Server - Configuration DÉVELOPPEMENT
|
||||
# ====================================================================
|
||||
# Ce fichier est automatiquement chargé avec: mvn quarkus:dev
|
||||
# Les configurations ici surchargent celles de application.properties
|
||||
|
||||
# ====================================================================
|
||||
# Base de données H2 (en mémoire)
|
||||
# ====================================================================
|
||||
quarkus.datasource.db-kind=h2
|
||||
quarkus.datasource.jdbc.url=jdbc:h2:mem:afterwork_db;DB_CLOSE_DELAY=-1
|
||||
quarkus.datasource.username=sa
|
||||
quarkus.datasource.password=
|
||||
quarkus.datasource.jdbc.driver=org.h2.Driver
|
||||
quarkus.datasource.devservices.enabled=false
|
||||
|
||||
# ====================================================================
|
||||
# Hibernate ORM
|
||||
# ====================================================================
|
||||
quarkus.hibernate-orm.database.generation=drop-and-create
|
||||
quarkus.hibernate-orm.log.sql=true
|
||||
quarkus.hibernate-orm.format_sql=true
|
||||
|
||||
# ====================================================================
|
||||
# Logging
|
||||
# ====================================================================
|
||||
quarkus.log.level=DEBUG
|
||||
quarkus.log.category."com.lions.dev".level=DEBUG
|
||||
@@ -1,14 +1,18 @@
|
||||
# ====================================================================
|
||||
# AfterWork Server - Configuration de Production
|
||||
# AfterWork Server - Configuration PRODUCTION
|
||||
# ====================================================================
|
||||
# IMPORTANT: Les propriétés build-time (app.name, root-path, compression)
|
||||
# sont définies dans application.properties et ne peuvent pas être changées ici
|
||||
# Ce fichier est automatiquement chargé avec: java -jar app.jar
|
||||
# Les configurations ici surchargent celles de application.properties
|
||||
|
||||
# HTTP Configuration (runtime only)
|
||||
quarkus.http.host=0.0.0.0
|
||||
quarkus.http.port=8080
|
||||
# ====================================================================
|
||||
# HTTP - Chemin de base de l'API
|
||||
# ====================================================================
|
||||
# Permet d'accéder à l'API via https://api.lions.dev/afterwork
|
||||
quarkus.http.root-path=/afterwork
|
||||
|
||||
# Base de données PostgreSQL (Production)
|
||||
# ====================================================================
|
||||
# Base de données PostgreSQL
|
||||
# ====================================================================
|
||||
quarkus.datasource.db-kind=postgresql
|
||||
quarkus.datasource.jdbc.url=jdbc:postgresql://${DB_HOST:postgresql}:${DB_PORT:5432}/${DB_NAME:mic-after-work-server-impl-quarkus-main}
|
||||
quarkus.datasource.username=${DB_USERNAME:lionsuser}
|
||||
@@ -16,14 +20,19 @@ quarkus.datasource.password=${DB_PASSWORD:LionsUser2025!}
|
||||
quarkus.datasource.jdbc.driver=org.postgresql.Driver
|
||||
quarkus.datasource.jdbc.max-size=20
|
||||
quarkus.datasource.jdbc.min-size=5
|
||||
quarkus.datasource.devservices.enabled=false
|
||||
|
||||
# Hibernate
|
||||
# ====================================================================
|
||||
# Hibernate ORM
|
||||
# ====================================================================
|
||||
quarkus.hibernate-orm.database.generation=update
|
||||
quarkus.hibernate-orm.log.sql=false
|
||||
quarkus.hibernate-orm.sql-load-script=no-file
|
||||
quarkus.hibernate-orm.jdbc.statement-batch-size=20
|
||||
|
||||
# CORS - Production strict
|
||||
# ====================================================================
|
||||
# CORS (Cross-Origin Resource Sharing)
|
||||
# ====================================================================
|
||||
quarkus.http.cors=true
|
||||
quarkus.http.cors.origins=https://afterwork.lions.dev
|
||||
quarkus.http.cors.methods=GET,POST,PUT,DELETE,OPTIONS,PATCH
|
||||
@@ -32,7 +41,9 @@ quarkus.http.cors.exposed-headers=content-disposition
|
||||
quarkus.http.cors.access-control-max-age=24H
|
||||
quarkus.http.cors.access-control-allow-credentials=true
|
||||
|
||||
# ====================================================================
|
||||
# Logging
|
||||
# ====================================================================
|
||||
quarkus.log.level=INFO
|
||||
quarkus.log.console.enable=true
|
||||
quarkus.log.console.format=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{3.}] (%t) %s%e%n
|
||||
@@ -41,30 +52,27 @@ quarkus.log.category."com.lions.dev".level=INFO
|
||||
quarkus.log.category."org.hibernate".level=WARN
|
||||
quarkus.log.category."io.quarkus".level=INFO
|
||||
|
||||
# OpenAPI/Swagger - Configuration build-time dans application.properties
|
||||
|
||||
# Health checks - Utilise les valeurs par défaut de Quarkus
|
||||
|
||||
# Métriques - Configuration build-time dans application.properties
|
||||
|
||||
# ====================================================================
|
||||
# WebSocket
|
||||
# ====================================================================
|
||||
quarkus.websocket.max-frame-size=65536
|
||||
|
||||
# Upload de fichiers
|
||||
quarkus.http.body.uploads-directory=/tmp/uploads
|
||||
|
||||
# Compression HTTP - Configuration build-time dans application.properties
|
||||
|
||||
# ====================================================================
|
||||
# SSL/TLS (géré par le reverse proxy)
|
||||
# ====================================================================
|
||||
quarkus.http.ssl.certificate.files=
|
||||
quarkus.http.ssl.certificate.key-files=
|
||||
quarkus.http.insecure-requests=enabled
|
||||
|
||||
# ====================================================================
|
||||
# Performance
|
||||
# ====================================================================
|
||||
quarkus.thread-pool.core-threads=2
|
||||
quarkus.thread-pool.max-threads=16
|
||||
quarkus.thread-pool.queue-size=100
|
||||
|
||||
# Timezone
|
||||
# ====================================================================
|
||||
# Localisation
|
||||
# ====================================================================
|
||||
quarkus.locales=fr-FR,en-US
|
||||
quarkus.default-locale=fr-FR
|
||||
|
||||
@@ -1,63 +1,26 @@
|
||||
# Configuration Swagger UI
|
||||
# ====================================================================
|
||||
# AfterWork Server - Configuration Commune
|
||||
# ====================================================================
|
||||
# Ce fichier contient les configurations partagées par tous les environnements.
|
||||
# Les configurations spécifiques sont dans :
|
||||
# - application-dev.properties (développement)
|
||||
# - application-prod.properties (production)
|
||||
|
||||
# ====================================================================
|
||||
# Swagger/OpenAPI (commun à tous les environnements)
|
||||
# ====================================================================
|
||||
quarkus.swagger-ui.always-include=true
|
||||
quarkus.swagger-ui.path=/q/swagger-ui
|
||||
quarkus.smallrye-openapi.path=/openapi
|
||||
|
||||
# Configuration datasource par défaut (PostgreSQL) pour le build
|
||||
# Les valeurs seront remplacées au runtime par les variables d'environnement
|
||||
quarkus.datasource.db-kind=postgresql
|
||||
quarkus.datasource.jdbc.url=jdbc:postgresql://postgresql:5432/mic-after-work-server-impl-quarkus-main
|
||||
quarkus.datasource.username=lionsuser
|
||||
quarkus.datasource.password=LionsUser2025!
|
||||
quarkus.datasource.jdbc.driver=org.postgresql.Driver
|
||||
quarkus.hibernate-orm.database.generation=update
|
||||
quarkus.hibernate-orm.log.sql=false
|
||||
|
||||
# Configuration de la base de données H2 (en mémoire) pour Quarkus en développement
|
||||
%dev.quarkus.datasource.db-kind=h2
|
||||
%dev.quarkus.datasource.jdbc.url=jdbc:h2:mem:afterwork_db;DB_CLOSE_DELAY=-1
|
||||
%dev.quarkus.datasource.username=sa
|
||||
%dev.quarkus.datasource.password=
|
||||
%dev.quarkus.hibernate-orm.database.generation=drop-and-create
|
||||
%dev.quarkus.hibernate-orm.log.sql=true
|
||||
%dev.quarkus.datasource.devservices.enabled=false
|
||||
|
||||
# Configuration PostgreSQL (production) - commentée pour les tests
|
||||
# %dev.quarkus.datasource.db-kind=postgresql
|
||||
# %dev.quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/afterwork_db
|
||||
# %dev.quarkus.datasource.username=afterwork
|
||||
# %dev.quarkus.datasource.password=@ft3rw0rk
|
||||
# %dev.quarkus.datasource.jdbc.driver=org.postgresql.Driver
|
||||
|
||||
# Configuration de la base de données PostgreSQL pour Quarkus en production
|
||||
%prod.quarkus.datasource.db-kind=postgresql
|
||||
%prod.quarkus.datasource.jdbc.url=jdbc:postgresql://${DB_HOST:postgresql}:${DB_PORT:5432}/${DB_NAME:mic-after-work-server-impl-quarkus-main}
|
||||
%prod.quarkus.datasource.username=${DB_USERNAME:lionsuser}
|
||||
%prod.quarkus.datasource.password=${DB_PASSWORD:LionsUser2025!}
|
||||
%prod.quarkus.datasource.jdbc.driver=org.postgresql.Driver
|
||||
%prod.quarkus.hibernate-orm.database.generation=update
|
||||
%prod.quarkus.hibernate-orm.log.sql=false
|
||||
%prod.quarkus.datasource.devservices.enabled=false
|
||||
|
||||
# Niveau de logging pour Quarkus en développement
|
||||
%dev.quarkus.log.level=DEBUG
|
||||
|
||||
# Niveau de logging pour Quarkus en production
|
||||
%prod.quarkus.log.level=INFO
|
||||
|
||||
# Configuration de la signature JWT (désactivée pour l'instant)
|
||||
# mp.jwt.verify.publickey.location=META-INF/resources/publicKey.pem
|
||||
# mp.jwt.verify.issuer=https://issuer.example.com
|
||||
# mp.jwt.token.header=Authorization
|
||||
# mp.jwt.token.schemes=Bearer
|
||||
# smallrye.jwt.sign.key.location=META-INF/resources/privateKey.pem
|
||||
# smallrye.jwt.sign.key.algorithm=RS256
|
||||
# smallrye.jwt.token.lifetime=3600
|
||||
|
||||
# Activer le support multipart pour l'upload de fichiers
|
||||
quarkus.http.body.uploads-directory=/tmp/uploads
|
||||
quarkus.http.limits.max-body-size=10M
|
||||
|
||||
# Écouter sur toutes les interfaces réseau (0.0.0.0) pour être accessible depuis le Samsung
|
||||
# ====================================================================
|
||||
# HTTP (commun à tous les environnements)
|
||||
# ====================================================================
|
||||
quarkus.http.host=0.0.0.0
|
||||
quarkus.http.port=8080
|
||||
|
||||
# ====================================================================
|
||||
# Upload de fichiers (commun à tous les environnements)
|
||||
# ====================================================================
|
||||
quarkus.http.body.uploads-directory=/tmp/uploads
|
||||
quarkus.http.limits.max-body-size=10M
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
-- Migration pour ajouter les champs supplémentaires à la table events
|
||||
-- Date: 2026-01-12
|
||||
-- Description: Ajout des champs manquants pour la création complète d'événements
|
||||
|
||||
-- Ajouter la colonne max_participants
|
||||
ALTER TABLE events ADD COLUMN IF NOT EXISTS max_participants INTEGER;
|
||||
|
||||
-- Ajouter la colonne tags
|
||||
ALTER TABLE events ADD COLUMN IF NOT EXISTS tags VARCHAR(500);
|
||||
|
||||
-- Ajouter la colonne organizer
|
||||
ALTER TABLE events ADD COLUMN IF NOT EXISTS organizer VARCHAR(200);
|
||||
|
||||
-- Ajouter la colonne participation_fee
|
||||
ALTER TABLE events ADD COLUMN IF NOT EXISTS participation_fee INTEGER;
|
||||
|
||||
-- Ajouter la colonne privacy_rules
|
||||
ALTER TABLE events ADD COLUMN IF NOT EXISTS privacy_rules VARCHAR(1000);
|
||||
|
||||
-- Ajouter la colonne transport_info
|
||||
ALTER TABLE events ADD COLUMN IF NOT EXISTS transport_info VARCHAR(1000);
|
||||
|
||||
-- Ajouter la colonne accommodation_info
|
||||
ALTER TABLE events ADD COLUMN IF NOT EXISTS accommodation_info VARCHAR(1000);
|
||||
|
||||
-- Ajouter la colonne accessibility_info
|
||||
ALTER TABLE events ADD COLUMN IF NOT EXISTS accessibility_info VARCHAR(1000);
|
||||
|
||||
-- Ajouter la colonne parking_info
|
||||
ALTER TABLE events ADD COLUMN IF NOT EXISTS parking_info VARCHAR(1000);
|
||||
|
||||
-- Ajouter la colonne security_protocol
|
||||
ALTER TABLE events ADD COLUMN IF NOT EXISTS security_protocol VARCHAR(1000);
|
||||
|
||||
-- Commentaires pour documentation
|
||||
COMMENT ON COLUMN events.max_participants IS 'Nombre maximum de participants autorisés';
|
||||
COMMENT ON COLUMN events.tags IS 'Tags/mots-clés associés à l''événement (séparés par des virgules)';
|
||||
COMMENT ON COLUMN events.organizer IS 'Nom de l''organisateur de l''événement';
|
||||
COMMENT ON COLUMN events.participation_fee IS 'Frais de participation en centimes';
|
||||
COMMENT ON COLUMN events.privacy_rules IS 'Règles de confidentialité de l''événement';
|
||||
COMMENT ON COLUMN events.transport_info IS 'Informations sur les transports disponibles';
|
||||
COMMENT ON COLUMN events.accommodation_info IS 'Informations sur l''hébergement';
|
||||
COMMENT ON COLUMN events.accessibility_info IS 'Informations sur l''accessibilité';
|
||||
COMMENT ON COLUMN events.parking_info IS 'Informations sur le parking';
|
||||
COMMENT ON COLUMN events.security_protocol IS 'Protocole de sécurité de l''événement';
|
||||
|
||||
Reference in New Issue
Block a user