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 !

Julien Robert
Julien Robert
Indépendant en ingénierie informatique

Docteur en informatique, agrégé de mathématiques, passionné de sciences et d’informatique, j’ai à coeur de mettre en oeuvre et faire évoluer et transmettre mes conpétences sur tout type de projet “stimulant” conceptuellement et / ou techniquement.