diff --git a/.github/workflows/review-app.yml b/.github/workflows/review-app.yml index 572d70eb1..784d21c04 100644 --- a/.github/workflows/review-app.yml +++ b/.github/workflows/review-app.yml @@ -18,6 +18,8 @@ jobs: - ecospheres - meteo-france - logistique + # - defis + # - hackathon permissions: deployments: write # only run if the PR is from the same repo diff --git a/README.md b/README.md index 45757c435..82126215b 100644 --- a/README.md +++ b/README.md @@ -75,8 +75,6 @@ npm run format - `@vueuse/integrations` // intégration supplémentaires de vueuse (`focustrap`) - `unplugin-auto-import` - `vite.config.mts` // auto-import d'API `vue` (`ref`, `computed`…) et `vue-dsfr` ([d'après ce tutoriel](https://vue-ds.fr/guide/pour-commencer#avoir-un-bundle-optimise-et-une-dx-optimale)) - `unplugin-vue-components` - `vite.config.mts` // auto-import des composants custom et `vue-dsfr` ([idem](https://vue-ds.fr/guide/pour-commencer#avoir-un-bundle-optimise-et-une-dx-optimale)) -- `vee-validate` // validation de formulaire - - `@vee-validate/rules` // collection de règles de validation - `@unhead/vue` // SEO (en gros) ### Formatage et validation du code diff --git a/configs/defis/config.yaml b/configs/defis/config.yaml index 30776e995..d92bd3848 100644 --- a/configs/defis/config.yaml +++ b/configs/defis/config.yaml @@ -1,17 +1,13 @@ # config file for defis +site_id: defis + datagouvfr: # data.gouv.fr base URL base_url: https://www.data.gouv.fr # oauth settings oauth_client_id: 670924ba96082fcc26ee3898 -universe: - # "universe" topic id - topic_id: 65c0f2e2fb22540a9e91a2e4 - # universe name, used as bouquets tag - name: defis - robots: disallow: sitemap: @@ -78,7 +74,7 @@ website: sub_section_cards: title: cards: - - id: '6704d5262a223f0cbc866c68' + - id: '67f5438a3b2d79d922863e03' name: 'Diversité et inclusion en entreprise' description: 'Quelle politique sur l’inclusion et la diversité au sein d’EDF SA ? Défi porté par EDF' url: '/defis/diversite-et-inclusion-en-entreprise' @@ -150,12 +146,12 @@ website: image_url: 'https://raw.githubusercontent.com/thanhhale7/images/main/defi-acces-au-sport.jpg' - id: '6639df879e70e0b00e5aeef1' name: 'Accès et exploitation des données météorologiques' - description: "Comment faciliter la manipulation des données météorologiques ?" - url: 'defis/acces-et-exploitation-des-donnees-meteorologiques' + description: 'Comment faciliter la manipulation des données météorologiques ?' + url: 'defis/acces-aux-donnees-meteos' image_url: 'https://raw.githubusercontent.com/thanhhale7/images/refs/heads/main/acces-meteo.jpg' - id: '6639e67fa95c6e4f1da70e39' name: 'Décision agricole' - description: "Comment informer la prise de décision à partir des données météorologiques ?" + description: 'Comment informer la prise de décision à partir des données météorologiques ?' url: 'defis/decision-agricole' image_url: 'https://raw.githubusercontent.com/thanhhale7/images/refs/heads/main/decision-agricole.jpg' - id: '6639e311f4a75be320cfa517' @@ -202,6 +198,8 @@ website: name: link: menu: + - text: Défis + to: /defis - text: Open Data University to: /opendatauniversity - text: Guides @@ -256,37 +254,73 @@ website: matomo: host: siteId: - discussions: - dataset: - display: true - create: false - topic: - display: false - create: false datasets: - add_to_bouquet: false + add_to_topic: # similar to QUALITY_METADATA_BACKEND_IGNORE on data.gouv.fr harvest_backends_quality_warning: [] show_extended_information_panel: false topics: - slug: defis - name: défi - extras_key: 'defis' - themes: - usage: true - main_name: thématique - secondary_name: chantier - # include a list page with all topics - list_all: false - show_drafts_by_default: false - display_metadata: false - activate_read_more: false - dataset_editorialization: false can_add_topics: everyone: false authorized_users: - - 5fda299e56f984a4b126afe1 #thanh-ha - - 5e6f426e634f417810ab794b #geoffrey + - 5fda299e56f984a4b126afe1 # thanh-ha + - 5e6f426e634f417810ab794b # geoffrey + - 65e8b5082f2504e916c8f6da # ecospheres + +pages: + # DEFIS + defis: + list_all: true + universe_query: + tag: defisdatagouvfr + tag_prefix: defisdatagouvfr + title: Défis + breadcrumb_title: Défis + labels: + singular: défi + plural: défis + extended: défi + search: + input: Chercher un défi + banner: + discussions: + display: false + create: false + filters: + - name: Saison + default_option: Toutes les saisons + id: saison + type: select + color: green-emeraude + use_tag_prefix: true + form: + required: true + values: + - id: saison-1 + name: Saison 1 + - id: saison-2 + name: Saison 2 + - id: saison-3 + name: Saison 3 + # DATASETS + datasets: + list_all: false + universe_query: + tag_prefix: + title: + breadcrumb_title: Données + labels: + singular: jeu de données + plural: jeux de données + extended: jeu de données + search: + input: + banner: + discussions: + display: false + create: false + filters: [] + # list of organisations' ids that should be handled by the portal # to find an id go to https://www.data.gouv.fr/fr/organizations/ministere-de-la-transition-ecologique/ # then Informations > ID at the bottom of the page diff --git a/configs/ecospheres/config.yaml b/configs/ecospheres/config.yaml index 8ded251c1..5a40b1c92 100644 --- a/configs/ecospheres/config.yaml +++ b/configs/ecospheres/config.yaml @@ -1,15 +1,14 @@ # config file for ecospheres-front +# used as extras key +site_id: ecospheres + datagouvfr: # data.gouv.fr base URL (use www subdomain on prod) base_url: https://demo.data.gouv.fr # oauth settings oauth_client_id: 66e30254d3cc5d5b52a4b6ec -universe: - # universe name, used as bouquets tag - name: ecospheres - robots: disallow: sitemap: @@ -138,45 +137,21 @@ website: matomo: host: 'https://stats.data.gouv.fr' siteId: - discussions: - dataset: - display: true - create: true - topic: - display: true - create: true - indicator: - display: true - create: true datasets: - add_to_bouquet: true + # TODO: better place for that? + add_to_topic: + enable: true + page: bouquets + dataset_editorialization: true # similar to QUALITY_METADATA_BACKEND_IGNORE on data.gouv.fr harvest_backends_quality_warning: - CSW-ISO-19139 show_extended_information_panel: true + # TODO: better place for that? topics: - slug: bouquets - name: bouquet - extras_key: 'ecospheres' - themes: - usage: true - main_name: thématique - secondary_name: chantier - # include a list page with all topics - list_all: true - show_drafts_by_default: true - display_metadata: true - activate_read_more: true - dataset_editorialization: true can_add_topics: everyone: true authorized_users: - banner: - title: Mettre en commun les usages des données et des indicateurs territoriaux - content: | - Le module de bouquet offre aux acteurs du développement durable un cadre collaboratif pour documenter dans un contexte précis territoire par territoire l'usage des données et des indicateurs qu'ils mobilisent. Ils sont pensés pour être enrichis au fil du temps à mesure que des informations complémentaires sont identifiées par leurs contributeurs afin de promouvoir une réponse toujours plus complète aux problématiques exprimées. - - Toute donnée ou indicateur présent sur data.gouv.fr peut être associé à un bouquet. sitemap: - name: Accueil path: / @@ -198,55 +173,67 @@ organizations: https://raw.githubusercontent.com/ecolabdata/ecospheres-universe/ # Configuration format for pages: # # pages: -# {page_id}: # page identifier -# universe_query: {dict} # used to define a "universe" on a given {page_id}, through query args -# tag_prefix: {string} # prefix for tags on data.gouv.fr -# title: {string} # title for the list page -# breadcrumb_title: {string} # title in breadcrumb (optionnal, falls back to title) +# {page_id}: # page identifier, acts as a slug /{page_id}/{object_id?} +# list_all: {bool} # whether to have a list view or not +# universe_query: {dict} # used to define a "universe" on a given {page_id}, through query args +# tag_prefix: {string} # prefix for tags on data.gouv.fr +# title: {string} # title for the list page +# breadcrumb_title: {string} # title in breadcrumb (optionnal, falls back to title) +# labels: # how to call the object that is displayed by the page +# singular: {string} # singular name for the object +# plural: {string} # plural name for the object +# extended: {string} # extended name for the object, singular # search: -# input: {string} # placeholder for the search input -# results: # results count message -# one: {string} # message for one result -# several: {string} # message for multiple results (use {{total}} to display the total number of results) -# banner: # banner for the list page (optionnal) -# title: {string} # title for the banner -# content: {string} # content for the banner -# filters: # list of filters for this {page_id} -# - name: {string} # name of the filter ⚠️ needs to be unique across all items -# id: {string} # id of the filter -# type: {string} # type of the filter (select | spatial_zone | spatial_granularity) -# child: {string?} # id of the child filter (optional) -# color: {string} # color of the filter's tag -# use_tag_prefix: {bool} # whether to use {tag_prefix}-{item.id} when building value tag -# values: # list of values for this filter -# - id: {string} # id of the value ⚠️ needs to be unique among all values of the filter, across all parent values -# name: {string} # name of the value -# parent: {string?} # id of the parent filter value (optional) +# input: {string} # placeholder for the search input +# banner: # banner for the list page (optionnal) +# title: {string} # title for the banner +# content: {string} # content for the banner +# discussions: +# display: {bool} # display discussions on detail page +# create: {bool} # create discussions on detail page +# filters: # list of filters for this {page_id} +# - name: {string} # name of the filter ⚠️ needs to be unique across all items +# id: {string} # id of the filter +# type: {string} # type of the filter (select | spatial_zone | spatial_granularity | checkbox) +# child: {string?} # id of the child filter (optional) +# color: {string} # color of the filter's tag +# use_tag_prefix: {bool} # whether to use {tag_prefix}-{item.id} when building value tag +# default_option: {string?} # default option for the filter (optional) +# default_value: {string?} # default value for the filter (optional) +# authenticated: {bool?} # only visible to connected users (optional, defaults to false) +# values: # list of values for this filter +# - id: {string} # id of the value ⚠️ needs to be unique among all values of the filter, across all parent values +# name: {string} # name of the value +# parent: {string?} # id of the parent filter value (optional) pages: # DATASETS datasets: + list_all: true universe_query: topic: 65141cd780d73f98142e9265 tag_prefix: title: Jeux de données breadcrumb_title: Données + labels: + singular: jeu de données + plural: jeux de données + extended: jeu de données search: input: Rechercher un jeu de données - results: - one: 1 jeu de données disponible - several: '{{total}} jeux de données disponibles' banner: title: Un guichet unique pour l’accès aux données environnementales content: | En collaboration étroite avec data.gouv.fr, les plateformes de données territoriales et les plateformes thématiques, l'Ecolab du Commissariat Général au Développement Durable oeuvre à la centralisation des données utiles à l’appui des politiques publiques du pôle ministériel. ecologie.data.gouv.fr expose dans cet onglet les données publiées par des organisations à caractère environnemental telles que les données diffusées par les directions générales, les établissements publics et les services déconcentrés des ministères concernés. Un travail de suivi de leurs métadonnées est entrepris afin d'en garantir un accès optimal. Cette collection constitue une base évolutive, appelée à s'enrichir et à s'affiner grâce aux retours et aux besoins exprimés par les acteurs partenaires. + discussions: + display: true + create: true filters: - name: Thème INSPIRE default_option: Tous les thèmes id: inspire type: select - color: noop use_tag_prefix: false values: - id: adresses @@ -321,23 +308,44 @@ pages: name: Zones à risque naturel # BOUQUETS bouquets: + list_all: true universe_query: + tag: ecospheres tag_prefix: ecospheres - title: + title: Bouquets breadcrumb_title: + labels: + singular: bouquet + plural: bouquets + extended: bouquet de données search: - input: - results: - one: - several: + input: Filtrer les bouquets banner: + title: Mettre en commun les usages des données et des indicateurs territoriaux + content: | + Le module de bouquet offre aux acteurs du développement durable un cadre collaboratif pour documenter dans un contexte précis territoire par territoire l'usage des données et des indicateurs qu'ils mobilisent. Ils sont pensés pour être enrichis au fil du temps à mesure que des informations complémentaires sont identifiées par leurs contributeurs afin de promouvoir une réponse toujours plus complète aux problématiques exprimées. + + Toute donnée ou indicateur présent sur data.gouv.fr peut être associé à un bouquet. + discussions: + display: true + create: true filters: + - name: Afficher les brouillons + id: include_private + type: checkbox + default_option: + default_value: true + authenticated: true + values: [] - name: Thématique + default_option: Toutes les thématiques id: theme type: select - child: subtheme - color: noop + color: green-emeraude use_tag_prefix: true + # TODO: use a dedicated config for the form? + form: + required: true values: - id: se-loger name: Se loger @@ -353,120 +361,34 @@ pages: name: Se déplacer - id: chantiers-transverses name: Chantiers transverses - - name: Chantier - id: subtheme - type: select - color: green-archipel - use_tag_prefix: true - values: - # parent theme: se-loger - - id: construction-et-renovation-des-logements - name: Construction et rénovation des logements - parent: se-loger - - id: amenagements-des-villes - name: Aménagements des villes - parent: se-loger - # parent theme: produire - - id: nucleaire - name: Nucléaire - parent: produire - - id: tertiaire - name: - Tertiaire (incluant les bâtiments publics de l'État et des collectivités, - hors logement) - parent: produire - - id: electricite-decarbonee - name: Production d'électricité décarbonée (hors nucléaire) - parent: produire - # parent theme: se-nourrir - - id: alimentation - name: Alimentation - parent: se-nourrir - - id: agriculture-et-peche - name: Agriculture et pêche - parent: se-nourrir - # parent theme: consommer - - id: consommation-plus-durable-menages - name: Consommation plus durable (ménages) - parent: consommer - - id: numerique-responsable - name: Numérique responsable - parent: consommer - - id: achats-durables - name: Achats durables (de l'État, des collectivités et des entreprises) - parent: consommer - # parent theme: preserver - - id: eau - name: Eau - parent: preserver - - id: sols - name: Sols - parent: preserver - - id: oceans-et-mers - name: Océans et mers - parent: preserver - - id: foret - name: Forêt - parent: preserver - # parent theme: se-deplacer - - id: voitures-et-infrastructures-routieres - name: Voitures et infrastructures routières - parent: se-deplacer - - id: mobilite-courte-distance-hors-voiture - name: Mobilité courte distance (hors voiture) - parent: se-deplacer - - id: mobilite-longue-distance-avion-train - name: Mobilité longue distance (avion, train) - parent: se-deplacer - # parent theme: chantiers-transverses - - id: financement-investissement - name: - Le financement qui permet de définir des trajectoires d'investissement - crédibles et cohérentes - parent: chantiers-transverses - - id: planification-differenciation-territoriale - name: - La planification et la différenciation territoriale selon les caractéristiques - et les spécificités de chaque territoire, incluant les territoires ultra-marins - parent: chantiers-transverses - - id: transition-filieres-emplois-formations-competences - name: - La transition des filières avec la gestion des emplois, des formations - et des compétences - parent: chantiers-transverses - - id: donnees-environnementales - name: Les données environnementales - parent: chantiers-transverses - - id: services-publics-exemplaires - name: Les services publics exemplaires - parent: chantiers-transverses - - id: transition-juste - name: - La transition juste et les mesures d’accompagnement, pour ne laisser personne - au bord du chemin - parent: chantiers-transverses - - id: sobriete-usages-ressources - name: La sobriété des usages et des ressources - parent: chantiers-transverses + - name: Couverture territoriale + default_option: + id: geozone + type: spatial_zone # INDICATORS indicators: + list_all: true universe_query: tag: ecospheres-indicateurs organization: 67c57c2f1a418addfc94d38a tag_prefix: ecospheres-indicateurs title: Indicateurs territoriaux breadcrumb_title: Indicateurs + labels: + singular: indicateur + plural: indicateurs + extended: indicateur search: input: Rechercher un indicateur - results: - one: 1 indicateur disponible - several: '{{total}} indicateurs disponibles' banner: title: Accéder aux indicateurs de référence pour la transition écologique des territoires content: | L'Ecolab du Commissariat Général au Développement Durable met en place un hub d'indicateurs territoriaux, en co-construction avec les directions générales, les établissements publics et les services déconcentrés des ministères concernés, pour accompagner les territoires dans le suivi de leurs politiques publiques de transition écologique. Ces indicateurs sont référencés par thématiques et enjeux environnementaux de la planification écologique. Chaque fiche détaille la définition, les sources, le calcul des indicateurs et permet d'accéder aux données structurées. Plusieurs bouquets permettent de regrouper un ensemble d'indicateurs en lien avec un cas d'usage. Cette première version constitue une base évolutive, appelée à s'enrichir et à s'affiner grâce aux retours et aux besoins exprimés par les acteurs partenaires. + discussions: + display: true + create: true filters: - name: Thématique default_option: Toutes les thématiques diff --git a/configs/hackathon/config.yaml b/configs/hackathon/config.yaml index 45bc04f75..4cbec2da3 100644 --- a/configs/hackathon/config.yaml +++ b/configs/hackathon/config.yaml @@ -1,20 +1,18 @@ # config file for hackathon.data.gouv.fr +site_id: hackathon + datagouvfr: # data.gouv.fr base URL base_url: https://www.data.gouv.fr # oauth settings - # FIXME: oauth_client_id: 673cbedb47b01e3f79eea45c -universe: - # "universe" topic id - topic_id: 66d5caab2ef9e95fc1625446 - # universe name, used as bouquets tag - name: hackathon + robots: disallow: sitemap: meta: 'noindex, nofollow' + # UI customizations website: title: 'hackathon.data.gouv.fr' @@ -124,37 +122,69 @@ website: matomo: host: siteId: - discussions: - dataset: - display: true - create: true - topic: - display: true - create: true datasets: - add_to_bouquet: true + add_to_topic: # similar to QUALITY_METADATA_BACKEND_IGNORE on data.gouv.fr harvest_backends_quality_warning: [] show_extended_information_panel: false topics: - slug: hackathons - name: hackathon - extras_key: 'hackathon' - themes: - usage: true - main_name: catégorie - secondary_name: sous-catégorie - # include a list page with all topics - list_all: false - show_drafts_by_default: false - display_metadata: false - activate_read_more: true - dataset_editorialization: true can_add_topics: everyone: false authorized_users: - - 5e6f426e634f417810ab794b - - 5dee373f6f44416a83fbd907 + - 5fda299e56f984a4b126afe1 # thanh-ha + - 5e6f426e634f417810ab794b # geoffrey + - 65e8b5082f2504e916c8f6da # ecospheres + +pages: + # HACKATHONS + hackathons: + list_all: true + universe_query: + tag: hackathon + tag_prefix: + title: Hackathons + breadcrumb_title: Hackathons + labels: + singular: hackathon + plural: hackathons + extended: hackathon + search: + input: Filtrer les hackathons + banner: + discussions: + display: true + create: true + filters: + - name: Catégorie + default_option: Toutes les catégories + id: category + type: select + color: green-emeraude + use_tag_prefix: false + form: + required: true + values: + - id: alimentaire + name: Données alimentaires + # DATASETS + datasets: + list_all: false + universe_query: + tag_prefix: + title: + breadcrumb_title: Données + labels: + singular: jeu de données + plural: jeux de données + extended: jeu de données + search: + input: + banner: + discussions: + display: true + create: true + filters: [] + # list of organisations' ids that should be handled by the portal # to find an id go to https://www.data.gouv.fr/fr/organizations/ministere-de-la-transition-ecologique/ # then Informations > ID at the bottom of the page diff --git a/configs/logistique/config.yaml b/configs/logistique/config.yaml index 2e66a9825..4b5525098 100644 --- a/configs/logistique/config.yaml +++ b/configs/logistique/config.yaml @@ -1,14 +1,12 @@ # config file for logistique.data.gouv.fr +site_id: logistique + datagouvfr: # data.gouv.fr base URL base_url: https://www.data.gouv.fr # oauth settings - # FIXME: oauth_client_id: 6709257a89f70088a223eba3 -universe: - # universe name, used as bouquets tag - name: logistique robots: disallow: @@ -39,27 +37,27 @@ website: cards: - name: 'Immobilier logistique' description: "Données sur l'immobilier dédié aux activités de logistique (bâti, entrepôts, stockage, etc.)." - url: 'bouquets?theme=Immobilier+logistique' + url: 'bouquets?theme=immobilier-logistique' image_url: '/logistique/assets/immobilier.jpg' - name: 'Infrastructure' description: "Données sur l'infrastructure des activités de logistique (réseaux, voirie, zones livraison, etc.)." - url: 'bouquets?theme=Infrastructure' + url: 'bouquets?theme=infrastructure' image_url: '/logistique/assets/infra.jpg' - name: 'Trafic' description: 'Données sur le flux des activités de logistique (trafic routier, fluvial, maritime, ferroviaire et aérien).' - url: 'bouquets?theme=Trafic' + url: 'bouquets?theme=trafic' image_url: '/logistique/assets/trafic.jpg' - name: 'Environnement' description: "Données offrant une base pour réaliser des études approfondies sur l'impact environnemental de la logistique." - url: 'bouquets?theme=Environnement' + url: 'bouquets?theme=environnement' image_url: '/logistique/assets/environnement.jpg' - name: 'Socio-économique' description: 'Bases essentielles pour étudier les interactions entre les dimensions sociales et économiques de la logistique.' - url: 'bouquets?theme=Socio-économique' + url: 'bouquets?theme=socio-economique' image_url: '/logistique/assets/socio.jpg' - name: 'Filières' description: 'Données sur les différentes filières relatives aux activités de logistique (agricole, industrielle, énergétique...).' - url: 'bouquets?theme=Filières' + url: 'bouquets?theme=filieres' image_url: '/logistique/assets/risques.jpg' sub_section_tiles: sub_section_buttons: @@ -135,68 +133,66 @@ website: matomo: host: 'https://stats.data.gouv.fr' siteId: 308 - discussions: - dataset: - display: true - create: true - topic: - display: true - create: true datasets: - add_to_bouquet: true + add_to_topic: + enable: true + page: bouquets + dataset_editorialization: true # similar to QUALITY_METADATA_BACKEND_IGNORE on data.gouv.fr harvest_backends_quality_warning: [] show_extended_information_panel: false topics: - slug: bouquets - name: bouquet - extras_key: 'logistique' - themes: - usage: true - main_name: catégorie - secondary_name: sous-catégorie - # include a list page with all topics - list_all: false - show_drafts_by_default: false - display_metadata: false - activate_read_more: false - dataset_editorialization: true can_add_topics: - everyone: yes + everyone: true # cf configs/ecospheres/config.yaml for pages config format details pages: + # DATASETS datasets: + list_all: true universe_query: topic: 66d5caab2ef9e95fc1625446 tag_prefix: title: Jeux de données breadcrumb_title: Données + labels: + singular: jeu de données + plural: jeux de données + extended: jeu de données search: input: Rechercher un jeu de données - results: - one: 1 jeu de données disponible - several: '{{total}} jeux de données disponibles' banner: + discussions: + display: true + create: true filters: [] + # BOUQUETS bouquets: + list_all: true universe_query: + tag: logistique tag_prefix: logistique - title: - breadcrumb_title: + title: Bouquets + breadcrumb_title: Bouquets + labels: + singular: bouquet + plural: bouquets + extended: bouquet de données search: - input: - results: - one: - several: + input: Filtrer les bouquets banner: + discussions: + display: true + create: true filters: - name: Catégorie + default_option: Toutes les catégories id: theme type: select - child: subtheme color: green-bourgeon use_tag_prefix: true + form: + required: true values: - id: immobilier-logistique name: Immobilier logistique @@ -210,72 +206,10 @@ pages: name: Environnement - id: socio-economique name: Socio-économique - - name: Sous-catégorie - id: subtheme - type: select - color: blue-ecume - use_tag_prefix: true - values: - # immobilier-logistique - - id: immobilier-logistique-general - name: Général - parent: immobilier-logistique - # infrastructure - - id: infrastructure-general - name: Général - parent: infrastructure - # trafic - - id: trafic-general - name: Général - parent: trafic - - id: transport-routier - name: Transport routier - parent: trafic - - id: transport-aerien - name: Transport aérien - parent: trafic - - id: transport-ferroviaire - name: Transport ferroviaire - parent: trafic - - id: transport-fluvial - name: Transport fluvial - parent: trafic - - id: transport-maritime - name: Transport maritime - parent: trafic - # filieres - - id: filieres-general - name: Général - parent: filieres - - id: filiere-agricole - name: Filière agricole - parent: filieres - - id: filiere-industrielle - name: Filière industrielle - parent: filieres - - id: filiere-energetique - name: Filière énergétique - parent: filieres - - id: filiere-pharmaceutique - name: Filière pharmaceutique - parent: filieres - - id: filiere-commerce - name: Filière commerce - parent: filieres - - id: filiere-materiaux-de-construction - name: Filière matériaux de construction - parent: filieres - - id: filiere-matieres-premiere - name: Filière matières premières - parent: filieres - # environnement - - id: environnement-general - name: Général - parent: environnement - # socio-economique - - id: socio-economique-general - name: Général - parent: socio-economique + - name: Couverture territoriale + default_option: + id: geozone + type: spatial_zone # list of organisations' ids that should be handled by the portal # to find an id go to https://www.data.gouv.fr/fr/organizations/ministere-de-la-transition-ecologique/ diff --git a/configs/meteo-france/config.yaml b/configs/meteo-france/config.yaml index e9c2d5c42..a0fadfbc3 100644 --- a/configs/meteo-france/config.yaml +++ b/configs/meteo-france/config.yaml @@ -1,15 +1,13 @@ # config file for meteo-france +site_id: meteodatagouvfr + datagouvfr: # data.gouv.fr base URL base_url: https://www.data.gouv.fr # oauth settings oauth_client_id: -universe: - # universe name, used as bouquets tag - name: meteo-france - robots: disallow: sitemap: @@ -39,15 +37,15 @@ website: cards: - name: 'Données climatologiques (par station et spatialisées)' description: 'Données climatologiques pour toutes les stations françaises depuis leur ouverture, pour tous les paramètres disponibles.' - url: 'datasets?tags=climatologique-base' + url: 'datasets?category=climatologique-base' image_url: '/meteo-france/assets/climatologie.png' - name: 'Données de référence pour le changement climatique' description: 'Données recommandées par Météo-France pour réaliser des diagnostics et études climatiques.' - url: 'datasets?tags=climatologique-changement-climatique' + url: 'datasets?category=climatologique-changement-climatique' image_url: '/meteo-france/assets/climatique.jpg' - name: 'Données de Prévision Numérique du Temps (PNT)' description: 'Données temps réel des dernières prévisions des modèles de prévision numérique jusqu’à 4 jours d’échéance.' - url: 'datasets?tags=pnt' + url: 'datasets?category=pnt' image_url: '/meteo-france/assets/pnt.png' sub_section_tiles: title: @@ -150,33 +148,12 @@ website: matomo: host: 'https://stats.data.gouv.fr' siteId: 292 - discussions: - dataset: - display: true - create: false - topic: - display: false - create: false datasets: - add_to_bouquet: true + add_to_topic: # similar to QUALITY_METADATA_BACKEND_IGNORE on data.gouv.fr harvest_backends_quality_warning: [] show_extended_information_panel: false topics: - # disabled in router.disable - slug: topics - name: Topics - extras_key: - themes: - usage: false - main_name: - secondary_name: - # include a list page with all topics - list_all: false - show_drafts_by_default: false - display_metadata: false - activate_read_more: false - dataset_editorialization: false can_add_topics: everyone: false authorized_users: @@ -189,17 +166,22 @@ organizations: # cf configs/ecospheres/config.yaml for pages config format details pages: datasets: + list_all: true tag_prefix: universe_query: tag: meteodatagouvfr title: Jeux de données breadcrumb_title: Données + labels: + singular: jeu de données + plural: jeux de données + extended: jeu de données search: input: Rechercher un jeu de données - results: - one: 1 jeu de données disponible - several: '{{total}} jeux de données disponibles' banner: + discussions: + display: true + create: false filters: - name: Catégories default_option: Toutes les catégories diff --git a/package-lock.json b/package-lock.json index 5c992e790..22f6bd6f4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,6 @@ "@gouvminint/vue-dsfr": "^8.3.0", "@json2csv/plainjs": "^7.0.6", "@unhead/vue": "^1.11.18", - "@vee-validate/rules": "^4.15.0", "@vueform/multiselect": "^2.6.11", "@vueform/slider": "^2.1.10", "@vueuse/core": "^12.4.0", @@ -24,7 +23,6 @@ "marked": "^15.0.6", "pinia": "^2.3.0", "string-strip-html": "^13.4.8", - "vee-validate": "^4.15.0", "vite-plugin-html": "^3.2.2", "vue": "^3.5.13", "vue-loading-overlay": "^6.0.6", @@ -3102,15 +3100,6 @@ "vue": ">=2.7 || >=3" } }, - "node_modules/@vee-validate/rules": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@vee-validate/rules/-/rules-4.15.0.tgz", - "integrity": "sha512-Cvll7r98O5tU6ew2AUifVpdhNnTkMTY7+D9N++J7apQXRXWfHMe4tNvjo4TJpKUPCtfLHbdTY/DCquDRc+uH4w==", - "license": "MIT", - "dependencies": { - "vee-validate": "4.15.0" - } - }, "node_modules/@vitejs/plugin-vue": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz", @@ -3457,6 +3446,7 @@ "version": "7.7.0", "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.0.tgz", "integrity": "sha512-5cvZ+6SA88zKC8XiuxUfqpdTwVjJbvYnQZY5NReh7qlSGPvVDjjzyEtW+gdzLXNSd8tStgOjAdMCpvDQamUXtA==", + "dev": true, "license": "MIT", "dependencies": { "@vue/devtools-shared": "^7.7.0", @@ -3472,6 +3462,7 @@ "version": "7.7.0", "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.0.tgz", "integrity": "sha512-jtlQY26R5thQxW9YQTpXbI0HoK0Wf9Rd4ekidOkRvSy7ChfK0kIU6vvcBtjj87/EcpeOSK49fZAicaFNJcoTcQ==", + "dev": true, "license": "MIT", "dependencies": { "rfdc": "^1.4.1" @@ -4009,6 +4000,7 @@ "version": "0.2.19", "resolved": "https://registry.npmjs.org/birpc/-/birpc-0.2.19.tgz", "integrity": "sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==", + "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/antfu" @@ -4487,6 +4479,7 @@ "version": "3.0.5", "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "dev": true, "license": "MIT", "dependencies": { "is-what": "^4.1.8" @@ -6933,6 +6926,7 @@ "version": "4.1.16", "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "dev": true, "license": "MIT", "engines": { "node": ">=12.13" @@ -8572,6 +8566,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "dev": true, "license": "MIT" }, "node_modules/mlly": { @@ -9176,6 +9171,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "dev": true, "license": "MIT" }, "node_modules/picocolors": { @@ -10795,6 +10791,7 @@ "version": "14.0.1", "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -11070,6 +11067,7 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.2.tgz", "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==", + "dev": true, "license": "MIT", "dependencies": { "copy-anything": "^3.0.2" @@ -11415,18 +11413,6 @@ "node": ">= 0.8.0" } }, - "node_modules/type-fest": { - "version": "4.30.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.30.2.tgz", - "integrity": "sha512-UJShLPYi1aWqCdq9HycOL/gwsuqda1OISdBO3t8RlXQC4QvtuIz4b5FCfe2dQIWEpmlRExKmcTBfP1r9bhY7ig==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/types-ramda": { "version": "0.30.1", "resolved": "https://registry.npmjs.org/types-ramda/-/types-ramda-0.30.1.tgz", @@ -11927,28 +11913,6 @@ "optional": true, "peer": true }, - "node_modules/vee-validate": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/vee-validate/-/vee-validate-4.15.0.tgz", - "integrity": "sha512-PGJh1QCFwCBjbHu5aN6vB8macYVWrajbDvgo1Y/8fz9n/RVIkLmZCJDpUgu7+mUmCOPMxeyq7vXUOhbwAqdXcA==", - "license": "MIT", - "dependencies": { - "@vue/devtools-api": "^7.5.2", - "type-fest": "^4.8.3" - }, - "peerDependencies": { - "vue": "^3.4.26" - } - }, - "node_modules/vee-validate/node_modules/@vue/devtools-api": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.6.8.tgz", - "integrity": "sha512-ma6dY/sZR36zALVsV1W7eC57c6IJPXsy8SNgZn1PLVWU4z4dPn5TIBmnF4stmdJ4sQcixqKaQ8pwjbMPzEZwiA==", - "license": "MIT", - "dependencies": { - "@vue/devtools-kit": "^7.6.8" - } - }, "node_modules/vfile": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", diff --git a/package.json b/package.json index cbe4b7940..89840f2e5 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,6 @@ "@gouvminint/vue-dsfr": "^8.3.0", "@json2csv/plainjs": "^7.0.6", "@unhead/vue": "^1.11.18", - "@vee-validate/rules": "^4.15.0", "@vueform/multiselect": "^2.6.11", "@vueform/slider": "^2.1.10", "@vueuse/core": "^12.4.0", @@ -36,7 +35,6 @@ "marked": "^15.0.6", "pinia": "^2.3.0", "string-strip-html": "^13.4.8", - "vee-validate": "^4.15.0", "vite-plugin-html": "^3.2.2", "vue": "^3.5.13", "vue-loading-overlay": "^6.0.6", diff --git a/src/components/CheckboxComponent.vue b/src/components/CheckboxComponent.vue new file mode 100644 index 000000000..352f8e18d --- /dev/null +++ b/src/components/CheckboxComponent.vue @@ -0,0 +1,42 @@ + + + + diff --git a/src/components/DiscussionsList.vue b/src/components/DiscussionsList.vue index 2a2057f48..7fbe8a882 100644 --- a/src/components/DiscussionsList.vue +++ b/src/components/DiscussionsList.vue @@ -13,11 +13,11 @@ import type { PostForm, SubjectClass } from '@/model/discussion' +import { useCurrentPageConf } from '@/router/utils' import LocalStorageService from '@/services/LocalStorageService' import { useDiscussionStore } from '@/store/DiscussionStore' import { useUserStore } from '@/store/UserStore' import { formatDate } from '@/utils' -import { useTopicsConf } from '@/utils/config' const route = useRoute() const router = useRouter() @@ -25,7 +25,7 @@ const router = useRouter() const discussionStore = useDiscussionStore() const userStore = useUserStore() -const { topicsName } = useTopicsConf() +const { pageConf } = useCurrentPageConf() const { loggedIn } = storeToRefs(userStore) const currentPage: Ref = ref(1) @@ -40,15 +40,13 @@ const props = defineProps({ subjectClass: { type: String as () => SubjectClass, default: 'Dataset' + }, + emptyMessage: { + type: String, + default: 'Pas de discussion pour ce jeu de données.' } }) -const subjectClassLabels = { - Dataset: 'jeu de données', - Topic: topicsName, - Indicator: 'indicateur' -} - const discussionForm: Ref = ref({ title: '', comment: '', @@ -72,9 +70,7 @@ const pages = computed(() => { return discussionStore.getDiscussionsPaginationForSubject(props.subject.id) }) -const allowDiscussionCreation = computed(() => { - return config.website.discussions[props.subjectClass.toLowerCase()].create -}) +const allowDiscussionCreation = pageConf.discussions.create const getUserAvatar = (post: Post) => { if (post.posted_by.avatar_thumbnail) { @@ -196,9 +192,7 @@ watchEffect(() => { width="130" />

- Pas de discussion pour - {{ props.subjectClass === 'Indicator' ? 'cet' : 'ce' }} - {{ subjectClassLabels[props.subjectClass] }}. + {{ emptyMessage }}

diff --git a/src/components/ReusesList.vue b/src/components/ReusesList.vue index 3a07e28cf..cb267fb5c 100644 --- a/src/components/ReusesList.vue +++ b/src/components/ReusesList.vue @@ -1,8 +1,9 @@