Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refacto search pages #633

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

Refacto search pages #633

wants to merge 6 commits into from

Conversation

geoffreyaldebert
Copy link
Contributor

@geoffreyaldebert geoffreyaldebert commented Dec 16, 2024

Objectif de la PR :

  • harmoniser les pratiques entre les différentes verticales pour les pages de recherche. Certaines pages de recherche manipulent des datasets, d'autres des topics, on pourrait imaginer par la suite également manipuler des reuses, posts...
  • Renommer l'ensemble des objets et fichiers "bouquets" en "topics" pour plus de cohérence et moins de spécificité ecologie.data.

Ce que fait cette PR :

  • introduit une nouvelle config search_config et enlève les config précédentes topics, themes et indicators. Cet objet search_config qui est un objet contenant différentes propriétés :
      - name: bouquets # nom de la config
        slug: bouquets #slug utilisé dans les pages
        type: topics # objet manipulé - aujourd'hui topics ou datasets
        config_type: # configuration sur les requetes faites à l'objet
          organization: # filtrer sur une organization
          topics: # filtrer sur un topic (uniquement pour les objet de type dataset) 
          card:  # indiquer si on utilise une carte spécifique d'affichage (par exemple indicators pour les indicators)
        extras_key: ecospheres # clé utilisée pour la création de topics
        list_all: true # config page topics
        display_metadata: true # config page topics
        activate_read_more: true # config page topics
        dataset_editorialization: true # config page topic
        can_add: # périmètre de modification (que pour les objets de type topics)
          everyone: true # tout le monde 
          authorized_users: # liste d'utilisateurs 
        labels: # labels pour les différentes pages
          search_page_title: bouquets
          search_bar_title: Filtrer les bouquets
          search_results: bouquets disponibles
          add_button: Ajouter un bouquet
          add_title: Nouveau bouquet
          add_subtitle: Description du bouquet
          subject: Sujet du bouquet
          description_title: Objectif du bouquet
          description_info: "Renseignez ici les informations nécessaires à la compréhension du bouquet : politique publique et problématique à laquelle il répond, lien vers toute méthodologie de traitement des données, description de l'organisme porteur du projet, etc."
          owner: Propriétaire du bouquet
        filters: # liste des filtres
          - name: Thematiques # titre du filtre
            tag: theme # slug/tag
            values: # valeurs proposées par le filtre
              - name: Se loger # valeur affichée
                tag: ecospheres-se-loger # valeur interne (utilisée comme tag)
              - name: Produire
                tag: ecospheres-produire
                ... # autre filtres thématiques
          - name: Sous-Thématiques # autre filtre
            tag: subtheme
            condition_on: theme # dépend d'un autre filtre, ici le premier theme
            values:
              - name: Construction et rénovation des logements # valeur affichée
                tag: ecospheres-construction-et-renovation-des-logements  # valeur interne (utilisée comme tag)
                condition_on: ecospheres-se-loger # dépendance au niveau de la valeur du filtre lié
  • ajout d'une plus grande flexibilité dans les filtres proposés sur les pages de recherche de topics ou datasets avec gestion via les tags des objets. C'est important de sortir de cette logique pour les autres verticales hors ecologie.data. Par exemple, pour le futur site simplifions.data.gouv nous aurons deux page de recherche de type topics qui seront des objets métiers différents (Cas d'usage + Solutions) avec pour chacun d'eux plusieurs filtres différents.

Ce qu'il manque :

  • le fil d'ariane ne reprend plus les theme et sous-theme puisqu'ils sont gérés maintenant comme des tags. A voir si c'est bloquant côté ecologie.data (je pense que Accueil > Bouquets > Nom bouquet peut suffire de mon côté)
  • il n'y a pas les tags de couleur affichés dans les cartes topics, ni dans les cartes indicateurs. Il faudrait les rajouter et ajouter une config de couleur dans le yaml
  • il n'y a plus la possibilité d'ajouter un dataset à un bouquet (à voir comment ça peut être corrigé dans la config).

Copy link

netlify bot commented Dec 16, 2024

Deploy Preview for ecospheres ready!

Name Link
🔨 Latest commit cdf1501
🔍 Latest deploy log https://app.netlify.com/sites/ecospheres/deploys/6761ab507fb79b0008ce39b0
😎 Deploy Preview https://deploy-preview-633--ecospheres.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link

netlify bot commented Dec 16, 2024

Deploy Preview for meteo-france ready!

Name Link
🔨 Latest commit cdf1501
🔍 Latest deploy log https://app.netlify.com/sites/meteo-france/deploys/6761ab50c18d5c0008e91798
😎 Deploy Preview https://deploy-preview-633--meteo-france.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.


const route = useRoute()
const router = useRouter()

const discussionStore = useDiscussionStore()
const userStore = useUserStore()

const { topicsName } = useTopicsConf()
// const { searchPageName } = useSearchPagesConfig(
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ça posait un bug, à corriger avant merge

@@ -44,8 +46,7 @@ const props = defineProps({
})

const subjectClassLabels = {
Dataset: 'jeu de données',
Topic: topicsName
Dataset: 'jeu de données'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

à corriger avant merge

@@ -57,7 +57,7 @@ const badgeClasse = computed(() => {
<DsfrBadge
v-if="alreadySelected"
type="info"
label="Déjà utilisé dans ce bouquet"
label="Déjà utilisé dans ce topic"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

à corriger

@@ -27,5 +23,5 @@ export interface ReuseType {
// use a const instead of an interface to be compatible with topicsName as a variable
export const ReuseModel = {
dataset: 'jeu de donnée',
topic: topicsName
topic: 'test' // to fix
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

àc orriger

})
},
{
path: ':bid',
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rajouter une condition pour ne pas ajouter cette objet si type = datasets

@@ -262,26 +263,26 @@ watch(
la source originale peuvent avoir été perdues lors de leur
récupération. Nous travaillons actuellement à améliorer la situation.
</div>
<div
<!-- <div
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

à corriger on ne peut plus ajouter un dataset à un bouquet car on ne sait pas quel objet choisir.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant