{# Une photo servie en WebP, dans la largeur qui convient à l'écran. Tant qu'un média n'a pas de fichier — le catalogue se construit, beaucoup de fiches attendent leur photo — on dessine un motif à la place plutôt qu'un cadre vide : la page garde sa composition, et l'absence se voit sans crier. #} {% set ratio = ratio|default('4 / 3') %} {% set filter = filter|default('card') %} {% set sizes = sizes|default('(min-width: 1024px) 33vw, 100vw') %} {# Les largeurs annoncées au navigateur sont celles que produisent réellement les jeux de filtres : lui en donner d'autres lui fait choisir le mauvais fichier. #} {% set widths = { card: [400, 800, 1200], hero: [800, 1600, 2400], plant: [500, 1000, 1400] }[filter]|default([400, 800, 1200]) %} {% set source = media is defined and media and media.path ? media.path : null %} {% if media is defined and media and media.path %} {{ media.alternativeText|default('') }} {% else %} {% endif %}