# 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 `':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 4 : 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 ```