48 lines
2.1 KiB
Markdown
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`
|