start_sf5_project_reboot/README.md

48 lines
2.1 KiB
Markdown

Environnement de développement Docker pour démarrer un nouveau projet Symfony5
==================================
# Présentation
L'objectif de ce dépôt est de proposer et de faire évoluer une configuration de départ pour démarrer très simplement un nouveau projet Symfony dans des conteneurs Docker.
En suivant pas-à-pas les instructions à partir du chapitre "Installation", on peut démarrer en quelques minutes un nouveau projet.
Le dépôt propose plusieurs branches qui peuvent être utilisées selon le point de départ recherché:
## 1_docker_ready
La branche `1_docker_ready` fournit juste le docker-compose.yml et les Dockerfile qui permettent de construire les conteneurs.
* `$ cd my-project-dir`
* `$ docker-compose build`
* `$ docker-compose up -d`
* `$ docker-compose exec -u 1000 php bash`
A ce stade les commandes `composer` et `symfony` sont disponibles pour lancer la création du projet.
Après ça on choisira dans le fichier `app/.env` le type de base de donnée. Un conteneur est prévu pour utiliser postgresql.
## 2_symfony_demo
* commandes exécutées:
* `$ symfony new --demo demo`
* `$ mv demo/* . && mv demo/.* . && rmdir demo`
Cette branche démarre d'une installation toute prête de la demo Symfony. La db est enregistrée dans le repo dans un simple fichier sqlite (`app/data/database.sqlite`). Le conteneur docker postgresql est donc désactivé.
## 3_start_new_project
* commandes exécutées:
* `$ symfony new myproject`
* `$ mv myproject/* . && mv myproject/.* . && rmdir myproject`
* `composer require annotations twig orm form form validator maker-bundle security-csrf \
&& composer require --dev profiler`
* Adapt querystring in `./app/.env`:
```
--- DATABASE_URL="postgresql://db_user:db_password@127.0.0.1:5432/db_name?serverVersion=13&charset=utf8"
+++ DATABASE_URL="postgresql://postgres:secret@db:5432/postgres?serverVersion=12&charset=utf8"
```
* Create database schema: `bin/console doctrine:schema:create`
* `$ composer require symfony/webpack-encore-bundle` and `$ yarn install --force`
* `$ yarn add sass sass-loader`
* `$ composer require --dev symfony/debug-bundle symfony/var-dumper`