Case studiesPlate II of VI

Fig. I — The case file, 2017–present

Arte Presse

A pressroom that never closes: a REST-heavy platform rebuilt in flight — frontend in JavaScript, API in PHP, and a renovation carried out while the building stayed open.

ARTEClient · Press platform
09 yrsTimeline · Ongoing
Full-stackBackbone · PHP REST
PSR-4Namespaced MVC
Pl. IIARTE Presse
Fig. II — The pressroom, as the public meets it arte.tv/sites/presse ↗

01 Overview

ARTE Presse leans on its REST API more than almost anything we’ve touched — and this file is the story of improving its performance and its structure without ever taking it offline.

The inherited model was honest in its way: Backbone views on the frontend, talking to a REST API in PHP, which in turn reached a remote API via curl. The frontend, entirely JavaScript. The complexity, entirely real.

You don’t renovate a pressroom by closing it. The site kept shipping while the architecture changed underneath.— Studio note, year one of nine

02 The work

frontendBackbone viewsunderscore library, entirely JavaScript
backendREST API · PHPthe platform’s centre of gravity
via curlRemote APIARTE’s programme data, upstream

Fig. III — The signal path, as inherited. Every improvement had to travel it.

Frontend. We worked inside the existing Backbone views and underscore library — creating features, solving old problems, and optimizing parts of a vast codebase as the work allowed. ARTE Presse is also a production tool: press users download weekly programme lists and programme data behind login, and those flows are intricate. Under the ARTE team’s guidance we documented them extensively — tribal knowledge, turned into a manual anyone can hold.

Tooling. The pipeline grew with the task: gulp extended with new development tasks, so the workflow kept pace with the work.

Backend. A semi-MVC architecture carrying one huge Model gave way to a sustainable MVC — each model a type of list or a type of programme view — namespaced and autoloaded under PSR-4.

Most recently: a new design built on ASG components, replacing the old Backbone views view by view. The renovation continues.

03 The migration

Every move in the renovation, in one table — what we inherited, and what it became.

The inheritanceThe renovation
Frontend viewsBackbone views, accumulated across yearsASG components, new design system, view by view
Backend modelSemi-MVC with one huge ModelSustainable MVC — models typed as lists or programme views
NamespacingLegacy structure, ad hocPSR-4 autoloader, namespaced and predictable
ToolingThe existing gulp pipelineExtended gulp, more development tasks, smoother workflow
KnowledgeHeld by the team, generouslyExtensively documented, download flows included

04 Outcomes

  • Performance and structure, improved continuously on a live, REST-heavy site.
  • A vast Backbone codebase, optimized part by part — without stopping the pressroom.
  • Download flows documented end to end, under the ARTE team’s guidance.
  • One huge Model became a sustainable MVC, namespaced under PSR-4.
  • A new design on ASG components is replacing the old views — 2017 to present, and still shipping.
09Years · Ongoing
RESTAPI at the core
PSR-4Namespacing introduced
ASGDesign system adopted