2025 © Francesco Costantino

Ottimizzazione Immagini Drupal con Thumbor

29 novembre 2025

Ottimizzazione Immagini Drupal con Thumbor

Ottimizzazione Immagini Drupal con Thumbor: Il mio nuovo modulo

Ho sviluppato un nuovo modulo per Drupal perché, sorprendentemente, non esisteva ancora una soluzione robusta per integrare Thumbor direttamente con il popolare modulo imageapi_optimize.

Il modulo si chiama Image Optimize - Thumbor (imageapi_optimize_thumbor) e nasce per colmare questa lacuna, offrendo una soluzione performante per siti web ad alto traffico che gestiscono grandi quantità di immagini.

A cosa serve?

Questo modulo integra il servizio di ottimizzazione immagini Thumbor con il modulo imageapi_optimize di Drupal. Permette a Drupal di utilizzare un server Thumbor esterno per eseguire manipolazioni e ottimizzazioni delle immagini (come ridimensionamento, ritaglio e applicazione di filtri) e servire queste immagini ottimizzate agli utenti.

Caratteristiche Principali

  • Integrazione con Image Optimize: Funziona come un plugin "processor" per il modulo imageapi_optimize, permettendoti di aggiungere Thumbor a qualsiasi pipeline di ottimizzazione immagini esistente.
  • Comunicazione con Server Thumbor: Gestisce la comunicazione con il tuo server Thumbor configurato per richiedere le immagini ottimizzate.
  • Supporto Security Key: Supporta la funzionalità di chiave di sicurezza di Thumbor, essenziale per firmare gli URL delle immagini e prevenire manipolazioni non autorizzate.
  • Integrazione Diretta con gli Stili Immagine: Si integra nativamente con gli stili immagine di Drupal. Quando viene richiesto uno stile immagine, il modulo intercetta la richiesta e genera l'immagine utilizzando il servizio Thumbor.

Come Funziona

Il flusso di lavoro è semplice e integrato nell'interfaccia di Drupal:

  1. Configurazione: L'amministratore del sito configura una "Image Optimize pipeline" nell'interfaccia di Drupal.
  2. Aggiunta del Processore: All'interno della pipeline, si aggiunge il processore "Thumbor" fornito da questo modulo.
  3. Setup: Si configura il processore inserendo l'URL del server Thumbor e (opzionalmente ma consigliato) la chiave di sicurezza.
  4. Richiesta Immagine: Quando viene renderizzata una pagina con un'immagine che usa questa pipeline, il modulo costruisce l'URL speciale che punta al server Thumbor.
  5. Elaborazione: Il server Thumbor riceve la richiesta, recupera l'immagine originale dal sito Drupal, applica le ottimizzazioni (es. resize, crop) e restituisce l'immagine ottimizzata al browser dell'utente.

Dipendenze e Servizi

Il modulo dipende da:

  • Image API Optimize (imageapi_optimize): Il modulo core che fornisce il sistema di pipeline.
  • Image (image): Il modulo immagine core di Drupal.

Il cuore della logica risiede nel servizio imageapi_optimize_thumbor.thumbor_service (Drupal\imageapi_optimize_thumbor\Service\ThumborService), che è responsabile della costruzione degli URL Thumbor e dell'interazione con il server, utilizzando i servizi entity_type.manager e file_system di Drupal.

Nota Importante sulla Configurazione

Attualmente, il modulo supporta specificamente la configurazione THUMBOR filesystem. Questo significa che è ottimizzato per scenari in cui Thumbor è configurato per leggere le immagini sorgente direttamente da un filesystem condiviso o accessibile.

Disponibilità

Ho pubblicato il codice del modulo su Drupal.org. Il progetto è open source e sono aperto a contribuzioni, segnalazioni di bug e suggerimenti per nuove funzionalità.

Puoi trovare il modulo qui: