Skip to content
Snippets Groups Projects

alt text

geocontrib-frontend

Project setup

npm install

Préparation des variables d'environnement

Créer un fichier .env à la racine du projet puis ajouter les variables comme indiquer dans l'exemple ci-dessous (à adapter en fonction de l'environnement d'exploitation).

BASE_URL=/geocontrib/
NODE_ENV=development

Configuration par le config.json

{
    "BASE_URL":"/geocontrib/",
    "DOMAIN":"/geocontrib/",
    "VUE_APP_LOCALE":"fr-FR",
    "VUE_APP_APPLICATION_NAME":"GéoContrib",
    "VUE_APP_APPLICATION_ABSTRACT":"Application de saisie d'informations géographiques contributive",
    "VUE_APP_APPLICATION_FAVICO":"/geocontrib/favicon.ico",
    "VUE_APP_LOGO_PATH":"/geocontrib/img/logo-neogeo-circle.png",
    "VUE_APP_DJANGO_BASE":"",
    "VUE_APP_DJANGO_API_BASE":"/geocontrib/api/",
    "VUE_APP_CATALOG_NAME": "Datasud", => renseigne le nom du catalogue dans le bouton importer depuis le catalogue
    "VUE_APP_IDGO": true, => si le bouton importer depuis le catalogue doit être affiché ou pas
    "VUE_APP_RELOAD_INTERVAL": 15000,
    "VUE_APP_DISABLE_LOGIN_BUTTON":false,
    "VUE_APP_LOGIN_URL":"",

    "DEFAULT_BASE_MAP_SCHEMA_TYPE": "tms",
    "DEFAULT_BASE_MAP_SERVICE": "https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png",
    "DEFAULT_BASE_MAP_OPTIONS": {
            "attribution": "&copy; contributeurs d'<a href='https://osm.org/copyright'>OpenStreetMap</a>",
            "maxZoom": 20
    },

    "DEFAULT_MAP_VIEW" : {
        "center": [47.0, 1.0],
        "zoom": 4
    },
    "GEOCODER_PROVIDERS" : {
        "ADDOK": "addok",
        "NOMINATIM": "nominatim",
        "PHOTON": "photon"
    },
    "SELECTED_GEOCODER" : {
        "PROVIDER": "addok"
    }
}

Utilisation sans installation du backend

Il est possible d'utiliser un serveur HTTP local pour utiliser l'API des instances en ligne, sans avoir de problèmes de CORS, pour cela se référer fichier : conf_apache_dev.md

Compiles and hot-reloads for development

Pour éviter les problèmes de Cors en dév, (car backend sur serveur différent de frontend, différent en prod car même serveur), on utilise un proxy qui s'occupe de renseigner les CORS: https://github.com/garmeeh/local-cors-proxy#local-cors-proxy

À installer avant de lancer le serveur !

npm install -g local-cors-proxy

La commande serve lance les deux serveurs en parallèle dans le même terminal.

npm run serve

Pour tester les fonctionnalités d'import il faut activer redis-server et celery ! Si redis et celery sont déjà installé, ouvrir un terminal et démarrer redis.

redis-server

Ouvrir un autre terminal dans le répertoire du projet backend et activer l'environnement virtuel, puis démarrer celery

celery -A config worker -l info

Compiles and minifies for production

npm run build

Lints and fixes files

npm run lint

Customize configuration

See Configuration Reference.


Docker

Lancer un build

npm run build

Créér une image docker

docker-compose build

puis

docker-compose push

Aller sur la VM geocontrib, (demander l'accès si besoin), aller dans /opt/geocontrib/[user] et ensuite :

docker-compose pull

et

docker-compose up -d

Notes

Version

Node => v14.18.2

Changement par rapport au projet django

  • Base.html => App.vue
  • Découpage en composants

DEVELOPPEMENT

Général

Geocontrib est un projet initié par NeoGeo. Le code source de l'application est maintenu sur la plateforme https://git.neogeo.fr/geocontrib/.

les Mainteneurs actuels :

  • Timothée POUSSARD (Neogeo)
  • Camille BLANCHON (Neogeo)
  • Matthieu ETOURNEAU (Neogeo)
  • Angela Escobar (Neogeo)

La documentation de l'application


https://www.onegeosuite.fr/docs/team_geocontrib

Pratiques et règles de developpement

Afin de partager des règles communes de développement et faciliter l'intégration de nouveau code, veuillez lire les recommandations et bonnes pratiques recommandées pour contribuer au projet GeoContrib.

Git


  • Faire une demande de contribution en envoyant un mail à metourneau@neogeo.fr
  • Un compte vous sera créé sur notre plateforme gitlab
  • Faire un fork de l'application
  • Faire des merge requests vers la branch develop
  • Faire des git pull avant chaque développement et avant chaque commit