-
Notifications
You must be signed in to change notification settings - Fork 31
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
TaxHub v2 - Angular JS VS Angular ? #297
Comments
Car avant Angular il y avait AngularJS. Et qu'on n'a pas mis à jour (ou plutôt refondu) TaxHub depuis. |
Je viens de découvrir qu'AngularJS avait arrêté le support en janvier 2022 (source : https://angularjs.org/). On pourrait discuter des futures technos ici non ? Quelques propositions :
|
En effet il y aurait une analyse à faire de la solution technique à utiliser pour la prochaine version de TaxHub.
|
Je trouve la dernière piste, Flask sans framework JS, assez séduisante. Ca simplifierait pas mal les déploiements et maintenances, mais ça me parait un chantier assez (trop ?) conséquent. |
À mon sens, la solution flask-admin est à privilégier pour 2 raisons majeurs :
|
Mais une des solutions ne serait-elle pas de rendre indépendant Taxhub et GeoNature du point de vue de la base de données ? Si on met de côté le chantier énorme que ça représente, est-ce une solution envisageable ? |
Le premier chantier, c’est déjà d’identifier une solution envisageable. À ce stade, je n’en ai pas (mais je suis biensûr ouvert aux propositions) ! Je rappelle que nous avons pleins de FK taxonomique dans GeoNature. |
Désolé, ma réponse n'était pas claire. Le chantier auquel je fais référence est celui de supprimer les FK taxonomiques de GeoNature pour séparer les bases de données entre elles. Mais cette solution demande d'abord une analyse de toutes ces FK, les contraintes, les joins réalisés dans GeoNature et ses modules etc. afin de passer par l'API de Taxhub directement. |
Mon humble avis de gestionnaire de donnée du parc :
|
J'ai bien compris que c'etait ni un scénario prévu ni un projet. Mais clairement pour administrer des données, je ne pourrais pas ne pas avoir le taxref dans ma BDD GéoNature. La première chose que je ferais serait de le réimporter dans une table custom. Pour ne pas avoir à apprendre le Python et aller taper sur des API ^^ |
Merci à toutes et tous pour vos réactions et merci @TheoLechemia et @DonovanMaillard pour vos partages d'expérience. Je me permets donc de partager ma courte expérience en tant que développeur et "déployeur" de GeoNature : Il y a aujourd'hui une quarantaine (voire une centaine) de GeoNature d'installés (selon cette liste https://lite.framacalc.org/9efn-geonature-users) et cette liste grandit d'année en année ce qui fait qu'il y a au minimum une quarantaine de référentiels taxonomique français d'installés donc dupliqués donc évoluant ou pas librement et donc en retard ou divergeant du référentiel taxonomique livré par le MNHN chaque 6 mois/1 an à peu près. Duplication2.5Go par référentiel (car il y a toute la bdc_statut) multiplié par le nombre de GeoNature installés ça commence à faire pas mal de Go (~100Go soit quasi 2x la capacité d'un serveur qu'on déploie pour un client). Le stockage ne coûte pas très cher mais il consomme. Je ne compte pas les backups mais il faudrait multiplier ce chiffre au moins par 2. (Ce n'est pas le sujet mais c'est la même chose avec le RefGeo et son Modèle Numérique de Terrain, voir les discussions ici si besoin : PnX-SI/GeoNature-citizen#321 (comment)). Mais ce n'est pas le principal problème. Mise à jourSur les quelques clients que nous avons côtoyés très peu se connectent en ssh au serveur et donc encore moins savent mettre à jour GeoNature (requis par exemple, si je ne me trompe pas, pour mettre à jour vers Taxref 15). 1er problèmeDonc et c'est le principal problème pour moi : ils saisissent de la donnée erronée qu'ils ensuite envoient sur DEPOBIO. Donc OK les FK c'est bien mais la véracité des données est, selon mon humble expérience dans le domaine, primordiale. Dupliquer c'est potentiellement changer et erroner la donnée. 2nd problèmeMais il y en a une bonne partie qui font du SQL ce qui rejoint les propos de @TheoLechemia et @DonovanMaillard donc nickel. Mais à défaut de mettre à jour Taxref de manière officielle, ils le font à la main (pas vu souvent mais possible) : comment ensuite se raccrocher au bon Taxref ? Comment ne pas faire de bêtises ? Qui valide la véracité des données mises à jour ? QuestionnementC'est une vraie question que je me pose, je ne connais pas la réponse : dans le cas du module d'import : on a juste à saisir un cd_nom et un nom latin je crois et on importe dans la synthèse : donc si j'importe dans tel ou tel GeoNature j'ai possiblement une synthèse différente (si on s'en tient qu'à la taxonomie) ? C'est, je crois, le processus de téléversement des données dans DEPOBIO. Quid des FK ? Les APIsJe propose les APIs non pas par préférence mais parce qu'elles offrent la possibilité de par exemple avoir un seul TaxHub ou encore d'utiliser l'API du MNHN (https://taxref.mnhn.fr/taxref-web/api/doc) qui permet d'effectuer une requête en spécifiant la version de Taxref depuis la 2.0 par exemple. Foreign Data WrapperOn pourrait mettre le FDW dans la balance pour appeler finalement la même base de données. Je ne suis pas expert en FDW mais je vois plusieurs problèmes :
ConclusionMaintenant que nous avons partagé nos avis et nos expériences (n'hésitez pas à en partager d'autres), comment trouver des solutions qui peuvent répondre à toutes les problématiques citées dans ce ticket ? Désolé pour le roman mais il fallait que je justifie ma réponse qui a suscité de "vives" réactions. Merci beaucoup à vous d'avoir répondu et alimenté ce débat, c'est super intéressant d'avoir vos points de vue sur ces sujets. |
Passer par du FDW me parait une très bonne solution, et, il me semble, peut déjà être mis en place par ceux qui le souhaite :
Il ne me semble pas que le FDW pose problème entre différentes versions (pas trop éloignées) de PG ? Le seul point négatif que je vois c'est les droits d'accès potentiellement compliqués à mettre en place, surtout pour les grosses structures ayant des politiques de sécurité poussées. Niveau sobriété numérique, je ne suis pas sûr que l’exécution de centaines/milliers de requêtes HTTP(S) soit beaucoup mieux qu'une duplication du taxref (au doigt mouillé). |
Salut, La duplication pose question en effet et n'est pas idéale, mais tout comme la duplication des GeoNature, la redondance avec les données dans l'INPN et les SINP régionaux, etc. Je ne comprends pas tous les problèmes remontés, car saisir des données sur une ancienne version de Taxref n'est pas idéal mais ne créé pas de données erronées. Un CD_NOM correspondant à un taxon dans une version de Taxref ne peut pas correspondre à un autre taxon dans une autre version de Taxref. Il est parfois aussi nécessaire d'ajouter marginalement des taxons temporaires dans Taxref le temps qu'ils soient intégrés dans une prochaine version de Taxref (cas réguliers DOM-TOM avec toutes les découvertes qui vont plus vite que Taxref, et une dizaine par an au PNE environ). Comme évoqué précédemment, nous avons une volonté forte de garder une intégrité des données dans la BDD avec des clés étrangères, mais aussi la possibilité de requêter et traiter nos données directement en SQL dans la BDD, en lien avec Taxref. Pour moi, la solution de passer par API Taxref seulement n'est pas satisfaisante pour les différentes raisons évoquées précédemment, à laquelle on peut ajouter les questions de dépendance à l'API Taxref, mais aussi d'adhérence à Taxref lui-même (on peut actuellement le remplacer par un autre référentiel comme dans cet exemple - https://si.ecrins-parcnational.com/blog/2019-05-geonature-atlas-gbif-jamaica.html). Les FDW peuvent être une possibilité pour ceux qui veulent pas gérer Taxref, maitriser leur version, ajouter quelques taxons marginalement (pas notre cas), mais elle risque de poser 2 soucis :
Si certains testent cette piste, faisable en l'état sans changement structurels de GeoNature ni TaxHub, n'hésitez pas à faire des retours. Le point principal sur lequel je partage ton constat est la lourdeur et complexité de mise à jour de Taxref. |
Salut @camillemonchicourt, Je l'ignorais pour le Pour la dépendance à l'API de Taxref, il est possible de créer des interfaces (des genre de parsers) pour prendre en compte d'autres API donc pas forcément d'accord avec toi sur ce point là. Mais je comprends tes autres points. Merci encore pour toutes ces infos |
Bonjour à tous, Pour préciser les craintes de @camillemonchicourt, j'apporte quelques précisions quant à l'usage des FDW sur un sujet aussi central que la taxonomie dans GeoNature.
...peut retourner de très mauvaises perfs si le planificateur de requête choisi un sequential scan sur la table |
La refonte de TaxHub avec Flask-admin (intégrable à l'Admin de GeoNature ou non) a bien avancé, est intégrée dans la branche Aperçu sur : https://github.com/PnX-SI/TaxHub/blob/9196be1f1e2177a60f6ada45f373cc8c606d580e/docs/manuel-utilisateur.md |
Fait dans la version 2.0.0 de TaxHub avec la refonte de l'interface en Flask-admin, installable en tant qu'application autonome (standalone) ou intégré dans GeoNature : Bonus : Ajout de nombreux filtres, de la possibilité de peupler des listes depuis un fichier CSV de cd_nom, suppression de bib_noms (simplifiant la gestion des taxons, des médias, des attributs, des listes, ainsi que les MAJ de Taxref) |
Bonsoir,
Je me demandais ce soir les raisons qui ont amené à choisir Angular JS par rapport à Angular dans TaxHub.
En effet, dans un contexte d'homogénéisation des applications GeoNature, serait-il intéressant de passer TaxHub sous Angular ? Cela permettrait notamment de mettre en place la dernière version du framework ?
Merci pour vos éclairements !
The text was updated successfully, but these errors were encountered: