Skip to content

Ajout paramètres MEDIA_SUBFOLDER et THUMB_SUBFOLDER#664

Open
PaulLabruyere wants to merge 1 commit intoPnX-SI:masterfrom
PaulLabruyere:feature/add_media_subfolders_params
Open

Ajout paramètres MEDIA_SUBFOLDER et THUMB_SUBFOLDER#664
PaulLabruyere wants to merge 1 commit intoPnX-SI:masterfrom
PaulLabruyere:feature/add_media_subfolders_params

Conversation

@PaulLabruyere
Copy link

@PaulLabruyere PaulLabruyere commented Dec 24, 2025

Cette PR ajoute deux paramètres optionnels dans la configuration TaxHub : MEDIA_SUBFOLDER et THUMB_SUBFOLDER, comme discuté dans le ticket #580.

Ces paramètres permettent de distinguer, au sein du dossier MEDIA_FOLDER/taxhub, l'emplacement où sont stockés les médias eux même de celui où sont stockés les miniatures. Avec la configuration actuelle, les médias sont stockés à la racine de MEDIA_FOLDER/taxhub, et les miniatures dans un dossier MEDIA_FOLDER/taxhub/thumb.

C'est particulièrement utile dans le contecte d'un stockage des médias sur un serveur S3 : on cherchera alors à limiter au maximum le trafic entrant et sortant du serveur. Une bonne pratique est alors de stocker les miniatures "en local" sur le serveur, car elles sont appelées plus fréquemment mais occupent moins d'espace, et d'avoir les médias eux même sur le S3, car plus lourds mais appelés plus rarement (au clic sur la miniature).

Si les paramètres ne sont pas définis, le comportement actuel est conservé par défaut.

Testé sur un TaxHub installé au sein d'une instance GeoNature, mais pas sur un TaxHub standalone : est-ce que ça marchera avec le current_app.config["TAXHUB"] ?

Je suis preneur de retours notamment sur la logique et le nommage des paramètres !

return self.url
elif self.chemin:
return url_for("media_taxhub", filename=self.chemin, _external=True)
return url_for(
Copy link
Contributor

Choose a reason for hiding this comment

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

C'est peut être plus judicieux de modifier directement la configuration du endpoint au niveau de
app.py de Taxhub pour les installations standalone
app.py de GeoNature pour les installations embarqué

-- taxhub app.py
media_path = Path(app.config["MEDIA_FOLDER"], "taxhub",
            current_app.config["TAXHUB"]["MEDIA_SUBFOLDER"]).absolute()
# Enable serving of media files
    app.add_url_rule(
        f"/{media_path}/<path:filename>",
        view_func=lambda filename: send_from_directory(media_path, filename),
        endpoint="media_taxhub",
    )

@amandine-sahl
Copy link
Contributor

cf #673

@PaulLabruyere
Copy link
Author

Salut @amandine-sahl ! Merci beaucoup d'avoir poursuivi le travail dans la PR 673, avec fix du pb soulevé en commentaire, ajout de tests et mutualisation. Je pense qu'on peut fermer cette PR et garder la tienne =)

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.

2 participants

Comments