Installation

Prérequis

Pour construire l’application il vous faudra :

  • PHP version 8.1 minimum (avec ext-ctype, ext-gd, ext-iconv, ext-intl, ext-xsl) ;

  • Composer (version 2 minimum) ;

  • Yarn (version 1.17 minimum).

Note

Cela ne sera pas nécéssaire si vous utilisez Docker.

Pour utiliser l’application il vous faudra :

  • PHP version 8.1 minimum (avec ext-ctype, ext-gd, ext-iconv, ext-intl, ext-xsl) ;

  • Un compte Google (pour envoyer des mails) ;

  • Une base de données (MySQL ou MariaDB ou PostgreSQL ou SQLite) ;

  • Une clé d’API Google (voir plus dans la partie « ``_ ») ;

  • Un compte OVH avec des sms dessus et de quoi s’y connecter (voir plus dans la partie « Compte OVH ») ;

  • Une clé d’API OpenCage (voir plus dans la partie « API OpenCage »).

Installation des prérequis

PHP

Debian et dérivées

Avertissement

Les commandes ci dessous demandent un accés administrateur ou sudo.

sudo apt update -y
sudo apt install ca-certificates apt-transport-https software-properties-common wget curl lsb-release -y
curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x
sudo apt update -y
sudo apt install php8.1 -y
sudo apt install libapache2-mod-php8.1
sudo systemctl restart apache2
sudo apt install php8.1-common php8.1-curl php8.1-bcmath php8.1-intl php8.1-mbstring php8.1-xmlrpc php8.1-mcrypt php8.1-mysql php8.1-gd php8.1-xml php8.1-cli php8.1-zip php8.1-ctype php8.1-iconv php8.1-intl php8.1-xsl -y
sudo apt install php8.1-fpm libapache2-mod-fcgid -y
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.1-fpm
sudo systemctl restart apache2

Liens :

RHEL et dérivées

Avertissement

Les commandes ci dessous demandent un accés administrateur ou sudo.

sudo yum update -y
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
sudo dnf install dnf-utils https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
sudo dnf module reset php -y
sudo dnf module enable php:remi-8.1 -y
sudo dnf install php
sudo dnf install php-{cli,fpm,mysqlnd,zip,devel,gd,mbstring,curl,xml,pear,bcmath,json,opcache,redis,memcache,xsl,iconv,intl,ctype}
sudo yum update -y

Liens :

Windows et MacOs

Je vous recomande l’outil XAMPP

Composer

Veuillez suivre les consignes d’installation de Composer

Yarn

Il faut tout d’abord installer node js et npm pour cela allez sur le site de node js.

Ensuite installez yarn via npm :

npm install --global yarn

Base de données

Install MariaDB

Debian et dérivées :

Avertissement

Les commandes ci dessous demandent un accés administrateur ou sudo.

sudo apt update -y
sudo apt install mariadb-server -y
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
sudo mysql_secure_installation

RHEL et dérivées :

Avertissement

Les commandes ci dessous demandent un accés administrateur ou sudo.

sudo yum update -y
sudo yum install mariadb-server -y
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
sudo mysql_secure_installation

Windows et MacOs :

Je vous recomande l’outil XAMPP

Install PostgreSQL

Debian et dérivées :

Avertissement

Les commandes ci dessous demandent un accés administrateur ou sudo.

sudo apt update -y
sudo apt install postgresql postgresql-client -y
sudo systemctl enable --now postgresql
sudo systemctl start postgresql
sudo mysql_secure_installation

RHEL et dérivées :

Avertissement

Les commandes ci dessous demandent un accés administrateur ou sudo.

sudo yum update -y
sudo yum install @postgresql -y
sudo postgresql-setup --initdb
sudo systemctl enable --now postgresql
sudo systemctl start postgresql

Windows :

Liens

Compte OVH

Pour avoir un compte OVH il faut acheter des SMS chez ce dernier OVH.

Note

Attention cela peut mettre du temps car une vérification humaine peut être réalisée.

API OpenCage

Afin de l’obtenir il faut se créer un compte sur OpenCage puis récupérer le tocken dans l’onglet Gcoding API.

Construire l’application

Il faut d’abord utiliser Composer en utilisant la commande :

composer install

Ensuite il faut charger les assets avec les commandes :

yarn run build
php bin/console assets:install

Configurer l’application

Note

Cela ne sera pas nécéssaire si vous utilisez Docker.

Il faut créer un fichier à la racine du projet qui se nomme .env.local avec dedans les informations suivantes :

MAILER_DSN=gmail+smtp://{{user}}@gmail.com:{{pass}}@default

# Si la BDD est MySQL ou MariaDB
DATABASE_URL="mysql://{{user}}:{{pass}}@{{IP ou DNS}}:3306/{{DB_NAME}}?charset=utf8mb4"
# Si la BDD est PostgreSQL
DATABASE_URL="postgresql://{{user}}:{{pass}}@{{IP ou DNS}}:5432/{{DB_NAME}}?serverVersion=14&charset=utf8"
# Si la BDD est SQLite
DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db"

DEFAULT_LOCALE=fr
APP_ENV=prod
API_KEY_GOOGLE={{tocken}}
OVHCLOUD_DSN=ovhcloud://{{user}}:{{pass}}@default?consumer_key={{consumer_key}}&service_name={{service_name}}
KEY_OPEN_CAGE_DATA={{TOCKEN}}

Création et initialisation de la bdd

Veuillez executer les commandes suivantes :

php bin/console doctrine:database:create --if-not-exists
php bin/console doctrine:migrations:migrate --no-interaction

Mise en place de l’application

Docker

Si vous utilisez Docker vous pouvez utiliser le docker-compose.yml qui se trouve dans le dossier docker.

Installation classique

Il n’y a pas de configuration particulière à faire sur le serveur web (pas plus que pour un site web avec php).

Cette configuration étant classique et propre à chaque serveur web cela sort du cardre de l’outil.

Cependant je vous conseille les liens ci dessous :

Symfony DOCS :

Mozilla :