Compare commits

...

3 Commits

70 changed files with 25714 additions and 1 deletions

17
.editorconfig Normal file
View File

@@ -0,0 +1,17 @@
# editorconfig.org
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
[{compose.yaml,compose.*.yaml}]
indent_size = 2
[*.md]
trim_trailing_whitespace = false

41
.env Normal file
View File

@@ -0,0 +1,41 @@
# In all environments, the following files are loaded if they exist,
# the latter taking precedence over the former:
#
# * .env contains default values for the environment variables needed by the app
# * .env.local uncommitted file with local overrides
# * .env.$APP_ENV committed environment-specific defaults
# * .env.$APP_ENV.local uncommitted environment-specific overrides
#
# Real environment variables win over .env files.
#
# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES.
# https://symfony.com/doc/current/configuration/secrets.html
#
# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2).
# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration
###> symfony/framework-bundle ###
APP_ENV=dev
APP_SECRET=
APP_SHARE_DIR=var/share
###< symfony/framework-bundle ###
###> symfony/routing ###
# Configure how to generate URLs in non-HTTP contexts, such as CLI commands.
# See https://symfony.com/doc/current/routing.html#generating-urls-in-commands
DEFAULT_URI=http://localhost
###< symfony/routing ###
###> doctrine/doctrine-bundle ###
# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
#
# DATABASE_URL="sqlite:///%kernel.project_dir%/var/data_%kernel.environment%.db"
# DATABASE_URL="mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=8.0.32&charset=utf8mb4"
# DATABASE_URL="mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=10.11.2-MariaDB&charset=utf8mb4"
#DATABASE_URL="postgresql://app:!ChangeMe!@127.0.0.1:5432/app?serverVersion=16&charset=utf8"
###< doctrine/doctrine-bundle ###
###> nelmio/cors-bundle ###
CORS_ALLOW_ORIGIN='^https?://(localhost|127\.0\.0\.1)(:[0-9]+)?$'
###< nelmio/cors-bundle ###

20
.gitattributes vendored Normal file
View File

@@ -0,0 +1,20 @@
# Force LF in repo
* text=auto eol=lf
# (optionnel) scripts
*.sh text eol=lf
*.bash text eol=lf
# (optionnel) configs
*.yml text eol=lf
*.yaml text eol=lf
*.env text eol=lf
Dockerfile text eol=lf
# (optionnel) frontend
*.ts text eol=lf
*.tsx text eol=lf
*.js text eol=lf
*.vue text eol=lf
*.css text eol=lf
*.scss text eol=lf

24
.gitignore vendored Normal file
View File

@@ -0,0 +1,24 @@
###> symfony/framework-bundle ###
/.env.local
/.env.local.php
/.env.*.local
/config/secrets/prod/prod.decrypt.private.php
/public/bundles/
/var/
/vendor/
###< symfony/framework-bundle ###
###> friendsofphp/php-cs-fixer ###
/.php-cs-fixer.php
/.php-cs-fixer.cache
###< friendsofphp/php-cs-fixer ###
###> phpunit/phpunit ###
/phpunit.xml
/.phpunit.cache/
###< phpunit/phpunit ###
###> docker ###
docker/.env.docker.local
###< docker ###

9
.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,9 @@
# Default ignored files
/shelf/
# Ignored default folder with query files
/queries/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
# Editor-based HTTP Client requests
/httpRequests/

12
.idea/dataSources.xml generated Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="ferme" uuid="f407a514-c6b4-4b26-9555-445a85892502">
<driver-ref>postgresql</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>org.postgresql.Driver</jdbc-driver>
<jdbc-url>jdbc:postgresql://localhost:5432/ferme</jdbc-url>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component>
</project>

144
.idea/ferme.iml generated Normal file
View File

@@ -0,0 +1,144 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="App\" />
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" packagePrefix="App\Tests\" />
<excludeFolder url="file://$MODULE_DIR$/public/bundles" />
<excludeFolder url="file://$MODULE_DIR$/var" />
<excludeFolder url="file://$MODULE_DIR$/vendor/api-platform/doctrine-common" />
<excludeFolder url="file://$MODULE_DIR$/vendor/api-platform/doctrine-orm" />
<excludeFolder url="file://$MODULE_DIR$/vendor/api-platform/documentation" />
<excludeFolder url="file://$MODULE_DIR$/vendor/api-platform/http-cache" />
<excludeFolder url="file://$MODULE_DIR$/vendor/api-platform/hydra" />
<excludeFolder url="file://$MODULE_DIR$/vendor/api-platform/json-schema" />
<excludeFolder url="file://$MODULE_DIR$/vendor/api-platform/jsonld" />
<excludeFolder url="file://$MODULE_DIR$/vendor/api-platform/metadata" />
<excludeFolder url="file://$MODULE_DIR$/vendor/api-platform/openapi" />
<excludeFolder url="file://$MODULE_DIR$/vendor/api-platform/serializer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/api-platform/state" />
<excludeFolder url="file://$MODULE_DIR$/vendor/api-platform/symfony" />
<excludeFolder url="file://$MODULE_DIR$/vendor/api-platform/validator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/clue/ndjson-react" />
<excludeFolder url="file://$MODULE_DIR$/vendor/composer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/collections" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/common" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/dbal" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/deprecations" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/doctrine-bundle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/doctrine-migrations-bundle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/event-manager" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/inflector" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/instantiator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/lexer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/migrations" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/orm" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/persistence" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/sql-formatter" />
<excludeFolder url="file://$MODULE_DIR$/vendor/evenement/evenement" />
<excludeFolder url="file://$MODULE_DIR$/vendor/fidry/cpu-core-counter" />
<excludeFolder url="file://$MODULE_DIR$/vendor/friendsofphp/php-cs-fixer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/nelmio/cors-bundle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-common" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-docblock" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/type-resolver" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpstan/phpdoc-parser" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/cache" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/clock" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/container" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/event-dispatcher" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/link" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/log" />
<excludeFolder url="file://$MODULE_DIR$/vendor/react/cache" />
<excludeFolder url="file://$MODULE_DIR$/vendor/react/child-process" />
<excludeFolder url="file://$MODULE_DIR$/vendor/react/dns" />
<excludeFolder url="file://$MODULE_DIR$/vendor/react/event-loop" />
<excludeFolder url="file://$MODULE_DIR$/vendor/react/promise" />
<excludeFolder url="file://$MODULE_DIR$/vendor/react/socket" />
<excludeFolder url="file://$MODULE_DIR$/vendor/react/stream" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/diff" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/asset" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/cache" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/cache-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/clock" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/config" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/console" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/dependency-injection" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/deprecation-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/doctrine-bridge" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/dotenv" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/error-handler" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/expression-language" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/filesystem" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/finder" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/flex" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/framework-bundle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/http-foundation" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/http-kernel" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/options-resolver" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/password-hasher" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-grapheme" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-normalizer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-mbstring" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php85" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-uuid" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/process" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/property-access" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/property-info" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/routing" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/runtime" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/security-bundle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/security-core" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/security-csrf" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/security-http" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/serializer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/service-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/stopwatch" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/string" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/translation-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/twig-bridge" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/twig-bundle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/type-info" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/uid" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/validator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/var-dumper" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/var-exporter" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/web-link" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/yaml" />
<excludeFolder url="file://$MODULE_DIR$/vendor/twig/twig" />
<excludeFolder url="file://$MODULE_DIR$/vendor/webmozart/assert" />
<excludeFolder url="file://$MODULE_DIR$/vendor/willdurand/negotiation" />
<excludeFolder url="file://$MODULE_DIR$/vendor/myclabs/deep-copy" />
<excludeFolder url="file://$MODULE_DIR$/vendor/nikic/php-parser" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phar-io/manifest" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phar-io/version" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-code-coverage" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-file-iterator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-invoker" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-text-template" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-timer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/phpunit" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/cli-parser" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/comparator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/complexity" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/environment" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/exporter" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/global-state" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/lines-of-code" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/object-enumerator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/object-reflector" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/recursion-context" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/type" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/version" />
<excludeFolder url="file://$MODULE_DIR$/vendor/staabm/side-effects-detector" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/browser-kit" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/css-selector" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/dom-crawler" />
<excludeFolder url="file://$MODULE_DIR$/vendor/theseer/tokenizer" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

8
.idea/laravel-idea.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="InertiaPackage">
<option name="directoryPaths">
<list />
</option>
</component>
</project>

12
.idea/material_theme_project_new.xml generated Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MaterialThemeProjectNewConfig">
<option name="metadata">
<MTProjectMetadataState>
<option name="migrated" value="true" />
<option name="pristineConfig" value="false" />
<option name="userId" value="-70fca0d0:19b8da49b68:-7ffe" />
</MTProjectMetadataState>
</option>
</component>
</project>

8
.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/ferme.iml" filepath="$PROJECT_DIR$/.idea/ferme.iml" />
</modules>
</component>
</project>

160
.idea/php.xml generated Normal file
View File

