feat: Setup projet Classeo avec infrastructure Docker et architecture DDD

Configure l'environnement de développement complet avec Docker Compose,
structure DDD 4 Bounded Contexts, et pipeline CI/CD GitHub Actions.

Corrections compatibilité CI:
- Symfony 8 nécessite monolog-bundle ^4.0 (la v3.x ne supporte que jusqu'à Symfony 7)
- ESLint v9 nécessite flat config (eslint.config.js) - le format .eslintrc.cjs est obsolète
This commit is contained in:
2026-01-30 09:55:58 +01:00
parent ddefa927c7
commit 6da5996340
125 changed files with 10032 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
doctrine:
dbal:
url: '%env(resolve:DATABASE_URL)%'
profiling_collect_backtrace: '%kernel.debug%'
orm:
validate_xml_mapping: true
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
auto_mapping: true
mappings:
# Infrastructure mappings - keep entities separate from Domain
Administration:
type: attribute
is_bundle: false
dir: '%kernel.project_dir%/src/Administration/Infrastructure/Persistence/Mapping'
prefix: 'App\Administration\Infrastructure\Persistence\Mapping'
alias: Administration
Scolarite:
type: attribute
is_bundle: false
dir: '%kernel.project_dir%/src/Scolarite/Infrastructure/Persistence/Mapping'
prefix: 'App\Scolarite\Infrastructure\Persistence\Mapping'
alias: Scolarite
VieScolaire:
type: attribute
is_bundle: false
dir: '%kernel.project_dir%/src/VieScolaire/Infrastructure/Persistence/Mapping'
prefix: 'App\VieScolaire\Infrastructure\Persistence\Mapping'
alias: VieScolaire
Communication:
type: attribute
is_bundle: false
dir: '%kernel.project_dir%/src/Communication/Infrastructure/Persistence/Mapping'
prefix: 'App\Communication\Infrastructure\Persistence\Mapping'
alias: Communication
controller_resolver:
auto_mapping: false
when@test:
doctrine:
dbal:
dbname_suffix: '_test%env(default::TEST_TOKEN)%'
when@prod:
doctrine:
orm:
query_cache_driver:
type: pool
pool: doctrine.system_cache_pool
result_cache_driver:
type: pool
pool: doctrine.result_cache_pool