upgrade master to 5_start_new-project

This commit is contained in:
2022-10-01 17:50:16 +02:00
parent c66a8dc226
commit dff116af30
55 changed files with 4488 additions and 5528 deletions

102
README.md
View File

@@ -1,52 +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 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.
```bash
$ docker-compose rm db
$ sudo rm -rf ./data
$ docker-compose up db
```
## 2_symfony_demo
## 4. entrer dans php
* commandes exécutées:
* `$ symfony new --demo demo`
* `$ mv demo/* . && mv demo/.* . && rmdir demo`
```bash
$ docker-compose exec -u 1000 php bash
```
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é.
## 5. create project
## 3_start_new_project
```bash
$ symfony new tadaam
$ mv tadaam/* . && mv tadaam/.* . && rmdir tadaam
```
* 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`
## 6. composer require la base
## 4_start_with_vue
```bash
$ composer require doctrine/annotations twig/twig doctrine/orm symfony/orm-pack symfony/form symfony/maker-bundle symfony/security-csrf
```
Pour démarrer un projet avec des composants vues
## 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