L'API de la Plateforme Ouverte du Patrimoine. Elle fournit un accès aux données à POP Consultation et POP Production. Elle est développée en Javascript, utilise le framework Express et une base de données MongoDB. La recherche de données est rendue possible grâce à Elasticsearch.
MongoDB, NodeJS 10+ et Yarn doivent être installés pour faire fonctionner l'application. Elasticsearch n'est pas nécessaire sur l'environnement de développement.
git clone https://github.com/betagouv/pop-api.git
cd pop-api
yarn
Lancer la commande yarn dev
pour accéder à l'application via l'URL http://localhost:3000
.
Utiliser yarn deploy:staging
ou deploy:staging
en fonction de l'environnement souhaité.
La base de données est documentée ici
et peut être générée avec la commande yarn export-db-schemas
.
La modification des mappings nécessite une ré-indexation, qu'on peut lancer avec la commande
node src/elasticsearch/reindex.js
. Cette opération utilise les mappings présents dans
src/elasticsearch/indices
.
En staging ou en production, préciser les variables d'environnements :
AWS_ACCESS_KEY_ID=x AWS_SECRET_ACCESS_KEY=y ES_ENDPOINT=z node src/elasticsearch/reindex.js
Utiliser la commande node src/elasticsearch/sync.js
pour mettre à jour (ou créer si elles n'existent pas) l'ensemble des notices depuis MongoDB vers Elasticsearch.
En staging ou en production, préciser les variables
d'environnements sans oublier MongoDB (DB_ENDPOINT
) :
AWS_ACCESS_KEY_ID=x AWS_SECRET_ACCESS_KEY=y ES_ENDPOINT=z DB_ENDPOINT=m node src/elasticsearch/sync.js