Réalisée par la Bibliothèque de Sciences Po Paris en collaboration avec le Medialab
Site public: https://cartosciencepolitique.sciencespo.fr
À la racine du projet :
npm install
À la racine du projet :
npx bower install
Copier le fichier app/conf/conf.default.js vers app/conf/conf.js.
Editer app/conf/conf.js et remplacer :
GOOGLE_ANALYTICS_ID
par votre Id Google Analytics de la forme UA-XXXXXXX-XXBACK_OFFICE_BASEURL
par l'url sur laquelle sera servie le backoffice, exemplehttp://localhost:42000
Selon l'environnement, initialiser le dossier des logos :
- Copier
app/img/logos-default
versapp/img/logos
- Vérifier que ce dossier sera bien accessible en écriture par le processus du backoffice
- Note pour Docker : initialiser le volume correspondant avec les images par défaut
npm start
Par défaut, gulp effectue les tâches de concaténations et minification js puis des css, copie les assets et finalement lance l'application en démarrant un serveur qui possède le livereload.
npx gulp js
npx gulp less
npx gulp css
npx gulp assets
npx gulp serve
npm run parse
Long version:
Ajouter dans /app/data tous les CSV générés à partir des onglets du spreadsheet du drive.
Dans le dossier /app/data, lancer le script suivant (requiert l'installation de NodeJS) :
node script_data_csv_to_json.js
La sortie est app/data/data.json
qui comprend :
- Un objet avec tous les centres en clés qui contiennent eux-mêmes leurs onglets en clés.
- Un index de toutes les propriétés de tous les centres afin de faciliter la recherche fulltext.
- Un tableau de tous les mots de toutes ces propriétés pour l'auto-complétion dans la recherche fulltext.
Ajouter dans /app/data le csv listant les props et le nommer metadata.csv
Lancer le script suivant dans /app/data :
node script_metadata_csv_to_json.js
La sortie est app/data/metadata.json
.
Réalisé avec BabyParse https://github.com/Rich-Harris/BabyParse
Réalisé avec lunr http://lunrjs.com/
- Réalisée avec la directive angular-leaflet https://github.com/tombatossals/angular-leaflet-directive
- Les markers sont créés dans le service app/services/map.services
Réalisé avec angular ui-grid http://ui-grid.info/
app/services/map.services
- Tri liste <-> tri carte
- Click sur centre de la liste <-> click sur un centre sur la carte (overture de popup)
Il est possible d'éditer une configuration afin de paramétrer :
- les onglets à agréger
- la taille des centres sur la carte
- les champs de recherches disponibles dans la recherche fulltext
- les mots à prendre en compte dans l'auto-complétion