Dépôt comprenant de la géolocation(mobile et web )
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
christophe 58a551941b Mise à jour de 'README.md' 2 weeks ago
README.md Mise à jour de 'README.md' 2 weeks ago

README.md

Geolocali

sation

Installation du service de géolocalisation

Installer les packages python nécessaires à son fonctionnement

$ sudo python3 -m pip install starlette==0.11.4
$ sudo pip3 install uvicorn
$ sudo pip3 install pycountry
$ sudo pip3 install ujson
$ sudo pip3 install geoip2
$ sudo pip3 install requests
$ sudo pip3 install maxminddb
$ sudo pip3 install jinja2
$ sudo pip3 install aiofiles
$ sudo pip3 install pylint
$ sudo pip3 install black
$ sudo pip3 install flake8
$ sudo pip3 install httptools
$ sudo  pip3 install gunicorn
$ sudo pip3 install pygeoip
$ sudo pip3 install wget

Récupérer la base de données de géolocalisation

$ sudo python3 release.py

Tester le fonctionnement du serveur de géolocalisation

$ sudo gunicorn app:app -k uvicorn.workers.UvicornWorker --reload -b IP_PUBLIQUE:8000

Normalement le serveur démarre …

$ curl https://IP_PUBLIQUE:8000/api/geolocate/91.213.103.0 

Créer un sous-domaine (geoip.brachet-christophe.fr par exemple)

Crée un certificat ssl avec Let’s Encrypt ou acheter un certificat SSL

Cas de la création, d’un certificat Let’s Encrypt

$ sudo service nginx stop
$ sudo certbot certonly --standalone -d geoip.brachet-christophe.fr
$ sudo service nginx start

Créer un hôte vituel sous Nginx:

$ cd /etc/nginx/sites-available
$ sudo nano 11-geoip
server {
     listen            51.255.165.236:443 ssl;
     server_name geoip.brachet-christophe.fr;
     # Par défaut les certificats générés avec certbot vont dans /etc/letsencrypt/live/
     # Il faut évidement remplacer le chemin par celui correspondant au domaine
     ssl_certificate /etc/letsencrypt/live/geoip.brachet-christophe.fr/fullchain.pem;
     ssl_certificate_key /etc/letsencrypt/live/geoip.brachet-christophe.fr/privkey.pem;
     ssl_trusted_certificate /etc/letsencrypt/live/geoip.brachet-christophe.fr/chain.pem;
     ssl_protocols TLSv1.2;
     ## Diffie-Hellman
     ssl_ecdh_curve secp384r1;

     ## Ciphers
     ssl_ciphers EECDH+CHACHA20:EECDH+AESGCM:EECDH+AES;
     ssl_prefer_server_ciphers on;

     # OCSP Stapling
     resolver 80.67.169.12 80.67.169.40 valid=300s;
     resolver_timeout 5s;
     ssl_stapling on;
     ssl_stapling_verify on;

     ## TLS parameters
     ssl_session_cache shared:SSL:10m;
     ssl_session_timeout 5m;
     ssl_session_tickets off;

     ## HSTS
     add_header Strict-Transport-Security "max-age=15552000; includeSubdomains; preload";
     client_max_body_size 200M;

    location /geolocationapi/ {
        proxy_pass         http://localhost:8000;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection keep-alive;
        proxy_set_header   Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
}

Créer un service pour gunicorn

$ sudo nano /etc/systemd/system/gunicorn.service
[Unit]
Description= Geolocalisation service

[Service]
WorkingDirectory=/var/geolocationapi
ExecStart=/usr/local/bin/gunicorn app:app -k uvicorn.workers.UvicornWorker --reload
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=gunicorn

[Install]
WantedBy=multi-user.target

Démarrer le service gunicorn

$ sudo service gunicorn start

Le service de géolocalisation fonctionne …

Liste des sites liés à la géolocalisation

Vous trouverez ci-dessous les liens de sites liée à la géolocalisation (Web et Mobile)

Sujet Site
Map Xamarin.Forms https://stackoverrun.com/fr/q/10758397
Map sous Xamarin.Forms https://github.com/TheKlingon/GeoMap_Test
Map sous Xamarin.Forms https://mallibone.com/post/xamarin-maps-addresses-geocoords
Map sous Xamarin.Forms https://docs.microsoft.com/fr-fr/xamarin/xamarin-forms/user-interface/map/
Lancement Map native depuis Xamarin.Forms https://docs.microsoft.com/fr-fr/xamarin/xamarin-forms/user-interface/map/native-map-app
Coordornées GPS sous IOS et Android avec Xamarin.Form https://www.c-sharpcorner.com/article/how-to-retrieve-your-coordinates-on-android-and-ios-with-xamarin-forms-and-xamar/
Coordornées GPS sous IOS et Android avec Xamarin.Form https://docs.microsoft.com/en-us/xamarin/essentials/geolocation?tabs=android
Itinéraire par bus , vélo, à pied sous Xamarin.Forms http://www.itinero.tech
Map gratuite pour Xamarin Form https://github.com/Mapsui/Mapsui
OpenStreetMap+Xamarin+Mapsui https://www.nuomiphp.com/eplan/en/16010.html
QWantMaps https://github.com/QwantResearch/qwantmaps
Tiles server https://wiki.openstreetmap.org/wiki/Tile_servers
Tiles server https://openmaptiles.org/
Tiles server https://switch2osm.org/serving-tiles/
Tiles server https://switch2osm.org/serving-tiles/
Tiles server https://switch2osm.org/serving-tiles/manually-building-a-tile-server-18-04-lts/
Tiles server https://switch2osm.org/serving-tiles/
Tiles server https://pascaldanek.wordpress.com/2014/05/27/osm-part-i-setup-the-tiles-server/
Service de calcul itinéraire https://connect.ed-diamond.com/GNU-Linux-Magazine/GLMF-189/Service-de-calcul-d-itineraire
Moteur de recherche pour le géocodage https://connect.ed-diamond.com/GNU-Linux-Magazine/GLMF-189/Installation-d-un-moteur-de-recherche-pour-du-geocodage
Database GeoIP2 https://www.miyuru.lk/geoiplegacy
geopy https://pypi.org/project/geopy/
geopy https://geopy.readthedocs.io/en/latest
pygeoip https://pygeoip.readthedocs.io/en/v0.3.2/getting-started.html
geocoder https://pypi.org/project/geocoder/0.6.0/
Code région geoip https://apache.developpez.com/cours/geolocalisation/
Coût service géolocalisation http://blog.nalis.fr/index.php?post/2012/04/28/geoip-geolocalisation-par-ip