application local.properties - 0x485254/brief-26 GitHub Wiki

🛠️ Refactorisation des fichiers de configuration Spring Boot

📅 Date : 27/06/2025

🎯 Objectif

Séparer les paramètres sensibles et spécifiques à l’environnement local (comme les identifiants de la base de données) du fichier application.properties principal, pour respecter les bonnes pratiques de sécurité et de maintenabilité.


✅ Nouveau fonctionnement

📄 application.properties

Ce fichier contient uniquement les valeurs génériques partagées par tous les environnements :

spring.application.name=easygroup
server.port=8080
spring.profiles.active=local

management.endpoints.web.exposure.include=health,info,metrics
management.endpoint.health.show-details=always

logging.level.root=INFO
logging.level.com.easygroup=DEBUG
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} - %msg%n

spring.jackson.serialization.indent-output=true

spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.open-in-view=false

server.error.include-message=always
server.error.include-binding-errors=always

📄 application-local.properties

Ce fichier non committé dans Git contient les paramètres sensibles et locaux :

spring.datasource.url=jdbc:postgresql://${DB_HOST:localhost}:${DB_PORT:5432}/${DB_NAME:easygroup}
spring.datasource.username=${DB_USERNAME:postgres}
spring.datasource.password=${DB_PASSWORD:postgres}
spring.datasource.driver-class-name=org.postgresql.Driver

✅ Ce fichier est exclu du Git grâce à .gitignore.


👥 Avantages pour l’équipe

  • 🔐 Pas de mot de passe exposé dans Git.
  • 📦 Chaque développeur peut configurer son propre accès BDD sans impacter les autres.
  • 🔁 Le fonctionnement est clair, isolé, et compatible avec les profils Spring Boot.

📌 Remarques

  • Le profil local est activé par défaut dans application.properties.
  • Pour forcer un autre profil, on peut utiliser la commande suivante :
./mvnw spring-boot:run -Dspring-boot.run.profiles=prod

image