Back to projects
Featured projectLiveSince September 2025

eSGBU

National University Library Survey

Full-stack development of the application the French ministry uses each year to run its statistical survey of university libraries.

Symfony
Angular
MySQL
MariaDB
Elasticsearch
Mercure
Git
institutions surveyed
100+
institutions surveyed
university libraries
1,000+
university libraries
Angular upgrade
14 → 20
Angular upgrade

Overview

eSGBU is the application the French Ministry of Higher Education, Research and Space (MESRE) uses each year to run its statistical survey of university libraries, covering more than a hundred institutions and a thousand libraries. Built with Symfony and Angular, it is developed within the CINES DASD department following an agile method.

Key features

  • Groups module: questionnaires organized into variable groups on three levels
  • Drag-and-drop group ordering, saved in a single transaction
  • Automatic, recursive hiding of groups with no active variable
  • Automatic carry-over of instructions and data from one survey campaign to the next
  • Symfony backend (MySQL/MariaDB, Mercure, Elasticsearch) and Angular frontend
  • Deployment across development, pre-production and production environments

Context

As part of my engineering apprenticeship at CINES, I contribute to eSGBU within a small agile team, alongside FACILE, for a ministry client.

What I did

  • Got up to speed on the application and diagnosed a CORS error that blocked group editing: the cause was not the code but the test server (insufficient memory, unsupported Node version).
  • Audited the Groups module, then delivered the ministry's two top-priority requests: drag-and-drop ordering and recursive hiding, with hidden groups still present in exports.
  • Analyzed the existing code before writing any: the ordering column already existed in the database, so a heavy migration was replaced by a simple index.
  • Took part in the automatic carry-over of data from one year to the next (N → N+1), sparing administrators tedious re-entry.
  • Contributed to the stack modernization (Angular 14 → 20, Symfony 5.4 → 6/7), dependency updates and deployments.