Skip to content

Documentation fonctionnelle

HiroKX edited this page Jan 19, 2024 · 31 revisions

Setup du projet

Local

Prérequis :

  • Base de données Nous vous conseillons d'utiliser une base de données PostGreSQL

  • Java 19 Téléchargeable ici

Installation :

Dans le fichier application-local.properties, il vous faut renseigner les variables de connexion propres à votre base de donnée. Il s'agit du port, du nom d'utilisateur, du mot de passe et du nom de la base de donnée.

Une fois que tout ceci est fait, il vous suffit de lancer le programme MySurveyApplication.

Docker

Nous recommandons l'utilisation de Docker car il permet de contenir votre application dans un environnement qui n'atteint pas votre machine. Il est tout de même recommander d'utiliser JAVA19 si vous voulez modifier le projet.

Prérequis

Afin de pouvoir lancer correctement ce projet de cette façon, il vous faut :

  1. Un environnement Docker sur votre machine

Et c'est tout !

Installation

Nous avons mis en place un docker déployant :

  • Une base de donnée PostgreSQL
  • Une interface d'administration de la base de donnée Adminer
  • L'application dans un environnement Ubuntu qui sera build et lancée.

Il est possible d'augmenter la sécurité de votre application lors du déploiement du conteneur en refusant les connexions à la base de donnée pour chaque requête provenant de l'exterieur du conteneur. Pour ce faire, il suffit de retirer ces ligne dans votre docker-compose.ml.

Pour déployer ce conteneur :

  1. Installez docker.
  2. Créez un fichier .env dans le root du projet et éditez la configuration :
SPRING_PROFILES_ACTIVE=local
DB_USERNAME= # Ex : postgres
DB_PASSWORD= # Ex : admin
DB_NAME= # Ex : MySurvey
DB_URL="jdbc:postgresql://db:5432"
SERVER_PORT= # Ex : 8090
ADMINER_PORTS= # Ex : 8081 Optionnel si vous ne souhaitez pas que votre interface adminer soit accessible de l'exterieur.
DB_PORTS= # Ex : 5432 Optionnel si vous ne souhaitez pas que votre database soit accessible de l'exterieur.

DB_USERNAME : le login avec lequel vous accèderez à la base

DB_PASSWORD : le mot de passe avec lequel vous accèderez à la base

DB_NAME : le nom de la base

ADMINER_PORTS : le port d'entrée de la base adminer

DB_PORTS : le port d'entrée de la base PostgreSQL

SERVER_PORT : le port d'entrée du serveur

Il vous faut également, dans le fichier Dockerfile, modifier la variable d'environnement EXPOSE (Ligne 21) en y affectant votre SERVER_PORT.

  1. Ouvrez un CMD dans le root du projet et exécutez la commande suivante : docker-compose up --build

Dans le fichier Dockerfile, il faut modifier la variable EXPOSE par le port voulu pour l'exécution de l'application.

  • Dans un terminal (CMD ou Powershell), placez vous à la racine du projet et exécutez la commande docker-compose up --build

Tests du projet

Pour lancer les tests du projet, utilisez la commande : mvn test

Lancer le projet localement

Pour lancer le projet il faut exécuter le fichier MySurveyApplication

  • Accès à l'api Swagger : http://localhost/:{ VOTRE_SERVER_PORT }/swagger-ui.html (dépend du SERVER_PORT que vous avez set dans .env)
  • Documentation de l'api : http://localhost/:{ VOTRE_SERVER_PORT }/v3/api-docs (dépend du SERVER_PORT que vous avez set dans .env)
  • Interface adminer pour consulter la DB : http://localhost/:{ VOTRE_SERVER_PORT }/ (dépend du SERVER_PORT que vous avez set dans .env)

Accès en ligne

Voici un lien pour y accéder :

Clone this wiki locally