Commit 8efef78a authored by Cédric Girardot's avatar Cédric Girardot

Docs : Complète la documention d'installation

Change-Id: Idf6e741d9fccece4151f659cff2d6d35e4943eb4
parent 4075b90b
# Environment (dev, prod, etc...)
ENVIRONMENT=prod
ENVIRONMENT=dev
COMPOSE_PROJECT_NAME=depnot
......
# Installation du projet avec docker pour les développeurs
## Téléchargement
[Download](https://gitlab.adullact.net/departements-notaires/departements-notaires-v2/repository/archive.zip?ref=master)
## Configuration (facultatif - les fichiers sont créés si non présent lors de l'installation)
Créer les fichiers .env et appli_sf/.env en copiant respectivement les fichiers .env.dist et appli_sf/.env.dist et les modifier si besoin.
Dans le fichier appli_sf/.env :
* APP_ENV doit être assigné avec la valeur "dev"
* DATABASE_URL doit être définie de cette façon : mysqli://DB_USER:DB_PASSWORD@database:3306/DB_NAME\
DB_USER, DB_PASSWORD et DB_NAME sont les mêmes que dans le .env à la racine
* MAILER_DSN doit contenir smtp://mail:1025
* Bien renseigner MAILER_SENDER avec une adresse mail d'envoi
## Installation
```shell script
make install
```
Vérifier la présence et le contenu des fichiers .env et appli_sf/.env. Relancer les conteneurs docker en cas de modification : `make docker-restart`
## Accès aux services
Application web : `http://HTTP_HOSTNAME:HTTP_PORT` ou `http://127.0.0.1:HTTP_PORT`
Client de messagerie : `http://HTTP_HOSTNAME:MAILER_CLIENT_PORT`
\* HTTP_HOSTNAME, HTTP_PORT et MAILER_CLIENT_PORT sont définies dans le .env à la racine
## Initialiser la base données
Créer un nouvel utilisateur :
```
./bin/console user:add
```
Et importer les données de test :
```
./bin/console import:individus imports/individus.csv
```
## Réinitialiser le projet
Suppression des containers et volumes docker ainsi qu'un effacement des fichiers générés :
```
make clean
```
*/!\ Les fichiers .env et appli_sf/.env ne sont pas supprimés*
## Commandes à connaitre
* Commandes Symfony :
```
./bin/console
```
* Vider les caches Symfony :
```
./bin/console cache:clear
```
* Relancer une installation avec réinitialisation :
```
make reset
```
*Équivalent à `make clean` suivi de `make install`*
*\/!\ Les fichiers .env et appli_sf/.env ne sont pas supprimés. Les supprimer manuellement avant pour une réinitialisation complète*
* Utiliser composer :
```
./bin/composer
```
* Utiliser yarn :
```
./bin/yarn
```
* Compiler les ressources (JS + SCSS)
```
./bin/yarn dev
```
* Activer le "watcher" pour les ressources (JS + SCSS)
```
./bin/yarn watch
```
* Démarrer les conteneurs docker
```
make docker-start
```
* Stopper les conteneurs docker
```
make docker-stop
```
* Redémarrer les conteneurs docker
```
make docker-restart
```
* Détruire les conteneurs docker
```
make docker-kill
```
## Outils d'analyse et de tests du code
* PHP_CodeSniffer :
```
./bin/phpcs
```
* PHPStan :
```
./bin/phpstan
```
# Installation du projet en local pour les développeurs
## Téléchargement
[Download](https://gitlab.adullact.net/departements-notaires/departements-notaires-v2/repository/archive.zip?ref=master)
## Installation
```shell script
make install
```
## Configuration
Vérifier que les fichiers .env et appli/.env ont bien été créés et les modifier si besoin.
Dans le fichier appli_sf/.env :
* APP_ENV doit être assigné avec la valeur "dev"
* DATABASE_URL doit être définie de cette façon : mysqli://DB_USER:DB_PASSWORD@database:3306/DB_NAME\
DB_USER, DB_PASSWORD et DB_NAME sont les mêmes que dans le .env à la racine
## Accès aux services
Application web : ```http://HTTP_HOSTNAME:HTTP_PORT``` ou ```http://127.0.0.1:HTTP_PORT```
Client de messagerie : ```http://HTTP_HOSTNAME:MAILER_CLIENT_PORT```
\* HTTP_HOSTNAME, HTTP_PORT et MAILER_CLIENT_PORT sont définies dans le .env à la racine
## Commandes
Commandes Symfony :
./bin/console
Vider les caches :
./bin/console cache:clear
# Lancer les tests E2E avec Cypress
Suivre la procédure décrite [ici](HOWTO_installation_locale.md) pour l'installation du projet en local.
Suivre la procédure décrite [ici](HOWTO_installation_docker.md) pour l'installation du projet en local.
Les tests E2E permettent de vérifier le bon fonctionnement de l'appli. Avant de proposer une modification du code de l'appli,
il est très fortement conseillé de lancer ces tests en local (et d'en ajouter si besoin) :
/!\ Lancer les tests écrase les données existantes en base de données
##### En mode console :
* Se placer à la racine du projet et lancer ```bin/cypress```
* Se placer à la racine du projet et lancer `bin/cypress`
* Pour lancer un test sur un fichier de spec spécifique utiliser l'option --spec : \
`bin/cypress --spec 'cypress/integration/EmptyDB/1-login.spec.js'`
##### En mode graphique :
* Se placer à la racine du projet et lancer ```bin/cypress-gui```
\ No newline at end of file
* Se placer à la racine du projet et lancer `bin/cypress-gui`
......@@ -34,7 +34,7 @@ Mises à jour :
Pour développeurs :
* Construction des [images Docker](Documentation/Developpeur/HOWTO_installation_locale.md)
* Construction des [images Docker](Documentation/Developpeur/HOWTO_installation_docker.md)
* [Tests end-to-end](Documentation/Developpeur/TEST_E2E_D&N_v2.md) pour les recettes
## Changelog
......
......@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "76e8846c09f992ed0e8798fa5035bf20",
"content-hash": "76ffe44709c5a5077880bb601ea0cde0",
"packages": [
{
"name": "beberlei/doctrineextensions",
......
......@@ -372,7 +372,7 @@
"version": "v4.4.1"
},
"symfony/inflector": {
"version": "v4.4.1"
"version": "v5.1.2"
},
"symfony/intl": {
"version": "v4.4.1"
......
......@@ -2,5 +2,5 @@
set -e
xhost +
docker-compose run --rm --entrypoint "cypress run --project /srv/appli_sf/tests/E2E --env ENVIRONMENT=dev" e2e
docker-compose run --rm --workdir "/srv/appli_sf/tests/E2E/" --entrypoint "cypress run --project /srv/appli_sf/tests/E2E/ --env ENVIRONMENT=dev $*" e2e
xhost -
......@@ -2,5 +2,5 @@
set -e
xhost +
docker-compose run --rm --entrypoint "cypress open --project /srv/appli_sf/tests/E2E --env ENVIRONMENT=dev" e2e
docker-compose run --rm --entrypoint "cypress open --project /srv/appli_sf/tests/E2E --env ENVIRONMENT=dev $*" e2e
xhost -
#!/bin/bash
./bin/test-php-docker-running
docker-compose exec php //entrypoint php vendor/bin/php-cs-fixer $@
#!/bin/bash
if [ $# -eq 1 ]; then
VERSION=$1
else
NUM_MAJOR=$(git describe --abbrev=0 | cut -d . -f1)
NUM_MINOR=$(git describe --abbrev=0 | cut -d . -f2)
NUM_RELEASE=$(($(git describe --abbrev=0 | cut -d . -f3) + 1))
VERSION="$NUM_MAJOR.$NUM_MINOR.$NUM_RELEASE"
fi
echo "$VERSION set"
sh -c "git add appli_sf/composer.json && git add appli_sf/package.json && git commit -m 'Release ${VERSION}' && git push origin HEAD:refs/for/master"
......@@ -92,7 +92,7 @@ services:
volumes:
- ./:/srv/
- /tmp/.X11-unix:/tmp/.X11-unix
- ${DOCKER_SOCK}:/var/run/docker.sock
- ${DOCKER_SOCK:-/var/run/docker.sock}:/var/run/docker.sock
volumes:
database: ~
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment