update readme

This commit is contained in:
Tchama 2022-10-01 17:25:04 +02:00
parent d9be4d7198
commit ff3b2b9159

View File

@ -1,22 +1,86 @@
Environnement de développement Docker pour démarrer un nouveau projet Symfony5
==================================
# Présentation
On repart de 1_docker_ready, et la procédure d'installation s'adapte comme ceci:
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.
# Adaptations de la procédure d'installation
En suivant pas-à-pas les instructions à partir du chapitre "Installation", on peut démarrer en quelques minutes un nouveau projet.
## 1. se mettre sur la bonne branche
Le dépôt propose plusieurs branches qui peuvent être utilisées selon le point de départ recherché:
```bash
$ git co -b 1_docker_ready origin/1_docker_ready
```
## 1_docker_ready
## 2. builder le projet
La branche `1_docker_ready` fournit juste le docker-compose.yml et les Dockerfile qui permettent de construire les conteneurs.
```bash
$ docker-compose build
$ docker-compose up
.. 221001_test3_db_1 exited with code 1
```
* `$ cd my-project-dir`
* `$ docker-compose build`
* `$ docker-compose up -d`
* `$ docker-compose exec -u 1000 php bash`
## 3. parce que 'db' ne se lance pas:
A ce stade les commandes composer et symfony sont disponible 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. Par défaut, Symfony proposera l'utilisation d'un fichier sqlite (`app/data/database.sqlite`).
```bash
$ docker-compose rm db
$ sudo rm -rf ./data
$ docker-compose up db
```
## 4. entrer dans php
```bash
$ docker-compose exec -u 1000 php bash
```
## 5. create project
```bash
$ symfony new tadaam
$ mv tadaam/* . && mv tadaam/.* . && rmdir tadaam
```
## 6. composer require la base
```bash
$ composer require doctrine/annotations twig/twig doctrine/orm symfony/orm-pack symfony/form symfony/maker-bundle symfony/security-csrf
```
## 7. connexion postgresql
modifier DATABASE_URL dans app/.env :
```bash
+++ DATABASE_URL="postgresql://postgres:secret@db:5432/postgres?serverVersion=12&charset=utf8"
```
et dans le conteneur php :
```bash
$ bin/console doctrine:schema:create
```
## 8. composer require, la suite..
```bash
$ composer require symfony/yaml symfony/twig-bridge symfony/validator
$ composer require symfony/asset symfony/expression-language symfony/security-http symfony/translation symfony/web-link egulias/email-validator symfony/expression-language symfony/intl symfony/translation
$ composer require --dev symfony/profiler-pack symfony/debug-bundle symfony/var-dumper
```
## 9. Yarn
```bash
$ composer require symfony/webpack-encore-bundle
```
mettre en place le script qui lance docker node, le lancer pour entrer dans le conteneur node:
```bash
$ yarn install --force
$ yarn add sass sass-loader
$ yarn encore dev-server
```
## 10. c'est fait
le site est disponible sur http://localhost:8000