.. | ||
static | ||
templates | ||
config.ini.sample | ||
ftth-ipe-map.service | ||
main.py | ||
poetry.lock | ||
pyproject.toml | ||
README.md | ||
run-dev-server | ||
startGunicornService |
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.
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:
./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:
- Stopper le service qui tourne actuellement.
- Mettre à jour le dépôt git sur
origin/master
. - Mettre à jour le service systemd
./ftth-ipe-map.service
. - 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: librairie qui nous permet d'afficher une carte interactive à partir des tiles "FR" de openstreetmap.fr.
- Autocomplete: librairie qui nous fournit un composant HTML/Javascript d'autocomplete. Nous l'utilisons pour l'interface utilisateur du geocodeur.
- Flask: micro-framework dans lequel le backend est implémenté.
- Spatialite: extension geodb pour SQLite dont on se sert pour réaliser des requêtes spatiales sur notre base de données.
- Komoot Photon: API de geocodage dont on se sert pour récupérer une position GPS à partir d'une addresse postale.