PnX-SI / GeoNature-atlas

Application WEB permettant de générer des fiches espèces publiques à partir d'observations faune/flore
GNU General Public License v3.0
44 stars 48 forks source link

Recharger les templates automatiquement #431

Closed mvergez closed 1 year ago

mvergez commented 2 years ago

Bonjour,

Suite à des demandes de certains clients voulant modifier les templates html notamment la présentation de leur atlas, je me suis posé la question s'il était possible que ces modifications soient prises en compte dès l'enregistrement du html. Par défaut, il est nécessaire de redémarrer le service atlas pour que ces changements soient pris en compte. Or via le paramètre TEMPLATES_AUTO_RELOAD de Flask, le redémarrage ne devient alors plus nécessaire.

Je propose donc d'ajouter un paramètre dans la configuration, par défaut à False, qui activerait le paramètre précédent.

Qu'en pensez-vous ?

Merci d'avance pour vos retours.

camillemonchicourt commented 2 years ago

Si cela n'a pas de conséquences négatives, je dirai qu'autant l'activer pour tous, pour s'éviter un paramètre supplémentaire.

Mais il y a peut-être des raisons et intérêt à ne pas l'activer ?

mvergez commented 2 years ago

Merci beaucoup @camillemonchicourt pour ton retour ! Je ne suis pas expert mais je pense qu'il ne vaut mieux pas l'activer par défaut pour des questions de performance j'imagine. Il faut que je me renseigne

mvergez commented 2 years ago

Si je ne dis pas de bêtises quand TEMPLATES_AUTO_RELOAD est activé, le template "renderisé" est chargé depuis le cache plutôt que relu : https://github.com/noirbizarre/jinja2/blob/b7d13f278753d057bb3765b4d4a672c351d88bf3/jinja2/environment.py#L757-L768 (auto_reload est mis à la valeur de TEMPLATES_AUTO_RELOAD par Flask).

Donc pourrait potentiellement réduire la performance à cause de la lecture d'un ficher à chaque fois + la "renderisation". Je pense donc qu'il faut le désactiver par défaut et l'activer si besoin.