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 :
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 :