diff --git a/README.md b/README.md new file mode 100644 index 0000000..b3700a4 --- /dev/null +++ b/README.md @@ -0,0 +1,62 @@ +# Projet Symfony avec Docker + +Ce projet utilise **Docker Compose** pour gérer un environnement Symfony avec une base de données. + +## 📌 Prérequis + +Avant de démarrer, assurez-vous d'avoir installé : + +- [Docker](https://www.docker.com/) +- [Docker Compose](https://docs.docker.com/compose/) + +## 🚀 Installation et démarrage du projet + +### 1️⃣ Copier le fichier `.env.dist` vers `.env` +Le fichier `.env` contient les variables d'environnement nécessaires au projet. + +```sh +make copy-env +``` + +### 2️⃣ Démarrer le projet +Pour lancer le projet avec Docker : + +```sh +make start +``` + +Cela effectuera les actions suivantes : +- Lancer les conteneurs en arrière-plan. +- Créer la base de données si elle n'existe pas. +- Appliquer les migrations. +- Charger les données de test (fixtures). + +### 3️⃣ Arrêter le projet +Pour arrêter les conteneurs : + +```sh +make stop +``` + +## 🛠 Commandes utiles + +### 📖 Afficher l'aide des commandes disponibles +```sh +make help +``` + +### 🛡 Vérifications et corrections +- **Analyse du code avec PHPStan** : + ```sh + make phpstan + ``` +- **Correction du code avec PHP-CS-Fixer** : + ```sh + make php-cs-fixer + ``` +- **Exécuter les tests avec PHPSpec** : + ```sh + make phpspec + ``` + +👨💻 **Happy coding!** diff --git a/apps/back/composer.json b/apps/back/composer.json index a5b16fb..3b155aa 100644 --- a/apps/back/composer.json +++ b/apps/back/composer.json @@ -11,6 +11,7 @@ "doctrine/doctrine-bundle": "^2.13", "doctrine/doctrine-migrations-bundle": "^3.0", "doctrine/orm": "^3.3", + "symfony/asset": "7.2.*", "symfony/console": "7.2.*", "symfony/dotenv": "7.2.*", "symfony/flex": "^2", diff --git a/apps/back/composer.lock b/apps/back/composer.lock index 597c751..687d014 100644 --- a/apps/back/composer.lock +++ b/apps/back/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "9208ed220cfebac40fbd256c6311a205", + "content-hash": "ce711da6ac88c3862b7167d680d2c93c", "packages": [ { "name": "doctrine/cache", @@ -1470,6 +1470,75 @@ }, "time": "2024-09-11T13:17:53+00:00" }, + { + "name": "symfony/asset", + "version": "v7.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/asset.git", + "reference": "cb926cd59fefa1f9b4900b3695f0f846797ba5c0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/asset/zipball/cb926cd59fefa1f9b4900b3695f0f846797ba5c0", + "reference": "cb926cd59fefa1f9b4900b3695f0f846797ba5c0", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "conflict": { + "symfony/http-foundation": "<6.4" + }, + "require-dev": { + "symfony/http-client": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Asset\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/asset/tree/v7.2.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-10-25T15:15:23+00:00" + }, { "name": "symfony/cache", "version": "v7.2.4", diff --git a/apps/back/public/images/edgar.jpg b/apps/back/public/images/edgar.jpg new file mode 100644 index 0000000..db664ba Binary files /dev/null and b/apps/back/public/images/edgar.jpg differ diff --git a/apps/back/public/images/logos_php_dotrine.png b/apps/back/public/images/logos_php_dotrine.png new file mode 100644 index 0000000..28ef69d Binary files /dev/null and b/apps/back/public/images/logos_php_dotrine.png differ diff --git a/apps/back/src/Application/HTTP/Controller/Home.php b/apps/back/src/Application/HTTP/Controller/Home.php index 29f9970..adb4259 100644 --- a/apps/back/src/Application/HTTP/Controller/Home.php +++ b/apps/back/src/Application/HTTP/Controller/Home.php @@ -18,7 +18,7 @@ public function __construct( ) { } - #[Route('/', methods: ['GET'])] + #[Route('/', methods: ['GET'], name: 'course_index')] public function __invoke(): Response { $courses = $this->courses->findAll(); diff --git a/apps/back/templates/base.html.twig b/apps/back/templates/base.html.twig index 3db3fc9..3206937 100644 --- a/apps/back/templates/base.html.twig +++ b/apps/back/templates/base.html.twig @@ -12,6 +12,9 @@ {% endblock %}
+ +
+
{% block body %}{% endblock %}