Modernised public portal with visual checks, security and a delivery chain
CASE STUDY / 02ANONYMISED ASSIGNMENT
Public sector · national portal

Public service portal

A national portal where users follow sensitive administrative procedures, made of several generations of front end, a business API, a CMS, an SSO and a Kubernetes cluster.

DURATION5 years
ROLEDevelopment, application security, tooling
SETTINGInternal team + suppliers
STATUSMigration under way
THE CONTEXT WE FOUND

Understand the system
before transforming it.

Four generations of front end coexisted with several CMS versions. The new generation had to replace the existing one without any visible regression, while meeting accessibility and security requirements and the state design system.

WHAT WAS DONE

From diagnosis.
To production.

The scope describes the decisions and the work actually carried out, without naming the organisation involved.

01

Create a comparative acceptance bench

Automated comparison between the candidate version and the reference: pixels, texts, forms, network calls and console errors, with typed and historised differences.

02

Migrate the unsupported CMS

60 content types, 157 components, 110 dynamic zones and 58 multilingual schemas migrated with a blue/green strategy and a possible rollback.

03

Handle security continuously

Centralised fixes for content injection and open redirects, vulnerability triage and upgrade of native dependencies.

04

Make the integration chain reliable

GitLab pipelines, per-environment secrets, images published then deployed on Kubernetes, and diagnosis of the false positives blocking quality gates.

05

Test the new generation

SSO, session expiry, unit tests, end-to-end tests, automated accessibility checks and visual tests of the component library.

MEASURED RESULTS

Facts.
Not a logo.

Acceptanceautomated and reproducible
CMSmigrated with a possible rollback
Vulnerabilitieshandled in traceable batches
Accessibilitychecked at every release
TECHNOLOGIES IN PRODUCTION

The foundation actually used.

Next.js 16React 19NextAuthStrapiSymfony 6.4PostgreSQLKeycloakKubernetesGitLab CIPlaywrightVitestStorybookSonarQubeVeracode

Clients, brands, domains, addresses and identifying details are not published. The figures come from the logs, databases, clusters, repositories and control reports provided for these assignments. Security incidents are described without any reproducible exploitation path.

A critical system to build or to take over?

Describe the context, the existing systems and the expected result. We will propose the right level of intervention.

Talk to RGAIX