gitextract_hy3cfsqu/ ├── .credo.exs ├── .dialyzer_ignore.exs ├── .editorconfig ├── .eslintignore ├── .formatter.exs ├── .github/ │ ├── CODEOWNERS │ ├── actions/ │ │ └── checkout-compile/ │ │ └── action.yml │ └── workflows/ │ ├── ops_tests.yml │ ├── sentry_release.yml │ ├── test.yml │ └── trivy_scan.yml ├── .gitignore ├── .miniorc.template ├── .stylelintrc.json ├── .tool-versions ├── .vscode/ │ └── launch.json ├── Dockerfile ├── Dockerfile.dev ├── LICENSE.AGPL.txt ├── README.md ├── apps/ │ ├── shared/ │ │ ├── lib/ │ │ │ ├── application.ex │ │ │ ├── appsignal_filter.ex │ │ │ ├── cldr.ex │ │ │ ├── conditional_json_encoder.ex │ │ │ ├── data_visualization.ex │ │ │ ├── date_time_display.ex │ │ │ ├── hasher.ex │ │ │ ├── helpers.ex │ │ │ ├── http_stream_v2.ex │ │ │ ├── proxy.ex │ │ │ ├── req_custom_cache.ex │ │ │ ├── resource_schema.ex │ │ │ ├── s3.ex │ │ │ ├── sentry_exception_filter.ex │ │ │ ├── syntax_colors.ex │ │ │ ├── time_wrapper.ex │ │ │ ├── validation/ │ │ │ │ ├── gbfs_validator.ex │ │ │ │ ├── gtfs_validator.ex │ │ │ │ └── validator.ex │ │ │ ├── wrapper/ │ │ │ │ ├── wrapper_httpoison.ex │ │ │ │ └── wrapper_req.ex │ │ │ └── wrapper_ex_aws.ex │ │ ├── meta/ │ │ │ ├── schema-irve-dynamique.json │ │ │ └── schema-irve-statique.json │ │ ├── mix.exs │ │ └── test/ │ │ ├── data_visualization_test.exs │ │ ├── date_time_display_test.exs │ │ ├── hasher_test.exs │ │ ├── helpers/ │ │ │ └── helpers_test.exs │ │ ├── http_stream_v2_test.exs │ │ ├── resource_schema_test.exs │ │ ├── s3_test.exs │ │ ├── support/ │ │ │ ├── cache_case.ex │ │ │ ├── mocks.ex │ │ │ ├── s3_test_utils.ex │ │ │ └── test_utils.ex │ │ ├── test_helper.exs │ │ ├── time_wrapper_test.exs │ │ └── validation/ │ │ ├── gbfs_validator_test.exs │ │ └── gtfs_validator_test.exs │ └── transport/ │ ├── client/ │ │ ├── .prettierignore │ │ ├── .prettierrc.json │ │ ├── eslint.config.mjs │ │ ├── javascripts/ │ │ │ ├── app.js │ │ │ ├── autocomplete.js │ │ │ ├── autocomplete_address.js │ │ │ ├── clipboard.js │ │ │ ├── dataset-map.js │ │ │ ├── explore.js │ │ │ ├── fullscreen_wrapper.js │ │ │ ├── gtfs.js │ │ │ ├── map-config.js │ │ │ ├── map-geojson.js │ │ │ ├── map.js │ │ │ ├── resource-viz.js │ │ │ ├── utils.js │ │ │ ├── validation-map.js │ │ │ └── vega.js │ │ ├── package.json │ │ ├── stylesheets/ │ │ │ ├── _states.scss │ │ │ ├── app.scss │ │ │ ├── components/ │ │ │ │ ├── _aom_table.scss │ │ │ │ ├── _autocomplete.scss │ │ │ │ ├── _backoffice.scss │ │ │ │ ├── _blog.scss │ │ │ │ ├── _choose_file.scss │ │ │ │ ├── _colorful-button.scss │ │ │ │ ├── _community-resources.scss │ │ │ │ ├── _dataset-details.scss │ │ │ │ ├── _discussions.scss │ │ │ │ ├── _download_availability.scss │ │ │ │ ├── _error.scss │ │ │ │ ├── _explore.scss │ │ │ │ ├── _feedback.scss │ │ │ │ ├── _fullscreen-wrapper.scss │ │ │ │ ├── _gtfs_diff.scss │ │ │ │ ├── _guide.scss │ │ │ │ ├── _icons.scss │ │ │ │ ├── _landing_page_vls.scss │ │ │ │ ├── _legal.scss │ │ │ │ ├── _login.scss │ │ │ │ ├── _logo.scss │ │ │ │ ├── _mail.scss │ │ │ │ ├── _mailing-list.scss │ │ │ │ ├── _map-js.scss │ │ │ │ ├── _message.scss │ │ │ │ ├── _notification.scss │ │ │ │ ├── _pagination.scss │ │ │ │ ├── _resource-details.scss │ │ │ │ ├── _search.scss │ │ │ │ ├── _shortlist.scss │ │ │ │ ├── _stats.scss │ │ │ │ ├── _tooltip.scss │ │ │ │ └── _validation.scss │ │ │ ├── datasets.scss │ │ │ ├── espace_producteur.scss │ │ │ ├── globals/ │ │ │ │ ├── _externals.scss │ │ │ │ ├── _mixins.scss │ │ │ │ └── _variables.scss │ │ │ ├── home.scss │ │ │ ├── main.scss │ │ │ ├── prism.css │ │ │ ├── producteurs.scss │ │ │ ├── reuser_space.scss │ │ │ └── reuses.scss │ │ ├── webpack.common.js │ │ ├── webpack.dev.js │ │ └── webpack.prod.js │ ├── lib/ │ │ ├── S3/ │ │ │ ├── aggregates_uploader.ex │ │ │ └── unzip.ex │ │ ├── converters/ │ │ │ └── converter.ex │ │ ├── data_frame/ │ │ │ ├── requiredness_processing.ex │ │ │ └── validation_primitives.ex │ │ ├── data_screens/ │ │ │ └── data_screens.ex │ │ ├── datagouvfr/ │ │ │ ├── authentication.ex │ │ │ ├── client/ │ │ │ │ ├── api.ex │ │ │ │ ├── community_resources.ex │ │ │ │ ├── datasets.ex │ │ │ │ ├── discussions.ex │ │ │ │ ├── oauth.ex │ │ │ │ ├── organization.ex │ │ │ │ ├── resources.ex │ │ │ │ ├── reuses.ex │ │ │ │ └── user.ex │ │ │ └── client.ex │ │ ├── db/ │ │ │ ├── administrative_division.ex │ │ │ ├── aom.ex │ │ │ ├── api_request.ex │ │ │ ├── autocomplete.ex │ │ │ ├── breaking_news.ex │ │ │ ├── commune.ex │ │ │ ├── company.ex │ │ │ ├── contact.ex │ │ │ ├── data_conversion.ex │ │ │ ├── data_import.ex │ │ │ ├── data_import_batch.ex │ │ │ ├── dataset.ex │ │ │ ├── dataset_follower.ex │ │ │ ├── dataset_geographic_view.ex │ │ │ ├── dataset_history.ex │ │ │ ├── dataset_history_resources.ex │ │ │ ├── dataset_monthly_metric.ex │ │ │ ├── dataset_score.ex │ │ │ ├── dataset_subtype.ex │ │ │ ├── default_token.ex │ │ │ ├── departement.ex │ │ │ ├── encrypted/ │ │ │ │ └── binary.ex │ │ │ ├── epci.ex │ │ │ ├── feature_usage.ex │ │ │ ├── geo_data/ │ │ │ │ ├── geo_data.ex │ │ │ │ └── geo_data_import.ex │ │ │ ├── gtfs/ │ │ │ │ ├── gtfs_agency.ex │ │ │ │ ├── gtfs_calendar.ex │ │ │ │ ├── gtfs_calendar_dates.ex │ │ │ │ ├── gtfs_stop.ex │ │ │ │ ├── gtfs_stop_times.ex │ │ │ │ └── gtfs_trips.ex │ │ │ ├── hidden_reuser_alert.ex │ │ │ ├── irve_valid_file.ex │ │ │ ├── irve_valid_pdc.ex │ │ │ ├── logs_import.ex │ │ │ ├── metrics.ex │ │ │ ├── multi_validation.ex │ │ │ ├── notification.ex │ │ │ ├── notification_subscription.ex │ │ │ ├── offer.ex │ │ │ ├── organization.ex │ │ │ ├── postgrex_types.ex │ │ │ ├── processing_report.ex │ │ │ ├── proxy_request.ex │ │ │ ├── region.ex │ │ │ ├── repo.ex │ │ │ ├── resource.ex │ │ │ ├── resource_download.ex │ │ │ ├── resource_history.ex │ │ │ ├── resource_metadata.ex │ │ │ ├── resource_monthly_metric.ex │ │ │ ├── resource_related.ex │ │ │ ├── resource_unavailability.ex │ │ │ ├── reuse.ex │ │ │ ├── reuser_improved_data.ex │ │ │ ├── stats_history.ex │ │ │ ├── table_size_history.ex │ │ │ ├── token.ex │ │ │ └── user_feedback.ex │ │ ├── ecto_interval.ex │ │ ├── enroute/ │ │ │ └── chouette_valid_rulesets_client.ex │ │ ├── gtfs/ │ │ │ └── utils.ex │ │ ├── http/ │ │ │ └── utils.ex │ │ ├── irve/ │ │ │ ├── data_frame.ex │ │ │ ├── database_exporter.ex │ │ │ ├── database_importer.ex │ │ │ ├── deduplicator.ex │ │ │ ├── dynamic_irve_schema.ex │ │ │ ├── extractor.ex │ │ │ ├── fetcher.ex │ │ │ ├── http_pagination.ex │ │ │ ├── processing.ex │ │ │ ├── raw_report_item.ex │ │ │ ├── raw_static_consolidation.ex │ │ │ ├── simple_consolidation.ex │ │ │ ├── simple_report_item.ex │ │ │ ├── static_irve_schema.ex │ │ │ ├── static_probes.ex │ │ │ └── validator/ │ │ │ ├── data_frame_validation.ex │ │ │ ├── field_validation.ex │ │ │ ├── summary.ex │ │ │ └── validator.ex │ │ ├── jobs/ │ │ │ ├── RamboLauncher.ex │ │ │ ├── analyze_irve_job.ex │ │ │ ├── archive_metrics_job.ex │ │ │ ├── backfill/ │ │ │ │ ├── backfill_metadata_non_gtfs_resource_history.ex │ │ │ │ ├── backfill_resource_history_filesize.ex │ │ │ │ ├── backfill_resource_history_resource_id.ex │ │ │ │ ├── backfill_resource_history_schema_details.ex │ │ │ │ └── remove_gtfs_rt_snapshots.ex │ │ │ ├── clean_multi_validation_job.ex │ │ │ ├── clean_on_demand_validation_job.ex │ │ │ ├── consolidate_bnlc_job.ex │ │ │ ├── consolidate_lez_job.ex │ │ │ ├── conversions/ │ │ │ │ ├── clean_orphan_conversions_job.ex │ │ │ │ ├── generic_converter.ex │ │ │ │ ├── gtfs_generic_converter.ex │ │ │ │ ├── gtfs_to_geojson_converter_job.ex │ │ │ │ ├── netex_generic_converter.ex │ │ │ │ └── netex_to_geojson_converter_job.ex │ │ │ ├── create_tokens_job.ex │ │ │ ├── custom_logo_conversion_job.ex │ │ │ ├── database_backup_replication_job.ex │ │ │ ├── database_vacuum_job.ex │ │ │ ├── dataset_history_job.ex │ │ │ ├── dataset_now_on_nap_notification_job.ex │ │ │ ├── dataset_quality_score.ex │ │ │ ├── datasets_climate_resilience_bill_not_lo_licence_job.ex │ │ │ ├── datasets_switching_climate_resilience_bill_job.ex │ │ │ ├── datasets_without_gtfs_rt_related_resources_notification_job.ex │ │ │ ├── dedupe_history_job.ex │ │ │ ├── default_tokens_job.ex │ │ │ ├── expiration_notification_job.ex │ │ │ ├── gbfs_multi_validation_job.ex │ │ │ ├── gbfs_operators_notification_job.ex │ │ │ ├── geo_data/ │ │ │ │ ├── base.ex │ │ │ │ ├── bnlc_to_geo_data.ex │ │ │ │ ├── gbfs_stations_to_geo_data.ex │ │ │ │ ├── irve_to_geo_data.ex │ │ │ │ └── lez_to_geo_data.ex │ │ │ ├── gtfs_diff_job.ex │ │ │ ├── gtfs_import_stops_job.ex │ │ │ ├── gtfs_multi_validation_job.ex │ │ │ ├── gtfs_rt_metadata.ex │ │ │ ├── gtfs_rt_multi_validation_job.ex │ │ │ ├── gtfs_to_db.ex │ │ │ ├── import_companies_job.ex │ │ │ ├── import_dataset_contact_points_job.ex │ │ │ ├── import_dataset_follower_reuser_improved_data_job.ex │ │ │ ├── import_dataset_followers_job.ex │ │ │ ├── import_dataset_monthly_metrics_job.ex │ │ │ ├── import_gbfs_feed_contact_email_job.ex │ │ │ ├── import_resource_monthly_metrics_job.ex │ │ │ ├── import_reuses_job.ex │ │ │ ├── irve_raw_consolidation_job.ex │ │ │ ├── irve_simple_consolidation_job.ex │ │ │ ├── multi_validation_with_error_notification_job.ex │ │ │ ├── netex_poller_job.ex │ │ │ ├── new_comments_notification_job.ex │ │ │ ├── new_datagouv_datasets_job.ex │ │ │ ├── new_dataset_notifications_job.ex │ │ │ ├── notification_subscription_producer_job.ex │ │ │ ├── oban_logger.ex │ │ │ ├── on_demand_netex_poller_job.ex │ │ │ ├── on_demand_validation_helpers.ex │ │ │ ├── on_demand_validation_job.ex │ │ │ ├── periodic_reminder_producers_notification_job.ex │ │ │ ├── promote_producer_space_job.ex │ │ │ ├── promote_reuser_space_job.ex │ │ │ ├── refresh_autocomplete_job.ex │ │ │ ├── remove_history_job.ex │ │ │ ├── resource_history_job.ex │ │ │ ├── resource_history_jsonschema_validation_job.ex │ │ │ ├── resource_history_schema_validation.ex │ │ │ ├── resource_history_tableschema_validation_job.ex │ │ │ ├── resource_history_validata_json_job.ex │ │ │ ├── resource_history_validation_job.ex │ │ │ ├── resource_unavailable_job.ex │ │ │ ├── resource_unavailable_notification_job.ex │ │ │ ├── resource_validation_job.ex │ │ │ ├── resources_changed_notification_job.ex │ │ │ ├── stops_registry_snapshot_job.ex │ │ │ ├── table_size_history_job.ex │ │ │ ├── update_contacts_job.ex │ │ │ ├── update_counter_cache_job.ex │ │ │ ├── visit_download_statistics_job.ex │ │ │ ├── visit_proxy_statistics_job.ex │ │ │ ├── visit_statistics_base.ex │ │ │ ├── warn_user_inactivity_job.ex │ │ │ ├── workflow.ex │ │ │ └── workflow_dummy_jobs.ex │ │ ├── mailer/ │ │ │ ├── admin_notifier.ex │ │ │ ├── mailer.ex │ │ │ └── user_notifier.ex │ │ ├── mix/ │ │ │ └── tasks/ │ │ │ ├── dump_gtfs_rt.ex │ │ │ ├── logs.ex │ │ │ ├── npm.ex │ │ │ ├── transport/ │ │ │ │ ├── add_dataset_subtypes.ex │ │ │ │ ├── add_monaco.ex │ │ │ │ ├── add_switzerland.ex │ │ │ │ ├── import_aoms.ex │ │ │ │ ├── import_communes.ex │ │ │ │ ├── import_departements.ex │ │ │ │ ├── import_epci.ex │ │ │ │ ├── import_offers.ex │ │ │ │ ├── open_api_spec.ex │ │ │ │ └── update_france_geojson.ex │ │ │ ├── url.ex │ │ │ └── yarn.ex │ │ ├── netex/ │ │ │ ├── Readme.md │ │ │ ├── archive_parser.ex │ │ │ ├── calendars_streaming_parser.ex │ │ │ ├── chouette_valid_ruleset_generator.ex │ │ │ ├── description_parser.ex │ │ │ ├── enroute-starter-kit.json │ │ │ ├── french_profile/ │ │ │ │ ├── v1.ex │ │ │ │ └── v2.ex │ │ │ ├── french_profile.ex │ │ │ ├── netex_helpers.ex │ │ │ ├── saxy_helpers.ex │ │ │ ├── service_calendars_streaming_parser.ex │ │ │ ├── stop_places_streaming_parser.ex │ │ │ ├── to_geojson/ │ │ │ │ ├── coordinates.ex │ │ │ │ ├── geojson_builder.ex │ │ │ │ ├── parsers/ │ │ │ │ │ ├── quay_parser.ex │ │ │ │ │ └── service_link_parser.ex │ │ │ │ └── to_geojson.ex │ │ │ └── types_of_frame_streaming_parser.ex │ │ ├── queries/ │ │ │ └── dashboard_import_count.sql │ │ ├── registry/ │ │ │ ├── engine.ex │ │ │ ├── extractor.ex │ │ │ ├── gtfs.ex │ │ │ ├── model/ │ │ │ │ ├── data_source.ex │ │ │ │ └── stop.ex │ │ │ ├── netex.ex │ │ │ └── result.ex │ │ ├── siri_queries.ex │ │ ├── siri_query_generator.ex │ │ ├── support/ │ │ │ ├── logger/ │ │ │ │ └── translator.ex │ │ │ ├── pretty_json_encoder.ex │ │ │ └── proxy.ex │ │ ├── transport/ │ │ │ ├── application.ex │ │ │ ├── appsignal_ecto_telemetry.ex │ │ │ ├── availability_checker.ex │ │ │ ├── cache.ex │ │ │ ├── cached_files.ex │ │ │ ├── comments_checker.ex │ │ │ ├── community_resource_cleaner.ex │ │ │ ├── companies.ex │ │ │ ├── consolidated_dataset.ex │ │ │ ├── counter_cache.ex │ │ │ ├── custom_search_message.ex │ │ │ ├── data_checker.ex │ │ │ ├── dataset_checks.ex │ │ │ ├── dataset_index.ex │ │ │ ├── expiration.ex │ │ │ ├── explore_vehicle_positions_poller.ex │ │ │ ├── file_downloads.ex │ │ │ ├── gbfs_metadata.ex │ │ │ ├── gbfs_to_geojson.ex │ │ │ ├── gbfs_utils.ex │ │ │ ├── gtfs_data.ex │ │ │ ├── gtfs_diff.ex │ │ │ ├── gtfs_export_stops.ex │ │ │ ├── gtfs_import_stops.ex │ │ │ ├── gtfs_query.ex │ │ │ ├── gtfs_rt.ex │ │ │ ├── history_fetcher.ex │ │ │ ├── import_data.ex │ │ │ ├── import_data_worker.ex │ │ │ ├── log_cleaner.ex │ │ │ ├── log_time_taken.ex │ │ │ ├── notification_reason.ex │ │ │ ├── phoenix_dashboard_telemetry.ex │ │ │ ├── preemptive_api_cache.ex │ │ │ ├── preemptive_base_cache.ex │ │ │ ├── preemptive_home_stats_cache.ex │ │ │ ├── preemptive_stats_cache.ex │ │ │ ├── protobuf/ │ │ │ │ ├── gtfs-realtime.pb.ex │ │ │ │ ├── gtfs-realtime.proto │ │ │ │ └── readme.md │ │ │ ├── quantum_scheduler.ex │ │ │ ├── schemas.ex │ │ │ ├── search_communes.ex │ │ │ ├── stats_handler.ex │ │ │ ├── telemetry.ex │ │ │ ├── vault.ex │ │ │ └── zip_probe.ex │ │ ├── transport.ex │ │ ├── transport_web/ │ │ │ ├── api/ │ │ │ │ ├── controllers/ │ │ │ │ │ ├── aom_controller.ex │ │ │ │ │ ├── autocomplete_controller.ex │ │ │ │ │ ├── datasets_controller.ex │ │ │ │ │ ├── features_controller.ex │ │ │ │ │ ├── geo_query_controller.ex │ │ │ │ │ ├── gtfs_stops_controller.ex │ │ │ │ │ ├── stats_controller.ex │ │ │ │ │ └── validators_controller.ex │ │ │ │ ├── plugs/ │ │ │ │ │ ├── auth.ex │ │ │ │ │ ├── cache.ex │ │ │ │ │ └── token_auth.ex │ │ │ │ ├── router.ex │ │ │ │ ├── schemas.ex │ │ │ │ ├── spec.ex │ │ │ │ └── views/ │ │ │ │ ├── aom_view.ex │ │ │ │ ├── autocomplete_view.ex │ │ │ │ ├── dataset_view.ex │ │ │ │ ├── json_view.ex │ │ │ │ └── stats_view.ex │ │ │ ├── channels/ │ │ │ │ ├── explore_channel.ex │ │ │ │ └── user_socket.ex │ │ │ ├── components/ │ │ │ │ └── colorful_button.ex │ │ │ ├── controllers/ │ │ │ │ ├── aoms_controller.ex │ │ │ │ ├── atom_controller.ex │ │ │ │ ├── backoffice/ │ │ │ │ │ ├── breaking_news_controller.ex │ │ │ │ │ ├── broken_urls_controller.ex │ │ │ │ │ ├── contact_controller.ex │ │ │ │ │ ├── dashboard_controller.ex │ │ │ │ │ ├── dataset_controller.ex │ │ │ │ │ ├── gtfs_export_controller.ex │ │ │ │ │ ├── notification_subscription_controller.ex │ │ │ │ │ └── page_controller.ex │ │ │ │ ├── contact_controller.ex │ │ │ │ ├── conversion_controller.ex │ │ │ │ ├── dataset_controller.ex │ │ │ │ ├── discussion_controller.ex │ │ │ │ ├── espace_producteur_controller.ex │ │ │ │ ├── explore_controller.ex │ │ │ │ ├── gbfs_analyzer_controller.ex │ │ │ │ ├── gbfs_to_geojson_controller.ex │ │ │ │ ├── geojson_conversion_controller.ex │ │ │ │ ├── landing_pages_controller.ex │ │ │ │ ├── page_controller.ex │ │ │ │ ├── pagination_helpers.ex │ │ │ │ ├── resource_controller.ex │ │ │ │ ├── reuse_controller.ex │ │ │ │ ├── reuser_space_controller.ex │ │ │ │ ├── session_controller.ex │ │ │ │ ├── stats_controller.ex │ │ │ │ └── validation_controller.ex │ │ │ ├── endpoint.ex │ │ │ ├── gettext.ex │ │ │ ├── live/ │ │ │ │ ├── backoffice/ │ │ │ │ │ ├── cache_live.ex │ │ │ │ │ ├── cache_live.html.heex │ │ │ │ │ ├── custom_tags_live.ex │ │ │ │ │ ├── data_import_batch_report_live.ex │ │ │ │ │ ├── data_import_batch_report_live.html.heex │ │ │ │ │ ├── dataset_subtype_live.ex │ │ │ │ │ ├── declarative_spatial_areas_live.ex │ │ │ │ │ ├── edit_dataset_live.ex │ │ │ │ │ ├── edit_dataset_live.html.heex │ │ │ │ │ ├── email_preview_live.ex │ │ │ │ │ ├── email_preview_live.html.heex │ │ │ │ │ ├── irve_dashboard_live.ex │ │ │ │ │ ├── irve_dashboard_live.html.heex │ │ │ │ │ ├── jobs2_live.ex │ │ │ │ │ ├── jobs2_live.html.heex │ │ │ │ │ ├── jobs_live.ex │ │ │ │ │ ├── jobs_live.html.heex │ │ │ │ │ ├── jobs_table_component.ex │ │ │ │ │ ├── legal_owner_select_live.ex │ │ │ │ │ ├── offer_select_live.ex │ │ │ │ │ ├── proxy_config_live.ex │ │ │ │ │ ├── proxy_config_live.html.heex │ │ │ │ │ ├── rate_limiter_live.ex │ │ │ │ │ └── rate_limiter_live.html.heex │ │ │ │ ├── dataset_notifications_live.ex │ │ │ │ ├── dataset_notifications_live.html.heex │ │ │ │ ├── discussions_live.ex │ │ │ │ ├── feedback_live.ex │ │ │ │ ├── feedback_live.html.heex │ │ │ │ ├── follow_dataset_live.ex │ │ │ │ ├── gtfs_diff_explain/ │ │ │ │ │ ├── explanations.ex │ │ │ │ │ ├── structural_changes.ex │ │ │ │ │ └── summary.ex │ │ │ │ ├── gtfs_diff_explain.ex │ │ │ │ ├── gtfs_diff_select_live/ │ │ │ │ │ ├── analysis.ex │ │ │ │ │ ├── differences.ex │ │ │ │ │ ├── gtfs_specification.ex │ │ │ │ │ ├── results.ex │ │ │ │ │ ├── setup.ex │ │ │ │ │ ├── shared.ex │ │ │ │ │ └── steps.ex │ │ │ │ ├── gtfs_diff_select_live.ex │ │ │ │ ├── gtfs_diff_select_live.html.heex │ │ │ │ ├── notifications_live.ex │ │ │ │ ├── notifications_live.html.heex │ │ │ │ ├── on_demand_validation_live.ex │ │ │ │ ├── on_demand_validation_live.html.heex │ │ │ │ ├── on_demand_validation_select_live.ex │ │ │ │ ├── on_demand_validation_select_live.html.heex │ │ │ │ ├── proxy_requests_count_live.ex │ │ │ │ ├── reuses_live.ex │ │ │ │ ├── send_now_on_nap_notification_view.ex │ │ │ │ ├── siri_querier_live.ex │ │ │ │ ├── siri_querier_live.html.heex │ │ │ │ ├── start_consolidate_job_view.ex │ │ │ │ ├── user_space_datasets_live.ex │ │ │ │ ├── validate_dataset_view.ex │ │ │ │ └── validate_resource_live.ex │ │ │ ├── plugs/ │ │ │ │ ├── custom_secure_browser_headers.ex │ │ │ │ ├── halt.ex │ │ │ │ ├── head.ex │ │ │ │ ├── health_check.ex │ │ │ │ ├── producer_data.ex │ │ │ │ ├── put_locale.ex │ │ │ │ ├── rate_limiter.ex │ │ │ │ ├── reuser_data.ex │ │ │ │ ├── router.ex │ │ │ │ └── worker_healthcheck.ex │ │ │ ├── presence.ex │ │ │ ├── redirect.ex │ │ │ ├── router.ex │ │ │ ├── session.ex │ │ │ ├── templates/ │ │ │ │ ├── aoms/ │ │ │ │ │ └── index.html.heex │ │ │ │ ├── atom/ │ │ │ │ │ └── index.html.heex │ │ │ │ ├── backoffice/ │ │ │ │ │ ├── breaking_news/ │ │ │ │ │ │ └── index.html.heex │ │ │ │ │ ├── broken_urls/ │ │ │ │ │ │ └── index.html.heex │ │ │ │ │ ├── contact/ │ │ │ │ │ │ ├── _notification_subscriptions.html.heex │ │ │ │ │ │ ├── _notifications.html.heex │ │ │ │ │ │ ├── form.html.heex │ │ │ │ │ │ └── index.html.heex │ │ │ │ │ ├── dashboard/ │ │ │ │ │ │ └── index.html.heex │ │ │ │ │ └── page/ │ │ │ │ │ ├── _dataset.html.heex │ │ │ │ │ ├── form_dataset.html.heex │ │ │ │ │ └── index.html.heex │ │ │ │ ├── dataset/ │ │ │ │ │ ├── _banner.html.heex │ │ │ │ │ ├── _community_resources.html.heex │ │ │ │ │ ├── _community_ressource.html.heex │ │ │ │ │ ├── _custom_message.html.heex │ │ │ │ │ ├── _dataset_resources_history.html.heex │ │ │ │ │ ├── _dataset_scores_chart.html.heex │ │ │ │ │ ├── _dataset_type.html.heex │ │ │ │ │ ├── _discussion.html.heex │ │ │ │ │ ├── _header_links.html.heex │ │ │ │ │ ├── _history_message.html.heex │ │ │ │ │ ├── _licence.html.heex │ │ │ │ │ ├── _notifications_sent.html.heex │ │ │ │ │ ├── _resource.html.heex │ │ │ │ │ ├── _resource_validation_summary.html.heex │ │ │ │ │ ├── _resource_validation_summary_gtfs.html.heex │ │ │ │ │ ├── _resource_validation_summary_netex.html.heex │ │ │ │ │ ├── _resources_container.html.heex │ │ │ │ │ ├── _reuser_message.html.heex │ │ │ │ │ ├── details.html.heex │ │ │ │ │ └── index.html.heex │ │ │ │ ├── email/ │ │ │ │ │ ├── bnlc_consolidation_report.html.heex │ │ │ │ │ ├── contact.html.heex │ │ │ │ │ ├── dataset_now_on_nap.html.md │ │ │ │ │ ├── dataset_with_error_producer.html.md │ │ │ │ │ ├── dataset_with_error_reuser.html.md │ │ │ │ │ ├── datasets_climate_resilience_bill_inappropriate_licence.html.heex │ │ │ │ │ ├── datasets_switching_climate_resilience_bill.html.md │ │ │ │ │ ├── datasets_without_gtfs_rt_related_resources.html.heex │ │ │ │ │ ├── expiration.html.heex │ │ │ │ │ ├── expiration_producer.html.md │ │ │ │ │ ├── expiration_reuser.html.heex │ │ │ │ │ ├── feedback.html.md │ │ │ │ │ ├── inactive_datasets.html.heex │ │ │ │ │ ├── new_comments_producer.html.heex │ │ │ │ │ ├── new_comments_reuser.html.heex │ │ │ │ │ ├── new_datagouv_datasets.html.heex │ │ │ │ │ ├── new_dataset.html.heex │ │ │ │ │ ├── oban_failure.html.md │ │ │ │ │ ├── producer_with_subscriptions.html.md │ │ │ │ │ ├── producer_without_subscriptions.html.md │ │ │ │ │ ├── promote_producer_space.html.md │ │ │ │ │ ├── promote_reuser_space.html.md │ │ │ │ │ ├── resource_unavailable_producer.html.md │ │ │ │ │ ├── resource_unavailable_reuser.html.md │ │ │ │ │ ├── resources_changed.html.md │ │ │ │ │ ├── unknown_gbfs_operator_feeds.html.heex │ │ │ │ │ ├── visit_download_statistics.html.md │ │ │ │ │ ├── visit_proxy_statistics.html.md │ │ │ │ │ └── warn_inactivity.html.md │ │ │ │ ├── error/ │ │ │ │ │ ├── 400_family_errors.html.heex │ │ │ │ │ └── internal_server_error.html.heex │ │ │ │ ├── espace_producteur/ │ │ │ │ │ ├── _important_information.html.heex │ │ │ │ │ ├── _proxy_requests_stats.html.heex │ │ │ │ │ ├── _specify_url.html.heex │ │ │ │ │ ├── _upload_file.html.heex │ │ │ │ │ ├── delete_resource_confirmation.html.heex │ │ │ │ │ ├── discussions.html.heex │ │ │ │ │ ├── download_statistics.html.heex │ │ │ │ │ ├── edit_dataset.html.heex │ │ │ │ │ ├── espace_producteur.html.heex │ │ │ │ │ ├── proxy_statistics.html.heex │ │ │ │ │ ├── resource_form.html.heex │ │ │ │ │ └── reuser_improved_data.html.heex │ │ │ │ ├── explore/ │ │ │ │ │ ├── explore.html.heex │ │ │ │ │ └── gtfs_stops.html.heex │ │ │ │ ├── gbfs_analyzer/ │ │ │ │ │ └── index.html.heex │ │ │ │ ├── geojson_conversion/ │ │ │ │ │ └── index.html.heex │ │ │ │ ├── landing_pages/ │ │ │ │ │ └── vls.html.heex │ │ │ │ ├── layout/ │ │ │ │ │ ├── _breaking_news.html.heex │ │ │ │ │ ├── _footer.html.heex │ │ │ │ │ ├── _header.html.heex │ │ │ │ │ ├── app.html.heex │ │ │ │ │ └── email.html.heex │ │ │ │ ├── page/ │ │ │ │ │ ├── _home_autocomplete.html.heex │ │ │ │ │ ├── accessibility.html.md │ │ │ │ │ ├── index.html.heex │ │ │ │ │ ├── infos_producteurs.html.heex │ │ │ │ │ ├── infos_reutilisateurs.html.heex │ │ │ │ │ ├── join_the_community.html.heex │ │ │ │ │ ├── login.html.heex │ │ │ │ │ ├── missions.html.md │ │ │ │ │ ├── nouveautes.html.md │ │ │ │ │ └── single_page.html.heex │ │ │ │ ├── resource/ │ │ │ │ │ ├── _download_availability.html.heex │ │ │ │ │ ├── _errors_warnings_count.html.heex │ │ │ │ │ ├── _geojson.html.heex │ │ │ │ │ ├── _gtfs_coordinates_issue.html.heex │ │ │ │ │ ├── _gtfs_duplicate_stop_sequence_issue.html.heex │ │ │ │ │ ├── _gtfs_duplicate_stops_issue.html.heex │ │ │ │ │ ├── _gtfs_extra_file_issue.html.heex │ │ │ │ │ ├── _gtfs_generic_issue.html.heex │ │ │ │ │ ├── _gtfs_invalid_shape_id_issue.html.heex │ │ │ │ │ ├── _gtfs_missing_file_issue.html.heex │ │ │ │ │ ├── _gtfs_missing_id_issue.html.heex │ │ │ │ │ ├── _gtfs_missing_name_issue.html.heex │ │ │ │ │ ├── _gtfs_negative_stop_duration_issue.html.heex │ │ │ │ │ ├── _gtfs_no_calendar.html.heex │ │ │ │ │ ├── _gtfs_rt.html.heex │ │ │ │ │ ├── _gtfs_rt_errors_for_severity.html.heex │ │ │ │ │ ├── _gtfs_rt_previous_validations_details.html.heex │ │ │ │ │ ├── _gtfs_speed_issue.html.heex │ │ │ │ │ ├── _gtfs_subfolder_issue.html.heex │ │ │ │ │ ├── _gtfs_unloadable_model_issue.html.heex │ │ │ │ │ ├── _gtfs_unusable_trip.html.heex │ │ │ │ │ ├── _gtfs_unused_shape_issue.html.heex │ │ │ │ │ ├── _gtfs_unused_stop_issue.html.heex │ │ │ │ │ ├── _mobilitydata_metadata.html.heex │ │ │ │ │ ├── _netex_generic_issue.html.heex │ │ │ │ │ ├── _netex_validation_errors_v0_1_0.html.heex │ │ │ │ │ ├── _netex_validation_errors_v0_2_x.html.heex │ │ │ │ │ ├── _netex_xsd_schema.html.heex │ │ │ │ │ ├── _on_demand_validation_hint.html.heex │ │ │ │ │ ├── _related_resources.html.heex │ │ │ │ │ ├── _requestor_ref.html.heex │ │ │ │ │ ├── _resource_description.html.heex │ │ │ │ │ ├── _resources_details_gtfs.html.heex │ │ │ │ │ ├── _resources_details_netex.html.heex │ │ │ │ │ ├── _resources_netex_validation_details.html.heex │ │ │ │ │ ├── _search_bar.html.heex │ │ │ │ │ ├── _validate_gbfs_now.html.heex │ │ │ │ │ ├── _validate_gtfs_rt_now.html.heex │ │ │ │ │ ├── _validation_report.html.heex │ │ │ │ │ ├── _validation_report_gbfs.html.heex │ │ │ │ │ ├── _validation_report_gtfs_rt.html.heex │ │ │ │ │ ├── _validation_report_mobilitydata_gtfs.html.heex │ │ │ │ │ ├── _validation_report_schema.html.heex │ │ │ │ │ ├── _validation_summary.html.heex │ │ │ │ │ ├── details.html.heex │ │ │ │ │ ├── gtfs_details.html.heex │ │ │ │ │ └── netex_details.html.heex │ │ │ │ ├── reuse/ │ │ │ │ │ └── index.html.heex │ │ │ │ ├── reuser_space/ │ │ │ │ │ ├── datasets_edit.html.heex │ │ │ │ │ ├── index.html.heex │ │ │ │ │ ├── new_token.html.heex │ │ │ │ │ └── settings.html.heex │ │ │ │ ├── stats/ │ │ │ │ │ ├── _maps.html.heex │ │ │ │ │ ├── index.html.heex │ │ │ │ │ └── metabase_dashboard.html.heex │ │ │ │ └── validation/ │ │ │ │ ├── expired.html.heex │ │ │ │ ├── show_gtfs.html.heex │ │ │ │ ├── show_irve_statique.html.heex │ │ │ │ ├── show_netex_v0_1_0.html.heex │ │ │ │ └── show_netex_v0_2_x.html.heex │ │ │ └── views/ │ │ │ ├── aoms_view.ex │ │ │ ├── atom_view.ex │ │ │ ├── backoffice/ │ │ │ │ ├── breaking_news_view.ex │ │ │ │ ├── broken_urls_view.ex │ │ │ │ ├── contact_view.ex │ │ │ │ ├── dashboard_view.ex │ │ │ │ └── page_view.ex │ │ │ ├── bread_crumbs.ex │ │ │ ├── dataset_view.ex │ │ │ ├── email_view.ex │ │ │ ├── error_helpers.ex │ │ │ ├── error_view.ex │ │ │ ├── espace_producteur_view.ex │ │ │ ├── explore_view.ex │ │ │ ├── gbfs_anaylzer_view.ex │ │ │ ├── geojson_conversion_view.ex │ │ │ ├── input_helpers.ex │ │ │ ├── landing_pages_view.ex │ │ │ ├── layout_view.ex │ │ │ ├── markdown_handler.ex │ │ │ ├── netex_report_components.ex │ │ │ ├── page_view.ex │ │ │ ├── resource_view.ex │ │ │ ├── reuse_view.ex │ │ │ ├── reuser_space_view.ex │ │ │ ├── seo_metadata.ex │ │ │ ├── stats_view.ex │ │ │ └── validation_view.ex │ │ ├── transport_web.ex │ │ ├── unlock/ │ │ │ ├── aggregate_processor.ex │ │ │ ├── batch_metrics.ex │ │ │ ├── cached_fetch.ex │ │ │ ├── config.ex │ │ │ ├── controller.ex │ │ │ ├── dynamic_irve/ │ │ │ │ ├── controller.ex │ │ │ │ ├── feed_store.ex │ │ │ │ ├── feed_worker.ex │ │ │ │ └── renderer.ex │ │ │ ├── dynamic_irve_supervisor.ex │ │ │ ├── enforce_ttl.ex │ │ │ ├── gunzip_tools.ex │ │ │ ├── http_client.ex │ │ │ ├── params.ex │ │ │ ├── plugs/ │ │ │ │ └── token_auth.ex │ │ │ ├── router.ex │ │ │ ├── shared.ex │ │ │ ├── siri.ex │ │ │ ├── telemetry.ex │ │ │ ├── views/ │ │ │ │ └── error_view.ex │ │ │ └── xml_helper.ex │ │ ├── validators/ │ │ │ ├── enroute_chouette_valid_client.ex │ │ │ ├── gbfs_validator.ex │ │ │ ├── gtfs_rt_validator.ex │ │ │ ├── gtfs_transport_validator.ex │ │ │ ├── jsonschema_validata_json_validator.ex │ │ │ ├── jsonschema_validator.ex │ │ │ ├── mobilitydata_gtfs_validator.ex │ │ │ ├── mobilitydata_gtfs_validator_client.ex │ │ │ ├── netex/ │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── metadata_extractor.ex │ │ │ │ ├── results_adapter.ex │ │ │ │ ├── results_adapters/ │ │ │ │ │ ├── commons.ex │ │ │ │ │ ├── v0_1_0.ex │ │ │ │ │ ├── v0_2_0.ex │ │ │ │ │ ├── v0_2_1.ex │ │ │ │ │ └── v0_2_2.ex │ │ │ │ └── validator.ex │ │ │ ├── tableschema_validator.ex │ │ │ ├── validator.ex │ │ │ └── validator_selection.ex │ │ └── zip.ex │ ├── mix.exs │ ├── priv/ │ │ ├── facilitators.csv │ │ ├── gbfs_operators.csv │ │ ├── gettext/ │ │ │ ├── administrative_division.pot │ │ │ ├── alert.pot │ │ │ ├── autocomplete.pot │ │ │ ├── backoffice.pot │ │ │ ├── backoffice_dataset.pot │ │ │ ├── climate-resilience-bill.pot │ │ │ ├── community_resource.pot │ │ │ ├── contact.pot │ │ │ ├── datagouv-dataset.pot │ │ │ ├── dataset.pot │ │ │ ├── db-dataset-score.pot │ │ │ ├── db-dataset.pot │ │ │ ├── db-resource-related.pot │ │ │ ├── default.pot │ │ │ ├── download-link.pot │ │ │ ├── en/ │ │ │ │ └── LC_MESSAGES/ │ │ │ │ ├── administrative_division.po │ │ │ │ ├── alert.po │ │ │ │ ├── autocomplete.po │ │ │ │ ├── backoffice.po │ │ │ │ ├── backoffice_dataset.po │ │ │ │ ├── climate-resilience-bill.po │ │ │ │ ├── community_resource.po │ │ │ │ ├── contact.po │ │ │ │ ├── datagouv-dataset.po │ │ │ │ ├── dataset.po │ │ │ │ ├── db-dataset-score.po │ │ │ │ ├── db-dataset.po │ │ │ │ ├── db-resource-related.po │ │ │ │ ├── default.po │ │ │ │ ├── download-link.po │ │ │ │ ├── errors.po │ │ │ │ ├── espace-producteurs.po │ │ │ │ ├── explore.po │ │ │ │ ├── feedback.po │ │ │ │ ├── gbfs_analyzer.po │ │ │ │ ├── gtfs-diff.po │ │ │ │ ├── gtfs-file-descriptions.po │ │ │ │ ├── gtfs-transport-validator.po │ │ │ │ ├── helper.po │ │ │ │ ├── landing-vls.po │ │ │ │ ├── netex-documentation.po │ │ │ │ ├── netex-validator.po │ │ │ │ ├── notification_subscription.po │ │ │ │ ├── page-dataset-details.po │ │ │ │ ├── page-index.po │ │ │ │ ├── page-login.po │ │ │ │ ├── page-nouveautes.po │ │ │ │ ├── page-producteurs.po │ │ │ │ ├── page-shortlist.po │ │ │ │ ├── resource.po │ │ │ │ ├── reusable_data.po │ │ │ │ ├── reuser-space.po │ │ │ │ ├── reuses.po │ │ │ │ ├── seo.po │ │ │ │ ├── stats.po │ │ │ │ ├── user.po │ │ │ │ ├── validation.po │ │ │ │ ├── validations-explanations.po │ │ │ │ └── validations.po │ │ │ ├── errors.pot │ │ │ ├── espace-producteurs.pot │ │ │ ├── explore.pot │ │ │ ├── feedback.pot │ │ │ ├── fr/ │ │ │ │ └── LC_MESSAGES/ │ │ │ │ ├── administrative_division.po │ │ │ │ ├── alert.po │ │ │ │ ├── autocomplete.po │ │ │ │ ├── backoffice.po │ │ │ │ ├── backoffice_dataset.po │ │ │ │ ├── climate-resilience-bill.po │ │ │ │ ├── community_resource.po │ │ │ │ ├── contact.po │ │ │ │ ├── datagouv-dataset.po │ │ │ │ ├── dataset.po │ │ │ │ ├── db-dataset-score.po │ │ │ │ ├── db-dataset.po │ │ │ │ ├── db-resource-related.po │ │ │ │ ├── default.po │ │ │ │ ├── download-link.po │ │ │ │ ├── errors.po │ │ │ │ ├── espace-producteurs.po │ │ │ │ ├── explore.po │ │ │ │ ├── feedback.po │ │ │ │ ├── gbfs_analyzer.po │ │ │ │ ├── gtfs-diff.po │ │ │ │ ├── gtfs-file-descriptions.po │ │ │ │ ├── gtfs-transport-validator.po │ │ │ │ ├── helper.po │ │ │ │ ├── landing-vls.po │ │ │ │ ├── netex-documentation.po │ │ │ │ ├── netex-validator.po │ │ │ │ ├── notification_subscription.po │ │ │ │ ├── page-dataset-details.po │ │ │ │ ├── page-index.po │ │ │ │ ├── page-login.po │ │ │ │ ├── page-nouveautes.po │ │ │ │ ├── page-producteurs.po │ │ │ │ ├── page-shortlist.po │ │ │ │ ├── resource.po │ │ │ │ ├── reusable_data.po │ │ │ │ ├── reuser-space.po │ │ │ │ ├── reuses.po │ │ │ │ ├── seo.po │ │ │ │ ├── stats.po │ │ │ │ ├── user.po │ │ │ │ ├── validation.po │ │ │ │ ├── validations-explanations.po │ │ │ │ └── validations.po │ │ │ ├── gbfs_analyzer.pot │ │ │ ├── gtfs-diff.pot │ │ │ ├── gtfs-file-descriptions.pot │ │ │ ├── gtfs-transport-validator.pot │ │ │ ├── helper.pot │ │ │ ├── landing-vls.pot │ │ │ ├── netex-documentation.pot │ │ │ ├── netex-validator.pot │ │ │ ├── notification_subscription.pot │ │ │ ├── page-dataset-details.pot │ │ │ ├── page-index.pot │ │ │ ├── page-login.pot │ │ │ ├── page-nouveautes.pot │ │ │ ├── page-producteurs.pot │ │ │ ├── page-shortlist.pot │ │ │ ├── resource.pot │ │ │ ├── reusable_data.pot │ │ │ ├── reuser-space.pot │ │ │ ├── reuses.pot │ │ │ ├── seo.pot │ │ │ ├── stats.pot │ │ │ ├── user.pot │ │ │ ├── validation.pot │ │ │ ├── validations-explanations.pot │ │ │ └── validations.pot │ │ ├── irve_prioritary_datasets.yml │ │ ├── mobilitydata_gtfs_rules.json │ │ ├── repo/ │ │ │ └── migrations/ │ │ │ ├── 20181121164437_create_region.exs │ │ │ ├── 20181121165604_create_aom.exs │ │ │ ├── 20181121170709_create_dataset.exs │ │ │ ├── 20181121171826_create_partner.exs │ │ │ ├── 20181204093045_add_included_in_dataset_to_datasets.exs │ │ │ ├── 20181205100445_add_type_id_partner.exs │ │ │ ├── 20181205134354_aom_postgis_geometry.exs │ │ │ ├── 20181205163400_add_resources.exs │ │ │ ├── 20181205164605_migrate_validations.exs │ │ │ ├── 20181210164424_insee_aom_table.exs │ │ │ ├── 20181211094634_migrate_format.exs │ │ │ ├── 20181211164714_add_title_resource.exs │ │ │ ├── 20181212091910_commune_to_aom.exs │ │ │ ├── 20181218123622_only_use_postgis.exs │ │ │ ├── 20181220111337_move_metadata.exs │ │ │ ├── 20190108103116_remove_region_dataset_aom.exs │ │ │ ├── 20190130145745_rename_transit_types.exs │ │ │ ├── 20190204155646_fix_region.exs │ │ │ ├── 20190207164219_remove_empty_url.exs │ │ │ ├── 20190227165217_more_resource_metadata.exs │ │ │ ├── 20190402122703_add_has_realtime.exs │ │ │ ├── 20190408091202_validations_table.exs │ │ │ ├── 20190424095327_add_dataset_activation.exs │ │ │ ├── 20190425142259_add_resource_is_available.exs │ │ │ ├── 20190506153738_add_dataset_document.exs │ │ │ ├── 20190509163526_delete_cascade_validations.exs │ │ │ ├── 20190516142725_search_commune.exs │ │ │ ├── 20190703092429_use_simple_index_search.exs │ │ │ ├── 20190910091521_change_siren.exs │ │ │ ├── 20190911085235_add_resource_content_hash.exs │ │ │ ├── 20191216144800_add_resource_tags.exs │ │ │ ├── 20200106094910_nb_reuses.exs │ │ │ ├── 20200110124026_unaccent.exs │ │ │ ├── 20200114101848_change_search_conf.exs │ │ │ ├── 20200114143832_add_dataset_view.exs │ │ │ ├── 20200116092044_link_dataset_commune.exs │ │ │ ├── 20200116163306_more_pt.exs │ │ │ ├── 20200120092242_add_communes_to_view.exs │ │ │ ├── 20200120154256_dataset_associated_territory.exs │ │ │ ├── 20200130152852_epci.exs │ │ │ ├── 20200212092113_materialized_geographic_view.exs │ │ │ ├── 20200217142350_add_commune_region.exs │ │ │ ├── 20200220141013_fuzzystrmatch.exs │ │ │ ├── 20200224093551_places_mat_view.exs │ │ │ ├── 20200225140241_slug_constraint.exs │ │ │ ├── 20200311095433_correction_of_dataset_geographic_view.exs │ │ │ ├── 20200420082026_validation_fields.exs │ │ │ ├── 20200429171646_netex_conversion_date.exs │ │ │ ├── 20200505124346_validation_sha.exs │ │ │ ├── 20200527084259_community_resources.exs │ │ │ ├── 20200603103539_add_metadatas_for_on_the_fly_validations.exs │ │ │ ├── 20200603130643_description_text.exs │ │ │ ├── 20200608155921_rename_netex.exs │ │ │ ├── 20200610162056_geojson_content_hash.exs │ │ │ ├── 20200616101043_add_resource_filesize.exs │ │ │ ├── 20200622141231_create_import_logs_table.exs │ │ │ ├── 20200623112618_import_logs_unlimited_text_length_logs_table.exs │ │ │ ├── 20200623134041_create_validation_logs_table.exs │ │ │ ├── 20200623162648_skipped_validation.exs │ │ │ ├── 20200630154908_original_resource_url.exs │ │ │ ├── 20200703080414_resource_log_validation.exs │ │ │ ├── 20200818124059_add_geojson_to_validation_data.exs │ │ │ ├── 20200907134321_change_dataset_on_delete_behavior.exs │ │ │ ├── 20200908085058_resource_datagouv_id.exs │ │ │ ├── 20201103174924_features_and_modes.exs │ │ │ ├── 20201103183100_more_places.exs │ │ │ ├── 20201112110459_update_aoms_fk.exs │ │ │ ├── 20201209152013_add_indices.exs │ │ │ ├── 20201214163517_stats_history.exs │ │ │ ├── 20210126172850_remove_refresh_places_resources_trigger.exs │ │ │ ├── 20210512142927_add_discussion_timestamp.exs │ │ │ ├── 20210615132842_charsharing_to_carpooling.exs │ │ │ ├── 20210622150648_dataset_communes_on_delete.exs │ │ │ ├── 20210623140048_add_nouvelle_caledonie.exs │ │ │ ├── 20210630130031_add_resource_schema.exs │ │ │ ├── 20210811122529_rename-category-bike-scooter-sharing.exs │ │ │ ├── 20211006144855_rename_category_bike_path.exs │ │ │ ├── 20211018122851_add_oban_jobs_table.exs │ │ │ ├── 20211021094750_move_fields_to_jsonb.exs │ │ │ ├── 20211122101004_add_metrics.exs │ │ │ ├── 20211130094242_add_resource_history.exs │ │ │ ├── 20211209090542_add_breaking_news_table.exs │ │ │ ├── 20211209121042_migrate_gbfs_metrics.exs │ │ │ ├── 20211210082242_add_resource_unavailability.exs │ │ │ ├── 20211214142804_create_conversion_table.exs │ │ │ ├── 20220104092238_add_resource_history_last_up_to_date_at_field.exs │ │ │ ├── 20220118101217_allow_netex_conversion.exs │ │ │ ├── 20220124133742_add_category_locations.exs │ │ │ ├── 20220126101800_add_title_resource_history.exs │ │ │ ├── 20220208143147_create_gtfs_stops_table.exs │ │ │ ├── 20220210142527_add_table_gtfs_stop_times.exs │ │ │ ├── 20220214161600_migrate_old_validation_rows.exs │ │ │ ├── 20220225104500_drop_table_partner.exs │ │ │ ├── 20220301085100_add_timestamps_data_import.exs │ │ │ ├── 20220321151717_remove_resource_deprecated_fields.exs │ │ │ ├── 20220322090153_rename_dataset_title_fields.exs │ │ │ ├── 20220322135059_update_search_conf_field_name.exs │ │ │ ├── 20220329113451_add_index_history_dataset_id.exs │ │ │ ├── 20220406125936_add_geo_data.exs │ │ │ ├── 20220412131157_add_resource_filetype.exs │ │ │ ├── 20220419124355_rename_category_road_network.exs │ │ │ ├── 20220429092956_set_up_multi_validation.exs │ │ │ ├── 20220502083641_add_metadata_table.exs │ │ │ ├── 20220502130846_add_resource_type.exs │ │ │ ├── 20220505115659_add_resource_display_position.exs │ │ │ ├── 20220505121748_create_resource_history_format_index.exs │ │ │ ├── 20220510124001_create_multi_validation_index.exs │ │ │ ├── 20220523132328_add_resource_history_resource_id.exs │ │ │ ├── 20220525084346_add_multi_validation_args.exs │ │ │ ├── 20220531123506_modify_resource_history_constraint.exs │ │ │ ├── 20220601135310_change-multi-validation-field-name.exs │ │ │ ├── 20220615090656_add_index_resource_history_resource_id.exs │ │ │ ├── 20220615123711_add_max_error_field.exs │ │ │ ├── 20220922134600_fix_region_data.exs │ │ │ ├── 20220923080044_add_table_departement.exs │ │ │ ├── 20220923080526_add_columns_communes.exs │ │ │ ├── 20220929073801_fix_geometries.exs │ │ │ ├── 20220930122054_add_metadata_modes_features.exs │ │ │ ├── 20221004125601_set_noumea_siren.exs │ │ │ ├── 20221004135750_enable_trigger_refresh_places_commune_trigger.exs │ │ │ ├── 20221004151551_add_modes_features_index.exs │ │ │ ├── 20221005125656_update_modes_features_places.exs │ │ │ ├── 20221010144415_rename_population_cols_aom.exs │ │ │ ├── 20221031094523_dataset_add_timestamps.exs │ │ │ ├── 20221110101806_rename_mobility_license.exs │ │ │ ├── 20221129131631_dataset_add_archived_at_field.exs │ │ │ ├── 20221201165336_create_dataset_history.exs │ │ │ ├── 20221206132945_on_delete_nilify.exs │ │ │ ├── 20221206135302_data_import_delete.exs │ │ │ ├── 20221208083708_add_indexes_resource.exs │ │ │ ├── 20221228090455_create_oban_peers.exs │ │ │ ├── 20221228090553_swap_primary_oban_indexes.exs │ │ │ ├── 20221228142229_remove_resource_start_end_date.exs │ │ │ ├── 20230103165252_validation_v1_shutdown.exs │ │ │ ├── 20230110074451_create_data_import_batch.exs │ │ │ ├── 20230111115335_add_index_dataset_history_slug.exs │ │ │ ├── 20230112132326_add_notifications.exs │ │ │ ├── 20230120093740_dataset_add_unique_datagouv_id.exs │ │ │ ├── 20230124110826_notifications_change_dataset_on_delete_behavior.exs │ │ │ ├── 20230124131704_dataset_tags.exs │ │ │ ├── 20230125145703_notifications_add_dataset_datagouv_id.exs │ │ │ ├── 20230202090645_add_dataset_organization_type.exs │ │ │ ├── 20230206131831_add_contacts.exs │ │ │ ├── 20230220102200_add_notification_subscription.exs │ │ │ ├── 20230302084455_add_dataset_legal_owner.exs │ │ │ ├── 20230308085359_add_indexes_dataset_history_resources.exs │ │ │ ├── 20230309102424_add_mailing_list_title_contact.exs │ │ │ ├── 20230322080214_dataset_change_types_date_cols.exs │ │ │ ├── 20230327135824_correct_dataset_population_update.exs │ │ │ ├── 20230329071947_resource_change_types_datetime_cols.exs │ │ │ ├── 20230404074406_add_resource_related.exs │ │ │ ├── 20230412080437_contact_add_secondary_phone_number.exs │ │ │ ├── 20230420134229_notification_subscription_rename_licence_ouverte_reason.exs │ │ │ ├── 20230427083218_contact_add_datagouv_user_id_last_login_at.exs │ │ │ ├── 20230524122950_notification_subscription_rename_switching_licences_reason.exs │ │ │ ├── 20230525152222_create_table_dataset_score.exs │ │ │ ├── 20230609122110_dataset_add_organization_id.exs │ │ │ ├── 20230623121709_aom_remove_parent_dataset_id.exs │ │ │ ├── 20230626130232_notification_subscription_add_role.exs │ │ │ ├── 20230630074914_add_organization.exs │ │ │ ├── 20230719123439_dataset_score_topic_index.exs │ │ │ ├── 20230719124102_dataset_legal_owner_company_siren_type.exs │ │ │ ├── 20230828142610_aom_trim_departement.exs │ │ │ ├── 20230913130308_metrics_gbfs_target_name.exs │ │ │ ├── 20230925124412_gbfs_metrics_remove_404_rows.exs │ │ │ ├── 20231019121309_data_conversion_add_columns.exs │ │ │ ├── 20231110140739_remove_columns_from_aom.exs │ │ │ ├── 20231214145408_dataset_monthly_metrics.exs │ │ │ ├── 20231222145809_improve_epci.exs │ │ │ ├── 20231231135108_add_dataset_search_payload.exs │ │ │ ├── 20240102144643_dataset_add_not_null.exs │ │ │ ├── 20240110085755_resource_related_on_delete.exs │ │ │ ├── 20240117075117_resource_monthly_metrics.exs │ │ │ ├── 20240118133546_create_processing_reports.exs │ │ │ ├── 20240123133743_dataset_custom_logos_columns.exs │ │ │ ├── 20240212101805_dataset_add_custom_logo_changed_at.exs │ │ │ ├── 20240310152509_use_standard_timestamps_precision.exs │ │ │ ├── 20240311141215_create_dataset_followers.exs │ │ │ ├── 20240318143637_dataset_add_is_hidden.exs │ │ │ ├── 20240418140451_resource_url_size.exs │ │ │ ├── 20240422145836_create_user_feedback.exs │ │ │ ├── 20240502134737_notification_subscriptions_migrate_platform_producer.exs │ │ │ ├── 20240515113652_add_dataset_datagouv_id_to_resource_monthly_metrics.exs │ │ │ ├── 20240515155123_relax_constraint_on_resource_monthly_metrics.exs │ │ │ ├── 20240520130507_add_datagouv_id_to_dataset_history_resources.exs │ │ │ ├── 20240604121342_notifications_add_columns.exs │ │ │ ├── 20240619052714_add_resource_counter_cache.exs │ │ │ ├── 20240725130522_dataset_organization_type_migrate_value.exs │ │ │ ├── 20240726065227_dataset_organization_id_not_null.exs │ │ │ ├── 20240730130026_notifications_adjust_foreign_keys.exs │ │ │ ├── 20240905121512_dataset_remove_paris2024_tag.exs │ │ │ ├── 20240926074311_contact_add_creation_source.exs │ │ │ ├── 20241120132849_geo_data_import_add_slug.exs │ │ │ ├── 20250204084455_reuser_improved_data.exs │ │ │ ├── 20250225130151_resource_history_add_reuser_improved_data.exs │ │ │ ├── 20250305130125_resource_history_nullable_datagouv_id.exs │ │ │ ├── 20250305142322_create_reuse.exs │ │ │ ├── 20250305143006_create_reuse_dataset.exs │ │ │ ├── 20250331133652_token.exs │ │ │ ├── 20250527092321_create_api_request.exs │ │ │ ├── 20250530171428_token_add_default_for_contact_id.exs │ │ │ ├── 20250603104959_default_token.exs │ │ │ ├── 20250604082439_resource_download.exs │ │ │ ├── 20250610141027_migrate_dataset_types.exs │ │ │ ├── 20250617100226_create_administrative_division.exs │ │ │ ├── 20250618122521_feature_usage.exs │ │ │ ├── 20250620141849_create_dataset_declarative_spatial_area.exs │ │ │ ├── 20250816134003_upgrade_oban_jobs_to_v13.exs │ │ │ ├── 20250818131430_create_proxy_request.exs │ │ │ ├── 20250905085103_create_irve_tables.exs │ │ │ ├── 20250905125828_places_add_departement.exs │ │ │ ├── 20250915101514_places_add_epci.exs │ │ │ ├── 20250917125049_dataset_geographic_view_administrative_division.exs │ │ │ ├── 20250922081424_administrative_division_population.exs │ │ │ ├── 20250922083326_dataset_search_update_remove_population.exs │ │ │ ├── 20251006140759_delete_cascade_resource_downloads.exs │ │ │ ├── 20251009114246_add_result_digest_to_multi_validation.exs │ │ │ ├── 20251027091600_commune_aom_siren.exs │ │ │ ├── 20251117085613_delete_dataset_communes.exs │ │ │ ├── 20251117090342_dataset_delete_aom_id_region_id.exs │ │ │ ├── 20251120121226_create_offer.exs │ │ │ ├── 20251120125829_create_dataset_offer.exs │ │ │ ├── 20251121164427_region_iso3166.exs │ │ │ ├── 20251202120339_region_remove_is_completed.exs │ │ │ ├── 20251203161550_add_indexes_resource_history.exs │ │ │ ├── 20251204151437_places_add_offers.exs │ │ │ ├── 20251204172125_offer_index.exs │ │ │ ├── 20251204202714_resource_format_override.exs │ │ │ ├── 20251208124339_places_rename_autocomplete.exs │ │ │ ├── 20251209110327_departement_iso3166.exs │ │ │ ├── 20251209123938_add_table_size_history.exs │ │ │ ├── 20251209144903_add_gtfs_agency.exs │ │ │ ├── 20251209172445_add_multi_validation_binary_result.exs │ │ │ ├── 20251215081025_autocomplete_add_format.exs │ │ │ ├── 20251218133947_autocomplete_add_dataset.exs │ │ │ ├── 20251220162908_contact_add_locale.exs │ │ │ ├── 20260117113753_create_hidden_reuser_alerts.exs │ │ │ ├── 20260122180704_create_dataset_subtype.exs │ │ │ ├── 20260126155921_allow_netex_to_geojson_conversion.exs │ │ │ ├── 20260205144049_rename_irve_valid_file_columns.exs │ │ │ ├── 20260209120000_add_missing_fields_to_irve_valid_file.exs │ │ │ ├── 20260311000000_create_company.exs │ │ │ ├── 20260317000001_resource_related_unique_index.exs │ │ │ └── sql/ │ │ │ ├── autocomplete_add_dataset.sql │ │ │ ├── autocomplete_add_format.sql │ │ │ └── places_rename_autocomplete.sql │ │ ├── search_custom_messages.yml │ │ └── zfe_ids.csv │ └── test/ │ ├── build_test.exs │ ├── datagouvfr/ │ │ └── client/ │ │ ├── api_test.exs │ │ ├── community_resources_test.exs │ │ ├── datasets_test.exs │ │ ├── discussions_test.exs │ │ ├── resources_test.exs │ │ └── reuses_test.exs │ ├── db/ │ │ ├── administrative_division_test.exs │ │ ├── contact_test.exs │ │ ├── data_conversion_test.exs │ │ ├── dataset_follower_test.exs │ │ ├── dataset_history_test.exs │ │ ├── dataset_monthly_metric_test.exs │ │ ├── dataset_score_test.exs │ │ ├── dataset_test.exs │ │ ├── geom_test.exs │ │ ├── irve_valid_pdc_test.exs │ │ ├── metrics_test.exs │ │ ├── multi_validation_test.exs │ │ ├── notification_subscription_test.exs │ │ ├── notification_test.exs │ │ ├── resource_history_test.exs │ │ ├── resource_metadata_test.exs │ │ ├── resource_monthly_metric_test.exs │ │ ├── resource_related_test.exs │ │ ├── resource_test.exs │ │ ├── resource_unavailability_test.exs │ │ ├── reuse_test.exs │ │ ├── test_helper.exs │ │ ├── token_test.exs │ │ └── user_feedback_test.exs │ ├── documentation_links_test.exs │ ├── ecto_interval_test.exs │ ├── enroute/ │ │ └── chouette_valid_rulesets_client_test.exs │ ├── fixture/ │ │ ├── cassettes/ │ │ │ ├── dataset/ │ │ │ │ ├── dataset-aom.json.json │ │ │ │ ├── dataset-no-region-nor-ao.json.json │ │ │ │ ├── dataset-region-and-country.json.json │ │ │ │ ├── dataset-region-ao.json.json │ │ │ │ ├── dataset-with-multiple-cities-and-country.json.json │ │ │ │ ├── dataset-with-multiple-cities.json.json │ │ │ │ └── dataset_twice.json │ │ │ └── user/ │ │ │ ├── dataset-add-2.json │ │ │ ├── organization-create-4.json │ │ │ ├── organization-datasets-1.json │ │ │ ├── organizations-0.json │ │ │ └── user-without-organization-3.json │ │ ├── files/ │ │ │ ├── bibus-brest-gtfs-rt-alerts.pb │ │ │ ├── csv_latin1.csv │ │ │ ├── csv_utf8.csv │ │ │ └── gtfs-rt-validator-errors.json │ │ ├── gbfs/ │ │ │ ├── free_bike_status.2.2.json │ │ │ ├── gbfs.2.2.json │ │ │ ├── gbfs.3.0.json │ │ │ ├── station_information.2.2.json │ │ │ ├── station_information.3.0.json │ │ │ ├── station_status.2.2.json │ │ │ ├── station_status.3.0.json │ │ │ └── vehicle_status.3.0.json │ │ └── schemas/ │ │ ├── schemas.json │ │ ├── validata_source_error.json │ │ ├── validata_unknown_custom_check_error.json │ │ ├── validata_with_errors.json │ │ ├── validata_with_file_error.json │ │ ├── validata_with_no_errors.json │ │ └── validata_with_opening_hours_error.json │ ├── gtfs/ │ │ └── utils_test.exs │ ├── netex/ │ │ ├── archive_parser_test.exs │ │ ├── chouette_valid_ruleset_generator_test.exs │ │ ├── stop_places_streaming_parser_test.exs │ │ └── to_geojson/ │ │ ├── coordinates_test.exs │ │ ├── geojson_builder_test.exs │ │ ├── parsers/ │ │ │ ├── quay_parser_test.exs │ │ │ └── service_link_parser_test.exs │ │ └── to_geojson_test.exs │ ├── no_css_inline_style_test.exs │ ├── registry/ │ │ ├── gtfs_test.exs │ │ ├── model_test.exs │ │ └── result_test.exs │ ├── safe_svg_test.exs │ ├── support/ │ │ ├── channel_case.ex │ │ ├── conn_case.ex │ │ ├── data_gouv_api_fixtures.ex │ │ ├── database_case.ex │ │ ├── enroute_chouette_valid_client_helpers.ex │ │ ├── external_case.ex │ │ ├── factory.ex │ │ ├── file_stream_utils.ex │ │ ├── live_case.ex │ │ ├── live_view_test_helpers.ex │ │ ├── mocks.ex │ │ ├── netex_validation_report.ex │ │ ├── platform.ex │ │ ├── siri_queries.ex │ │ ├── tmp_file.ex │ │ └── zip_creator.ex │ ├── swoosh_assert_no_email_sent_test.exs │ ├── test_helper.exs │ ├── transport/ │ │ ├── S3/ │ │ │ └── aggregates_uploader_test.exs │ │ ├── application_test.exs │ │ ├── availability_checker_test.exs │ │ ├── cache_cachex_test.exs │ │ ├── cached_files_test.exs │ │ ├── comments_checker_test.exs │ │ ├── community_resource_cleaner_test.exs │ │ ├── companies_test.exs │ │ ├── consolidated_dataset_test.exs │ │ ├── custom_search_message_test.exs │ │ ├── data_checker_test.exs │ │ ├── data_frame/ │ │ │ └── validation_primitives_test.exs │ │ ├── dataset_checks_test.exs │ │ ├── dataset_index_test.exs │ │ ├── expiration_test.exs │ │ ├── file_downloads_test.exs │ │ ├── gbfs_metadata_test.exs │ │ ├── gbfs_to_geojson_test.exs │ │ ├── gtfs_data_test.exs │ │ ├── gtfs_diff_test.exs │ │ ├── gtfs_query_test.exs │ │ ├── gtfs_rt_test.exs │ │ ├── history_fetcher_test.exs │ │ ├── import_data_service_test.exs │ │ ├── import_data_test.exs │ │ ├── irve/ │ │ │ ├── database_importer_test.exs │ │ │ ├── deduplicator_test.exs │ │ │ ├── dynamic_irve_schema_test.exs │ │ │ ├── irve_data_frame_test.exs │ │ │ ├── irve_extractor_test.exs │ │ │ ├── irve_http_pagination_test.exs │ │ │ ├── irve_raw_static_consolidation_test.exs │ │ │ ├── irve_static_probes_test.exs │ │ │ ├── processing_test.exs │ │ │ ├── simple_consolidation_test.exs │ │ │ ├── static_irve_schema_test.exs │ │ │ ├── validation/ │ │ │ │ ├── data_frame_validation_test.exs │ │ │ │ └── validator_test.exs │ │ │ └── zip_probe_test.exs │ │ ├── jobs/ │ │ │ ├── archive_metrics_job_test.exs │ │ │ ├── backfill/ │ │ │ │ ├── backfill_metadata_non_gtfs_resource_history_test.exs │ │ │ │ ├── backfill_resource_history_filesize_test.exs │ │ │ │ ├── backfill_resource_history_resource_id_test.exs │ │ │ │ └── backfill_resource_history_schema_details_test.exs │ │ │ ├── clean_multi_validation_job_test.exs │ │ │ ├── clean_on_demand_validation_job_test.exs │ │ │ ├── clean_orphan_conversions_job_test.exs │ │ │ ├── consolidate_bnlc_job_test.exs │ │ │ ├── consolidate_lez_job_test.exs │ │ │ ├── conversions/ │ │ │ │ ├── gtfs_to_geojson_converter_job_test.exs │ │ │ │ ├── netex_to_geojson_converter_job_test.exs │ │ │ │ ├── single_gtfs_to_geojson_converter_job_test.exs │ │ │ │ └── single_netex_to_geojson_converter_job_test.exs │ │ │ ├── counter_cache_test.exs │ │ │ ├── create_tokens_job_test.exs │ │ │ ├── custom_logo_conversion_job_test.exs │ │ │ ├── database_backup_replication_job_test.exs │ │ │ ├── database_vacuum_job_test.exs │ │ │ ├── dataset_history_job_test.exs │ │ │ ├── dataset_now_on_nap_notification_job_test.exs │ │ │ ├── dataset_quality_score_test.exs │ │ │ ├── datasets_climate_resilience_bill_not_lo_licence_job_test.exs │ │ │ ├── datasets_switching_climate_resilience_bill_job_test.exs │ │ │ ├── datasets_without_gtfs_rt_related_resources_notification_job_test.exs │ │ │ ├── dedupe_history_job_test.exs │ │ │ ├── default_token_job_test.exs │ │ │ ├── expiration_notification_job_test.exs │ │ │ ├── gbfs_multi_validation_job_test.exs │ │ │ ├── gbfs_operators_notification_job_test.exs │ │ │ ├── geo_data/ │ │ │ │ ├── bnlc_to_geodata_test.exs │ │ │ │ ├── gbfs_stations_to_geo_data_test.exs │ │ │ │ ├── irve_to_geodata_test.exs │ │ │ │ └── lez_to_geo_data_test.exs │ │ │ ├── gtfs_diff_job_test.exs │ │ │ ├── gtfs_import_stops_job_test.exs │ │ │ ├── gtfs_import_stops_test.exs │ │ │ ├── gtfs_rt_metadata_test.exs │ │ │ ├── gtfs_rt_multi_validation_job_test.exs │ │ │ ├── gtfs_to_db_test.exs │ │ │ ├── import_companies_job_test.exs │ │ │ ├── import_dataset_contact_points_job_test.exs │ │ │ ├── import_dataset_follower_reuser_improved_data_job_test.exs │ │ │ ├── import_dataset_followers_job_test.exs │ │ │ ├── import_dataset_monthly_metrics_job_test.exs │ │ │ ├── import_gbfs_feed_contact_point_job_test.exs │ │ │ ├── import_resource_monthly_metrics_job_test.exs │ │ │ ├── import_reuses_job_test.exs │ │ │ ├── multi_validation_with_error_notification_job_test.exs │ │ │ ├── netex_poller_job_test.exs │ │ │ ├── new_comments_notification_job_test.exs │ │ │ ├── new_datagouv_datasets_job_test.exs │ │ │ ├── new_dataset_notifications_job_test.exs │ │ │ ├── notification_subscription_producer_job_test.exs │ │ │ ├── oban_logger_test.exs │ │ │ ├── on_demand_netex_poller_job_test.exs │ │ │ ├── on_demand_validation_job_test.exs │ │ │ ├── periodic_reminder_producers_notification_job_test.exs │ │ │ ├── promote_producer_space_job_test.exs │ │ │ ├── promote_reuser_space_job_test.exs │ │ │ ├── refresh_autocomplete_job_test.exs │ │ │ ├── remove_history_job_test.exs │ │ │ ├── resource_history_job_test.exs │ │ │ ├── resource_history_jsonschema_validation_job_test.exs │ │ │ ├── resource_history_tableschema_validation_job_test.exs │ │ │ ├── resource_history_validation_job_test.exs │ │ │ ├── resource_unavailable_job_test.exs │ │ │ ├── resource_unavailable_notification_job_test.exs │ │ │ ├── resource_validation_job_test.exs │ │ │ ├── resources_changed_notification_job_test.exs │ │ │ ├── table_size_history_job_test.exs │ │ │ ├── transport_tools_test.exs │ │ │ ├── update_contacts_job_test.exs │ │ │ ├── update_counter_cache_job_test.exs │ │ │ ├── visit_download_statistics_job_test.exs │ │ │ ├── visit_proxy_statistics_job_test.exs │ │ │ ├── visit_statistics_base_test.exs │ │ │ ├── warn_user_inactivity_job_test.exs │ │ │ └── workflow_test.exs │ │ ├── notifiers_test.exs │ │ ├── schemas_test.exs │ │ ├── search_communes_test.exs │ │ ├── siri_queries_test.exs │ │ ├── stats_handler_test.exs │ │ ├── telemetry_test.exs │ │ └── validators/ │ │ ├── enroute_chouette_valid_client_test.exs │ │ ├── gbfs_validator_test.exs │ │ ├── gtfs_rt_validator_test.exs │ │ ├── gtfs_transport_validator_test.exs │ │ ├── jsonschema_validata_json_test.exs │ │ ├── jsonschema_validator_test.exs │ │ ├── mobilitydata_gtfs_validator_client_test.exs │ │ ├── mobilitydata_gtfs_validator_test.exs │ │ ├── netex/ │ │ │ ├── metadata_extractor_test.exs │ │ │ ├── results_adapters/ │ │ │ │ ├── commons_test.exs │ │ │ │ ├── v0_1_0_test.exs │ │ │ │ ├── v0_2_0_test.exs │ │ │ │ └── v0_2_1_test.exs │ │ │ └── validator_test.exs │ │ ├── tableschema_validator_test.exs │ │ └── validator_selection_test.exs │ ├── transport_web/ │ │ ├── controllers/ │ │ │ ├── aoms_controller_test.exs │ │ │ ├── api/ │ │ │ │ ├── aom_controller_test.exs │ │ │ │ ├── autocomplete_controller_test.exs │ │ │ │ ├── datasets_controller_test.exs │ │ │ │ ├── features_controller_test.exs │ │ │ │ ├── geo_query_controller_test.exs │ │ │ │ ├── gtfs_stops_controller_test.exs │ │ │ │ ├── schemas_test.exs │ │ │ │ ├── stats_controller_test.exs │ │ │ │ └── validators_controller_test.exs │ │ │ ├── atom_controller_test.exs │ │ │ ├── backoffice/ │ │ │ │ ├── backoffice_controller_test.exs │ │ │ │ ├── broken_urls_controller_test.exs │ │ │ │ ├── contact_controller_test.exs │ │ │ │ ├── dataset_controller_test.exs │ │ │ │ ├── notification_subscription_controller_test.exs │ │ │ │ └── page_controller_test.exs │ │ │ ├── breaking_news_controller_test.exs │ │ │ ├── contact_controller_test.exs │ │ │ ├── conversion_controller_test.exs │ │ │ ├── dataset_controller_test.exs │ │ │ ├── dataset_search_test.exs │ │ │ ├── discussion_controller_test.exs │ │ │ ├── espace_producteur_controller_test.exs │ │ │ ├── explore_controller_test.exs │ │ │ ├── gbfs_analyzer_controller_test.exs │ │ │ ├── landing_page_controller_test.exs │ │ │ ├── nav_test.exs │ │ │ ├── page_controller_test.exs │ │ │ ├── pagination_helpers_test.exs │ │ │ ├── resource_controller_test.exs │ │ │ ├── reuse_controller_test.exs │ │ │ ├── reuser_space_controller_test.exs │ │ │ ├── seo_test.exs │ │ │ ├── session_controller_test.exs │ │ │ ├── siri_querier_test.exs │ │ │ └── validation_controller_test.exs │ │ ├── live_views/ │ │ │ ├── cache_live_test.exs │ │ │ ├── custom_tags_live_test.exs │ │ │ ├── dataset_notifications_live_test.exs │ │ │ ├── discussions_live_test.exs │ │ │ ├── edit_dataset_live_test.exs │ │ │ ├── email_preview_live_test.exs │ │ │ ├── feedback_live_test.exs │ │ │ ├── follow_dataset_live_test.exs │ │ │ ├── gtfs_diff_explain_test.exs │ │ │ ├── gtfs_diff_select_live_test.exs │ │ │ ├── notifications_live_test.exs │ │ │ ├── proxy_config_live_test.exs │ │ │ ├── proxy_requests_count_live_test.exs │ │ │ ├── rate_limiter_live_test.exs │ │ │ ├── reuses_live_test.exs │ │ │ ├── user_space_datasets_live_test.exs │ │ │ └── validate_resource_live_test.exs │ │ ├── plugs/ │ │ │ ├── custom_secure_browser_headers_test.exs │ │ │ ├── producer_data_test.exs │ │ │ ├── rate_limiter_test.exs │ │ │ └── worker_healthcheck_test.exs │ │ ├── routing/ │ │ │ ├── canonical_host_redirect_test.exs │ │ │ ├── headers_and_cookies_test.exs │ │ │ ├── health_check_test.exs │ │ │ ├── proxy_routing_test.exs │ │ │ ├── put_locale_test.exs │ │ │ └── router_test.exs │ │ ├── session_test.exs │ │ └── views/ │ │ ├── avatar_view_test.exs │ │ ├── backoffice/ │ │ │ └── page_view_test.exs │ │ ├── dataset_view_test.exs │ │ ├── error_view_test.exs │ │ ├── markdown_handler_test.exs │ │ ├── no_html_in_markdown_templates_test.exs │ │ ├── page_view_test.exs │ │ └── resource_view_test.exs │ ├── unlock/ │ │ ├── batch_metrics_test.exs │ │ ├── config_fetcher_test.exs │ │ ├── controllers/ │ │ │ └── unlock_controller_test.exs │ │ ├── dynamic_irve/ │ │ │ └── feed_worker_test.exs │ │ ├── dynamic_irve_integration_test.exs │ │ ├── enforce_ttl_test.exs │ │ ├── finch_impl_test.exs │ │ ├── github_config_test.exs │ │ ├── plugs/ │ │ │ └── token_auth_test.exs │ │ ├── shared_test.exs │ │ ├── siri_test.exs │ │ └── test_helper.exs │ ├── with_mock_must_not_use_async_check_test.exs │ ├── with_mox_verify_on_exit_test.exs │ └── zip_test.exs ├── blog/ │ └── README.md ├── config/ │ ├── config.exs │ ├── data_sharing_pilot.exs │ ├── database.exs │ ├── datagouvfr.exs │ ├── dev.exs │ ├── dev.secret.template.exs │ ├── gbfs_validator.exs │ ├── gtfs_validator.exs │ ├── mail.exs │ ├── prod.exs │ ├── proxy-config.sample.yml │ ├── runtime.exs │ └── test.exs ├── dialyzer-plt/ │ └── .gitkeep ├── docker/ │ └── database/ │ ├── Dockerfile │ ├── create_test_db.sh │ ├── readme.md │ └── restore_db.sh ├── docker-compose.yml ├── docker_phoenix_startup.sh ├── docs/ │ ├── contacts.md │ ├── data_model.livemd │ ├── inventaire_donnees_geographiques_septembre_2023.md │ ├── scaleway/ │ │ ├── README.md │ │ ├── bucket_lifecycle_configuration_production.json │ │ ├── bucket_lifecycle_configuration_staging.json │ │ ├── bucket_policy_production.json │ │ └── bucket_policy_staging.json │ └── upgrade_versions.md ├── generate_deps_changelogs.exs ├── glossary.md ├── learning_track.md ├── livebook/ │ ├── irve-total.livemd │ └── irve-watts-detection.livemd ├── mix.exs ├── ops_tests/ │ └── ops_tests.exs ├── restore_db.sh ├── screens/ │ ├── screens.exs │ ├── screens.livemd │ └── vehicles.livemd └── scripts/ ├── .gitignore ├── README.md ├── api/ │ ├── .gitignore │ ├── filter_gtfs_rt_by_entity_types.exs │ └── spec_check.exs ├── api_datasets_check.exs ├── backfill_multi_validation_binary_result.exs ├── backfill_multi_validation_digest.exs ├── backfill_netex_metadata.exs ├── backups-analysis.livemd ├── chouette_valid_rulesets.exs ├── compare-json.sh ├── compare_http.exs ├── contacts/ │ ├── contact_export.exs │ ├── insert_contacts.exs │ └── insert_notification_subscriptions.exs ├── debugging.livemd ├── download_resource_history_files.exs ├── drop_and_recreate_database.exs ├── elixir_predicate_upgrade.exs ├── git_diff_experiment.exs ├── gtfs_expiry.exs ├── hash_compute_experiment.exs ├── http_generic_testing.exs ├── ingest_resource_history_files.exs ├── internal_zip_checksum_experiment.exs ├── irve/ │ ├── .gitignore │ ├── analyze-irve.exs │ ├── difference.exs │ ├── dump-simple-consolidation.exs │ ├── dyn-analysis.exs │ ├── dynamic-irve.exs │ ├── horodatage-formats.exs │ ├── process-one.exs │ ├── process-raw-static-consolidation.exs │ ├── process-simple-consolidation.exs │ ├── report-on-simple-consolidation.exs │ ├── stats.exs │ ├── validate.exs │ └── validate_and_import_local_file.exs ├── irve_diff.livemd ├── memory.exs ├── netex-accessibilite.exs ├── netex_analyzer.exs ├── netex_layout_analyzer.exs ├── notion_link_databases.exs ├── oban/ │ ├── oban_experiments.exs │ └── oban_suite.exs ├── pagination_example.exs ├── registre-arrets.exs ├── req_httpoison_testing.exs ├── req_stream.exs ├── search_engine.exs ├── siri/ │ ├── siri_check.exs │ ├── siri_create_doc.exs │ └── siri_request_parsing.exs └── subquery.exs