Skip to content

Commit

Permalink
Install et custom front
Browse files Browse the repository at this point in the history
  • Loading branch information
amandine-sahl committed Jul 7, 2023
1 parent 09c0dde commit bc72f12
Showing 1 changed file with 50 additions and 21 deletions.
71 changes: 50 additions & 21 deletions docs/deploiement.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,22 @@
* Tailwind CSS
* Prime Vue pour les composants complexes (datatable, dataview, ...)

## Déploiement

### Lien de réservation dans Geotrek Rando
## Lien de réservation dans Geotrek Rando

Il faut ajouter le script `install/scriptsFooter.html` dans la customization de Geotrek Rando.
L'emplacement est `<geotrek-rando>/customization/html/scriptsFooter.html`.
## Préparation de la BD

### Déployer le backend
L'outil doit pouvoir se connecter sur la BD Geotrek Admin. La définition des tables et fonctions nécessaires se trouve
dans `./db/create_db_structure.sql`.

Le déploiement en prod est plutôt pensé pour utiliser docker. Les fichiers suivants sont fournis :
Les commandes créent les tables nécessaires (nécessite les privilèges de lecture et référencement de la table
`tourism_touristicevent`) dans le nouveau schéma `animations`.

## Déployer le backend

Le déploiement en prod est plutôt pensé pour utiliser docker, mais il peut être réalisé de façon plus classique. Les fichiers suivants sont fournis :

- docker-compose.yml
- backend/Dockerfile
Expand All @@ -29,56 +35,79 @@ Le déploiement en prod est plutôt pensé pour utiliser docker. Les fichiers su
Un fichier de configuration `config.py` est à fournir au backend. Plus d'infos sur `backend/README.md`.

Le backend du portail de réservation se connecte directement sur la base de données de Geotrek Admin en lecture seule.
La procédure pour créer le schéma et les tables attendus est détaillée ainsi que les possibilités pour fournir
les infos de connexion au backend.

### Déployer le frontend
## Déployer le frontend

**Construire le build**
### Construire le build

La commande `npm run build` permet de construire le projet.

Le résultat de cette commande se situe dans le dossier `dist`.
Une fois la configuration réalisée, il faut construire le projet. Les résultats du build se situe dans le dossier `dist`.

Le contenu de ce dossier est le livrable, il peut être déployé sur un serveur Apache / Nginx.

Copier les fichiers de customisation et les
```sh
cd front-vite
cp -n .env.sample .env
cp -n public/config/config.js.sample public/config/config.js
cp -n public/css/custom.css.sample public/css/custom.css
cp -n public/public/page_info_admin.md.sample public/public/page_info_admin.md
cp -n public/public/page_reservation.md.sample public/public/page_reservation.md
cp -n public/public/page_accueil.md.sample public/public/page_accueil.md
```

Lancer les commandes
```sh
cd front-vite
nvm use
npm ci
npm run build
```

### Configuration

**Configurer le front (fichier config.js)**

Le build contient un exemple de configuration à adapter à chaque environnement.

**Configuration principale**
Voici le contenu du fichier `config.js` :

```js
// URL_APPLICATION: Url de l'application backend
// URL_GTA: url de l'application geotrek admin
// URL_GTR: url de l'application geotrek
// DAY_BEFORE_RESA: nombre de jours avant la date de debut de l'animation ou l'inscription est possible (si -1 aucune limitation de date)
// RESA_NB_DELTA: nombre de participants surnuméraire acepté en plus du nombre de participants spécifiés dans geotrek
// RESA_BEGINNING_DATE: date à partir de laquelle les réservations sont ouvertes (PNG)

const CONFIGURATION = {
URL_APPLICATION: 'http://localhost:5000',
URL_GTA: 'http://localhost:8000',
URL_GTR: 'http://localhost:8000',
DAY_BEFORE_RESA: -1,
RESA_NB_DELTA: 3,
RESA_BEGINNING_DATE: new Date('2023-06-26')
RESA_BEGINNING_DATE: new Date('2023-06-26')
}
```

* `URL_APPLICATION` correspond à l'API du serveur backend Flask
* `URL_GTA` correspond à l'URL du portail Geotrek Admin
* `URL_GTR` correspond à l'URL du portail Geotrek grand public
* `DAY_BEFORE_RESA` est une variable précédemment utilisée par les Cévennes. Non utilisée à ce jour (voir `RESA_BEGINNING_DATE`) : mettre -1
* `DAY_BEFORE_RESA` nombre de jour avant le début de l'animation où l'inscription est bloquée. Si -1, non pris en compte
* `RESA_NB_DELTA` est une tolérance pour accepter une réservation qui dépasserait la capacité d'accueil de l'animation
* `RESA_BEGINNING_DATE` est la date à partir de laquelle l'outil permet de créer une réservation


**Customiser les fichiers md**

Afin de permettre une souplesse côté textes affichés à l'utilisateur,
nous avons mis en place plusieurs fichiers Markdown
nous avons mis en place plusieurs fichiers Markdown
permettant via un montage docker d'écraser le contenu par défaut proposé dans le code source.

* `public/page_accueil.md` : affiché sur la page d'accueil du site
* `public/page_reservation.md` : affiché sur la page de listing des réservations de l'utilisateur
* `public/page_info_adin.md` : page d'information réservée aux administrateurs


**`.env`**

Configuration générale de l'application
* `VITE_APP_TITLE` : Titre de la page


**Style**

Vous pouvez customiser l'application en ajoutant du css dans le fichier `public/css/custom.css`

0 comments on commit bc72f12

Please sign in to comment.