diff --git a/geotrek/export_and_validate.sh b/geotrek/export_and_validate.sh index 49ef21a..bca9ce1 100755 --- a/geotrek/export_and_validate.sh +++ b/geotrek/export_and_validate.sh @@ -1,6 +1,6 @@ ############################ # Script permettant d'exporter -# depuis une base (géotrek) ayant une vue v_treks_schema +# depuis une base geotrek-admin ayant une vue v_treks_schema # et de valider les données générées . parameters.txt @@ -12,7 +12,7 @@ bash export_geojson.sh # ######################## # Validation des données exportées -# Changement d'exension en json car geojson n'est pas reconnu par ajv +# Changement d'extension en JSON car GeoJSON n'est pas reconnu par ajv cp ${EXPORT_PATH}/itineraires_rando.geojson ../itineraires_rando.json # Lancement du validateur diff --git a/geotrek/v_treks_schema.sql b/geotrek/v_treks_schema.sql index 056ad27..df2ba09 100644 --- a/geotrek/v_treks_schema.sql +++ b/geotrek/v_treks_schema.sql @@ -19,7 +19,7 @@ WITH WHERE t.published IS TRUE ), sources AS ( - SELECT string_agg(c_1."name", ',')::text AS noms_source, t_1.trek_id -- création d'une chaîne de caractère de toutes les sources de l'itinéraire + SELECT string_agg(c_1."name", ',')::text AS noms_source, t_1.trek_id -- création d'une chaîne de caractères de toutes les sources de l'itinéraire FROM common_recordsource c_1, trekking_trek_source t_1 WHERE t_1.recordsource_id = c_1.id GROUP BY t_1.trek_id @@ -89,10 +89,11 @@ SELECT sources.noms_source AS producteur, (SELECT contact FROM constants LIMIT 1) AS contact, -- adresse mail à renseigner dans les constantes NULL AS uuid, -- pas d'uuid prévu dans Geotrek - -- construction de l'url valable pour Geotrek-rando V2 + -- construction de l'url valable pour Geotrek-rando V2 (voir juste en-dessous pour l'url V3) (SELECT url_rando FROM constants LIMIT 1) || lower(unaccent(replace(tp.practice_name, ' ', '-'))) || '/' || lower(unaccent(replace(btrim(regexp_replace(t."name", '[^\w -]', '', 'g')), ' ', '-'))) || '/' AS url, - -- pour Geotrek-rando V3, essayer quelque chose comme : 'urlportail/trek/' || 't.topo_object_id' || '-' || unaccent(regexp_replace(btrim(regexp_replace(t."name", '[^- ()\w]', '', 'g')), '\W', '-')) (non essayé) + -- construction de l'url valable pour Geotrek-rando V3 : + -- (SELECT url_rando FROM constants LIMIT 1) || 'trek/' || t.topo_object_id || '-' || unaccent(replace(btrim(regexp_replace(t."name", '[^\w -]', '', 'g')), ' ', '-')) AS url NULL AS id_osm, t."name" AS nom_itineraire, tp.practice_name AS pratique, -- uniquement valable si vos noms de pratiques correspondent déjà au schéma, sinon passer par quelque chose comme : CASE WHEN tp.practice_name ILIKE 'Randonnée Trail' THEN 'trail'::text END AS pratique diff --git a/local_validator/README.md b/local_validator/README.md index 8dc3a99..84353b5 100644 --- a/local_validator/README.md +++ b/local_validator/README.md @@ -9,17 +9,20 @@ Un script Node.js utilisant [ajv](https://ajv.js.org/) permet de valider le fich ### Commandes +Pour une installation automatique en utilisant le fichier `package-lock.json`, exécuter la commande `npm install` dans le dossier `local_validator`. + +Pour une installation manuelle : ``` npm install ajv npm install ajv-formats ``` +Exécution du script : ``` -cd local_validator node validate_data_with_ajv.js ``` -Output: +Sortie : `Fichier de données valide !` diff --git a/local_validator/package-lock.json b/local_validator/package-lock.json index c1062f3..c30efa4 100644 --- a/local_validator/package-lock.json +++ b/local_validator/package-lock.json @@ -1,5 +1,5 @@ { - "name": "schema_randonnee", + "name": "local_validator", "lockfileVersion": 2, "requires": true, "packages": {