Error 500 Internal Server Error

GET http://sae301.mmi24c04.mmi-troyes.fr/admin?crudAction=new&crudControllerFqcn=App%5CController%5CAdmin%5CArticleCrudController

Forwarded to ErrorController (124127)

ArticleCrudController :: new

Request

GET Parameters

Key Value
crudAction
"new"
crudControllerFqcn
"App\Controller\Admin\ArticleCrudController"

POST Parameters

No POST parameters

Uploaded Files

No files were uploaded

Request Attributes

Key Value
_controller
[
  "App\Controller\Admin\ArticleCrudController"
  "new"
]
_firewall_context
"security.firewall.map.context.main"
_remove_csp_headers
true
_route
"admin"
_route_params
[]
_security_authenticators
[]
_security_firewall_run
"_security_main"
_security_skipped_authenticators
[]
_stopwatch_token
"f8e20a"
easyadmin_context
EasyCorp\Bundle\EasyAdminBundle\Context\AdminContext {#777
  -requestContext: EasyCorp\Bundle\EasyAdminBundle\Context\RequestContext {#765 …}
  -crudContext: EasyCorp\Bundle\EasyAdminBundle\Context\CrudContext {#774 …}
  -dashboardContext: EasyCorp\Bundle\EasyAdminBundle\Context\DashboardContext {#773 …}
  -i18nContext: EasyCorp\Bundle\EasyAdminBundle\Context\I18nContext {#776 …}
}

Request Headers

Header Value
accept
"*/*"
accept-encoding
"gzip, br, zstd, deflate"
cache-control
"max-age=0"
connection
"keep-alive"
host
"sae301.mmi24c04.mmi-troyes.fr"
user-agent
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
via
"1.1 squid-proxy-5b5d847c96-8t524 (squid/6.13)"
x-forwarded-for
"10.9.139.97"
x-php-ob-level
"1"

Request Content

Request content not available (it was retrieved as a resource).

Response

Response Headers

Header Value
cache-control
"no-cache, private"
content-type
"text/html; charset=UTF-8"
date
"Tue, 13 Jan 2026 10:04:35 GMT"
set-cookie
[
  "main_deauth_profile_token=124127; path=/; httponly; samesite=lax"
  "main_auth_profile_token=deleted; expires=Mon, 13 Jan 2025 10:04:34 GMT; Max-Age=0; path=/; httponly"
]
vary
"Accept"
x-debug-exception
"Failed%20to%20create%20%22%2Fvar%2Fwww%2FSAE301%2Fpublic%2Fuploads%2Farticles%2F%22%3A%20mkdir%28%29%3A%20Permission%20denied"
x-debug-exception-file
"%2Fvar%2Fwww%2FSAE301%2Fvendor%2Fsymfony%2Ffilesystem%2FFilesystem.php:98"
x-debug-token
"b6f0d1"
x-debug-token-link
"http://sae301.mmi24c04.mmi-troyes.fr/_profiler/124127"
x-previous-debug-token
"124127"
x-robots-tag
"noindex"

Cookies

Request Cookies

No request cookies

Response Cookies

Key Value
main_auth_profile_token
Symfony\Component\HttpFoundation\Cookie {#1600
  #expire: 1
  #path: "/"
  -sameSite: null
  -secureDefault: false
  #name: "main_auth_profile_token"
  #value: null
  #domain: null
  #secure: false
  #httpOnly: true
  -raw: false
  -partitioned: false
}
main_deauth_profile_token
Symfony\Component\HttpFoundation\Cookie {#1601
  #expire: 0
  #path: "/"
  -sameSite: "lax"
  -secureDefault: false
  #name: "main_deauth_profile_token"
  #value: "124127"
  #domain: null
  #secure: null
  #httpOnly: true
  -raw: false
  -partitioned: false
}

Session 1

Session Metadata

No session metadata

Session Attributes

No session attributes

Session Usage

1 Usages
Stateless check enabled
Usage
Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage:39
[
  [
    "file" => "/var/www/SAE301/vendor/symfony/security-core/Authentication/Token/Storage/UsageTrackingTokenStorage.php"
    "line" => 39
    "function" => "getMetadataBag"
    "class" => "Symfony\Component\HttpFoundation\Session\Session"
    "type" => "->"
  ]
  [
    "file" => "/var/www/SAE301/vendor/symfony/security-core/Authorization/AuthorizationChecker.php"
    "line" => 45
    "function" => "getToken"
    "class" => "Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage"
    "type" => "->"
  ]
  [
    "file" => "/var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Security/AuthorizationChecker.php"
    "line" => 30
    "function" => "isGranted"
    "class" => "Symfony\Component\Security\Core\Authorization\AuthorizationChecker"
    "type" => "->"
  ]
  [
    "file" => "/var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Factory/EntityFactory.php"
    "line" => 166
    "function" => "isGranted"
    "class" => "EasyCorp\Bundle\EasyAdminBundle\Security\AuthorizationChecker"
    "type" => "->"
  ]
  [
    "file" => "/var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Factory/EntityFactory.php"
    "line" => 86
    "function" => "doCreate"
    "class" => "EasyCorp\Bundle\EasyAdminBundle\Factory\EntityFactory"
    "type" => "->"
  ]
  [
    "file" => "/var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Factory/AdminContextFactory.php"
    "line" => 271
    "function" => "create"
    "class" => "EasyCorp\Bundle\EasyAdminBundle\Factory\EntityFactory"
    "type" => "->"
  ]
  [
    "file" => "/var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Factory/AdminContextFactory.php"
    "line" => 66
    "function" => "getEntityDto"
    "class" => "EasyCorp\Bundle\EasyAdminBundle\Factory\AdminContextFactory"
    "type" => "->"
  ]
  [
    "file" => "/var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/EventListener/AdminRouterSubscriber.php"
    "line" => 182
    "function" => "create"
    "class" => "EasyCorp\Bundle\EasyAdminBundle\Factory\AdminContextFactory"
    "type" => "->"
  ]
  [
    "file" => "/var/www/SAE301/vendor/symfony/event-dispatcher/Debug/WrappedListener.php"
    "line" => 115
    "function" => "onKernelRequest"
    "class" => "EasyCorp\Bundle\EasyAdminBundle\EventListener\AdminRouterSubscriber"
    "type" => "->"
  ]
  [
    "file" => "/var/www/SAE301/vendor/symfony/event-dispatcher/EventDispatcher.php"
    "line" => 206
    "function" => "__invoke"
    "class" => "Symfony\Component\EventDispatcher\Debug\WrappedListener"
    "type" => "->"
  ]
  [
    "file" => "/var/www/SAE301/vendor/symfony/event-dispatcher/EventDispatcher.php"
    "line" => 56
    "function" => "callListeners"
    "class" => "Symfony\Component\EventDispatcher\EventDispatcher"
    "type" => "->"
  ]
  [
    "file" => "/var/www/SAE301/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php"
    "line" => 126
    "function" => "dispatch"
    "class" => "Symfony\Component\EventDispatcher\EventDispatcher"
    "type" => "->"
  ]
  [
    "file" => "/var/www/SAE301/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 159
    "function" => "dispatch"
    "class" => "Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher"
    "type" => "->"
  ]
  [
    "file" => "/var/www/SAE301/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 76
    "function" => "handleRaw"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/SAE301/vendor/symfony/http-kernel/Kernel.php"
    "line" => 191
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/SAE301/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php"
    "line" => 35
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\Kernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/SAE301/vendor/autoload_runtime.php"
    "line" => 32
    "function" => "run"
    "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner"
    "type" => "->"
  ]
  [
    "file" => "/var/www/SAE301/public/index.php"
    "line" => 5
    "args" => [
      "/var/www/SAE301/vendor/autoload_runtime.php"
    ]
    "function" => "require_once"
  ]
]

Flashes

Flashes

No flash messages were created.

Server Parameters

Server Parameters

Defined in .env

Key Value
APP_ENV
"dev"
APP_SECRET
"2c9ed0ead2503ff93f51c5932e9288bf"
APP_SHARE_DIR
"var/share"
DATABASE_URL
"mysql://sae301:motdepassefort@127.0.0.1:3306/sae301?serverVersion=10.11.2-MariaDB&charset=utf8mb4"
DEFAULT_URI
"http://localhost"
MAILER_DSN
"null://null"
MESSENGER_TRANSPORT_DSN
"doctrine://default?auto_setup=0"

Defined as regular env variables

Key Value
APP_DEBUG
"1"
APP_PROJECT_DIR
"/var/www/SAE301"
APP_RUNTIME
"Symfony\Component\Runtime\SymfonyRuntime"
APP_RUNTIME_OPTIONS
[
  "project_dir" => "/var/www/SAE301"
]
CONTEXT_DOCUMENT_ROOT
"/var/www/SAE301/public"
CONTEXT_PREFIX
""
DOCUMENT_ROOT
"/var/www/SAE301/public"
FCGI_ROLE
"RESPONDER"
GATEWAY_INTERFACE
"CGI/1.1"
HOME
"/var/www"
HTTP_ACCEPT
"*/*"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_CACHE_CONTROL
"max-age=0"
HTTP_CONNECTION
"keep-alive"
HTTP_HOST
"sae301.mmi24c04.mmi-troyes.fr"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_VIA
"1.1 squid-proxy-5b5d847c96-8t524 (squid/6.13)"
HTTP_X_FORWARDED_FOR
"10.9.139.97"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
PHP_SELF
"/index.php"
QUERY_STRING
"crudAction=new&crudControllerFqcn=App%5CController%5CAdmin%5CArticleCrudController"
REDIRECT_QUERY_STRING
"crudAction=new&crudControllerFqcn=App%5CController%5CAdmin%5CArticleCrudController"
REDIRECT_STATUS
"200"
REDIRECT_URL
"/admin"
REMOTE_ADDR
"216.73.216.85"
REMOTE_PORT
"46534"
REQUEST_METHOD
"GET"
REQUEST_SCHEME
"http"
REQUEST_TIME
1768298675
REQUEST_TIME_FLOAT
1768298675.8047
REQUEST_URI
"/admin?crudAction=new&crudControllerFqcn=App%5CController%5CAdmin%5CArticleCrudController"
SCRIPT_FILENAME
"/var/www/SAE301/public/index.php"
SCRIPT_NAME
"/index.php"
SERVER_ADDR
"45.147.96.160"
SERVER_ADMIN
"[no address given]"
SERVER_NAME
"sae301.mmi24c04.mmi-troyes.fr"
SERVER_PORT
"80"
SERVER_PROTOCOL
"HTTP/1.1"
SERVER_SIGNATURE
"<address>Apache/2.4.66 (Debian) Server at sae301.mmi24c04.mmi-troyes.fr Port 80</address>\n"
SERVER_SOFTWARE
"Apache/2.4.66 (Debian)"
SYMFONY_DOTENV_PATH
"/var/www/SAE301/.env"
SYMFONY_DOTENV_VARS
"APP_ENV,APP_SECRET,APP_SHARE_DIR,DEFAULT_URI,DATABASE_URL,MESSENGER_TRANSPORT_DSN,MAILER_DSN"
USER
"www-data"
proxy-nokeepalive
"1"

Sub Requests 1

ErrorController (token = 124127)

Key Value
_controller
"error_controller"
_stopwatch_token
"89df1f"
exception
Symfony\Component\Filesystem\Exception\IOException {#1321
  #message: "Failed to create "/var/www/SAE301/public/uploads/articles/": mkdir(): Permission denied"
  #code: 0
  #file: "/var/www/SAE301/vendor/symfony/filesystem/Filesystem.php"
  #line: 98
  -path: "/var/www/SAE301/public/uploads/articles/"
  trace: {
    /var/www/SAE301/vendor/symfony/filesystem/Filesystem.php:98 {
      Symfony\Component\Filesystem\Filesystem->mkdir(Traversable|array|string $dirs, int $mode = 511): void …
      › if (!self::box('mkdir', $dir, $mode, true) && !is_dir($dir)) {    throw new IOException(\sprintf('Failed to create "%s": ', $dir).self::$lastError, 0, null, $dir);}
    }
    /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Form/Type/FileUploadType.php:154 {
      EasyCorp\Bundle\EasyAdminBundle\Form\Type\FileUploadType->{closure:EasyCorp\Bundle\EasyAdminBundle\Form\Type\FileUploadType::configureOptions():142} …
      › if ($isLocalFilesystem && !is_dir($value)) {    $this->filesystem->mkdir($value);}
    }
    /var/www/SAE301/vendor/symfony/options-resolver/OptionsResolver.php:1124 {
      Symfony\Component\OptionsResolver\OptionsResolver->offsetGet(mixed $option, bool $triggerDeprecation = true): mixed …
      › foreach ($this->normalizers[$option] as $normalizer) {    $value = $normalizer($this, $value);}
    }
    /var/www/SAE301/vendor/symfony/options-resolver/OptionsResolver.php:903 {
      Symfony\Component\OptionsResolver\OptionsResolver->resolve(array $options = []): array …
      › foreach ($clone->defaults as $option => $_) {    $clone->offsetGet($option);}
    }
    /var/www/SAE301/vendor/symfony/form/ResolvedFormType.php:77 {
      Symfony\Component\Form\ResolvedFormType->createBuilder(FormFactoryInterface $factory, string $name, array $options = []): FormBuilderInterface …
      › try {    $options = $this->getOptionsResolver()->resolve($options);} catch (ExceptionInterface $e) {
    }
    /var/www/SAE301/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php:58 {
      Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy->createBuilder(FormFactoryInterface $factory, string $name, array $options = []): FormBuilderInterface …
      › {    $builder = $this->proxiedType->createBuilder($factory, $name, $options);}
    /var/www/SAE301/vendor/symfony/form/FormFactory.php:67 {
      Symfony\Component\Form\FormFactory->createNamedBuilder(string $name, string $type = '…51', mixed $data = null, array $options = []): FormBuilderInterface …
      › 
      › $builder = $type->createBuilder($this, $name, $options);}
    /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Form/Type/CrudFormType.php:112 {
      EasyCorp\Bundle\EasyAdminBundle\Form\Type\CrudFormType->buildForm(FormBuilderInterface $builder, array $options): void …
      › 
      › $formField = $builder->getFormFactory()->createNamedBuilder($name, $formFieldType, null, $formFieldOptions);$formField->setAttribute('ea_entity', $entityDto);
    }
    /var/www/SAE301/vendor/symfony/form/ResolvedFormType.php:100 {
      Symfony\Component\Form\ResolvedFormType->buildForm(FormBuilderInterface $builder, array $options): void …
      › 
      › $this->innerType->buildForm($builder, $options);}
    /var/www/SAE301/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php:73 {
      Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy->buildForm(FormBuilderInterface $builder, array $options): void …
      › {    $this->proxiedType->buildForm($builder, $options);}
    }
    /var/www/SAE301/vendor/symfony/form/FormFactory.php:75 {
      Symfony\Component\Form\FormFactory->createNamedBuilder(string $name, string $type = '…51', mixed $data = null, array $options = []): FormBuilderInterface …
      › // createBuilder() or buildForm() in the resolved form type$type->buildForm($builder, $builder->getOptions());}
    /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Factory/FormFactory.php:51 {
      EasyCorp\Bundle\EasyAdminBundle\Factory\FormFactory->createNewFormBuilder(EntityDto $entityDto, KeyValueStore $formOptions, AdminContext $context): FormBuilderInterface …
      › 
      ›     return $this->symfonyFormFactory->createNamedBuilder($entityDto->getName(), CrudFormType::class, $entityDto->getInstance(), $formOptions->all());}
    }
    /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Controller/AbstractCrudController.php:560 {
      EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController->createNewFormBuilder(EntityDto $entityDto, KeyValueStore $formOptions, AdminContext $context): FormBuilderInterface …
      › {    return $this->container->get(FormFactory::class)->createNewFormBuilder($entityDto, $formOptions, $context);}
    }
    /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Controller/AbstractCrudController.php:555 {
      EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController->createNewForm(EntityDto $entityDto, KeyValueStore $formOptions, AdminContext $context): FormInterface …
      › {    return $this->createNewFormBuilder($entityDto, $formOptions, $context)->getForm();}
    }
    /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Controller/AbstractCrudController.php:314 {
      EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController->new(AdminContext $context) …
      › 
      › $newForm = $this->createNewForm($context->getEntity(), $context->getCrud()->getNewFormOptions(), $context);$newForm->handleRequest($context->getRequest());
    }
    /var/www/SAE301/vendor/symfony/http-kernel/HttpKernel.php:183 {
      Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response …
      › // call controller$response = $controller(...$arguments);}
    /var/www/SAE301/vendor/symfony/http-kernel/HttpKernel.php:76 {
      Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
      › try {    return $response = $this->handleRaw($request, $type);} catch (\Throwable $e) {
    }
    /var/www/SAE301/vendor/symfony/http-kernel/Kernel.php:191 {
      Symfony\Component\HttpKernel\Kernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
      › try {    return $this->getHttpKernel()->handle($request, $type, $catch);} finally {
    }
    /var/www/SAE301/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35 {
      Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run(): int …
      › {    $response = $this->kernel->handle($this->request);}
    /var/www/SAE301/vendor/autoload_runtime.php:32 {
      require_once …
      ›         ->getRunner($app)        ->run());
    }
    /var/www/SAE301/public/index.php:5 {
      › 
      › require_once dirname(__DIR__).'/vendor/autoload_runtime.php';arguments: {
        "/var/www/SAE301/vendor/autoload_runtime.php"
      }
    }
  }
}
logger
Symfony\Bridge\Monolog\Processor\DebugProcessor {#90
  -records: [
    2 => [
      [
        "timestamp" => 1768298675
        "timestamp_rfc3339" => "2026-01-13T10:04:35.823+00:00"
        "message" => "Matched route "{route}"."
        "priority" => 200
        "priorityName" => "INFO"
        "context" => [
          "route" => "admin"
          "route_parameters" => [
            "_route" => "admin"
            "_controller" => "App\Controller\Admin\DashboardController::index"
          ]
          "request_uri" => "http://sae301.mmi24c04.mmi-troyes.fr/admin?crudAction=new&crudControllerFqcn=App%5CController%5CAdmin%5CArticleCrudController"
          "method" => "GET"
        ]
        "channel" => "request"
      ]
      [
        "timestamp" => 1768298675
        "timestamp_rfc3339" => "2026-01-13T10:04:35.824+00:00"
        "message" => "Checking for authenticator support."
        "priority" => 100
        "priorityName" => "DEBUG"
        "context" => [
          "firewall_name" => "main"
          "authenticators" => 0
        ]
        "channel" => "security"
      ]
      [
        "timestamp" => 1768298675
        "timestamp_rfc3339" => "2026-01-13T10:04:35.841+00:00"
        "message" => "User Deprecated: Since easycorp/easyadmin-bundle 4.14.0: Not using pretty admin URLs is deprecated because they will become the only available URLs starting from EasyAdmin 5.0.0. Read the docs to learn how to enable pretty URLs in your application."
        "priority" => 200
        "priorityName" => "INFO"
        "context" => [
          "exception" => ErrorException {#1038
            #message: "User Deprecated: Since easycorp/easyadmin-bundle 4.14.0: Not using pretty admin URLs is deprecated because they will become the only available URLs starting from EasyAdmin 5.0.0. Read the docs to learn how to enable pretty URLs in your application."
            #code: 0
            #file: "/var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Router/AdminUrlGenerator.php"
            #line: 325
            #severity: E_USER_DEPRECATED
            trace: {
              /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Router/AdminUrlGenerator.php:325 {
                EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator->generateUrl(): string …
                › if (!$usePrettyUrls && \in_array($routeParameters[EA::CRUD_ACTION] ?? Action::INDEX, Crud::ACTION_NAMES, true)) {    trigger_deprecation(        'easycorp/easyadmin-bundle',
              }
              /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Factory/ActionFactory.php:308 {
                EasyCorp\Bundle\EasyAdminBundle\Factory\ActionFactory->generateActionUrl(Request $request, ActionDto $actionDto, ?EntityDto $entityDto = null): string …
                › 
                ›     return $this->adminUrlGenerator->unsetAllExcept(...$urlParametersToKeep)->setAll($requestParameters)->generateUrl();}
              }
              /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Factory/ActionFactory.php:195 {
                EasyCorp\Bundle\EasyAdminBundle\Factory\ActionFactory->processAction(string $pageName, ActionDto $actionDto, ?EntityDto $entityDto = null): ActionDto …
                › 
                › $actionDto->setLinkUrl($this->generateActionUrl($adminContext->getRequest(), $actionDto, $entityDto));}
              /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Factory/ActionFactory.php:79 {
                EasyCorp\Bundle\EasyAdminBundle\Factory\ActionFactory->processEntityActions(EntityDto $entityDto, ActionConfigDto $actionsDto): void …
                › 
                ›     $processedItems[$item->getName()] = $this->processAction($currentPage, $item, $entityDto);} elseif ($item instanceof ActionGroupDto) {
              }
              /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Controller/AbstractCrudController.php:312 {
                EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController->new(AdminContext $context) …
                › $context->getCrud()->setFieldAssets($this->getFieldAssets($context->getEntity()->getFields()));$this->container->get(ActionFactory::class)->processEntityActions($context->getEntity(), $context->getCrud()->getActionsConfig());}
              /var/www/SAE301/vendor/symfony/http-kernel/HttpKernel.php:183 {
                Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response …
                › // call controller$response = $controller(...$arguments);}
              /var/www/SAE301/vendor/symfony/http-kernel/HttpKernel.php:76 {
                Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
                › try {    return $response = $this->handleRaw($request, $type);} catch (\Throwable $e) {
              }
              /var/www/SAE301/vendor/symfony/http-kernel/Kernel.php:191 {
                Symfony\Component\HttpKernel\Kernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
                › try {    return $this->getHttpKernel()->handle($request, $type, $catch);} finally {
              }
              /var/www/SAE301/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35 {
                Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run(): int …
                › {    $response = $this->kernel->handle($this->request);}
              /var/www/SAE301/vendor/autoload_runtime.php:32 {
                require_once …
                ›         ->getRunner($app)        ->run());
              }
              /var/www/SAE301/public/index.php:5 {
                › 
                › require_once dirname(__DIR__).'/vendor/autoload_runtime.php';arguments: {
                  "/var/www/SAE301/vendor/autoload_runtime.php"
                }
              }
            }
          }
        ]
        "channel" => "deprecation"
      ]
      [
        "timestamp" => 1768298675
        "timestamp_rfc3339" => "2026-01-13T10:04:35.842+00:00"
        "message" => "User Deprecated: Since easycorp/easyadmin-bundle 4.14.0: Not using pretty admin URLs is deprecated because they will become the only available URLs starting from EasyAdmin 5.0.0. Read the docs to learn how to enable pretty URLs in your application."
        "priority" => 200
        "priorityName" => "INFO"
        "context" => [
          "exception" => ErrorException {#811
            #message: "User Deprecated: Since easycorp/easyadmin-bundle 4.14.0: Not using pretty admin URLs is deprecated because they will become the only available URLs starting from EasyAdmin 5.0.0. Read the docs to learn how to enable pretty URLs in your application."
            #code: 0
            #file: "/var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Router/AdminUrlGenerator.php"
            #line: 325
            #severity: E_USER_DEPRECATED
            trace: {
              /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Router/AdminUrlGenerator.php:325 {
                EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator->generateUrl(): string …
                › if (!$usePrettyUrls && \in_array($routeParameters[EA::CRUD_ACTION] ?? Action::INDEX, Crud::ACTION_NAMES, true)) {    trigger_deprecation(        'easycorp/easyadmin-bundle',
              }
              /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Factory/ActionFactory.php:308 {
                EasyCorp\Bundle\EasyAdminBundle\Factory\ActionFactory->generateActionUrl(Request $request, ActionDto $actionDto, ?EntityDto $entityDto = null): string …
                › 
                ›     return $this->adminUrlGenerator->unsetAllExcept(...$urlParametersToKeep)->setAll($requestParameters)->generateUrl();}
              }
              /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Factory/ActionFactory.php:195 {
                EasyCorp\Bundle\EasyAdminBundle\Factory\ActionFactory->processAction(string $pageName, ActionDto $actionDto, ?EntityDto $entityDto = null): ActionDto …
                › 
                › $actionDto->setLinkUrl($this->generateActionUrl($adminContext->getRequest(), $actionDto, $entityDto));}
              /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Factory/ActionFactory.php:79 {
                EasyCorp\Bundle\EasyAdminBundle\Factory\ActionFactory->processEntityActions(EntityDto $entityDto, ActionConfigDto $actionsDto): void …
                › 
                ›     $processedItems[$item->getName()] = $this->processAction($currentPage, $item, $entityDto);} elseif ($item instanceof ActionGroupDto) {
              }
              /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Controller/AbstractCrudController.php:312 {
                EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController->new(AdminContext $context) …
                › $context->getCrud()->setFieldAssets($this->getFieldAssets($context->getEntity()->getFields()));$this->container->get(ActionFactory::class)->processEntityActions($context->getEntity(), $context->getCrud()->getActionsConfig());}
              /var/www/SAE301/vendor/symfony/http-kernel/HttpKernel.php:183 {
                Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response …
                › // call controller$response = $controller(...$arguments);}
              /var/www/SAE301/vendor/symfony/http-kernel/HttpKernel.php:76 {
                Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
                › try {    return $response = $this->handleRaw($request, $type);} catch (\Throwable $e) {
              }
              /var/www/SAE301/vendor/symfony/http-kernel/Kernel.php:191 {
                Symfony\Component\HttpKernel\Kernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
                › try {    return $this->getHttpKernel()->handle($request, $type, $catch);} finally {
              }
              /var/www/SAE301/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35 {
                Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run(): int …
                › {    $response = $this->kernel->handle($this->request);}
              /var/www/SAE301/vendor/autoload_runtime.php:32 {
                require_once …
                ›         ->getRunner($app)        ->run());
              }
              /var/www/SAE301/public/index.php:5 {
                › 
                › require_once dirname(__DIR__).'/vendor/autoload_runtime.php';arguments: {
                  "/var/www/SAE301/vendor/autoload_runtime.php"
                }
              }
            }
          }
        ]
        "channel" => "deprecation"
      ]
      [
        "timestamp" => 1768298675
        "timestamp_rfc3339" => "2026-01-13T10:04:35.850+00:00"
        "message" => "Uncaught PHP Exception Symfony\Component\Filesystem\Exception\IOException: "Failed to create "/var/www/SAE301/public/uploads/articles/": mkdir(): Permission denied" at Filesystem.php line 98"
        "priority" => 500
        "priorityName" => "CRITICAL"
        "context" => [
          "exception" => Symfony\Component\Filesystem\Exception\IOException {#1321
            #message: "Failed to create "/var/www/SAE301/public/uploads/articles/": mkdir(): Permission denied"
            #code: 0
            #file: "/var/www/SAE301/vendor/symfony/filesystem/Filesystem.php"
            #line: 98
            -path: "/var/www/SAE301/public/uploads/articles/"
            trace: {
              /var/www/SAE301/vendor/symfony/filesystem/Filesystem.php:98 {
                Symfony\Component\Filesystem\Filesystem->mkdir(Traversable|array|string $dirs, int $mode = 511): void …
                › if (!self::box('mkdir', $dir, $mode, true) && !is_dir($dir)) {    throw new IOException(\sprintf('Failed to create "%s": ', $dir).self::$lastError, 0, null, $dir);}
              }
              /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Form/Type/FileUploadType.php:154 {
                EasyCorp\Bundle\EasyAdminBundle\Form\Type\FileUploadType->{closure:EasyCorp\Bundle\EasyAdminBundle\Form\Type\FileUploadType::configureOptions():142} …
                › if ($isLocalFilesystem && !is_dir($value)) {    $this->filesystem->mkdir($value);}
              }
              /var/www/SAE301/vendor/symfony/options-resolver/OptionsResolver.php:1124 {
                Symfony\Component\OptionsResolver\OptionsResolver->offsetGet(mixed $option, bool $triggerDeprecation = true): mixed …
                › foreach ($this->normalizers[$option] as $normalizer) {    $value = $normalizer($this, $value);}
              }
              /var/www/SAE301/vendor/symfony/options-resolver/OptionsResolver.php:903 {
                Symfony\Component\OptionsResolver\OptionsResolver->resolve(array $options = []): array …
                › foreach ($clone->defaults as $option => $_) {    $clone->offsetGet($option);}
              }
              /var/www/SAE301/vendor/symfony/form/ResolvedFormType.php:77 {
                Symfony\Component\Form\ResolvedFormType->createBuilder(FormFactoryInterface $factory, string $name, array $options = []): FormBuilderInterface …
                › try {    $options = $this->getOptionsResolver()->resolve($options);} catch (ExceptionInterface $e) {
              }
              /var/www/SAE301/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php:58 {
                Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy->createBuilder(FormFactoryInterface $factory, string $name, array $options = []): FormBuilderInterface …
                › {    $builder = $this->proxiedType->createBuilder($factory, $name, $options);}
              /var/www/SAE301/vendor/symfony/form/FormFactory.php:67 {
                Symfony\Component\Form\FormFactory->createNamedBuilder(string $name, string $type = '…51', mixed $data = null, array $options = []): FormBuilderInterface …
                › 
                › $builder = $type->createBuilder($this, $name, $options);}
              /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Form/Type/CrudFormType.php:112 {
                EasyCorp\Bundle\EasyAdminBundle\Form\Type\CrudFormType->buildForm(FormBuilderInterface $builder, array $options): void …
                › 
                › $formField = $builder->getFormFactory()->createNamedBuilder($name, $formFieldType, null, $formFieldOptions);$formField->setAttribute('ea_entity', $entityDto);
              }
              /var/www/SAE301/vendor/symfony/form/ResolvedFormType.php:100 {
                Symfony\Component\Form\ResolvedFormType->buildForm(FormBuilderInterface $builder, array $options): void …
                › 
                › $this->innerType->buildForm($builder, $options);}
              /var/www/SAE301/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php:73 {
                Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy->buildForm(FormBuilderInterface $builder, array $options): void …
                › {    $this->proxiedType->buildForm($builder, $options);}
              }
              /var/www/SAE301/vendor/symfony/form/FormFactory.php:75 {
                Symfony\Component\Form\FormFactory->createNamedBuilder(string $name, string $type = '…51', mixed $data = null, array $options = []): FormBuilderInterface …
                › // createBuilder() or buildForm() in the resolved form type$type->buildForm($builder, $builder->getOptions());}
              /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Factory/FormFactory.php:51 {
                EasyCorp\Bundle\EasyAdminBundle\Factory\FormFactory->createNewFormBuilder(EntityDto $entityDto, KeyValueStore $formOptions, AdminContext $context): FormBuilderInterface …
                › 
                ›     return $this->symfonyFormFactory->createNamedBuilder($entityDto->getName(), CrudFormType::class, $entityDto->getInstance(), $formOptions->all());}
              }
              /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Controller/AbstractCrudController.php:560 {
                EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController->createNewFormBuilder(EntityDto $entityDto, KeyValueStore $formOptions, AdminContext $context): FormBuilderInterface …
                › {    return $this->container->get(FormFactory::class)->createNewFormBuilder($entityDto, $formOptions, $context);}
              }
              /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Controller/AbstractCrudController.php:555 {
                EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController->createNewForm(EntityDto $entityDto, KeyValueStore $formOptions, AdminContext $context): FormInterface …
                › {    return $this->createNewFormBuilder($entityDto, $formOptions, $context)->getForm();}
              }
              /var/www/SAE301/vendor/easycorp/easyadmin-bundle/src/Controller/AbstractCrudController.php:314 {
                EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController->new(AdminContext $context) …
                › 
                › $newForm = $this->createNewForm($context->getEntity(), $context->getCrud()->getNewFormOptions(), $context);$newForm->handleRequest($context->getRequest());
              }
              /var/www/SAE301/vendor/symfony/http-kernel/HttpKernel.php:183 {
                Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response …
                › // call controller$response = $controller(...$arguments);}
              /var/www/SAE301/vendor/symfony/http-kernel/HttpKernel.php:76 {
                Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
                › try {    return $response = $this->handleRaw($request, $type);} catch (\Throwable $e) {
              }
              /var/www/SAE301/vendor/symfony/http-kernel/Kernel.php:191 {
                Symfony\Component\HttpKernel\Kernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
                › try {    return $this->getHttpKernel()->handle($request, $type, $catch);} finally {
              }
              /var/www/SAE301/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35 {
                Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run(): int …
                › {    $response = $this->kernel->handle($this->request);}
              /var/www/SAE301/vendor/autoload_runtime.php:32 {
                require_once …
                ›         ->getRunner($app)        ->run());
              }
              /var/www/SAE301/public/index.php:5 {
                › 
                › require_once dirname(__DIR__).'/vendor/autoload_runtime.php';arguments: {
                  "/var/www/SAE301/vendor/autoload_runtime.php"
                }
              }
            }
          }
        ]
        "channel" => "request"
      ]
    ]
  ]
  -errorCount: [
    2 => 1
  ]
  -requestStack: Symfony\Component\HttpKernel\Debug\VirtualRequestStack {#89 …}
}