Nous vous recommandons d'utiliser Python 3 avec anaconda. Il existe également des dépendances non-conda à installer avec pip :
pip install -r requirements.txt
Pour éviter de valider la sortie des notebooks IPython, qui peuvent être très volumineuses et rendre les différences difficiles à lire, veuillez installer nbstripout comme filtre git.
Il existe un Makefile
dans le répertoire data
qui gère l'exécution des notebooks IPython et la mise à jour des fichiers de sortie appropriés.
cd data
make
La plupart des ensembles de données sont inclus dans ce référentiel, mais certains sont assez volumineux et doivent donc être téléchargés séparément, comme suit.
Vous ne devez les télécharger que si vous souhaitez intervenir sur le traitement concerné ; les données nécessaires au développement de l'application se trouvent dans les dossiers data/*/output
, notamment data/map/output
.
À partir de ces sources :
Les fichiers doivent être stockés ici :
data/cap/input/2014_All_CAP_Search_Results_Data_P14_1.xls
data/cap/input/2015/DAERA-Table 1.csv
data/cap/input/2015/RPA-Table 1.csv
data/cap/input/2015/RPA2-Table 1.csv
data/cap/input/2015/SGRPID-Table 1.csv
data/cap/input/2015/WG-Table 1.csv
data/cap/input/2016_All_CAP_Search_Results_Data_P14.xlsx
data/cap/input/2017_All_CAP_Search_Results_Data_P14.xlsx
À partir de ces sources :
Les fichiers doivent être stockés ici :
data/cordis/input/fp7/cordis-fp7briefs.xlsx
data/cordis/input/fp7/cordis-fp7organizations.xlsx
data/cordis/input/fp7/cordis-fp7projects.xlsx
data/cordis/input/h2020/cordis-h2020organizations.xlsx
data/cordis/input/h2020/cordis-h2020projects.xlsx
Depuis cette page :
Les fichiers doivent être stockés ici :
data/erasmus/input/CoopIndustrialisedCountries_Projects_Overview_2018-09-10.xls
data/erasmus/input/ErasmusMundus_Projects_Overview_2018-09-10.xls
data/erasmus/input/ErasmusPlus_JeanMonnet_Projects_Overview_2018-09-10.xls
data/erasmus/input/ErasmusPlus_KA1_2014_LearningMobilityOfIndividuals_Projects_Overview_2018-09-11.xls
data/erasmus/input/ErasmusPlus_KA1_2015_LearningMobilityOfIndividuals_Projects_Overview_2018-09-11.xls
data/erasmus/input/ErasmusPlus_KA1_2016_LearningMobilityOfIndividuals_Projects_Overview_2018-09-11.xls
data/erasmus/input/ErasmusPlus_KA1_2017_LearningMobilityOfIndividuals_Projects_Overview_2018-09-10.xls
data/erasmus/input/ErasmusPlus_KA1_2018_LearningMobilityOfIndividuals_Projects_Overview_2018-09-10.xls
data/erasmus/input/ErasmusPlus_KA2_CooperationForInnovationAndTheExchangeOfGoodPractices_Projects_Overview_2018-09-10.xls
data/erasmus/input/ErasmusPlus_KA3_SupportForPolicyReform_Projects_Overview_2018-09-10.xls
data/erasmus/input/ErasmusPlus_Sports_Projects_Overview_2018-09-10.xls
data/erasmus/input/LifeLongLearning_Projects_Overview_2018-09-10.xls
data/erasmus/input/Sports_Projects_Overview_2018-09-10.xls
data/erasmus/input/Tempus_Projects_Overview_2018-09-10.xls
data/erasmus/input/YouthInAction_Projects_Overview_2018-09-10.xls
Depuis cette page :
https://www.eea.europa.eu/data-and-maps/data/natura-9#tab-european-data
Le fichier csv NATURA2000SITES
doit être stocké ici :
data/life/input/NATURA2000SITES.csv
Pour la recherche de code postal et de circonscription, téléchargez les données depuis https://opendata.camden.gov.uk/Maps/National-Statistics-Postcode-Lookup-UK/tr8t-gqz7, gzip et stockez-les ici :
data/postcodes/input/National_Statistics_Postcode_Lookup_UK.csv.gz
La dernière application se trouve dans le répertoire frontend
. Il s'agit d'un site Web statique construit avec webpack.
Installez node js version 8.11 ou supérieure.
L'application utilise Google Maps, vous devrez donc créer un compte Google Cloud Platform pour le développement. Cela nécessite de fournir une carte de crédit, mais l'utilisation du développement se fera généralement dans le cadre du niveau gratuit.
Accédez à la liste des API et assurez-vous que l'API JavaScript de Google Maps et l'API Places sont activées.
Accédez à la liste des informations d'identification et générez une clé API pour le développement.
Pour le développement, vous devez mettre votre clé API Google Maps de développement dans une variable d'environnement :
DEVELOPMENT_MY_EU_API_KEY=YourKeyHere
(Pour déployer en production, vous avez besoin d'une variable PRODUCTION_MY_EU_API_KEY
définie sur une clé API de production ; voir les notes sur le déploiement ci-dessous.)
cd frontend
npm install
npm run dev
Cela démarrera l'application à l'aide du serveur de développement webpack-serve
sur http://localhost:8080/webpack-dev-server/
. Les modifications apportées aux fichiers sources de l'application dans frontend/src
rechargeront automatiquement la page dans la plupart des cas.
Vous pouvez également prévisualiser le tel qu'il sera construit en production (mais avec une clé API Google Maps de développement, donc la carte se chargera) avec
cd frontend
PRODUCTION_MY_EU_API_KEY=$DEVELOPMENT_MY_EU_API_KEY npm run build
npm run serve
rm -rf dist # don't leak your development key!
Il existe un éditeur de configuration à la racine qui définit l'encodage, les tabulations par rapport aux espaces, etc. Veuillez l'utiliser. La meilleure façon de procéder est d’obtenir un plugin editorconfig pour votre éditeur.
Le plus joli formateur de code est configuré pour formater le code JavaScript de manière cohérente. S'il vous plaît, utilisez-le. La meilleure façon de le faire est d'obtenir un plugin pour votre éditeur, mais vous pouvez également exécuter
npm install # in the repo root
npm run prettier
pour formater tout le code.
Il existe également eslint pour le peluchage JavaScript. Encore une fois, la meilleure chose à faire est d'activer le plugin pour votre éditeur, mais vous pouvez également exécuter
npm run eslint
pour vérifier tout le code.
Le site Web statique est déployé sur Google Cloud Storage derrière CloudFlare pour SSL. Pour déployer :
Vous devez disposer d'un accès en écriture au bucket Google Cloud Storage qui héberge le site Web.
Vous devez obtenir le PRODUCTION_MY_EU_API_KEY
, qui restreint le référent à www.myeu.uk
(et n'autorise pas localhost ou d'autres domaines).
Pour déployer avec surveillance des erreurs, vous devez obtenir les clés ROLLBAR_ACCESS_TOKEN
( post_client_item
) et ROLLBAR_DEPLOY_ACCESS_TOKEN
( post_server_item
) pour notre projet rollbar.
Exécutez ensuite le script de déploiement pour déployer :
cd frontend
./deploy.sh
Veuillez consulter LICENSE.md
.