- Puis pour installer les fichiers de config exemples :
```bash
docker run \
--rm\
-v$PWD:/app \
-w /app \
--env HTTP_PROXY \
--env HTTPS_PROXY \
--env NO_PROXY \
unicaen-dev-php${PHP_VERSION}-apache\
composer run-script "post-create-project-cmd"
```
### Droits d'écriture
Comme les commandes lancées via Docker (comme ici, `composer`) sont exécutées en `root`, il faut reprendre la main
sur les fichiers créés.
```bash
sudo chown-R${USER}:${USER} .
git checkout skeleton-app-update
```
### Création du dépôt git
@@ -84,30 +41,34 @@ namespace gitlab spécifié.*
## Construction et lancement du container Docker
Il faut penser à modifier les fichiers composer.json et docker-compose.yml pour mettre les informations relatives à l'application (le nom de l'application, le nom du container attendu etc...)
unicaen-dev-php8.0-apache est nécéssaire pour cette étape en skeleton-app-update
```bash
docker-compose up --build
```
- Il faut ensuite accèder au container et récupérer les bibliothèques :
## Module Demo
```bash
docker exec-it nomDuContainer /bin/bash
composer install
chown-R${USER}:${USER}.
composer run-script "post-create-project-cmd"
```
Le squelette d'application possède un module "démo" qui utilise une base de données PostgreSQL de démonstration
permettant d'avoir une authentification locale qui fonctionne.
- Comme les commandes lancées via Docker (comme ici, `composer`) sont exécutées en `root`, il faut reprendre la main
sur les fichiers créés.
Cette base de données est fournie par le service `db` (fichier de config `docker-compose.yml`).
Il y a également un service `adminer` fournissant de quoi explorer la base de données avec l'outil
["Adminer"](https://www.adminer.org) en vous rendant à l'adresse `http://localhost:9080` (sélectionner "PostgeSQL"
et utiliser les informations de connexion à la bdd présentes dans le `docker-compose.yml`).
Pour explorer/administrer la base de données *de l'extérieur du container* (avec PHPStorm par exemple),
l'adresse de la base est cette fois `localhost:8432`.
```bash
chown-R${USER}:${USER} .
```
NB :
- Grâce au montage `./data/db:/var/lib/postgresql/data` spécifié dans `docker-compose.yml`, la base de données est
persistée dans le répertoire `data/db` de l'appli (d'ailleurs, ne pas oublier de faire un `sudo chmod -R 777 data/db`).
- Les scripts de création de la base de données exécutés au lancement du container (si la base n'existe pas déjà)
se trouvent dans le répertoire `./docker/db` de l'appli et sont fournis au container grâce au montage
`./docker/db/:/docker-entrypoint-initdb.d/`.
- Lancer le script qui va déplacer les .dist dans le dossier autoload et les script sql dans un dossier nommé SQL.
Les scripts SQL ne seront pas exécuter automatiquement.