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 46 forks source link

Backoffice pour l'atlas ? #444

Open mvergez opened 1 year ago

mvergez commented 1 year ago

Bonjour,

Suite à des discussions avec le PNR des Marais du Cotentin et du Bessin, il a été évoqué l'utilité de pouvoir rafraichir les vues matérialisées sans avoir accès au serveur mais ne pas rendre cet éventuel bouton de rafraichissement accessible à tous les utilisateurs.

Nous avons donc pensé à mettre en place un backoffice. Mais le mettre en place juste pour un rafraichissement des données semble être un peu de la "sur-ingénierie".

Pensez-vous qu'il y aurait d'autres besoins pour un backoffice ? Pensez-vous que c'est une bonne idée ? J'attends vos retours ! Merci d'avance !

TheoLechemia commented 1 year ago

Chez nous on a mis un cron qui rafraîchit l'atlas toutes les heures ... peut être que sur des plus petite instances tu peux encore descendre

camillemonchicourt commented 1 year ago

Y a des GeoNature-atlas qui ne sont pas rafraîchis automatiquement avec un CRON ? C'est clairement pas une tache à lancer manuellement.

mvergez commented 1 year ago

Merci pour vos retours ! Oui le rafraichissement avec un CRON est la norme, mais parfois ils veulent juste éditer des fiches espèces, des médias par exemple et voir le résultat tout de suite, sans attendre 1h. Ce que je peux comprendre. Et rafraichir toutes les heures surcharge un peu la base de données non ? Ou alors, il faudrait faire plusieurs CRON jobs pour rafraichir différentes vues à des périodes différentes...

camillemonchicourt commented 1 year ago

Nous ça nous va bien de rafraîchir toutes les heures. Et quand ils font une modification sur une fiche, ils n'ont pas vraiment besoin de vérifier, ils savent que dans l'heure ça sera répercuté sur GeoNature-atlas.

lpofredc commented 1 year ago

Selon moi, il y a ici deux problématiques distinctes, la gestion du rafraichissement des données de l'atlas et la possibilité de gérer du contenu "statique" de l'atlas.

Concernant le rafraichissement des données, en l'état actuel, nul besoin d'accéder au serveur pour le faire car cela peut être réalisé depuis n'importe quel client PostgreSQL à partir du moment ou la bdd est accessible depuis l'extérieur (il est toutefois recommandé de restreindre les IP entrantes ;). Il suffit alors d'éxécuter la commande select atlas.refresh_materialized_view_data();. Pour ne rafraichir que les données relatives aux descriptions des espèces, il faut rafraichir les vues matérialisées relatives aux taxons:

REFRESH MATERIALIZED VIEW CONCURRENTLY atlas.vm_taxons;
REFRESH MATERIALIZED VIEW CONCURRENTLY atlas.vm_cor_taxon_attribut;
REFRESH MATERIALIZED VIEW CONCURRENTLY atlas.vm_search_taxon;
REFRESH MATERIALIZED VIEW CONCURRENTLY atlas.vm_medias;

La possibilité de quelques rafraichissement de données depuis un backoffice me parait intéressante. A minima avec les options suivantes:

Je préconiserai de les démoniser car cela peut prendre très longtemps sur de grosses instances (en ce qui nous concerne, nous sommes de l'ordre d'une heure).

Je ne sais plus si le formattage html est possible sur les attributs, mais si tel est le cas, alors il n'est pas inintéressant de pouvoir voir le résultat rapidement.

Plus largement, un backoffice me parait très intéressant pour pouvoir aisément éditer ce qui est aujourd'hui contenu dans les fichiers custom statiques, évitant ainsi une gestion "lourde" du contenu de la plateforme par SSH et terminal. Dans lpoaura/GeoNature-BiodivTerritoires (Models, Contenu), tous les textes "statiques" sont stockés en bdd et gérés depuis le backoffice ce qui est très pratique à l'usage :

mvergez commented 1 year ago

Merci beaucoup pour ton retour @lpofredc ! Je suis content de voir que tu es intéressé par cette fonctionnalité.

La possibilité de quelques rafraichissement de données depuis un backoffice me parait intéressante. A minima avec les options suivantes: Tout Données Informations relatives aux taxons (attributs, médias, etc).

Je suis d'accord avec toi. Cela permettrait de ne pas surcharger inutilement la base de données.

Je préconiserai de les démoniser car cela peut prendre très longtemps sur de grosses instances (en ce qui nous concerne, nous sommes de l'ordre d'une heure).

Effectivement, à voir si une tâche celery ou quelque chose du genre ne serait pas adéquat.

Concernant le rafraichissement des données, en l'état actuel, nul besoin d'accéder au serveur pour le faire car cela peut être réalisé depuis n'importe quel client PostgreSQL à partir du moment ou la bdd est accessible depuis l'extérieur (il est toutefois recommandé de restreindre les IP entrantes ;)

