webapp: add readme

This commit is contained in:
Félix Baylac-Jacqué 2022-02-24 11:20:49 +01:00
parent 52e4ecb2a2
commit 5f5c08798a
No known key found for this signature in database
GPG key ID: EFD315F31848DBA4

41
webapp/README.md Normal file
View file

@ -0,0 +1,41 @@
# Application Web
https://tools.aquilenet.fr/ftth-ipe-map/
Cette application web expose les données issues de la BDD générée par `../data-ingest/ingest` sous la forme d'une carte interactive.
Dépendances: `poetry`, `sqlite3`, `mod-spatialite`.
Toutes les données sont gérées localement à l'exception du geocodeur qui utilise [photon de komoot](https://photon.komoot.io/).
# Environnement de développement
Il faut faudra installer au préalable `poetry`, `sqlite3`, `mod-spatialite` ou lancer le `nix-shell` à la racine de ce projet.
Il vous faut ensuite générer une base de données des IPEs fournis par axione à l'aide du script `../data-ingest/ingest`. Enfin, il faudra pointer cette base de données à l'aide d'un fichier de config `./config.ini` (voir `./config.ini.sample` pour le template).
Pour lancer le serveur de dev:
```sh
./run-dev-server
```
## Déployer sur Gaia
Tous les fichiers necessaire au déploiement sur https://tools.aquilenet.fr/ftth-ipe-map/, à l'exception de la configuration Apache, sont présents dans ce dépôt git.
Pour déployer ce dépôt, rendez-vous sur Gaia dans `/srv/www/ftth-ipe-map` puis lancez le script `./update` avec votre utilisateur habituel (ie. pas root) pour:
1. Stopper le service qui tourne actuellement.
2. Mettre à jour le dépôt git sur `origin/master`.
3. Mettre à jour le service systemd `./ftth-ipe-map.service`.
4. Redémarrer le nouveau service.
Si vous souhaitez déployer une branche autre que `origin/master`, editez le script et spécifiez la branche que vous souhaitez déployer dans la variable `gitBranch`.
## Composants Utilisés
- [Leaflet](https://leafletjs.com/): librairie qui nous permet d'afficher une carte interactive à partir des tiles ["FR" de openstreetmap.fr](https://wiki.openstreetmap.org/wiki/FR:Serveurs/tile.openstreetmap.fr#Fond_de_carte_.22FR.22).
- [Autocomplete](https://autocomplete.trevoreyre.com/#/): librairie qui nous fournit un composant HTML/Javascript d'autocomplete. Nous l'utilisons pour l'interface utilisateur du geocodeur.
- [Flask](https://flask.palletsprojects.com/en/2.0.x/): micro-framework dans lequel le backend est implémenté.
- [Spatialite](https://www.gaia-gis.it/fossil/libspatialite/index): extension geodb pour SQLite dont on se sert pour réaliser des requêtes spatiales sur notre base de données.
- [Komoot Photon](https://photon.komoot.io/): API de geocodage dont on se sert pour récupérer une position GPS à partir d'une addresse postale.