Je suis l’administrateur d’une instance Discourse auto-hébergée destinée à des photographes locaux, où nous téléchargeons principalement des médias de haute qualité. Je souhaiterais modifier la largeur d’image par défaut pour que le compositeur les redimensionne vers le bas, mais je ne la trouve nulle part dans les paramètres.
Le bot de demande m’a indiqué de chercher composer media optimization image resize dimensions threshold, mais je me demande si ce paramètre a été déprécié ou masqué, car le seul que je parviens à trouver est composer media optimization image enabled.
En résumé, je souhaite simplement que les images téléchargées via le compositeur soient redimensionnées à une largeur maximale de 1440 px au lieu de 1920 px, et éventuellement avoir la possibilité de ne redimensionner que le côté le plus long de l’image (par exemple, une image en portrait devrait être redimensionnée selon sa hauteur plutôt que sa largeur).
Existe-t-il un moyen de vérifier que je l’ai configuré correctement ? Le rafraîchissement forcé (Ctrl+F5) n’a pas semblé fonctionner, alors j’ai reconstruit l’application de toute façon, sans que cela ne change quoi que ce soit. Les images continuent d’être redimensionnées à 1920 px.
/var/www/discourse# rails c
Chargement de l'environnement de production (Rails 8.0.5)
discourse(prod)> SiteSetting.composer_media_optimization_image_resize_dimensions_threshold
=> 1440
J’ai défini ces deux valeurs sur 1440, puis, pour être prudent, j’ai exécuté /var/discourse/launcher rebuild app, mais les images sont toujours redimensionnées à 1920.
edit : en fait, après avoir effectué une reconstruction puis revenir à rails, les deux variables sont de nouveau indéfinies. Quelque chose pourrait-il les réécrire avec les valeurs par défaut ?
En fait, même après avoir quitté rails et simplement y revenir, j’obtiens ceci :
discourse(prod)> composer_media_optimization_image_resize_dimensions_threshold
(discourse):1:in '<main>': undefined local variable or method 'composer_media_optimization_image_resize_dimensions_threshold' for main (NameError)
C’est réglé ! J’ai tout de même complètement confondu les résolutions : dans ma tête, je pensais à du 1440p, qui correspond à la hauteur et non à la largeur . Imaginez ma surprise de voir les images ressortir encore plus petites qu’avant !
Nous n’avons qu’un seul commutateur pour la largeur, donc vous voulez probablement dire 2560 à la place, n’est-ce pas ?
Je comprends tout à fait votre souhait de pouvoir travailler sur l’autre dimension. Le choix de se concentrer uniquement sur la largeur était un compromis lors de la création initiale, car il y avait déjà trop de commutateurs. Ces dernières années, notre équipe a même caché ce paramètre plus profondément, ce qui rend difficile la demande d’ajouts supplémentaires.
Et si nous modifions le fonctionnement pour qu’il agisse sur le plus grand côté, en choisissant dynamiquement la largeur ou la hauteur ?