Développement Backend SpringBoot (Mission INRAe)

Entre septembre 2022 et mars 2023, en mission freelance chez INRAe (Institut national de recherche pour l’agriculture, l’alimentation et l’environnement) au sein de l’équipe Info&So, j’ai participé au développement de la version 4 de donesol web, l’interface web de la base de données nationale DoneSol. Cette base de données regroupe les données des études pédologiques nationnales : une occasion de contribuer à un projet important pour l’environnement et l’agriculture !
J’ai travaillé sur une variété d’aspects du projet. Pour la partie backend, le choix de l’équipe s’est portée sur SpringBoot, de mon coté mon travail a consisté en :
- Mise en place de la sécurisation de l’application avec spring security
- Sécurisation de l’accès aux données coté base de données avec l’utilisation de Raw Level Policies en Postgres
- Optimisation de requêtes SQL, indexation de tables (utilisation intensive de explain analyse pour une inspection fine !)
- Architecture de l’application pour améliorer la maintenabilité
- Écriture de nouvelles parties de l’API
- Mise en place de tests unitaires
- Mise en place du CI/CD pour l’exécution systématique des tests
- Reflexion et mise en place de l’architecture de logs
- Montée en version de springboot
- Gestion d’une base de données de photos et écriture d’un wrapper postgres/couchdb en python
En travaillant sur la partie postgres de donesol web, j’ai été confronté à différent défis. Cela m’a donné l’occasion de découvrir les RLS (Row-Level Security) et de développer mes compétences en optimisation de requêtes. Débutant avec springboot, l’approche très verbeuse de ce framework par rapport à ce dont j’avais l’habitude avec Django, Flask ou Symphony m’a tout d’abord semblé un choix surprenant. Avec le temps je pense que c’est un choix très intéressant pour une application menée à “vivre longtemps” et être manipulée par de nombreuses personnes.
Je vais continuer le développement de cette application, et mettrai en place sa “kubernetisation” : un projet que j’ai hâte de commencer !