Add BrAPI V2 & 1.3 to FAIDARE after Spring Boot 3 upgrade
Objectif
Passer le backend de l'application FAIDARE responsable des cards et des web services brapi sous du pur springdata plutôt que le rest client existant. NB: FAIDARE continuera à fournir les WS BrAPI V1.3 en plus des V2.1.
Roadmap
- Développement d'un prototype contenant les requêtes et les web services, isolé de FAIDARE URGI + évaluation et conseil NINJA?
\textcolor{green}{\text{DONE}}
, voir https://forgemia.inra.fr/urgi-is/faidare-sd-poc
NB: Pour la configuration du client springData ElasticSearch j'ai utilisé 8.5. Annotation based configuration . En ajoutant un ElasticSearchClient. Il faut sans doute revoir la création de ce client d'une par pour utiliser le server config existant et d'autres part pour probablement implémenter plus proprement le RestClient
- FAIDARE : Mise en place de Spring Boot 3 dans le backend (squelette/architecture de base). Pas de réécriture des requètes existantes qui seront à terme supprimées. NINJA
- ETL mis à jour pour la BrAPI V2 URGI
\textcolor{orange}{\text{In Progress}}
- Transfert des requètes et web services du POC vers FAIDARE URGI et NINJA
Transfert du nouveau backend vers FAIDARE cards
Contraintes et points d'attentions
- garder le repo GIT existant. La CI et l'ensemble de nos scripts foncitonne dessus, migrer vers un nouveau repo serait contraignant.
- Dans le POC, les repertoires à transférer sont en particulier
-
src/main/java/fr/inrae/urgi/faidare
,src/main/resources
,src/test/java/fr/inrae/urgi/faidare
-
- Certains éléments du backend actuels sont à conserver : CropOntologyRepository, Tymeleaf
- Il est sans doute préférable de retirer toute la couche spring boot existante pour réinsérer une couche springboot3 propre.
- Pour la configuration du client springData ElasticSearch j'ai utilisé 8.5. Annotation based configuration . En ajoutant un ElasticSearchClient. Il faut sans doute revoir la création de ce client d'une par pour utiliser le server config existant et d'autres part pour probablement implémenter plus proprement le RestClient