-
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
Ajout d'un onglet "Ajouter un taxon" et gestion des versions avec Alembic #509
Comments
Bonjour, C'est intéressant. Et particulièrement car une refonte de l'interface de TaxHub est en cours depuis quelques mois et est actuellement en phase de finalisation : #297 (comment) Pour que votre développement puisse être intégré dans les nouvelles versions de TaxHub, il aurait donc fallu en discuter. Avant de regarder les aspects techniques, il faut voir pourquoi et comment implémenter la fonctionnalité d'ajout de taxons. L'objectif est de pouvoir ajouter des taxons dans la table C'est un besoin ponctuel mais régulier, mais il faut faire bien attention à cela et le faire en connaissance de cause, car Taxref est un référentiel national qui évolue chaque année. Donc commencer à le modifier ou l'enrichir est risqué. Il me semble qu'il y a déjà eu plusieurs discussions sur le sujet, mais il faut bien définir comment gérer ça de manière claire et propre au niveau de la BDD, idéalement pour ne pas venir modifier ou enrichir localement la table |
Effectivement un besoin régulier pour nos clients aussi. Ca serait intéressant d'envisager de réfléchir a un système de type pull request / issue sur TaxRef (ou autre référentiel) afin que chaque ajout soit discuter, puis éventuellement intégré. |
Oui côté Taxref et son enrichissement, c'est intéressant mais un autre sujet. |
Bonjour, |
OK super intéressant, merci pour ce retour et ces infos. |
Bonjour, En fait ce développement est là pour simplifier une procédure qui est déjà en place sur notre instance SINP, et qui nous permet de gérer des taxons "locaux" qui ne sont pas encore référencés dans Taxref. La Réunion à la particularité d'avoir un très fort taux d'endémisme, et de nouvelles espèces endémiques sont observées chaque année. Par ailleurs, de par sa situation géographique et son histoire, c'est un territoire qui est particulièrement sensible aux espèces exotiques envahissantes. Nous devons donc régulièrement gérer de nouvelles espèces exotiques qui ne sont pas présentes en métropole, et ne sont donc pas encore référencées dans Taxref. Pour ces raisons, nous devons régulièrement ajouter des taxons "temporaires" dans Taxref, en attendant que ces taxons soient ajoutés officiellement dans le référentiel. Nous gérons l'ajout de ces taxons, en leur attribuant un cd_ref négatif, et en faisant un travail de réconciliation à chaque mise à jour de Taxref, pour assurer leur remplacement dans le cas où le taxon "officiel" correspondant serait désormais disponible dans la nouvelle version de Taxref. Jusqu'à présent nous faisions ce travail directement en base de données, via des scripts SQL, comme de nombreuses autres procédures de gestion de notre SINP. Nous avons lancé un chantier fin 2022, pour remplacer progressivement toutes ces actions techniques qui se font en SQL, par des fonctionnalités permettant de faire la même chose via une interface graphique, et pouvant donc être prise en charge par une personne n'ayant pas d'accès à la BDD, ni de compétences en SQL. Le développement de cette interface de saisie d'un taxon "temporaire" rentre dans ce cadre. Nous savons qu'une refonte de l'interface de Taxhub est en cours, et donc nous avons essayé de faire un développement qui soit le moins adhérent possible à l'interface existante, et qui ne nécessite pas (ou le moins possible) de modifier l'installation standard, ce qui nous permettra de pouvoir continuer à mettre à jour Taxhub, tout en conservant cet ajout fonctionnel. Si cela intéresse la communauté, nous pourrons tout à fait retravailler ce développement dès que la nouvelle interface de Taxhub sera disponible, afin qu'il puisse être intégré dans la version standard. Nous avons prévu une enveloppe budget dédiée à ce sujet pour 2025. |
Oui oui c'est un besoin bien connu et qui n'est pas spécifique à La Réunion et qui mériterait d'être discuté et construit ensemble pour être partagé et intégré à l'outil, pour tous. La nouvelle version de TaxHub est développée et fonctionnelle dans la branche DEVELOP et elle simplifiera la conception et le développement de cette évolution (modèle de données plus simple avec la suppression de bib_noms, suppression du framework JavaScript front-end AngularJS pour tout faire en python avec Flask-admin). |
Bonjour,
Dans le cadre de mon stage de fin d'études (à l'ENSG Géomatique, option technologie des systèmes d'information) au sein de la DEAL 974, sous la supervision de Rémi Bouilly, je suis chargée d'ajouter un onglet "Ajouter un taxon". Cette fonctionnalité est nécessaire pour automatiser cette opération, actuellement réalisée manuellement.
J'ai fini de développer cette fonctionnalité, mais j'ai rencontré un problème avec Alembic (que j'ai pu contourner pour terminer). Étant débutante avec Flask et Alembic, mes explications / questions peuvent paraître maladroites.
Pour enregistrer un nouveau taxon, j'ai créé un formulaire permettant aux utilisateurs (administrateurs uniquement) de remplir tous les attributs du taxon. Afin d'assurer la validité et la cohérence des données, j'utilise des autocomplétions pour les champs règne, phylum, classe, ordre, famille, sous_famille et tribu. Ces autocomplétions existent déjà dans l'onglet "taxref". J'ai donc réutilisé cette structure mais avec l'ajout des champs sous_famille et tribu, qui ne sont pas présents.
Pour ajouter les autocomplétions, j'ai ajouté ces 2 champs à la table vm_taxref_hierarchie du schéma taxonomie. J'ai donc mis à jour la classe VMTaxrefHierarchie dans le fichier apptax/taxonomie/models.py en conséquence.
Si je ne me trompe pas, il faudrait utiliser Alembic pour gérer les migrations de la base de données et prendre en compte ces modifications. Cependant, j'ai rencontré des difficultés à ce niveau. Il semble qu'il me manque plusieurs versions, notamment les versions e0ac4c9f5c0a, fa35dfe5ff27, 72f227e37bdf et f7374cd6e38d. J'ai contourné ce problème, pour pouvoir finir de développer cet onglet, en modifiant la bdd à la main. Cela fonctionne parfaitement bien, mais j'aimerais que ce soit fait avec Alembic.
Aurais-je manqué une étape ou mal compris quelque chose ? Pourriez-vous m'aider à résoudre ce problème ?
Merci d’avance pour votre aide,
Claire Girardin
The text was updated successfully, but these errors were encountered: