betagouv / beta.gouv.fr

Le site public de l'Incubateur de Services Numériques de l'État
https://beta.gouv.fr
245 stars 1k forks source link

Fix/members filter #20728

Closed freesteph closed 1 week ago

freesteph commented 2 weeks ago

pour éviter du code spaghetti à faire pâlir tout Palerme, je me suis lancé dans la création d'un filtre custom pour pouvoir faire juste

      {% assign members = site.authors | members: include.startup.id, alumni: false %}
      {% for member in members %}
      <div class="fr-col-12 fr-col-sm-6 fr-col-md-4 fr-col-lg-3">
        {%- include card-community.html author=member -%}
      </div>
      {% endfor %}

au lieu de la cosa ch'avevamo prima del questo lavoro.

Ce filtre custom passe par une petite classe Beta::Member qui encapsule cette logique et pourra en accueillir plus si nécessaire. Ladite classe absorbe le DSL que j'avais écrit car elle réplique une partie de l'interface donc pas besoin de garder les deux.

Il s'avère qu'en plus de rendre le template plus simple c'est aussi largement plus performant vu que la logique se fait bien avant la couche de templating en Liquid : le temps de build qui passe de environ 3 à 1 minute. FAUX : je pensais que la build était bien plus rapide mais ça devait être un bug plutôt qu'autre chose 😢 on va dire qu'au moins c'est plus rapide à lire...

revolunet commented 1 week ago

bon, nitpick, sur la page communauté de l'env de review à gauche on a noté 1382 membres, en bas à droite 1381.

freesteph commented 1 week ago

bon, nitpick, sur la page communauté de l'env de review à gauche on a noté 1382 membres, en bas à droite 1381.

pareil en prod non ? https://beta.gouv.fr/communaute/

freesteph commented 1 week ago

bon, nitpick, sur la page communauté de l'env de review à gauche on a noté 1382 membres, en bas à droite 1381.

pareil en prod non ? https://beta.gouv.fr/communaute/

Bon j'ai réglé quand même du coup

revolunet commented 1 week ago