Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gestion des fichiers statiques et des médias #2306

Closed
bouttier opened this issue Jan 30, 2023 · 3 comments
Closed

Gestion des fichiers statiques et des médias #2306

bouttier opened this issue Jan 30, 2023 · 3 comments

Comments

@bouttier
Copy link
Contributor

bouttier commented Jan 30, 2023

Ce ticket vise à regrouper ce qui a pu être discuté à plusieurs endroits autour des limitations dans la gestion actuelle des fichiers statiques, et des évolutions à venir.

La principale limitation est la nécessité de rebuilder le frontend dans le cas des fichiers statiques du frontend.
Une autre limitation est la complexité à gérer le surcouchage (fichier potentiellement tracké par git, mélangé avec les fichiers de base)

#2206
#2088 (comment)
#2088 (comment)
#2302 (comment)

Les conclusions sont :

  1. De servir les fichiers statiques du frontend par le backend (du moins ceux pouvant nécessités d’être surcouchés)
  2. De regrouper au niveau du backend les éléments de surcouche dans un unique dossier, distincts des éléments de base. Cela facilite ainsi la sauvegarde de sa personnalisation, les migrations, et le montage de la surcouche dans une image Docker via un volume.
  3. De séparer les fichiers statiques des médias. Comprendre par fichiers statiques les éléments applicatifs, pouvant potentiellement être surcouchés, et par médias les données générées par l’application (export, images attachées aux observations, …) qu’il est par ailleurs nécessaire de sauvegarder.

Pour le point 3, une PR est en cours : #2220
#2302 (comment)

Pour les points 1 & 2, il faut commencer par rajouter une route pour servir les fichiers statiques avec surcouchage.

@joelclems
Copy link
Contributor

J'imaginerai un dossier avec les éléments qui permettent de personaliser un instance de geonature avec la structure suivante

- /
    - config/
        - geonature_config.toml
        - occtax_config.toml
        - occhab_config.toml
        - occtax_mobile.json ?????
    - custom/
        - images
            - login_background.jpg
            - logo_strucutre.jpg
      ...    
    - medias ???
  • Ce dossier pourrait être référencer par une variable GEONATURE_SETTINGS_DIR qui pourrait prendre comme valeur

    • /home/<user>/.geonature
    • /etc/geonature (et qui pourrait peut être remplacer GEONATURE_CONFIG_FILE ????
    • dans un volume dans le cadre d'une dockerisation
    • Est ce que cela pourrais remplacer GEONATURE_CONFIG_FILE
  • Le dossier custom permettrait de surcoucher des fichiers présent dans le dossier static

- GEONATURE/
    - backend/
        - static/
            - images 
                - login_background.jpg
                - logo_strucutre.jpg
  • Les fichiers de configuration des modules pourrait être placées à côté de la configuration de geonature

  • La configuration du mobile pourrait être déplacée ici avec la configuration de geonature et des modules

    • et les .apk dans le dossier des medias ? medias/gn_mobile_occtax/occtax-2.4.0-generic-release.apk
  • Je ne suis pas trop sur de la place du dossier media qui pourrait/devrait? être dans un dossier indépendant

@bouttier
Copy link
Contributor Author

Fait dans la 2.12
Les paramètres suivants apparaissent :

  • MEDIA_FOLDER
  • MEDIA_URL
  • STATIC_FOLDER
  • CUSTOM_STATIC_FOLDER
  • STATIC_URL
    Par défaut le dossier custom se trouve à la racine de GeoNature, tandis que les dossiers static et media se trouve dans le dossier backend.

L’architecture unifié avec un dossier parent à la config et à la custo n’est pas respecté, mais il est possible de la mettre en place avec les paramètres mentionnés.

@camillemonchicourt
Copy link
Member

Le dossier "media" a été laissé par défaut dans le dossier "backend" de GeoNature, mais il est tout a fait possible de le mettre ailleurs (à la racine du home de l'utilisateur par exemple) en modifiant le paramètre de configuration "MEDIA_FOLDER".

La documentation de customisation a été entièrement revue pour répercuter les modifications réalisées dans la 2.12.0 : https://docs.geonature.fr/admin-manual.html#customisation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants