---
title: "Strumenti di digitalizzazione desktop e web"
url: "https://edoardo.anteprime.edoardogabrielli.com/it/progetti/strumenti-digitalizzazione"
lang: "it"
updated: "2026-10-31"
---

# Strumenti di digitalizzazione desktop e web

> Applicazioni di digitalizzazione per biblioteche e archivi: editor di metadati MAG, ritaglio di scansioni, app desktop Tauri con server centrale per aggiornamenti e segnalazioni.

## Strumenti di digitalizzazione desktop e web

Applicazioni desktop e web per chi digitalizza fondi di biblioteca e archivio.

## Il problema

Un ente che digitalizza fondi di biblioteca e archivio lavora con file pesanti, scansioni TIFF e DNG, e con metadati da compilare e validare. Fare tutto a mano, un file alla volta, rallenta il lavoro e lascia spazio a errori.

Servivano strumenti che l'operatore potesse usare sul proprio computer, anche con file molto grandi.

![Immagine di repertorio per il progetto «Strumenti di digitalizzazione desktop e web»: non mostra il progetto.](https://edoardo.anteprime.edoardogabrielli.com/media/originals/2026/10/18383701bff74a41bb440eded5aea209/scanner-libri.jpg)

## Cosa ho costruito

### 1. Editor e validatore di metadati MAG

Si compilano i metadati e l'applicazione controlla che rispettino lo standard.

### 2. Ritaglio e raddrizzamento

Uno strumento che ritaglia e raddrizza le scansioni TIFF e DNG, con elaborazione delle immagini.

### 3. Guscio desktop con Tauri

Un'applicazione desktop con guscio Tauri (Rust) e interfaccia Vue. Il guscio avvia in locale un backend FastAPI e lo tiene sotto controllo.

### 4. Utility Electron

Un'utility Electron per elaborare le immagini sul computer.

### 5. L'operatore rivede tutto

Ogni risultato automatico passa dall'occhio di una persona prima di essere accettato.

## L'applicazione desktop e il server centrale

L'editor MAG e gli altri moduli girano sul computer dell'operatore, dentro un'applicazione Tauri. Un server centrale, che chiamo hub, tiene le licenze e le versioni, distribuisce gli aggiornamenti e raccoglie i resoconti di ciò che succede nelle installazioni. Gli archivi di lavoro restano sul computer dell'operatore.

## Come è fatta

### 1. Applicazione desktop

Il guscio Tauri, scritto in Rust, apre la finestra con l'interfaccia Vue e avvia in locale il backend Python (FastAPI, impacchettato con PyInstaller). Ogni modulo ha la sua interfaccia e il suo backend.

### 2. Hub centrale

Un'applicazione FastAPI in Docker, dietro nginx, con un pannello di amministrazione in Vue. Gestisce utenti, licenze, moduli e versioni.

### 3. Licenze

La licenza è un token firmato con RS256. L'applicazione lo verifica con la sola chiave pubblica, quindi anche senza rete, e la licenza decide quali moduli l'utente vede.

### 4. Moduli e versioni

I moduli si scaricano dall'hub e hanno versioni indipendenti: si può correggere un modulo senza rilasciare di nuovo tutta l'applicazione. L'hub importa le nuove versioni dai rilasci su GitHub.

### 5. Aggiornamenti

L'applicazione chiede all'hub un manifesto firmato e ne controlla la firma con la chiave pubblica incorporata. Poi scarica l'installer, lo esegue e si riavvia. Manifesto e file sono accessibili solo con una licenza valida.

## Cosa l'hub vede dal campo

### 1. Eventi di lavoro

Ogni installazione invia all'hub, a intervalli regolari, gli eventi del lavoro svolto. Nel pannello, l'amministratore li filtra per utente, per tipo e per periodo e li vede su una linea del tempo giornaliera.

### 2. Errori e arresti anomali

Quando il programma si chiude male, all'avvio successivo segnala l'arresto precedente: un panic del guscio Rust o una chiusura non pulita, oppure la morte del backend. Gli errori dell'interfaccia e quelli del backend portano lo stesso identificativo di esecuzione, così sono lo stesso incidente.

### 3. Segnalazioni dell'operatore

L'operatore può scrivere cosa non va, con una schermata allegata, e lasciare una valutazione da una a cinque stelle. L'amministratore chiude le segnalazioni dal pannello. Le segnalazioni non vengono cancellate dalla pulizia periodica.

### 4. Registri completi

Se serve, l'applicazione carica sull'hub i propri file di log in un archivio compresso, che l'amministratore può scaricare.

### 5. Osservazione dal vivo

Uno sviluppatore autorizzato può chiedere di vedere in diretta la finestra di un operatore, ma solo quella finestra e solo per un tempo limitato. La funzione è disattivata se il server non la abilita esplicitamente.

### Il mio ruolo

Sviluppatore in ETT. Ho lavorato su interfaccia, backend ed elaborazione delle immagini, nell'ambito di Scripta, la linea di ETT per la digitalizzazione. Il cliente non è nominato.

### Tecnologie

Python · FastAPI · Vue 3 · Tauri (Rust) · Electron · OpenCV · Docker · nginx

> Qui ho imparato Tauri ed Electron e quando conviene usare l'uno o l'altro. Con file pesanti il lavoro principale è non bloccare l'interfaccia e dare all'operatore un'anteprima affidabile di ciò che sta per accettare.

— Cosa ho imparato

[Scripta sul sito di ETT](https://ettsolutions.com/scripta/)

## Un fondo da digitalizzare

Dimmi che materiale hai e con quali strumenti lavori oggi.

[Scrivimi](https://edoardo.anteprime.edoardogabrielli.com/it/contatti)

[← Tutti i progetti](https://edoardo.anteprime.edoardogabrielli.com/it/progetti)

Foto di repertorio: scansione di un libro, Skot, licenza CC BY-SA 4.0 (Wikimedia Commons). Non mostra il progetto.