1 changed files with 121 additions and 0 deletions
@ -0,0 +1,121 @@ |
|||
# Projet symfony - pokedex |
|||
|
|||
Dans le cadre du cours de developpement web avancé nous avons fait le choix de developper un pokedex via le framework PHP Symfony. Le pokedex sera accessible en direct depuis le site web ou via une api exposée via le bundle api-platform. |
|||
|
|||
## Deploiement simplifié du projet |
|||
|
|||
Prérequis : |
|||
|
|||
- docker |
|||
|
|||
|
|||
|
|||
### Etape 1 : télécharger le projet d'initialisation de symfony |
|||
|
|||
```bash |
|||
git clone https://gitea.art-dambrine.ovh/art.dambrine/symfony-docker-init.git projet-pokedex |
|||
``` |
|||
|
|||
|
|||
|
|||
Si vous ne souhaitez pas déployer la base de données via docker en local commentez les lignes correpsondantes du `docker-compose.yml`. |
|||
|
|||
**NOTE** : pensez à modifier le port d'exposition nginx `'80:80'` par `'<PORT_EXPOSITION>:80'` |
|||
|
|||
```yml |
|||
version: '3.8' |
|||
services: |
|||
# mariadb: |
|||
# image: mariadb |
|||
# restart: on-failure |
|||
# volumes: |
|||
# - database_pokedex:/var/lib/mysql |
|||
# ports: |
|||
# - '3306:3306' |
|||
# environment: |
|||
# MYSQL_ROOT_PASSWORD: root_password |
|||
# MYSQL_USER: my_user |
|||
# MYSQL_PASSWORD: my_password |
|||
# MYSQL_DATABASE: my_pokedex |
|||
nginx: |
|||
image: nginx:1.19-alpine |
|||
restart: on-failure |
|||
volumes: |
|||
- './docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro' |
|||
ports: |
|||
- '80:80' |
|||
depends_on: |
|||
- php |
|||
volumes_from: |
|||
- php |
|||
php: |
|||
build: |
|||
context: . |
|||
dockerfile: docker/php/Dockerfile |
|||
restart: on-failure |
|||
volumes: |
|||
- '.:/usr/src/app' |
|||
user: "${UID}:${GID}" |
|||
# volumes: |
|||
# database_pokedex: |
|||
``` |
|||
|
|||
|
|||
|
|||
### Etape 2 : télécharger les sources du projet pokedex |
|||
|
|||
```bash |
|||
cd projet-pokedex |
|||
git clone https://gitea.art-dambrine.ovh/art.dambrine/pokedex-api.git src |
|||
``` |
|||
|
|||
|
|||
|
|||
Etape 3 : lancer la stack docker |
|||
|
|||
```bash |
|||
#dans le dossier racine projet-pokedex |
|||
docker-compose build |
|||
UID=${UID} GID=${GID} docker-compose up -d #on passe au docker-compose notre UID et GID pour avoir les droits d'édition partagé entre hôte et container sur les fichiers |
|||
``` |
|||
|
|||
|
|||
|
|||
### Etape 3 : installez le projet symfony et la base de données |
|||
|
|||
1. Modifier les accès à la base de données |
|||
|
|||
```bash |
|||
cd src #se placer dans le dossier du projet symfony |
|||
cp .env .env.local #dupliquer le .env en .env.local |
|||
``` |
|||
|
|||
Editer le fichier `.env.local` pour correspondre avec votre base (exemple ici pour la base locale docker) |
|||
|
|||
``` |
|||
#.env.local |
|||
DATABASE_URL="mysql://my_user:my_password@mariadb:3306/my_pokedex" |
|||
``` |
|||
|
|||
|
|||
|
|||
2. Installer les dépendances de symfony |
|||
|
|||
```bash |
|||
docker-compose exec php bash #connexion au shell du container php |
|||
cd src #se placer dans le dossier symfony |
|||
composer install |
|||
``` |
|||
|
|||
|
|||
|
|||
3. Mettre en place la base de données pokedex via la commande symfony custom |
|||
|
|||
```bash |
|||
php bin/console d:m:m #mise en place du schéma de la bdd |
|||
php bin/console pokedex:setup #command custom charge les données dans le dossier /sql |
|||
``` |
|||
|
|||
|
|||
|
|||
|
Loading…
Reference in new issue