@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MessDetectorOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCSFixerOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCodeSnifferOptionsConfiguration">
<option name="highlightLevel" value="WARNING" />
<option name="transferred" value="true" />
</component>
<component name="PhpIncludePathManager">
<include_path>
<path value="$PROJECT_DIR$/vendor/composer" />
<path value="$PROJECT_DIR$/vendor/psr/log" />
<path value="$PROJECT_DIR$/vendor/psr/cache" />
<path value="$PROJECT_DIR$/vendor/psr/event-dispatcher" />
<path value="$PROJECT_DIR$/vendor/psr/link" />
<path value="$PROJECT_DIR$/vendor/psr/clock" />
<path value="$PROJECT_DIR$/vendor/psr/container" />
<path value="$PROJECT_DIR$/vendor/twig/twig" />
<path value="$PROJECT_DIR$/vendor/clue/ndjson-react" />
<path value="$PROJECT_DIR$/vendor/nikic/php-parser" />
<path value="$PROJECT_DIR$/vendor/fidry/cpu-core-counter" />
<path value="$PROJECT_DIR$/vendor/react/cache" />
<path value="$PROJECT_DIR$/vendor/react/promise" />
<path value="$PROJECT_DIR$/vendor/react/stream" />
<path value="$PROJECT_DIR$/vendor/react/event-loop" />
<path value="$PROJECT_DIR$/vendor/react/socket" />
<path value="$PROJECT_DIR$/vendor/react/child-process" />
<path value="$PROJECT_DIR$/vendor/nelmio/cors-bundle" />
<path value="$PROJECT_DIR$/vendor/react/dns" />
<path value="$PROJECT_DIR$/vendor/myclabs/deep-copy" />
<path value="$PROJECT_DIR$/vendor/staabm/side-effects-detector" />
<path value="$PROJECT_DIR$/vendor/phar-io/version" />
<path value="$PROJECT_DIR$/vendor/phar-io/manifest" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-invoker" />
<path value="$PROJECT_DIR$/vendor/phpstan/phpdoc-parser" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-code-coverage" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-timer" />
<path value="$PROJECT_DIR$/vendor/phpunit/phpunit" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-text-template" />
<path value="$PROJECT_DIR$/vendor/symfony/flex" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-file-iterator" />
<path value="$PROJECT_DIR$/vendor/symfony/security-bundle" />
<path value="$PROJECT_DIR$/vendor/symfony/validator" />
<path value="$PROJECT_DIR$/vendor/symfony/security-csrf" />
<path value="$PROJECT_DIR$/vendor/symfony/deprecation-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/console" />
<path value="$PROJECT_DIR$/vendor/symfony/dependency-injection" />
<path value="$PROJECT_DIR$/vendor/symfony/password-hasher" />
<path value="$PROJECT_DIR$/vendor/symfony/filesystem" />
<path value="$PROJECT_DIR$/vendor/symfony/serializer" />
<path value="$PROJECT_DIR$/vendor/symfony/http-kernel" />
<path value="$PROJECT_DIR$/vendor/symfony/cache" />
<path value="$PROJECT_DIR$/vendor/symfony/css-selector" />
<path value="$PROJECT_DIR$/vendor/symfony/security-http" />
<path value="$PROJECT_DIR$/vendor/symfony/web-link" />
<path value="$PROJECT_DIR$/vendor/symfony/twig-bundle" />
<path value="$PROJECT_DIR$/vendor/symfony/config" />
<path value="$PROJECT_DIR$/vendor/symfony/options-resolver" />
<path value="$PROJECT_DIR$/vendor/symfony/process" />
<path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher" />
<path value="$PROJECT_DIR$/vendor/symfony/service-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/string" />
<path value="$PROJECT_DIR$/vendor/symfony/browser-kit" />
<path value="$PROJECT_DIR$/vendor/symfony/yaml" />
<path value="$PROJECT_DIR$/vendor/symfony/property-access" />
<path value="$PROJECT_DIR$/vendor/symfony/dom-crawler" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-mbstring" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-uuid" />
<path value="$PROJECT_DIR$/vendor/symfony/var-dumper" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php85" />
<path value="$PROJECT_DIR$/vendor/symfony/property-info" />
<path value="$PROJECT_DIR$/vendor/symfony/expression-language" />
<path value="$PROJECT_DIR$/vendor/symfony/routing" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-grapheme" />
<path value="$PROJECT_DIR$/vendor/symfony/http-foundation" />
<path value="$PROJECT_DIR$/vendor/symfony/security-core" />
<path value="$PROJECT_DIR$/vendor/symfony/stopwatch" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-normalizer" />
<path value="$PROJECT_DIR$/vendor/symfony/dotenv" />
<path value="$PROJECT_DIR$/vendor/symfony/framework-bundle" />
<path value="$PROJECT_DIR$/vendor/symfony/cache-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/var-exporter" />
<path value="$PROJECT_DIR$/vendor/symfony/uid" />
<path value="$PROJECT_DIR$/vendor/symfony/finder" />
<path value="$PROJECT_DIR$/vendor/symfony/runtime" />
<path value="$PROJECT_DIR$/vendor/symfony/clock" />
<path value="$PROJECT_DIR$/vendor/symfony/asset" />
<path value="$PROJECT_DIR$/vendor/symfony/error-handler" />
<path value="$PROJECT_DIR$/vendor/symfony/twig-bridge" />
<path value="$PROJECT_DIR$/vendor/symfony/doctrine-bridge" />
<path value="$PROJECT_DIR$/vendor/symfony/translation-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/type-info" />
<path value="$PROJECT_DIR$/vendor/theseer/tokenizer" />
<path value="$PROJECT_DIR$/vendor/doctrine/event-manager" />
<path value="$PROJECT_DIR$/vendor/doctrine/doctrine-migrations-bundle" />
<path value="$PROJECT_DIR$/vendor/doctrine/deprecations" />
<path value="$PROJECT_DIR$/vendor/doctrine/doctrine-bundle" />
<path value="$PROJECT_DIR$/vendor/doctrine/inflector" />
<path value="$PROJECT_DIR$/vendor/doctrine/migrations" />
<path value="$PROJECT_DIR$/vendor/doctrine/lexer" />
<path value="$PROJECT_DIR$/vendor/doctrine/sql-formatter" />
<path value="$PROJECT_DIR$/vendor/doctrine/instantiator" />
<path value="$PROJECT_DIR$/vendor/doctrine/orm" />
<path value="$PROJECT_DIR$/vendor/doctrine/common" />
<path value="$PROJECT_DIR$/vendor/doctrine/persistence" />
<path value="$PROJECT_DIR$/vendor/doctrine/dbal" />
<path value="$PROJECT_DIR$/vendor/doctrine/collections" />
<path value="$PROJECT_DIR$/vendor/sebastian/lines-of-code" />
<path value="$PROJECT_DIR$/vendor/evenement/evenement" />
<path value="$PROJECT_DIR$/vendor/sebastian/object-reflector" />
<path value="$PROJECT_DIR$/vendor/sebastian/type" />
<path value="$PROJECT_DIR$/vendor/sebastian/diff" />
<path value="$PROJECT_DIR$/vendor/sebastian/environment" />
<path value="$PROJECT_DIR$/vendor/sebastian/recursion-context" />
<path value="$PROJECT_DIR$/vendor/sebastian/cli-parser" />
<path value="$PROJECT_DIR$/vendor/sebastian/complexity" />
<path value="$PROJECT_DIR$/vendor/sebastian/exporter" />
<path value="$PROJECT_DIR$/vendor/sebastian/object-enumerator" />
<path value="$PROJECT_DIR$/vendor/sebastian/comparator" />
<path value="$PROJECT_DIR$/vendor/sebastian/global-state" />
<path value="$PROJECT_DIR$/vendor/sebastian/version" />
<path value="$PROJECT_DIR$/vendor/willdurand/negotiation" />
<path value="$PROJECT_DIR$/vendor/webmozart/assert" />
<path value="$PROJECT_DIR$/vendor/api-platform/jsonld" />
<path value="$PROJECT_DIR$/vendor/api-platform/http-cache" />
<path value="$PROJECT_DIR$/vendor/api-platform/validator" />
<path value="$PROJECT_DIR$/vendor/api-platform/hydra" />
<path value="$PROJECT_DIR$/vendor/api-platform/serializer" />
<path value="$PROJECT_DIR$/vendor/api-platform/state" />
<path value="$PROJECT_DIR$/vendor/api-platform/openapi" />
<path value="$PROJECT_DIR$/vendor/api-platform/doctrine-orm" />
<path value="$PROJECT_DIR$/vendor/api-platform/metadata" />
<path value="$PROJECT_DIR$/vendor/api-platform/documentation" />
<path value="$PROJECT_DIR$/vendor/api-platform/json-schema" />
<path value="$PROJECT_DIR$/vendor/api-platform/symfony" />
<path value="$PROJECT_DIR$/vendor/friendsofphp/php-cs-fixer" />
<path value="$PROJECT_DIR$/vendor/api-platform/doctrine-common" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-common" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/type-resolver" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-docblock" />
</include_path>
</component>
<component name="PhpProjectSharedConfiguration" php_language_level="8.4" />
<component name="PhpStanOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PhpUnit">
<phpunit_settings>
<PhpUnitSettings custom_loader_path="$PROJECT_DIR$/vendor/autoload.php" />
</phpunit_settings>
</component>
<component name="PsalmOptionsConfiguration">
<option name="transferred" value="true" />
</component>
</project>

6
.idea/symfony2.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Symfony2PluginSettings">
<option name="pluginEnabled" value="true" />
</component>
</project>

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

6
.idea/workspace.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ComposerSettings">
<execution />
</component>
</project>

1
.nvmrc Normal file
View File

@@ -0,0 +1 @@
24.12.0

56
.php-cs-fixer.dist.php Normal file
View File

@@ -0,0 +1,56 @@
<?php
declare(strict_types=1);
use PhpCsFixer\Config;
use PhpCsFixer\Finder;
$finder = Finder::create()
->in('src')
->notName('Kernel.php')
;
$rules = [
'@Symfony' => true,
'@PSR12' => true,
'@PHP84Migration' => true,
'@PER-CS' => true,
'@PhpCsFixer' => true,
'strict_param' => true,
'strict_comparison' => true,
'no_useless_else' => true,
'no_useless_return' => true,
'binary_operator_spaces' => [
'operators' => [
'=' => 'align_single_space_minimal',
'||' => 'align_single_space_minimal',
'=>' => 'align_single_space_minimal',
],
],
'global_namespace_import' => [
'import_classes' => true,
'import_constants' => true,
'import_functions' => true,
],
'modernize_strpos' => true, // needs PHP 8+ or polyfill
'no_superfluous_phpdoc_tags' => true,
'echo_tag_syntax' => true,
'semicolon_after_instruction' => true,
'combine_consecutive_unsets' => true,
'ternary_to_null_coalescing' => true,
'declare_strict_types' => true,
'operator_linebreak' => [
'position' => 'beginning',
],
'no_unused_imports' => true,
'single_line_throw' => false,
'php_unit_test_class_requires_covers' => false,
];
$config = new Config();
return $config
->setRiskyAllowed(true)
->setRules($rules)
->setFinder($finder)
;

View File

@@ -0,0 +1,38 @@
172.18.0.1 - - [05/Jan/2026:15:46:05 +0000] "GET / HTTP/1.1" 404 490 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:15:46:05 +0000] "GET /favicon.ico HTTP/1.1" 404 489 "http://localhost:8080/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:15:46:07 +0000] "GET / HTTP/1.1" 404 489 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:15:46:34 +0000] "GET /api HTTP/1.1" 301 574 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:15:46:34 +0000] "GET /api/ HTTP/1.1" 404 39536 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:08:40 +0000] "GET /api/ HTTP/1.1" 404 39539 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:08:43 +0000] "GET /api/doc HTTP/1.1" 404 489 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:08:45 +0000] "GET /api/docs HTTP/1.1" 404 489 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:08:48 +0000] "GET /api/docs HTTP/1.1" 404 489 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:08:51 +0000] "GET /api HTTP/1.1" 301 573 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:08:51 +0000] "GET /api/ HTTP/1.1" 404 39537 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:08 +0000] "GET /api/ HTTP/1.1" 404 39538 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:09 +0000] "GET /api/ HTTP/1.1" 404 39539 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:24 +0000] "GET /api/api HTTP/1.1" 404 490 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:26 +0000] "GET /api/api/ HTTP/1.1" 404 489 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:28 +0000] "GET /api/api/ HTTP/1.1" 404 489 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:48 +0000] "GET /api/api/ HTTP/1.1" 404 490 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:51 +0000] "GET /api/ HTTP/1.1" 200 2114 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:51 +0000] "GET /api/bundles/apiplatform/fonts/open-sans/400.css HTTP/1.1" 200 1862 "http://localhost:8080/api/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:51 +0000] "GET /api/bundles/apiplatform/init-swagger-ui.js HTTP/1.1" 200 2266 "http://localhost:8080/api/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:51 +0000] "GET /api/bundles/apiplatform/fonts/open-sans/700.css HTTP/1.1" 200 1863 "http://localhost:8080/api/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:51 +0000] "GET /api/bundles/apiplatform/init-common-ui.js HTTP/1.1" 200 580 "http://localhost:8080/api/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:51 +0000] "GET /api/bundles/apiplatform/style.css HTTP/1.1" 200 2104 "http://localhost:8080/api/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:51 +0000] "GET /api/bundles/apiplatform/swagger-ui/swagger-ui.css HTTP/1.1" 200 24376 "http://localhost:8080/api/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:51 +0000] "GET /api/bundles/apiplatform/logo-header.svg HTTP/1.1" 200 7618 "http://localhost:8080/api/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:51 +0000] "GET /api/bundles/apiplatform/web.png HTTP/1.1" 200 22216 "http://localhost:8080/api/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:51 +0000] "GET /api/bundles/apiplatform/webby.png HTTP/1.1" 200 7547 "http://localhost:8080/api/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:51 +0000] "GET /api/bundles/apiplatform/swagger-ui/swagger-ui-standalone-preset.js HTTP/1.1" 200 70374 "http://localhost:8080/api/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:51 +0000] "GET /api/bundles/apiplatform/fonts/open-sans/files/open-sans-latin-400-normal.woff2 HTTP/1.1" 200 18956 "http://localhost:8080/api/bundles/apiplatform/fonts/open-sans/400.css" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:51 +0000] "GET /api/bundles/apiplatform/swagger-ui/swagger-ui-bundle.js HTTP/1.1" 200 413639 "http://localhost:8080/api/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [05/Jan/2026:16:09:51 +0000] "GET /api/bundles/apiplatform/fonts/open-sans/files/open-sans-latin-700-normal.woff2 HTTP/1.1" 200 18548 "http://localhost:8080/api/bundles/apiplatform/fonts/open-sans/700.css" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
127.0.0.1 - - [05/Jan/2026:16:11:07 +0000] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.4.62 (Debian) PHP/8.4.6 (internal dummy connection)"
127.0.0.1 - - [05/Jan/2026:16:09:57 +0000] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.4.62 (Debian) PHP/8.4.6 (internal dummy connection)"
127.0.0.1 - - [05/Jan/2026:16:09:58 +0000] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.4.62 (Debian) PHP/8.4.6 (internal dummy connection)"
172.18.0.1 - - [06/Jan/2026:09:37:52 +0000] "GET /api/ HTTP/1.1" 200 2115 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [06/Jan/2026:09:37:53 +0000] "GET /api/bundles/apiplatform/swagger-ui/swagger-ui-standalone-preset.js HTTP/1.1" 200 70373 "http://localhost:8080/api/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [06/Jan/2026:10:53:22 +0000] "GET /api/ HTTP/1.1" 200 2115 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
172.18.0.1 - - [06/Jan/2026:10:53:24 +0000] "GET /favicon.ico HTTP/1.1" 200 4587 "http://localhost:8080/api/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"

244
LOG/logs_apache/error.log Normal file
View File