Je ne suis vraiment pas pour ouvrir la base de données, à part s'il n'y a pas d'autres moyens. En général, je préfère uniquement ouvrir le port 443, le port 80 et le port 22 pour le SSH. Car on peut se connecter à la bdd par tunnel ssh. C'est moins pratique mais plus sécurisé, selon moi, mais à ne pas mettre entre les mains de n'importe qui...

Je ne sais plus si le formattage html est possible sur les attributs, mais si tel est le cas, alors il n'est pas inintéressant de pouvoir voir le résultat rapidement.

Oui il est possible de renseigner du html sur les attributs. Comme le fait l'inpn. C'était la demande initiale : voir plus rapidement ce qu'on vient d'éditer...

footer, textes introductifs de l'accueil: a propos, partenaires, autres pages: A propos, contact, etc. On pourrait aussi y administrer la liste des partenaires de la plateforme dans une table avec les champs logo, description, url par exemple.

Je suis d'accord avec toi pour éditer plus facilement les html. A voir s'il sera toujours possible de renseigner des variables jinja (pour les url, les traductions etc.) mais je trouve que c'est une super idée. Cela rendrait les utilisateurs plus autonomes également. Ce serait top aussi pour tout ce qui est logo !

Merci pour toutes ces bonnes idées. ça a l'air vraiment top BiodivTerritoires ! Qu'en pensez-vous @camillemonchicourt @TheoLechemia ? D'autres ont un avis à donner ?

camillemonchicourt commented 1 year ago

Je suis assez d'accord sur le fait qu'il serait intéressant de disposer d'une administration dans GeoNature-atlas pour pouvoir plus facilement modifier certains élément de configuration, ainsi que les contenus des pages statiques. Même si ça bouge très peu souvent, ça serait un plus.

Je suis moins convaincu par l'idée de donner une interface d'administration pour relancer le rafraîchissement des données. Pour moins c'est clairement une tache de l'administrateur système à régler sous forme de CRON ou autre, mais pas à lancer manuellement par un administrateur de contenu.

pchapuis-nantesmetropole commented 12 months ago

Il y a pas mal de points qui devraient pouvoir être paramétrables pour une utilisation plus facile. Je pense typiquement à la cartographie principale. J'ai l'impression qu'il faut la modifier directement dans le code ou presque

TheoLechemia commented 12 months ago

Bonjour, Que souhaitez vous paramétrer sur la carte ? Les fonds de carte, le niveau de zoom, le centrage ainsi que d'autres paramètres de la carte sont configurable dans le fichier de config.py (voir l'exemple de tous les paramètres ici : https://github.com/PnX-SI/GeoNature-atlas/blob/master/atlas/configuration/config.py.example#L92)

pchapuis-nantesmetropole commented 12 months ago

Merci pour le retour. Je suis encore en cours de découverte de l'outil que nous envisageons d'employer pour réaliser l'Observatoire de la Biodiversité Métropolitaine sur le territoire de la métropole nantaise dans une logique de contributive par rapport au projet principal. Dans ce cadre, nous aimerions pouvoir aller beaucoup plus loin dans le contenu de cette carte principale pour y afficher quelques couches que nous pensons pertinentes (continuités écologiques, zones humides, natural 200, référentiel unique des cours d'eau, ...).

camillemonchicourt commented 12 months ago

En effet, la carte est configurable pour pouvoir définir les fonds de carte, le centrage, les niveaux de zoom. Par contre, il n'est actuellement pas possible d'ajouter des couches complémentaires.

Ça serait une évolution pas très compliquée de l'outil que de pouvoir ajouter des couches complémentaires, affichables ou non par l'utilisateur, depuis des flux WMS, WFS ou GeoJSON, comme on l'a fait récemment dans GeoNature : https://github.com/PnX-SI/GeoNature/issues/974

A évaluer, financer, développer.

pchapuis-nantesmetropole commented 4 months ago

Il y a un certain nombre de choses qui me semblent intéressantes à pouvoir rendre paramétrables via une interface d'administration. Certaines d'entre elles concernent des évolutions que nous souhaitons faire et concerne des points qui peuvent être actualisés régulièrement. Aujourd'hui, ce n'est pas prévu d'utiliser une interface d'administration mais, comme il est demandé des idées sur les besoins, j'en donne ;)

camillemonchicourt commented 4 months ago

Les textes associés aux territoires ou aux organismes ne sont pas gérés dans GeoNature-atlas, car ce sont des infos qui viennent d'une autre BDD. Les territoires depuis le ref_geo et les organisme depuis UsersHub. Donc ce serait plutôt à la source des données et donc dans leur BDD et leur outil de gestion qu'il faudrait gérer ces données.

Sauf si on décide de surcoucher ces objets et de renseigner ces infos complémentaires dans la BDD GeoNature-atlas uniquement. Mais GeoNature-atlas n'est pas censée avoir de données propres, mais plutôt aller chercher les données ailleurs (Taxref, GeoNature, TaxHub...)