The "u" filter is part of the StringExtension, which is not installed/enabled; try running "composer require twig/string-extra" in "home/index.html.twig". ExceptionLogs 1Stack Trace SyntaxError Twig\Error\SyntaxError: The "u" filter is part of the StringExtension, which is not installed/enabled; try running "composer require twig/string-extra" in "home/index.html.twig".
at C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\extra-bundle\MissingExtensionSuggestor.php:21 at Twig\Extra\TwigExtraBundle\MissingExtensionSuggestor->suggestFilter('u') (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\ExtensionSet.php:252) at Twig\ExtensionSet->getFilter('u') (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Environment.php:778) at Twig\Environment->getFilter('u') (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\ExpressionParser.php:833) at Twig\ExpressionParser->getFilter('u', 59) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\ExpressionParser.php:584) at Twig\ExpressionParser->parseFilterExpressionRaw(object(GetAttrExpression)) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\ExpressionParser.php:566) at Twig\ExpressionParser->parseFilterExpression(object(GetAttrExpression)) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\ExpressionParser.php:514) at Twig\ExpressionParser->parsePostfixExpression(object(GetAttrExpression)) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\ExpressionParser.php:364) at Twig\ExpressionParser->parsePrimaryExpression() (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\ExpressionParser.php:265) at Twig\ExpressionParser->getPrimary() (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\ExpressionParser.php:102) at Twig\ExpressionParser->parseExpression() (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Parser.php:158) at Twig\Parser->subparse(array(object(ForTokenParser), 'decideForFork')) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\TokenParser\ForTokenParser.php:43) at Twig\TokenParser\ForTokenParser->parse(object(Token)) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Parser.php:202) at Twig\Parser->subparse(array(object(BlockTokenParser), 'decideBlockEnd'), true) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\TokenParser\BlockTokenParser.php:46) at Twig\TokenParser\BlockTokenParser->parse(object(Token)) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Parser.php:202) at Twig\Parser->subparse(null, false) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Parser.php:95) at Twig\Parser->parse(object(TokenStream)) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Environment.php:559) at Twig\Environment->parse(object(TokenStream)) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Environment.php:590) at Twig\Environment->compileSource(object(Source)) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Environment.php:409) at Twig\Environment->loadTemplate('__TwigTemplate_1bc8b177bea240eb513370763132066f', 'home/index.html.twig') (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Environment.php:371) at Twig\Environment->load('home/index.html.twig') (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Environment.php:334) at Twig\Environment->render('home/index.html.twig', array('latestProperties' => array())) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\symfony\framework-bundle\Controller\AbstractController.php:251) at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->renderView('home/index.html.twig', array('latestProperties' => array())) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\symfony\framework-bundle\Controller\AbstractController.php:259) at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render('home/index.html.twig', array('latestProperties' => array())) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\src\Controller\HomeController.php:22) at App\Controller\HomeController->index(object(PropertyRepository)) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\symfony\http-kernel\HttpKernel.php:156) at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\symfony\http-kernel\HttpKernel.php:78) at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\symfony\http-kernel\Kernel.php:199) at Symfony\Component\HttpKernel\Kernel->handle(object(Request)) (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\symfony\runtime\Runner\Symfony\HttpKernelRunner.php:37) at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run() (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\autoload_runtime.php:35) at require_once('C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\autoload_runtime.php') (C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\public\index.php:5)
Vous rencontrez maintenant une erreur liée au filtre "u" dans les templates Twig. Ce filtre est utilisé pour manipuler des chaînes de caractères (comme la troncature avec u.truncate dans vos templates), mais il nécessite l'installation du package twig/string-extra.
Exécutez la commande suivante pour installer l'extension String de Twig :
composer require twig/string-extraCette commande installera l'extension nécessaire pour utiliser le filtre "u" dans vos templates Twig.
Étant donné que vous avez déjà rencontré deux dépendances manquantes, il est possible qu'il y en ait d'autres. Voici une liste des packages principaux utilisés dans ce projet que vous devriez vérifier :
# Packages essentiels pour le projet
composer require vich/uploader-bundle
composer require twig/string-extra
composer require knplabs/knp-paginator-bundle
composer require symfonycasts/reset-password-bundle
composer require symfonycasts/verify-email-bundleUne fois toutes les dépendances installées, n'oubliez pas de vider le cache :
php bin/console cache:clearPuis redémarrez votre serveur :
symfony server:startSi vous n'avez pas encore créé la base de données, vous pouvez le faire maintenant :
.env est correctement configuré avec vos informations de connexion à MySQL.Créez la base de données :
php bin/console doctrine:database:createVous pouvez soit utiliser le SQL fourni dans la page /sql-code de l'application, soit générer et exécuter les migrations :
php bin/console make:migration
php bin/console doctrine:migrations:migrateAprès avoir configuré la base de données, créez un utilisateur administrateur :
php bin/console doctrine:query:sql "INSERT INTO user (email, roles, password, first_name, last_name, is_verified, created_at, updated_at) VALUES ('admin@roofly.com', '[\"ROLE_ADMIN\"]', '\$2y\$13\$A8MQM2ZNOi99EW.ML7srhOJsCaybSbexAj/0yXrJs4gQ/2BqMMW2K', 'Admin', 'ROOFLY', 1, NOW(), NOW())"Ensuite, vous pourrez accéder à l'application via http://127.0.0.1:8000 et vous connecter avec :
N'hésitez pas à me faire savoir si vous rencontrez d'autres erreurs lors de l'installation ou du lancement de l'application.
C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)>php bin/console doctrine:database:create
Could not create database roofly for connection named default
An exception occurred while executing a query: SQLSTATE[HY000]: General error: 1007 Can't create database 'roofly'; database exists
C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)>php bin/console make:migration
In MetadataStorageError.php line 13:
The metadata storage is not up to date, please run the sync-metadata-storag e command to fix this issue.
make:migration
C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)>php bin/console doctrine:migrations:migrate
WARNING! You are about to execute a migration in database "roofly" that could result in schema changes and data loss. Are you sure you wish to continue? (yes/no) [yes]:
yes
[notice] Migrating up to DoctrineMigrations\Version20250405005500
[error] Migration DoctrineMigrations\Version20250405005500 failed during Execution. Error: "An exception occurred while executing a query: SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP FOREIGN KEY message_ibfk_2; check that it exists"
In ExceptionConverter.php line 118:
An exception occurred while executing a query: SQLSTATE[42000]: Syntax erro
r or access violation: 1091 Can't DROP FOREIGN KEY message_ibfk_2; check
that it exists
In Exception.php line 24:
SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP FOREIGN
KEY message_ibfk_2; check that it exists
In Connection.php line 71:
SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP FOREIGN
KEY message_ibfk_2; check that it exists
doctrine:migrations:migrate [--write-sql [WRITE-SQL]] [--dry-run] [--query-time] [--allow-no-migration] [--all-or-nothing [ALL-OR-NOTHING]] [--configuration CONFIGURATION] [--em EM] [--conn CONN] [--] [<version>]
C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)>
Je vois que vous rencontrez plusieurs problèmes avec la base de données. Voici comment les résoudre:
La base de données roofly existe déjà, ce qui est normal si vous avez déjà essayé de l'installer auparavant. Vous pouvez ignorer cette erreur et passer à l'étape suivante.
Vous devez synchroniser les métadonnées de stockage avant de pouvoir créer des migrations:
php bin/console doctrine:migrations:sync-metadata-storageL'erreur concernant la clé étrangère message_ibfk_2 indique qu'il y a un problème de synchronisation entre votre schéma actuel et celui que Doctrine essaie de créer. Cela arrive souvent quand la base de données a été créée manuellement ou avec un script SQL différent des entités Doctrine.
Puisque vous avez déjà le script SQL complet dans le projet (visible dans la page /sql-code), la meilleure approche serait:
Supprimer la base de données existante et la recréer:
php bin/console doctrine:database:drop --force
php bin/console doctrine:database:createExécuter le script SQL directement (via phpMyAdmin ou la ligne de commande MySQL):
roofly/sql-code de l'applicationOu via la ligne de commande:
mysql -u root -p roofly < chemin/vers/script.sqlCréer un utilisateur administrateur:
php bin/console doctrine:query:sql "INSERT INTO user (email, roles, password, first_name, last_name, is_verified, created_at, updated_at) VALUES ('admin@roofly.com', '[\"ROLE_ADMIN\"]', '\$2y\$13\$A8MQM2ZNOi99EW.ML7srhOJsCaybSbexAj/0yXrJs4gQ/2BqMMW2K', 'Admin', 'ROOFLY', 1, NOW(), NOW())"Si vous préférez utiliser l'approche Doctrine plutôt que le script SQL:
Supprimer la base de données et la recréer:
php bin/console doctrine:database:drop --force
php bin/console doctrine:database:createCréer le schéma directement (sans passer par les migrations):
php bin/console doctrine:schema:createCréer un utilisateur administrateur:
php bin/console doctrine:query:sql "INSERT INTO user (email, roles, password, first_name, last_name, is_verified, created_at, updated_at) VALUES ('admin@roofly.com', '[\"ROLE_ADMIN\"]', '\$2y\$13\$A8MQM2ZNOi99EW.ML7srhOJsCaybSbexAj/0yXrJs4gQ/2BqMMW2K', 'Admin', 'ROOFLY', 1, NOW(), NOW())"Une fois la base de données correctement configurée, vous pouvez lancer le serveur:
symfony server:startPuis accéder à l'application via http://127.0.0.1:8000 et vous connecter avec:
N'hésitez pas à me faire savoir si vous rencontrez d'autres problèmes!
Symfony Exception
Symfony Docs
SyntaxError
HTTP 500 Internal Server Error
Unknown "encore_entry_link_tags" function.
ExceptionLogs 1Stack Trace
Twig\Error
SyntaxError
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\templates\base.html.twig (line 9)
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>{% block title %}ROOFLY - Logements étudiants{% endblock %}</title> <link rel="icon" href="{{ asset('favicon.ico') }}"> {% block stylesheets %} {{ encore_entry_link_tags('app') }} <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.0/font/bootstrap-icons.css"> <link rel="stylesheet" href="{{ asset('css/styles.css') }}"> {% endblock %} </head>
ExpressionParser->getFunction('encore_entry_link_tags', 9)
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\ExpressionParser.php (line 533)
ExpressionParser->getFunctionNode('encore_entry_link_tags', 9)
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\ExpressionParser.php (line 322)
ExpressionParser->parsePrimaryExpression()
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\ExpressionParser.php (line 265)
ExpressionParser->getPrimary()
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\ExpressionParser.php (line 102)
ExpressionParser->parseExpression()
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Parser.php (line 158)
Parser->subparse(array(object(BlockTokenParser), 'decideBlockEnd'), true)
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\TokenParser\BlockTokenParser.php (line 46)
BlockTokenParser->parse(object(Token))
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Parser.php (line 202)
Parser->subparse(null, false)
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Parser.php (line 95)
Parser->parse(object(TokenStream))
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Environment.php (line 559)
Environment->parse(object(TokenStream))
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Environment.php (line 590)
Environment->compileSource(object(Source))
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Environment.php (line 409)
Environment->loadTemplate('__TwigTemplate_e29196a5684a9c2b1122bc74e1060db4', 'base.html.twig', null)
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Template.php (line 299)
Template->loadTemplate('base.html.twig', 'home/index.html.twig', 1)
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\var\cache\dev\twig\aa\aad97735352ba253d5d975007d9f55f5.php (line 53)
__TwigTemplate_66039494f2af62eec4aa065547f5a08a->doDisplay(array('latestProperties' => array(), 'app' => object(AppVariable)), array('title' => array(object(__TwigTemplate_66039494f2af62eec4aa065547f5a08a), 'block_title'), 'body' => array(object(__TwigTemplate_66039494f2af62eec4aa065547f5a08a), 'block_body')))
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Template.php (line 388)
Template->yield(array('latestProperties' => array(), 'app' => object(AppVariable)), array('title' => array(object(__TwigTemplate_66039494f2af62eec4aa065547f5a08a), 'block_title'), 'body' => array(object(__TwigTemplate_66039494f2af62eec4aa065547f5a08a), 'block_body')))
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Template.php (line 344)
Template->display(array('latestProperties' => array()))
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Template.php (line 359)
Template->render(array('latestProperties' => array()))
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\TemplateWrapper.php (line 51)
TemplateWrapper->render(array('latestProperties' => array()))
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\twig\twig\src\Environment.php (line 334)
Environment->render('home/index.html.twig', array('latestProperties' => array()))
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\symfony\framework-bundle\Controller\AbstractController.php (line 251)
AbstractController->renderView('home/index.html.twig', array('latestProperties' => array()))
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\symfony\framework-bundle\Controller\AbstractController.php (line 259)
AbstractController->render('home/index.html.twig', array('latestProperties' => array()))
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\src\Controller\HomeController.php (line 22)
HomeController->index(object(PropertyRepository))
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\symfony\http-kernel\HttpKernel.php (line 156)
HttpKernel->handleRaw(object(Request), 1)
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\symfony\http-kernel\HttpKernel.php (line 78)
HttpKernel->handle(object(Request), 1, true)
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\symfony\http-kernel\Kernel.php (line 199)
Kernel->handle(object(Request))
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\symfony\runtime\Runner\Symfony\HttpKernelRunner.php (line 37)
HttpKernelRunner->run()
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\autoload_runtime.php (line 35)
require_once('C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\vendor\autoload_runtime.php')
in C:\l2dsi2\xmaap\htdocs\synfony2025\roofly-database (1)\public\index.php (line 5)