Puppet Plays

PuppetPlays és una plataforma de recerca finançada per la Unió Europea que documenta el teatre de titelles a l'Europa occidental des del segle XVII fins avui, liderada per l'investigador Didier Plassard i allotjada per la Université Paul-Valéry Montpellier 3. Quan vam arribar al projecte, la web ja estava publicada, però l'agència que l'havia construït havia tancat. No hi havia codi font entregat, ni accés clar al servidor ni al panell d'administració, i la beca de recerca acabava en pocs mesos. Ens vam encarregar de recuperar el control tècnic del projecte i portar-lo on l'equip de recerca necessitava abans que es tanqués el finançament.

Puppets plays logo craft audit

El problema

Vam arribar a un projecte a mig abandonar i amb data límit fixa. El finançament europeu acabava el setembre de 2025, així que cada setmana que es fes servir per recuperar el terreny perdut restava temps a les funcionalitats que l'equip de recerca necessitava de veritat. El pressupost tampoc donava gaire marge: en tractar-se de fons públics, la universitat havia de mantenir-se per sota d'un llindar que evités entrar en un procés de licitació formal.

Tècnicament el punt de partida era dur. Craft CMS estava en una versió antiga (3.7.11), diverses llicències de plugins havien caducat, i no existia cap entorn de staging: tot es desplegava directament a producció, així que tocar qualsevol cosa era arriscar-s'hi. El projecte, a més, havia d'interoperar amb la infraestructura europea de ciència oberta: Nakala per preservar les dades digitalitzades, HAL per a les publicacions científiques, ISIDORE com a índex públic perquè altres investigadors poguessin trobar i accedir al contingut. És un nivell d'exigència habitual en projectes finançats per la UE, però poc freqüent fora d'aquest món.

Solució

Vam plantejar el treball en dues fases: primer estabilitzar, després construir.

A la primera vam fer una auditoria tècnica completa del projecte heretat (codi, base de dades, plugins i dependències) per saber exactament què hi havia i quins riscos tenia cada peça. Vam reclamar les llicències caducades, vam muntar les primeres còpies de seguretat de la base de dades, que fins llavors no existien, i vam construir un entorn de staging des de zero. Amb aquesta base ja ferma, vam migrar Craft CMS de la versió 3 a la 4.

Amb la plataforma en un estat fiable, vam passar a construir. Vam treballar la gestió d'usuaris i comptes personals, vam millorar el cercador i els filtres i vam desenvolupar els mòduls de contingut que donaven sentit al projecte: una antologia d'obres digitalitzades amb visor d'imatges en alta resolució (protocol IIIF) i una vista comparada entre el manuscrit original i la seva transcripció codificada en XML/TEI, un apartat de publicacions científiques sincronitzat amb HAL, i una secció pedagògica de divulgació.

També vam construir i documentar una API pública en GraphQL, pensada perquè altres investigadors i universitats poguessin accedir al corpus de dades de forma oberta. Vam deixar tota l'arquitectura documentada perquè l'equip de la universitat pogués seguir el manteniment sense dependre d'un proveïdor concret.

Resultats

La plataforma va arribar a producció dins del termini del finançament europeu, amb un entorn de staging funcionant per primera vegada en la vida del projecte i una base de codi migrada i documentada. Les dades de recerca van quedar preservades i interoperables amb la infraestructura europea de ciència oberta, i l'equip de la universitat va rebre el projecte amb documentació tècnica completa per continuar el manteniment de forma autònoma.

Craft CMS
MySQL
APIs i webhooks
GraphQL
Next.js

Vols veure més projectes?

Fés una ullada a altres projectes que hem fet.