@@ -0,0 +1,244 @@
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.3. Set the 'ServerName' directive globally to suppress this message
[Mon Jan 05 13:35:30.326327 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.62 (Debian) PHP/8.4.6 configured -- resuming normal operations
[Mon Jan 05 13:35:30.326397 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
[Mon Jan 05 13:45:50.937950 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00170: caught SIGWINCH, shutting down gracefully
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.3. Set the 'ServerName' directive globally to suppress this message
[Mon Jan 05 13:45:52.991453 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.62 (Debian) PHP/8.4.6 configured -- resuming normal operations
[Mon Jan 05 13:45:52.991634 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
[Mon Jan 05 13:49:05.340873 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00170: caught SIGWINCH, shutting down gracefully
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.3. Set the 'ServerName' directive globally to suppress this message
[Mon Jan 05 13:49:09.554083 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.62 (Debian) PHP/8.4.6 configured -- resuming normal operations
[Mon Jan 05 13:49:09.554147 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.3. Set the 'ServerName' directive globally to suppress this message
[Mon Jan 05 13:52:03.210545 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.62 (Debian) PHP/8.4.6 configured -- resuming normal operations
[Mon Jan 05 13:52:03.210609 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
[Mon Jan 05 13:53:53.390705 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00170: caught SIGWINCH, shutting down gracefully
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.3. Set the 'ServerName' directive globally to suppress this message
[Mon Jan 05 13:53:55.897273 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.62 (Debian) PHP/8.4.6 configured -- resuming normal operations
[Mon Jan 05 13:53:55.897338 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
[Mon Jan 05 15:46:00.381298 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00170: caught SIGWINCH, shutting down gracefully
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.3. Set the 'ServerName' directive globally to suppress this message
[Mon Jan 05 15:46:02.971126 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.62 (Debian) PHP/8.4.6 configured -- resuming normal operations
[Mon Jan 05 15:46:02.971211 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
[Mon Jan 05 15:46:33.978797 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:53394] [error] Uncaught PHP Exception Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException: "No route found for "GET http://localhost:8080/api/"" at RouterListener.php line 156
[Mon Jan 05 16:08:40.919236 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure".
[Mon Jan 05 16:08:40.919444 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest".
[Mon Jan 05 16:08:40.919489 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.request" to listener "Nelmio\\CorsBundle\\EventListener\\CorsListener::onKernelRequest".
[Mon Jan 05 16:08:40.919504 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.request" to listener "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest".
[Mon Jan 05 16:08:40.919559 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest".
[Mon Jan 05 16:08:40.919598 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale".
[Mon Jan 05 16:08:40.919629 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest".
[Mon Jan 05 16:08:40.934385 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [error] Uncaught PHP Exception Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException: "No route found for "GET http://localhost:8080/api/"" at RouterListener.php line 156
[Mon Jan 05 16:08:40.934772 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.exception" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::logKernelException".
[Mon Jan 05 16:08:40.934828 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.exception" to listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelException".
[Mon Jan 05 16:08:40.934853 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelException" stopped propagation of the event "kernel.exception".
[Mon Jan 05 16:08:40.934868 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Listener "ApiPlatform\\Symfony\\EventListener\\ExceptionListener::onKernelException" was not called for event "kernel.exception".
[Mon Jan 05 16:08:40.934896 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Listener "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onKernelException" was not called for event "kernel.exception".
[Mon Jan 05 16:08:40.935242 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\Security\\Http\\Firewall\\ContextListener::onKernelResponse".
[Mon Jan 05 16:08:40.935278 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.response" to listener "Nelmio\\CorsBundle\\EventListener\\CorsListener::onKernelResponse".
[Mon Jan 05 16:08:40.935308 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ResponseListener::onKernelResponse".
[Mon Jan 05 16:08:40.935338 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\WebLink\\EventListener\\AddLinkHeaderListener::onKernelResponse".
[Mon Jan 05 16:08:40.935369 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.response" to listener "Nelmio\\CorsBundle\\EventListener\\CacheableResponseVaryListener::onResponse".
[Mon Jan 05 16:08:40.935399 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelResponse".
[Mon Jan 05 16:08:40.935430 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::removeCspHeader".
[Mon Jan 05 16:08:40.935462 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\DisallowRobotsIndexingListener::onResponse".
[Mon Jan 05 16:08:40.935493 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelResponse".
[Mon Jan 05 16:08:40.936105 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelFinishRequest".
[Mon Jan 05 16:08:40.936147 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelFinishRequest".
[Mon Jan 05 16:08:40.936176 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelFinishRequest".
[Mon Jan 05 16:08:40.936205 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelFinishRequest".
[Mon Jan 05 16:08:51.718390 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure".
[Mon Jan 05 16:08:51.718467 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest".
[Mon Jan 05 16:08:51.718500 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.request" to listener "Nelmio\\CorsBundle\\EventListener\\CorsListener::onKernelRequest".
[Mon Jan 05 16:08:51.718514 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.request" to listener "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest".
[Mon Jan 05 16:08:51.718525 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest".
[Mon Jan 05 16:08:51.718536 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale".
[Mon Jan 05 16:08:51.718547 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest".
[Mon Jan 05 16:08:51.719397 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [error] Uncaught PHP Exception Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException: "No route found for "GET http://localhost:8080/api/"" at RouterListener.php line 156
[Mon Jan 05 16:08:51.719554 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.exception" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::logKernelException".
[Mon Jan 05 16:08:51.719594 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.exception" to listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelException".
[Mon Jan 05 16:08:51.719605 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelException" stopped propagation of the event "kernel.exception".
[Mon Jan 05 16:08:51.719677 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Listener "ApiPlatform\\Symfony\\EventListener\\ExceptionListener::onKernelException" was not called for event "kernel.exception".
[Mon Jan 05 16:08:51.719691 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Listener "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onKernelException" was not called for event "kernel.exception".
[Mon Jan 05 16:08:51.719971 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\Security\\Http\\Firewall\\ContextListener::onKernelResponse".
[Mon Jan 05 16:08:51.720005 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.response" to listener "Nelmio\\CorsBundle\\EventListener\\CorsListener::onKernelResponse".
[Mon Jan 05 16:08:51.720017 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ResponseListener::onKernelResponse".
[Mon Jan 05 16:08:51.720027 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\WebLink\\EventListener\\AddLinkHeaderListener::onKernelResponse".
[Mon Jan 05 16:08:51.720037 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.response" to listener "Nelmio\\CorsBundle\\EventListener\\CacheableResponseVaryListener::onResponse".
[Mon Jan 05 16:08:51.720047 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelResponse".
[Mon Jan 05 16:08:51.720058 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::removeCspHeader".
[Mon Jan 05 16:08:51.720068 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\DisallowRobotsIndexingListener::onResponse".
[Mon Jan 05 16:08:51.720078 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelResponse".
[Mon Jan 05 16:08:51.720210 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelFinishRequest".
[Mon Jan 05 16:08:51.720248 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelFinishRequest".
[Mon Jan 05 16:08:51.720265 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelFinishRequest".
[Mon Jan 05 16:08:51.720282 2026] [php:notice] [pid 19:tid 19] [client 172.18.0.1:55274] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelFinishRequest".
[Mon Jan 05 16:09:08.053863 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure".
[Mon Jan 05 16:09:08.053974 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest".
[Mon Jan 05 16:09:08.054008 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.request" to listener "Nelmio\\CorsBundle\\EventListener\\CorsListener::onKernelRequest".
[Mon Jan 05 16:09:08.054023 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.request" to listener "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest".
[Mon Jan 05 16:09:08.054035 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest".
[Mon Jan 05 16:09:08.054131 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale".
[Mon Jan 05 16:09:08.054146 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest".
[Mon Jan 05 16:09:08.055269 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [error] Uncaught PHP Exception Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException: "No route found for "GET http://localhost:8080/api/"" at RouterListener.php line 156
[Mon Jan 05 16:09:08.055540 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.exception" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::logKernelException".
[Mon Jan 05 16:09:08.055589 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.exception" to listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelException".
[Mon Jan 05 16:09:08.055598 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelException" stopped propagation of the event "kernel.exception".
[Mon Jan 05 16:09:08.055609 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Listener "ApiPlatform\\Symfony\\EventListener\\ExceptionListener::onKernelException" was not called for event "kernel.exception".
[Mon Jan 05 16:09:08.055619 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Listener "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onKernelException" was not called for event "kernel.exception".
[Mon Jan 05 16:09:08.055907 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\Security\\Http\\Firewall\\ContextListener::onKernelResponse".
[Mon Jan 05 16:09:08.055943 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.response" to listener "Nelmio\\CorsBundle\\EventListener\\CorsListener::onKernelResponse".
[Mon Jan 05 16:09:08.055956 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ResponseListener::onKernelResponse".
[Mon Jan 05 16:09:08.055967 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\WebLink\\EventListener\\AddLinkHeaderListener::onKernelResponse".
[Mon Jan 05 16:09:08.055978 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.response" to listener "Nelmio\\CorsBundle\\EventListener\\CacheableResponseVaryListener::onResponse".
[Mon Jan 05 16:09:08.055988 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelResponse".
[Mon Jan 05 16:09:08.055999 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::removeCspHeader".
[Mon Jan 05 16:09:08.056010 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\DisallowRobotsIndexingListener::onResponse".
[Mon Jan 05 16:09:08.056020 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelResponse".
[Mon Jan 05 16:09:08.056176 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelFinishRequest".
[Mon Jan 05 16:09:08.056218 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelFinishRequest".
[Mon Jan 05 16:09:08.056231 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelFinishRequest".
[Mon Jan 05 16:09:08.056243 2026] [php:notice] [pid 20:tid 20] [client 172.18.0.1:55712] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelFinishRequest".
[Mon Jan 05 16:09:09.765907 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure".
[Mon Jan 05 16:09:09.766060 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest".
[Mon Jan 05 16:09:09.766093 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.request" to listener "Nelmio\\CorsBundle\\EventListener\\CorsListener::onKernelRequest".
[Mon Jan 05 16:09:09.766123 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.request" to listener "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest".
[Mon Jan 05 16:09:09.766152 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest".
[Mon Jan 05 16:09:09.766182 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale".
[Mon Jan 05 16:09:09.766212 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest".
[Mon Jan 05 16:09:09.767352 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [error] Uncaught PHP Exception Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException: "No route found for "GET http://localhost:8080/api/"" at RouterListener.php line 156
[Mon Jan 05 16:09:09.767547 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.exception" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::logKernelException".
[Mon Jan 05 16:09:09.767585 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.exception" to listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelException".
[Mon Jan 05 16:09:09.767612 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelException" stopped propagation of the event "kernel.exception".
[Mon Jan 05 16:09:09.767626 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Listener "ApiPlatform\\Symfony\\EventListener\\ExceptionListener::onKernelException" was not called for event "kernel.exception".
[Mon Jan 05 16:09:09.767654 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Listener "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onKernelException" was not called for event "kernel.exception".
[Mon Jan 05 16:09:09.767946 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\Security\\Http\\Firewall\\ContextListener::onKernelResponse".
[Mon Jan 05 16:09:09.767978 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.response" to listener "Nelmio\\CorsBundle\\EventListener\\CorsListener::onKernelResponse".
[Mon Jan 05 16:09:09.768020 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ResponseListener::onKernelResponse".
[Mon Jan 05 16:09:09.768049 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\WebLink\\EventListener\\AddLinkHeaderListener::onKernelResponse".
[Mon Jan 05 16:09:09.768078 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.response" to listener "Nelmio\\CorsBundle\\EventListener\\CacheableResponseVaryListener::onResponse".
[Mon Jan 05 16:09:09.768107 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelResponse".
[Mon Jan 05 16:09:09.768137 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::removeCspHeader".
[Mon Jan 05 16:09:09.768166 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\DisallowRobotsIndexingListener::onResponse".
[Mon Jan 05 16:09:09.768196 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelResponse".
[Mon Jan 05 16:09:09.768351 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelFinishRequest".
[Mon Jan 05 16:09:09.768388 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelFinishRequest".
[Mon Jan 05 16:09:09.768416 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelFinishRequest".
[Mon Jan 05 16:09:09.768444 2026] [php:notice] [pid 21:tid 21] [client 172.18.0.1:55714] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelFinishRequest".
[Mon Jan 05 16:09:51.560106 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [info] Matched route "api_entrypoint".
[Mon Jan 05 16:09:51.567716 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Checking for authenticator support.
[Mon Jan 05 16:09:51.567805 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure".
[Mon Jan 05 16:09:51.567839 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest".
[Mon Jan 05 16:09:51.567870 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.request" to listener "Nelmio\\CorsBundle\\EventListener\\CorsListener::onKernelRequest".
[Mon Jan 05 16:09:51.567901 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.request" to listener "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest".
[Mon Jan 05 16:09:51.567931 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest".
[Mon Jan 05 16:09:51.567961 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale".
[Mon Jan 05 16:09:51.567999 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest".
[Mon Jan 05 16:09:51.568028 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest".
[Mon Jan 05 16:09:51.568058 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelRequest".
[Mon Jan 05 16:09:51.568087 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.request" to listener "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::configureLogoutUrlGenerator".
[Mon Jan 05 16:09:51.568117 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.request" to listener "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelRequest".
[Mon Jan 05 16:11:02.031577 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.controller_arguments" to listener "Symfony\\Component\\HttpKernel\\EventListener\\IsSignatureValidAttributeListener::onKernelControllerArguments".
[Mon Jan 05 16:11:02.031645 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.controller_arguments" to listener "Symfony\\Component\\Security\\Http\\EventListener\\IsCsrfTokenValidAttributeListener::onKernelControllerArguments".
[Mon Jan 05 16:11:02.031681 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.controller_arguments" to listener "Symfony\\Component\\Security\\Http\\EventListener\\IsGrantedAttributeListener::onKernelControllerArguments".
[Mon Jan 05 16:11:02.031713 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.controller_arguments" to listener "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelControllerArguments".
[Mon Jan 05 16:11:02.031744 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.controller_arguments" to listener "Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\RequestPayloadValueResolver::onKernelControllerArguments".
[Mon Jan 05 16:11:02.031775 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.controller_arguments" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onControllerArguments".
[Mon Jan 05 16:09:51.202699 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\Security\\Http\\Firewall\\ContextListener::onKernelResponse".
[Mon Jan 05 16:09:51.202776 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.response" to listener "Nelmio\\CorsBundle\\EventListener\\CorsListener::onKernelResponse".
[Mon Jan 05 16:09:51.202816 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ResponseListener::onKernelResponse".
[Mon Jan 05 16:09:51.202853 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\WebLink\\EventListener\\AddLinkHeaderListener::onKernelResponse".
[Mon Jan 05 16:09:51.202890 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.response" to listener "Nelmio\\CorsBundle\\EventListener\\CacheableResponseVaryListener::onResponse".
[Mon Jan 05 16:09:51.202928 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelResponse".
[Mon Jan 05 16:09:51.202977 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::removeCspHeader".
[Mon Jan 05 16:09:51.203016 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\DisallowRobotsIndexingListener::onResponse".
[Mon Jan 05 16:09:51.203053 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelResponse".
[Mon Jan 05 16:09:51.203322 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelFinishRequest".
[Mon Jan 05 16:09:51.203366 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelFinishRequest".
[Mon Jan 05 16:09:51.203435 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelFinishRequest".
[Mon Jan 05 16:09:51.203475 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:37434] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelFinishRequest".
[Mon Jan 05 16:59:00.303360 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00170: caught SIGWINCH, shutting down gracefully
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.3. Set the 'ServerName' directive globally to suppress this message
[Tue Jan 06 06:59:28.856768 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.62 (Debian) PHP/8.4.6 configured -- resuming normal operations
[Tue Jan 06 06:59:28.856813 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.3. Set the 'ServerName' directive globally to suppress this message
[Tue Jan 06 08:19:52.723669 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.62 (Debian) PHP/8.4.6 configured -- resuming normal operations
[Tue Jan 06 08:19:52.723729 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
[Tue Jan 06 09:37:52.904101 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [info] Matched route "api_entrypoint".
[Tue Jan 06 09:37:52.908930 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Checking for authenticator support.
[Tue Jan 06 09:37:52.909013 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure".
[Tue Jan 06 09:37:52.909051 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest".
[Tue Jan 06 09:37:52.909086 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.request" to listener "Nelmio\\CorsBundle\\EventListener\\CorsListener::onKernelRequest".
[Tue Jan 06 09:37:52.909120 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.request" to listener "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest".
[Tue Jan 06 09:37:52.909154 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest".
[Tue Jan 06 09:37:52.909394 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale".
[Tue Jan 06 09:37:52.909432 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest".
[Tue Jan 06 09:37:52.909465 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest".
[Tue Jan 06 09:37:52.909499 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelRequest".
[Tue Jan 06 09:37:52.909531 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.request" to listener "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::configureLogoutUrlGenerator".
[Tue Jan 06 09:37:52.909564 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.request" to listener "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelRequest".
[Tue Jan 06 09:37:52.967281 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.controller_arguments" to listener "Symfony\\Component\\HttpKernel\\EventListener\\IsSignatureValidAttributeListener::onKernelControllerArguments".
[Tue Jan 06 09:37:52.967381 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.controller_arguments" to listener "Symfony\\Component\\Security\\Http\\EventListener\\IsCsrfTokenValidAttributeListener::onKernelControllerArguments".
[Tue Jan 06 09:37:52.967430 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.controller_arguments" to listener "Symfony\\Component\\Security\\Http\\EventListener\\IsGrantedAttributeListener::onKernelControllerArguments".
[Tue Jan 06 09:37:52.967467 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.controller_arguments" to listener "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelControllerArguments".
[Tue Jan 06 09:37:52.967505 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.controller_arguments" to listener "Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\RequestPayloadValueResolver::onKernelControllerArguments".
[Tue Jan 06 09:37:52.967541 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.controller_arguments" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onControllerArguments".
[Tue Jan 06 09:37:53.014887 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\Security\\Http\\Firewall\\ContextListener::onKernelResponse".
[Tue Jan 06 09:37:53.014956 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.response" to listener "Nelmio\\CorsBundle\\EventListener\\CorsListener::onKernelResponse".
[Tue Jan 06 09:37:53.014987 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ResponseListener::onKernelResponse".
[Tue Jan 06 09:37:53.015016 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\WebLink\\EventListener\\AddLinkHeaderListener::onKernelResponse".
[Tue Jan 06 09:37:53.015045 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.response" to listener "Nelmio\\CorsBundle\\EventListener\\CacheableResponseVaryListener::onResponse".
[Tue Jan 06 09:37:53.015074 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelResponse".
[Tue Jan 06 09:37:53.015114 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::removeCspHeader".
[Tue Jan 06 09:37:53.015144 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\DisallowRobotsIndexingListener::onResponse".
[Tue Jan 06 09:37:53.015174 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelResponse".
[Tue Jan 06 09:37:53.015939 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelFinishRequest".
[Tue Jan 06 09:37:53.015983 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelFinishRequest".
[Tue Jan 06 09:37:53.016012 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelFinishRequest".
[Tue Jan 06 09:37:53.016024 2026] [php:notice] [pid 18:tid 18] [client 172.18.0.1:41976] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelFinishRequest".
[Tue Jan 06 10:43:53.857959 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00170: caught SIGWINCH, shutting down gracefully
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.3. Set the 'ServerName' directive globally to suppress this message
[Tue Jan 06 10:44:28.717987 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.62 (Debian) PHP/8.4.6 configured -- resuming normal operations
[Tue Jan 06 10:44:28.718050 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.3. Set the 'ServerName' directive globally to suppress this message
[Tue Jan 06 10:47:28.111231 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.62 (Debian) PHP/8.4.6 configured -- resuming normal operations
[Tue Jan 06 10:47:28.111307 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.3. Set the 'ServerName' directive globally to suppress this message
[Tue Jan 06 10:52:39.131921 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.62 (Debian) PHP/8.4.6 configured -- resuming normal operations
[Tue Jan 06 10:52:39.131995 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
[Tue Jan 06 10:53:23.383764 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [info] Matched route "api_entrypoint".
[Tue Jan 06 10:53:23.397102 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Checking for authenticator support.
[Tue Jan 06 10:53:23.397366 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure".
[Tue Jan 06 10:53:23.397413 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest".
[Tue Jan 06 10:53:23.397434 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.request" to listener "Nelmio\\CorsBundle\\EventListener\\CorsListener::onKernelRequest".
[Tue Jan 06 10:53:23.397474 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.request" to listener "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest".
[Tue Jan 06 10:53:23.397492 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest".
[Tue Jan 06 10:53:23.397508 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale".
[Tue Jan 06 10:53:23.397525 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest".
[Tue Jan 06 10:53:23.397541 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest".
[Tue Jan 06 10:53:23.397558 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelRequest".
[Tue Jan 06 10:53:23.397575 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.request" to listener "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::configureLogoutUrlGenerator".
[Tue Jan 06 10:53:23.397591 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.request" to listener "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelRequest".
[Tue Jan 06 10:53:23.600484 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.controller_arguments" to listener "Symfony\\Component\\HttpKernel\\EventListener\\IsSignatureValidAttributeListener::onKernelControllerArguments".
[Tue Jan 06 10:53:23.600651 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.controller_arguments" to listener "Symfony\\Component\\Security\\Http\\EventListener\\IsCsrfTokenValidAttributeListener::onKernelControllerArguments".
[Tue Jan 06 10:53:23.600680 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.controller_arguments" to listener "Symfony\\Component\\Security\\Http\\EventListener\\IsGrantedAttributeListener::onKernelControllerArguments".
[Tue Jan 06 10:53:23.600702 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.controller_arguments" to listener "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelControllerArguments".
[Tue Jan 06 10:53:23.600747 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.controller_arguments" to listener "Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\RequestPayloadValueResolver::onKernelControllerArguments".
[Tue Jan 06 10:53:23.600764 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.controller_arguments" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onControllerArguments".
[Tue Jan 06 10:53:23.741248 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\Security\\Http\\Firewall\\ContextListener::onKernelResponse".
[Tue Jan 06 10:53:23.741713 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.response" to listener "Nelmio\\CorsBundle\\EventListener\\CorsListener::onKernelResponse".
[Tue Jan 06 10:53:23.741766 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ResponseListener::onKernelResponse".
[Tue Jan 06 10:53:23.741802 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\WebLink\\EventListener\\AddLinkHeaderListener::onKernelResponse".
[Tue Jan 06 10:53:23.751371 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.response" to listener "Nelmio\\CorsBundle\\EventListener\\CacheableResponseVaryListener::onResponse".
[Tue Jan 06 10:53:23.751597 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelResponse".
[Tue Jan 06 10:53:23.751637 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::removeCspHeader".
[Tue Jan 06 10:53:23.751663 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\DisallowRobotsIndexingListener::onResponse".
[Tue Jan 06 10:53:23.751682 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.response" to listener "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelResponse".
[Tue Jan 06 10:53:23.753462 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelFinishRequest".
[Tue Jan 06 10:53:23.753564 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelFinishRequest".
[Tue Jan 06 10:53:23.753586 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelFinishRequest".
[Tue Jan 06 10:53:23.753602 2026] [php:notice] [pid 17:tid 17] [client 172.18.0.1:36846] [debug] Notified event "kernel.finish_request" to listener "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelFinishRequest".
[Tue Jan 06 10:57:27.190269 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00170: caught SIGWINCH, shutting down gracefully
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.3. Set the 'ServerName' directive globally to suppress this message
[Tue Jan 06 10:57:29.484643 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.62 (Debian) PHP/8.4.6 configured -- resuming normal operations
[Tue Jan 06 10:57:29.484700 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'

View File

View File

@@ -2,7 +2,7 @@
## Installation du projet ## Installation du projet
### Windows ### Windows
Pour windows, il faut installer le WSL2, Ubuntu et nvm. Pour windows, il faut installer le WSL2, Ubuntu, docker et nvm.
Il suffit de suivre cette [doc](https://wiki.malio.fr/bookstack/books/environnement-de-dev/chapter/windows) Il suffit de suivre cette [doc](https://wiki.malio.fr/bookstack/books/environnement-de-dev/chapter/windows)
### Linux ### Linux
@@ -15,10 +15,17 @@ Une fois les prérequis installés, il suffit de cloner le projet et de lancer l
make start make start
make install make install
``` ```
Dans le cas ou le `make start` plante à cause du port de la bdd, il faut modifier **POSTGRES_PORT** dans le fichier .env.docker.local, remplacer le par un port disponible.
## Utilisation du projet ## Utilisation du projet
### Backend
L'api est disponible sur http://localhost:8080/api L'api est disponible sur http://localhost:8080/api
Pour la bdd toutes les infos sont dans le fichier **docker/.env.docker.local**
Vous pouvez modifier le port si nécessaire.
La bdd est déja pré-configuré dans PhpStorm, il suffit de rentrer les infos du .env.docker.local pour se connecter.
C'est un bdd local dans le docker.
### Frontend
Pour le frontend, il suffit de taper la commande suivante qui va lancer le serveur de dev Pour le frontend, il suffit de taper la commande suivante qui va lancer le serveur de dev
```bash ```bash
make dev-nuxt make dev-nuxt

21
bin/console Executable file
View File

@@ -0,0 +1,21 @@
#!/usr/bin/env php
<?php
use App\Kernel;
use Symfony\Bundle\FrameworkBundle\Console\Application;
if (!is_dir(dirname(__DIR__).'/vendor')) {
throw new LogicException('Dependencies are missing. Try running "composer install".');
}
if (!is_file(dirname(__DIR__).'/vendor/autoload_runtime.php')) {
throw new LogicException('Symfony Runtime is missing. Try running "composer require symfony/runtime".');
}
require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
return function (array $context) {
$kernel = new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
return new Application($kernel);
};

91
composer.json Normal file
View File

@@ -0,0 +1,91 @@
{
"type": "project",
"license": "proprietary",
"minimum-stability": "stable",
"prefer-stable": true,
"require": {
"php": ">=8.4",
"ext-ctype": "*",
"ext-iconv": "*",
"api-platform/doctrine-orm": "^4.2",
"api-platform/symfony": "^4.2",
"doctrine/doctrine-bundle": "^3.2",
"doctrine/doctrine-migrations-bundle": "^4.0",
"doctrine/orm": "^3.6",
"nelmio/cors-bundle": "^2.6",
"phpdocumentor/reflection-docblock": "^5.6",
"phpstan/phpdoc-parser": "^2.3",
"symfony/asset": "8.0.*",
"symfony/console": "8.0.*",
"symfony/dotenv": "8.0.*",
"symfony/expression-language": "8.0.*",
"symfony/flex": "^2",
"symfony/framework-bundle": "8.0.*",
"symfony/property-access": "8.0.*",
"symfony/property-info": "8.0.*",
"symfony/runtime": "8.0.*",
"symfony/security-bundle": "8.0.*",
"symfony/serializer": "8.0.*",
"symfony/twig-bundle": "8.0.*",
"symfony/validator": "8.0.*",
"symfony/yaml": "8.0.*"
},
"config": {
"allow-plugins": {
"php-http/discovery": true,
"symfony/flex": true,
"symfony/runtime": true
},
"bump-after-update": true,
"sort-packages": true
},
"autoload": {
"psr-4": {
"App\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"App\\Tests\\": "tests/"
}
},
"replace": {
"symfony/polyfill-ctype": "*",
"symfony/polyfill-iconv": "*",
"symfony/polyfill-php72": "*",
"symfony/polyfill-php73": "*",
"symfony/polyfill-php74": "*",
"symfony/polyfill-php80": "*",
"symfony/polyfill-php81": "*",
"symfony/polyfill-php82": "*",
"symfony/polyfill-php83": "*",
"symfony/polyfill-php84": "*"
},
"scripts": {
"auto-scripts": {
"cache:clear": "symfony-cmd",
"assets:install %PUBLIC_DIR%": "symfony-cmd"
},
"post-install-cmd": [
"@auto-scripts"
],
"post-update-cmd": [
"@auto-scripts"
]
},
"conflict": {
"symfony/symfony": "*"
},
"extra": {
"symfony": {
"allow-contrib": false,
"require": "8.0.*"
}
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^3.92",
"phpunit/phpunit": "^12.5",
"symfony/browser-kit": "8.0.*",
"symfony/css-selector": "8.0.*"
}
}

10221
composer.lock generated Normal file

File diff suppressed because it is too large Load Diff

11
config/bundles.php Normal file
View File

@@ -0,0 +1,11 @@
<?php
return [
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true],
Nelmio\CorsBundle\NelmioCorsBundle::class => ['all' => true],
ApiPlatform\Symfony\Bundle\ApiPlatformBundle::class => ['all' => true],
];

View File

@@ -0,0 +1,7 @@
api_platform:
title: Hello API Platform
version: 1.0.0
defaults:
stateless: true
cache_headers:
vary: ['Content-Type', 'Authorization', 'Origin']

View File

@@ -0,0 +1,19 @@
framework:
cache:
# Unique name of your app: used to compute stable namespaces for cache keys.
#prefix_seed: your_vendor_name/app_name
# The "app" cache stores to the filesystem by default.
# The data in this cache should persist between deploys.
# Other options include:
# Redis
#app: cache.adapter.redis
#default_redis_provider: redis://localhost
# APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues)
#app: cache.adapter.apcu
# Namespaced pools use the above "app" backend by default
#pools:
#my.dedicated.cache: null

View File

@@ -0,0 +1,48 @@
doctrine:
dbal:
url: '%env(resolve:DATABASE_URL)%'
# IMPORTANT: You MUST configure your server version,
# either here or in the DATABASE_URL env var (see .env file)
#server_version: '16'
profiling_collect_backtrace: '%kernel.debug%'
orm:
validate_xml_mapping: true
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
identity_generation_preferences:
Doctrine\DBAL\Platforms\PostgreSQLPlatform: identity
auto_mapping: true
mappings:
App:
type: attribute
is_bundle: false
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
controller_resolver:
auto_mapping: false
when@test:
doctrine:
dbal:
# "TEST_TOKEN" is typically set by ParaTest
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
framework:
cache:
pools:
doctrine.result_cache_pool:
adapter: cache.app
doctrine.system_cache_pool:
adapter: cache.system

View File

@@ -0,0 +1,6 @@
doctrine_migrations:
migrations_paths:
# namespace is arbitrary but should be different from App\Migrations
# as migrations classes should NOT be autoloaded
'DoctrineMigrations': '%kernel.project_dir%/migrations'
enable_profiler: false

View File

@@ -0,0 +1,15 @@
# see https://symfony.com/doc/current/reference/configuration/framework.html
framework:
secret: '%env(APP_SECRET)%'
# Note that the session will be started ONLY if you read or write from it.
session: true
#esi: true
#fragments: true
when@test:
framework:
test: true
session:
storage_factory_id: session.storage.factory.mock_file

View File

@@ -0,0 +1,10 @@
nelmio_cors:
defaults:
origin_regex: true
allow_origin: ['%env(CORS_ALLOW_ORIGIN)%']
allow_methods: ['GET', 'OPTIONS', 'POST', 'PUT', 'PATCH', 'DELETE']
allow_headers: ['Content-Type', 'Authorization']
expose_headers: ['Link']
max_age: 3600
paths:
'^/': null

View File

@@ -0,0 +1,3 @@
framework:
property_info:
with_constructor_extractor: true

View File

@@ -0,0 +1,10 @@
framework:
router:
# Configure how to generate URLs in non-HTTP contexts, such as CLI commands.
# See https://symfony.com/doc/current/routing.html#generating-urls-in-commands
default_uri: '%env(DEFAULT_URI)%'
when@prod:
framework:
router:
strict_requirements: null

View File

@@ -0,0 +1,39 @@
security:
# https://symfony.com/doc/current/security.html#registering-the-user-hashing-passwords
password_hashers:
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto'
# https://symfony.com/doc/current/security.html#loading-the-user-the-user-provider
providers:
users_in_memory: { memory: null }
firewalls:
dev:
# Ensure dev tools and static assets are always allowed
pattern: ^/(_profiler|_wdt|assets|build)/
security: false
main:
lazy: true
provider: users_in_memory
# Activate different ways to authenticate:
# https://symfony.com/doc/current/security.html#the-firewall
# https://symfony.com/doc/current/security/impersonating_user.html
# switch_user: true
# Note: Only the *first* matching rule is applied
access_control:
# - { path: ^/admin, roles: ROLE_ADMIN }
# - { path: ^/profile, roles: ROLE_USER }
when@test:
security:
password_hashers:
# Password hashers are resource-intensive by design to ensure security.
# In tests, it's safe to reduce their cost to improve performance.
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface:
algorithm: auto
cost: 4 # Lowest possible value for bcrypt
time_cost: 3 # Lowest possible value for argon
memory_cost: 10 # Lowest possible value for argon

View File

@@ -0,0 +1,6 @@
twig:
file_name_pattern: '*.twig'
when@test:
twig:
strict_variables: true

View File

@@ -0,0 +1,11 @@
framework:
validation:
# Enables validator auto-mapping support.
# For instance, basic validation constraints will be inferred from Doctrine's metadata.
#auto_mapping:
# App\Entity\: []
when@test:
framework:
validation:
not_compromised_password: false

5
config/preload.php Normal file
View File

@@ -0,0 +1,5 @@
<?php
if (file_exists(dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php')) {
require dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php';
}

1660
config/reference.php Normal file

File diff suppressed because it is too large Load Diff

11
config/routes.yaml Normal file
View File

@@ -0,0 +1,11 @@
# yaml-language-server: $schema=../vendor/symfony/routing/Loader/schema/routing.schema.json
# This file is the entry point to configure the routes of your app.
# Methods with the #[Route] attribute are automatically imported.
# See also https://symfony.com/doc/current/routing.html
# To list all registered routes, run the following command:
# bin/console debug:router
controllers:
resource: routing.controllers

View File

@@ -0,0 +1,4 @@
api_platform:
resource: .
type: api_platform
prefix: /

View File

@@ -0,0 +1,4 @@
when@dev:
_errors:
resource: '@FrameworkBundle/Resources/config/routing/errors.php'
prefix: /_error

View File

@@ -0,0 +1,3 @@
_security_logout:
resource: security.route_loader.logout
type: service

23
config/services.yaml Normal file
View File

@@ -0,0 +1,23 @@
# yaml-language-server: $schema=../vendor/symfony/dependency-injection/Loader/schema/services.schema.json
# This file is the entry point to configure your own services.
# Files in the packages/ subdirectory configure your dependencies.
# See also https://symfony.com/doc/current/service_container/import.html
# Put parameters here that don't need to change on each machine where the app is deployed
# https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration
parameters:
services:
# default configuration for services in *this* file
_defaults:
autowire: true # Automatically injects dependencies in your services.
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
# makes classes in src/ available to be used as services
# this creates a service per class whose id is the fully-qualified class name
App\:
resource: '../src/'
# add more service definitions when explicit configuration is needed
# please note that last definitions always *replace* previous ones

42
docker-compose.yml Normal file
View File

@@ -0,0 +1,42 @@
services:
web:
container_name: php-${DOCKER_APP_NAME}-apache
build:
context: ./docker/php
dockerfile: Dockerfile
args:
DOCKER_PHP_VERSION: ${DOCKER_PHP_VERSION}
DOCKER_NODE_VERSION: ${DOCKER_NODE_VERSION}
CURRENT_UID: ${CURRENT_UID}
CURRENT_GID: ${CURRENT_GID}
environment:
PHP_IDE_CONFIG: serverName=${DOCKER_APP_NAME}-docker
DATABASE_URL: "postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}?serverVersion=16&charset=utf8"
volumes:
- ./:/var/www/html/CURRENT
- ~/.cache:/var/www/.cache # Pour la cache de composer
- ~/.config:/var/www/.config # Pour la config de yarn
- ~/.composer:/var/www/.composer # Pour la config de composer
- ./docker/php/config/php.ini:/usr/local/etc/php/php.ini
- ./docker/php/config/vhost.conf:/etc/apache2/sites-available/000-default.conf
- ./docker/php/config/docker-php-ext-xdebug.ini:/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
- ./LOG:/var/www/html/LOG
- ./LOG/logs_apache:/var/log/apache2/
depends_on:
- db
ports:
- "8080:80"
restart: unless-stopped
db:
image: postgres:16-alpine
environment:
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- pg_data:/var/lib/postgresql/data
ports:
- "${POSTGRES_PORT:-5432}:5432"
restart: unless-stopped
volumes:
pg_data:

8
docker/.env.docker Normal file
View File

@@ -0,0 +1,8 @@
DOCKER_APP_NAME=ferme
DOCKER_PHP_VERSION=8.4.6
DOCKER_NODE_VERSION=24.12.0
APP_USER=www-data
POSTGRES_DB=ferme
POSTGRES_USER=root
POSTGRES_PASSWORD=root
POSTGRES_PORT=5432

133
docker/php/Dockerfile Normal file
View File

@@ -0,0 +1,133 @@
ARG DOCKER_PHP_VERSION
FROM php:${DOCKER_PHP_VERSION}-apache-bullseye
ARG DOCKER_NODE_VERSION
ENV DOCKER_NODE_VERSION="${DOCKER_NODE_VERSION}"
# Installer les dépendances et extensions PHP nécessaires
RUN apt-get update && apt-get install -y \
libicu-dev \
libpq-dev \
libpng-dev \
libzip-dev \
libxml2-dev \
ca-certificates \
gnupg \
libbz2-dev \
libgmp-dev \
libldap2-dev \
libonig-dev \
libsodium-dev \
libxslt1-dev \
unixodbc-dev \
libsqlite3-dev \
zlib1g-dev \
libssl-dev \
libc-client-dev \
libkrb5-dev \
freetds-dev \
vim \
tcpdump \
dnsutils \
wget \
git \
unzip \
&& docker-php-ext-install -j$(nproc) \
intl \
zip \
bcmath \
bz2 \
calendar \
exif \
gd \
gettext \
gmp \
ldap \
# mysqli \
pcntl \
pdo_pgsql \
# pdo_mysql \
# pdo_sqlite \
# pdo_sqlsrv \
soap \
sockets \
sysvsem \
xsl
# Installation de node
RUN wget -qO- "https://nodejs.org/dist/v${DOCKER_NODE_VERSION}/node-v${DOCKER_NODE_VERSION}-linux-x64.tar.xz" | tar xJC /tmp/ && \
cp -r /tmp/node-v${DOCKER_NODE_VERSION}-linux-x64/bin /usr/ && \
cp -r /tmp/node-v${DOCKER_NODE_VERSION}-linux-x64/include /usr/ && \
cp -r /tmp/node-v${DOCKER_NODE_VERSION}-linux-x64/lib /usr/ && \
cp -r /tmp/node-v${DOCKER_NODE_VERSION}-linux-x64/share /usr/ && \
npm install --global yarn
# installation/activation d'extensions php
RUN pecl install xdebug
RUN docker-php-ext-enable xdebug && \
docker-php-ext-install zip && \
docker-php-ext-install gd && \
docker-php-ext-install soap && \
docker-php-ext-configure intl && \
docker-php-ext-install intl
# Configuration spéciale pour quelques extensions
# RUN docker-php-ext-configure pdo_odbc --with-pdo-odbc=unixODBC,/usr && \
# docker-php-ext-install pdo_odbc \
RUN docker-php-ext-enable opcache
# Configurer Oracle OCI8 (nécessite le SDK Oracle, à installer manuellement ou à lier via les dépendances)
#RUN apt-get update && apt-get -y install wget unzip libaio1 && \
# wget https://download.oracle.com/otn_software/linux/instantclient/2340000/instantclient-basic-linux.x64-23.4.0.24.05.zip && \
# unzip -o instantclient-basic-linux.x64-23.4.0.24.05.zip -d /usr/local && \
# wget https://download.oracle.com/otn_software/linux/instantclient/2340000/instantclient-sdk-linux.x64-23.4.0.24.05.zip && \
# unzip -o instantclient-sdk-linux.x64-23.4.0.24.05.zip -d /usr/local
#
#RUN echo 'instantclient,/usr/local/instantclient_23_4' | pecl install oci8-3.4.0 \
# && docker-php-ext-enable oci8
#
#ENV ORACLE_BASE /usr/local/instantclient_23_4
#ENV LD_LIBRARY_PATH /usr/local/instantclient_23_4
#ENV TNS_ADMIN /usr/local/instantclient_23_4
#ENV ORACLE_HOME /usr/local/instantclient_23_4
# Configuration pour utiliser Kerberos avec IMAP (si nécessaire)
# RUN docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
# && docker-php-ext-install imap
# installation de composer
RUN rm -rf /var/cache/apk/* && rm -rf /tmp/* && \
curl --insecure https://getcomposer.org/composer.phar -o /usr/bin/composer && chmod +x /usr/bin/composer
# Création de la structure du projet
RUN mkdir /var/www/html/APPLI && \
mkdir /var/www/html/BATCH && \
mkdir /var/www/html/DATA && \
mkdir /var/www/html/LOG && \
mkdir /var/www/html/PARAM
RUN ln -s /var/www/html/APPLI /var/www/html/CURRENT
# Activation du module pour Apache2 proxy_http et rewrite
RUN a2enmod proxy_http && \
a2enmod rewrite
###> User ###
ARG CURRENT_UID
ARG CURRENT_GID
# mapping du user host avec www-data
RUN usermod -o -u ${CURRENT_UID} www-data && groupmod -o -g ${CURRENT_GID} www-data
RUN chown www-data:www-data -R /var/www/*
RUN chown www-data:www-data -R /var/www/.*
###< User ###
RUN rm -rf \
/var/lib/apt/lists/* \
/tmp/* \
/var/tmp/*
WORKDIR /var/www/html/APPLI
EXPOSE 80

View File

@@ -0,0 +1,10 @@
zend_extension = /usr/local/lib/php/extensions/no-debug-non-zts-20240924/xdebug.so
xdebug.mode=debug
xdebug.idekey=PHPSTORM
xdebug.start_with_request=yes
xdebug.discover_client_host=no
xdebug.client_port=9003
xdebug.log="/var/www/html/LOG/xdebug.log"
xdebug.log_level = 0
xdebug.client_host=host.docker.internal
xdebug.connect_timeout_ms=2

View File

@@ -0,0 +1,4 @@
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Europe/Paris

View File

@@ -0,0 +1,26 @@
<VirtualHost *:80>
DocumentRoot /var/www/html/CURRENT
AliasMatch "^/api(/.*)?" "/var/www/html/CURRENT/public$1"
<Directory /var/www/html/CURRENT/public>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
AliasMatch "^(/.*)?" "/var/www/html/CURRENT/frontend/dist$1"
<Directory /var/www/html/CURRENT/frontend/dist>
AllowOverride All
Order allow,deny
Allow from All
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^ index.html [L]
</Directory>
ErrorLog "${APACHE_LOG_DIR}/error.log"
CustomLog "${APACHE_LOG_DIR}/access.log" combined
</VirtualHost>

24
frontend/.gitignore vendored Normal file
View File

@@ -0,0 +1,24 @@
# Nuxt dev/build outputs
.output
.data
.nuxt
.nitro
.cache
dist
# Node dependencies
node_modules
# Logs
logs
*.log
# Misc
.DS_Store
.fleet
.idea
# Local env files
.env
.env.*
!.env.example

75
frontend/README.md Normal file
View File

@@ -0,0 +1,75 @@
# Nuxt Minimal Starter
Look at the [Nuxt documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.
## Setup
Make sure to install dependencies:
```bash
# npm
npm install
# pnpm
pnpm install
# yarn
yarn install
# bun
bun install
```
## Development Server
Start the development server on `http://localhost:3000`:
```bash
# npm
npm run dev
# pnpm
pnpm dev
# yarn
yarn dev
# bun
bun run dev
```
## Production
Build the application for production:
```bash
# npm
npm run build
# pnpm
pnpm build
# yarn
yarn build
# bun
bun run build
```
Locally preview production build:
```bash
# npm
npm run preview
# pnpm
pnpm preview
# yarn
yarn preview
# bun
bun run preview
```
Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.

3
frontend/app.vue Normal file
View File

@@ -0,0 +1,3 @@
<template>
<NuxtPage/>
</template>

View File

9
frontend/nuxt.config.ts Normal file
View File

@@ -0,0 +1,9 @@
export default defineNuxtConfig({
compatibilityDate: '2025-07-15',
devtools: { enabled: true },
ssr: false,
modules: ['@nuxtjs/tailwindcss'],
typescript: {
strict: true
}
})

11892
frontend/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

21
frontend/package.json Normal file
View File

@@ -0,0 +1,21 @@
{
"name": "frontend",
"type": "module",
"private": true,
"scripts": {
"build": "nuxt build",
"dev": "nuxt dev",
"generate": "nuxt generate",
"preview": "nuxt preview",
"postinstall": "nuxt prepare",
"build:dist": "nuxt generate && rm -rf dist && cp -R .output/public dist"
},
"dependencies": {
"nuxt": "^4.2.2",
"vue": "^3.5.26",
"vue-router": "^4.6.4"
},
"devDependencies": {
"@nuxtjs/tailwindcss": "^6.14.0"
}
}

9
frontend/pages/index.vue Normal file
View File

@@ -0,0 +1,9 @@
<template>
<div class="min-h-screen flex items-center justify-center">
<h1 class="text-3xl font-bold">Nuxt OK </h1>
</div>
</template>
<script setup lang="ts">
</script>

BIN
frontend/public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -0,0 +1,2 @@
User-Agent: *
Disallow:

18
frontend/tsconfig.json Normal file
View File

@@ -0,0 +1,18 @@
{
// https://nuxt.com/docs/guide/concepts/typescript
"files": [],
"references": [
{
"path": "./.nuxt/tsconfig.app.json"
},
{
"path": "./.nuxt/tsconfig.server.json"
},
{
"path": "./.nuxt/tsconfig.shared.json"
},
{
"path": "./.nuxt/tsconfig.node.json"
}
]
}

108
makefile Normal file
View File

@@ -0,0 +1,108 @@
# Permet d'utiliser un .env.docker.local pour override
ENV_DEFAULT = docker/.env.docker
ENV_LOCAL = docker/.env.docker.local
ENV_FILE := $(if $(wildcard $(ENV_LOCAL)),$(ENV_LOCAL),$(ENV_DEFAULT))
# Permet d'avoir les variables du fichier .env.docker.local
include $(ENV_DEFAULT)
-include $(ENV_LOCAL)
PHP_CONTAINER = php-$(DOCKER_APP_NAME)-apache
SYMFONY_CONSOLE = $(EXEC_PHP) php bin/console
DOCKER_COMPOSE = docker compose --env-file $(ENV_FILE)
DOCKER = docker
EXEC_PHP = $(DOCKER) exec -t -u $(APP_USER) $(PHP_CONTAINER)
EXEC_PHP_CS_FIXER = $(EXEC_PHP) php vendor/bin/php-cs-fixer
EXEC_PHP_ROOT = $(DOCKER) exec -t -u root $(PHP_CONTAINER)
EXEC_PHP_INTERACTIVE = $(DOCKER) exec -it -u $(APP_USER) $(PHP_CONTAINER)
EXEC_PHP_INTERACTIVE_ROOT = $(DOCKER) exec -it -u root $(PHP_CONTAINER)
FILES =
#========================================================================================
env-init:
@mkdir -p docker
@cp --update=none $(ENV_DEFAULT) $(ENV_LOCAL)
# Lance le container
start: env-init
@echo "**** START CONTAINERS ****"
@cp --update=none docker/.env.docker docker/.env.docker.local
CURRENT_UID=$(shell id -u) CURRENT_GID=$(shell id -g) $(DOCKER_COMPOSE) up -d
# Éteint le container
stop:
$(DOCKER_COMPOSE) stop
restart: env-init
$(DOCKER_COMPOSE) down
CURRENT_UID=$(shell id -u) CURRENT_GID=$(shell id -g) $(DOCKER_COMPOSE) up -d
install: copy-git-hook composer-install cache-clear node-use build-nuxtJS
# Supprime tout est réinstalle tout (Attention ça supprime la bdd aussi)
reset: delete_built_dir remove_orphans build-without-cache start wait install
composer-install:
$(EXEC_PHP) composer install
build-nuxtJS:
# $(EXEC_PHP) cp -n frontend/.env.dist frontend/.env.local
$(EXEC_PHP) sh -lc "cd frontend && npm install && npm run build:dist"
dev-nuxtJS:
$(EXEC_PHP) sh -c "cd frontend && npm run dev"
delete_built_dir:
CURRENT_UID=$(shell id -u) CURRENT_GID=$(shell id -g) $(DOCKER_COMPOSE) up -d
$(DOCKER) exec -u root $(PHP_CONTAINER) rm -rf vendor/
$(DOCKER) exec -u root $(PHP_CONTAINER) rm -rf frontend/node_modules
remove_orphans:
$(DOCKER_COMPOSE) kill
$(DOCKER_COMPOSE) down --volumes --remove-orphans
build-without-cache:
$(DOCKER_COMPOSE) build \
--build-arg="DOCKER_PHP_VERSION=$(DOCKER_PHP_VERSION)" \
--build-arg="DOCKER_NODE_VERSION=$(DOCKER_NODE_VERSION)" \
--build-arg="CURRENT_UID=$(shell id -u)" \
--build-arg="CURRENT_GID=$(shell id -g)" \
--no-cache
# Attention, supprime votre bdd local
db-reset:
$(DOCKER_COMPOSE) down -v
$(DOCKER_COMPOSE) up -d
# Restart la bdd
db-restart:
$(DOCKER_COMPOSE) down
$(DOCKER_COMPOSE) up -d
cache-clear:
$(SYMFONY_CONSOLE) cache:clear
copy-git-hook:
$(EXEC_PHP) cp pre-commit .git/hooks/
$(EXEC_PHP) chmod a+x .git/hooks/pre-commit
shell:
$(EXEC_PHP_INTERACTIVE) bash
# Force la version node
node-use:
bash -lc 'source "$$HOME/.nvm/nvm.sh" && nvm install && nvm use'
# Utilisé par le pre-commit pour fix les fichiers modifiés
php-cs-fixer-allow-risky:
@echo "Fixing files: $(FILES)"
$(EXEC_PHP_CS_FIXER) fix --config=.php-cs-fixer.dist.php --allow-risky=yes $(FILES)
test:
$(EXEC_PHP) php -d memory_limit="512M" vendor/bin/phpunit $(FILES)
wait:
sleep 10

0
migrations/.gitignore vendored Normal file
View File

38
pre-commit Normal file
View File

@@ -0,0 +1,38 @@
#!/bin/sh
echo "######### Pre-commit hook start #############"
echo "--- php-cs-fixer pre commit hook start ---"
FILES=$(git diff --cached --name-only --diff-filter=ACM | grep -E '\.php$')
# Vérifier s'il y a des fichiers PHP modifiés
if [ -n "$FILES" ]; then
echo "Running PHP CS Fixer on staged PHP files..."
# Convertir la liste des fichiers en une chaîne séparée par des espaces
FILES_LIST=""
for FILE in $FILES; do
FILES_LIST="$FILES_LIST $FILE"
done
# Exécuter la cible make pour PHP CS Fixer
make php-cs-fixer-allow-risky FILES="$FILES_LIST"
# Ajouter les fichiers corrigés au commit
git add $FILES
else
echo "No PHP files to fix."
fi
echo "--- php-cs-fixer pre commit hook finish---"
echo "--- phpunit pre commit hook start ---"
make test
PHPUNIT_RESULT=$?
if [ $PHPUNIT_RESULT -ne 0 ]; then
echo "PHPUnit tests failed. Aborting commit."
exit 1
fi
echo "--- phpunit pre commit hook finished ---"
echo "All checks passed. Proceeding with commit."
exit 0

9
public/index.php Normal file
View File

@@ -0,0 +1,9 @@
<?php
use App\Kernel;
require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
return function (array $context) {
return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
};

0
src/ApiResource/.gitignore vendored Normal file
View File

0
src/Controller/.gitignore vendored Normal file
View File

0
src/Entity/.gitignore vendored Normal file
View File

11
src/Kernel.php Normal file
View File

@@ -0,0 +1,11 @@
<?php
namespace App;
use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait;
use Symfony\Component\HttpKernel\Kernel as BaseKernel;
class Kernel extends BaseKernel
{
use MicroKernelTrait;
}

0
src/Repository/.gitignore vendored Normal file
View File

208
symfony.lock Normal file
View File

@@ -0,0 +1,208 @@
{
"api-platform/symfony": {
"version": "4.2",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "4.0",
"ref": "e9952e9f393c2d048f10a78f272cd35e807d972b"
},
"files": [
"config/packages/api_platform.yaml",
"config/routes/api_platform.yaml",
"src/ApiResource/.gitignore"
]
},
"doctrine/deprecations": {
"version": "1.1",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "1.0",
"ref": "87424683adc81d7dc305eefec1fced883084aab9"
}
},
"doctrine/doctrine-bundle": {
"version": "3.2",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "3.0",
"ref": "18ee08e513ba0303fd09a01fc1c934870af06ffa"
},
"files": [
"config/packages/doctrine.yaml",
"src/Entity/.gitignore",
"src/Repository/.gitignore"
]
},
"doctrine/doctrine-migrations-bundle": {
"version": "4.0",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "3.1",
"ref": "1d01ec03c6ecbd67c3375c5478c9a423ae5d6a33"
},
"files": [
"config/packages/doctrine_migrations.yaml",
"migrations/.gitignore"
]
},
"friendsofphp/php-cs-fixer": {
"version": "3.92",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "3.0",
"ref": "be2103eb4a20942e28a6dd87736669b757132435"
},
"files": [
".php-cs-fixer.dist.php"
]
},
"nelmio/cors-bundle": {
"version": "2.6",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "1.5",
"ref": "6bea22e6c564fba3a1391615cada1437d0bde39c"
},
"files": [
"config/packages/nelmio_cors.yaml"
]
},
"phpunit/phpunit": {
"version": "12.5",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "11.1",
"ref": "1117deb12541f35793eec9fff7494d7aa12283fc"
},
"files": [
".env.test",
"phpunit.dist.xml",
"tests/bootstrap.php",
"bin/phpunit"
]
},
"symfony/console": {
"version": "8.0",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "5.3",
"ref": "1781ff40d8a17d87cf53f8d4cf0c8346ed2bb461"
},
"files": [
"bin/console"
]
},
"symfony/flex": {
"version": "2.10",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "2.4",
"ref": "52e9754527a15e2b79d9a610f98185a1fe46622a"
},
"files": [
".env",
".env.dev"
]
},
"symfony/framework-bundle": {
"version": "8.0",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "7.4",
"ref": "09f6e081c763a206802674ce0cb34a022f0ffc6d"
},
"files": [
"config/packages/cache.yaml",
"config/packages/framework.yaml",
"config/preload.php",
"config/routes/framework.yaml",
"config/services.yaml",
"public/index.php",
"src/Controller/.gitignore",
"src/Kernel.php",
".editorconfig"
]
},
"symfony/property-info": {
"version": "8.0",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "7.3",
"ref": "dae70df71978ae9226ae915ffd5fad817f5ca1f7"
},
"files": [
"config/packages/property_info.yaml"
]
},
"symfony/routing": {
"version": "8.0",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "7.4",
"ref": "bc94c4fd86f393f3ab3947c18b830ea343e51ded"
},
"files": [
"config/packages/routing.yaml",
"config/routes.yaml"
]
},
"symfony/security-bundle": {
"version": "8.0",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "7.4",
"ref": "c42fee7802181cdd50f61b8622715829f5d2335c"
},
"files": [
"config/packages/security.yaml",
"config/routes/security.yaml"
]
},
"symfony/twig-bundle": {
"version": "8.0",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "6.4",
"ref": "cab5fd2a13a45c266d45a7d9337e28dee6272877"
},
"files": [
"config/packages/twig.yaml",
"templates/base.html.twig"
]
},
"symfony/uid": {
"version": "8.0",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "7.0",
"ref": "0df5844274d871b37fc3816c57a768ffc60a43a5"
}
},
"symfony/validator": {
"version": "8.0",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "7.0",
"ref": "8c1c4e28d26a124b0bb273f537ca8ce443472bfd"
},
"files": [
"config/packages/validator.yaml"
]
}
}

16
templates/base.html.twig Normal file
View File

@@ -0,0 +1,16 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{% block title %}Welcome!{% endblock %}</title>
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>">
{% block stylesheets %}
{% endblock %}
{% block javascripts %}
{% endblock %}
</head>
<body>
{% block body %}{% endblock %}
</body>
</html>