# 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.