⬆ SU
Panoramica trasparente del Ta-Na-Si Media & Document Repository — architettura, stack tecnologico e crediti di sviluppo.

Nucleo del repository

Questa pagina spiega di che cosa è fatto il Ta-Na-Si Media & Document Repository — la sua architettura, la sua tecnologia e le persone dietro il suo sviluppo. Crediamo nella piena trasparenza: chi usa un archivio, o pensa di gestirne uno proprio, merita di sapere esattamente di che cosa è composto il sistema. La pagina Informazioni spiega a che cosa serve l'archivio; questa pagina spiega come funziona.

1. Che cos'è il nucleo del repository

Il nucleo del repository è il software su cui funziona questo archivio: un sistema d'archivio digitale completamente indipendente e ospitato in proprio, scritto da zero per un unico scopo — conservare, organizzare e offrire apertamente documenti e media come materiale di fonte probatorio. Non è basato su WordPress, Joomla, Drupal o un altro CMS preconfezionato, e non usa alcun framework PHP. Ogni componente — lo strato del database, il motore di ricerca, la stanza di lavoro per la curatela, le pagine pubbliche — è stato progettato e scritto appositamente per questo compito.

Il software è costruito come piattaforma multi-installazione: non serve un unico archivio centrale, ma sorregge molti archivi separati e indipendenti. Ogni archivio — che sia una piccola collezione di famiglia o un grande repository regionale — è un'installazione completa a sé, con il proprio database, i propri file e il proprio custode. Non esiste alcuna infrastruttura condivisa tra gli archivi né alcun servizio centrale da cui dipendano.

2. Una base di codice, molti archivi indipendenti

Ogni installazione esegue la base di codice identica. Tutto ciò che è specifico di un singolo server — il suo indirizzo pubblico, il suo accesso al database, il suo mittente di posta — vive in un unico file di ambiente, creato una volta durante l'installazione e che non viaggia mai con il codice. Questa separazione rigorosa è ciò che fa funzionare il modello: lo stesso aggiornamento del software può essere applicato a ogni archivio, piccolo o grande, senza toccare la configurazione individuale di alcun archivio.

Un nuovo archivio si installa tramite un assistente di configurazione guidato nel browser — nessuna riga di comando, nessun file di configurazione da modificare a mano. L'assistente parla 18 lingue, controlla i requisiti del server, prova la connessione al database prima che qualcosa venga scritto e crea l'account del proprietario con una password sottoposta a hash sicuro. Le tabelle del database vengono create da un sistema di migrazione idempotente: può girare un numero qualsiasi di volte e converge sempre sullo schema corretto. Le modifiche successive allo schema sono versionate e tracciate, così ogni installazione può vedere esattamente a che punto si trova; le modifiche di routine si applicano automaticamente, mentre quelle pesanti attendono la conferma deliberata del proprietario. Gli aggiornamenti seguono lo stesso ordine prudente: prima il backup, poi la migrazione, poi lo svuotamento della cache.

3. Stack tecnologico Versione 1.0.0 (Thuringia)

🖥️ ServerAmbiente standard Apache + PHP — funziona su un normale hosting condiviso o su qualsiasi server proprio; nessun container, nessuno strumento di build, nessun servizio esterno richiesto
🐘 BackendPHP 8.1 o più recente — nessun framework; l'unica libreria di terzi lato server è il piccolo parser Markdown Parsedown
🗄️ DatabaseUn unico strato multi-driver che supporta SQLite (zero configurazione), MySQL/MariaDB e PostgreSQL — ogni archivio sceglie ciò che si adatta alla sua dimensione
🔎 RicercaIndice a testo pieno su tutti i testi dei record più nove assi di faccette (soggetto, luogo, lingua, collaboratore, genere, parte-di, collezione, serie, accesso) con conteggi dei risultati in tempo reale
🌐 LingueInterfaccia predisposta per 18 pacchetti di lingua (in traduzione); 49 lingue dei contenuti supportate nativamente nella ricerca e nelle faccette, comprese le scritture da destra a sinistra
📦 Archiviazione dei fileAlbero dei media ripartito per UUID con percorsi deterministici — progettato per crescere fino a milioni di file; replica fuori sede opzionale su storage a oggetti compatibile S3
🎨 FrontendHTML5 e CSS3 scritti a mano in un sistema di design a strati, JavaScript puro e minimo — ogni pagina funziona prima di tutto senza script
🧩 Librerie per il browserTre componenti open source ospitati in proprio, serviti dall'archivio stesso e mai da un CDN: OpenSeadragon per la vista di dettaglio zoomabile delle immagini (New BSD 3-Clause), l'editor rich-text Jodit (MIT) e l'editor Markdown EasyMDE (MIT)
🔒 AutenticazioneAccesso basato su sessione con hashing robusto delle password, codici a due fattori opzionali (TOTP), blocco dopo tentativi di accesso falliti e protezione CSRF su ogni modulo
⚡ CachingCache delle pagine su file con protezione anti-stampede e durate separate per server, browser e CDN; opzionalmente Cloudflare davanti
🗺️ SEO & reperibilitàSitemap XML in streaming (file singolo o modalità indice per archivi molto grandi), robots.txt generato automaticamente, metadati strutturati (JSON-LD), URL puliti e stabili
💾 BackupQuattro tipi di backup ZIP selezionabili con regola di conservazione, sincronizzazione fuori sede opzionale tramite rclone e un ripristino protetto che crea prima un backup di sicurezza

4. Ricerca e navigazione a faccette

Il cuore dell'archivio pubblico è la sua ricerca. Un unico indice a testo pieno copre ogni record pubblicato — titolo, descrizione, sommario, note e testo degli articoli — così un solo campo di ricerca raggiunge tutto. Ma il testo pieno da solo non basta per una ricerca seria, ed è per questo che ogni record viene anche classificato lungo nove assi di faccette:

  • Soggetto — i temi e gli argomenti di cui tratta un record.
  • Luogo — i luoghi geografici a cui un record si riferisce, tratti da un repertorio strutturato dei luoghi (vedi la sezione GeoNames più sotto).
  • Lingua — la lingua del contenuto del record, tra 49 lingue supportate nativamente.
  • Collaboratore — le persone coinvolte: autori, relatori, fotografi, redattori.
  • Genere — la natura del materiale: testimonianza, analisi, rapporto e così via.
  • Parte di — l'opera più ampia a cui un record appartiene; collega il materiale in più parti.
  • Collezione — raggruppamenti curati e nominati, mantenuti dai custodi dell'archivio.
  • Serie — raggruppamenti ordinati per il materiale che segue una sequenza.
  • Accesso — il livello di accesso di un record, per esempio pubblico o riservato ai membri.

La navigazione a faccette funziona come i ricercatori si aspettano dai grandi archivi istituzionali. Accanto ai risultati, ogni asse mostra i suoi valori più frequenti con conteggi dei risultati in tempo reale — un clic restringe i risultati, e i filtri di assi diversi si possono combinare liberamente: per esempio, tutti i record audio in tedesco sul soggetto istruzione degli anni Novanta. I filtri attivi compaiono come etichette rimovibili sopra i risultati, così la restrizione corrente è sempre visibile e ogni filtro può essere tolto di nuovo con un clic. Dove un asse contiene più valori di quanti la barra laterale ne mostri, si può sfogliare un indice alfabetico completo dell'intero asse, lettera per lettera.

Oltre alle faccette, i risultati si possono limitare per tipo di materiale (articoli, audio, video, documenti, immagini, set di dati — anche più di uno alla volta, se si vuole) e per data, tramite rapidi link per decennio oppure un intervallo esatto di anni. I risultati possono essere ordinati per rilevanza, titolo o data e visualizzati in quattro modi: un elenco dettagliato, una galleria di immagini, una griglia compatta o una presentazione a schermo intero. L'intero stato della ricerca — interrogazione, filtri, ordinamento, vista — vive nella barra degli indirizzi, così ogni pagina di risultati può essere salvata tra i preferiti, citata e condivisa esattamente com'è.

Le faccette non sono etichette libere e fluttuanti: i loro vocabolari sono curati dai custodi dell'archivio, e assi come collezione e serie possono essere organizzati gerarchicamente. Ogni valore di faccetta mostrato sulla pagina di un record rimanda alla ricerca, così chi legge può sempre passare da un record interessante a tutto ciò che l'archivio conserva sullo stesso soggetto, luogo, persona o sulla stessa serie.

5. Le pagine dei record

Ogni record ha la propria pagina con una presentazione adeguata al tipo: audio e video si riproducono direttamente nella pagina, i documenti PDF si aprono in un visualizzatore incorporato, le immagini si possono esaminare in una vista di dettaglio zoomabile e gli articoli vengono resi da Markdown filtrato in modo sicuro. Accanto al file stesso, la pagina di un record mostra la descrizione completa, i collaboratori, l'opera più ampia a cui appartiene (con la navigazione tra le sue parti), gli elementi correlati che vale la pena vedere subito dopo e citazioni già pronte nei formati Chicago, APA e MLA. Ogni record porta metadati leggibili dalle macchine (schema.org JSON-LD) e un indirizzo stabile che non cambia mai; link permanenti brevi della forma /go/… possono essere assegnati per le citazioni a stampa e i riferimenti esterni.

6. Lingue

L'archivio è costruito per un mondo multilingue, su due livelli distinti.

L'interfaccia — tutto ciò che un visitatore o un custode legge sulle pagine stesse — è scritta in inglese e tiene ogni testo visibile in file di lingua traducibili, mai sepolto nel codice. Pacchetti di lingua dell'interfaccia per 18 lingue sono in preparazione e attualmente in traduzione: inglese, tedesco, francese, italiano, spagnolo, portoghese, olandese, russo, polacco, svedese, danese, norvegese, cinese, giapponese, coreano, turco, ceco e rumeno. I pacchetti si installano e si gestiscono dal pannello di amministrazione, che tiene anche traccia di quanto ogni traduzione sia completa rispetto alla fonte inglese. L'assistente di configurazione parla già oggi tutte e 18.

Il contenuto — il materiale archiviato stesso — supporta nativamente 49 lingue: inglese, tedesco, francese, italiano, spagnolo, portoghese, olandese, russo, ucraino, polacco, greco, svedese, danese, norvegese, turco, cinese, hindi, arabo, indonesiano, giapponese, vietnamita, coreano, bielorusso, ceco, slovacco, ungherese, rumeno, bulgaro, croato, sloveno, finlandese, bengalese, urdu, persiano, islandese, irlandese, swahili, thailandese, filippino, ebraico, punjabi, telugu, tamil, marathi, hausa, yoruba, amarico, giavanese e pashto. I record vengono contrassegnati con la lingua del loro contenuto, e la faccetta Lingua della ricerca filtra per ognuna di esse — così chi legge può, per esempio, richiamare con un clic tutto ciò che l'archivio conserva in ucraino o in arabo. Le scritture da destra a sinistra come l'arabo, l'ebraico, il persiano e l'urdu vengono visualizzate correttamente ovunque.

In aggiunta, un selettore della lingua su ogni pagina pubblica apre una vista della pagina tradotta automaticamente, senza caricare alcuno script di terzi nella pagina stessa.

7. Dati sui luoghi: GeoNames

La faccetta dei luoghi si appoggia a un repertorio geografico organizzato come gerarchia — paese, regione, luogo — così che i record possano essere localizzati con precisione e ritrovati attraverso la geografia. I dati di base (i paesi e le loro regioni amministrative in tutto il mondo) provengono dal database geografico GeoNames e vengono importati in un archivio di consultazione locale durante l'installazione o in seguito dal pannello di amministrazione; i custodi di un archivio possono estenderlo con i propri luoghi locali. Dati sui luoghi: GeoNames.org, con licenza CC BY 4.0.

8. Dati di vocabolario: cataloghi di temi e generi

I vocabolari curati dietro faccette come tema e genere vengono forniti con il software e tradotti centralmente, così che i loro termini abbiano significato in ogni lingua dell’interfaccia. Per mantenerli compatibili con gli standard consolidati di organizzazione della conoscenza, i seguenti vocabolari controllati pubblici fungono da fonti di riferimento per il lavoro di catalogo: EuroVoc, il thesaurus multilingue dell’Unione europea (© Unione europea, CC BY 4.0), IPTC Media Topics (© IPTC, CC BY 4.0) e il Getty Art & Architecture Thesaurus (ODC-By 1.0). Ogni termine del catalogo derivato da un vocabolario esterno ne registra l’origine, e l’elenco completo di tutti i componenti di terze parti e delle fonti di dati accompagna ogni installazione: da leggere qui.

9. Il lato di lavoro

Dietro l'archivio pubblico c'è un pannello di amministrazione organizzato in quattro aree: Governance delle persone (account degli operatori e dei membri, ruoli, permessi), Pubblicazione interna (la stanza di lavoro per la curatela dei record e gli editor), Configurazione della piattaforma (impostazioni, forme dei media, faccette, lingue, struttura del sito) e Tecnologia & dati (stato del sistema, diagnostica, backup). Tutto ciò che il custode di un archivio deve configurare è raggiungibile da queste pagine — gestire un archivio non richiede alcuna modifica al codice.

I record attraversano un flusso di curatela chiaro: creati come bozze, riempiti con metadati e faccette, facoltativamente presentati per la revisione, poi pubblicati — o in seguito archiviati di nuovo. I file vengono caricati in piccoli blocchi riprendibili, così i media di grandi dimensioni sopravvivono anche a connessioni instabili, e ogni caricamento viene verificato rispetto al tipo dichiarato tramite l'ispezione della firma del file prima di essere accettato. Le immagini di anteprima vengono generate automaticamente dove il server lo supporta.

Un'area membri opzionale permette a un archivio di crescere oltre i suoi custodi: ai membri registrati si può dare fiducia passo dopo passo lungo quattro livelli fissi, dal leggere e discutere fino al curare e pubblicare record. I permessi sono a grana fine su entrambi i lati — i ruoli amministrativi sono liberamente definibili e attingono a un registro dettagliato dei diritti, e singole eccezioni possono ampliare o restringere l'accesso di ogni singola persona. L'accesso del proprietario è tenuto deliberatamente del tutto fuori dal database, così la porta di un archivio non potrà mai essere chiusa da un file corrotto o da una modifica fallita.

10. Sicurezza dei dati

I backup hanno il primo posto: il custode di un archivio può creare backup ZIP con data del database, dei contenuti multimediali, dell'installazione o di tutto insieme — su richiesta, con una regola di conservazione che tiene i più recenti e rimuove i più vecchi. Ogni backup può inoltre essere replicato fuori sede verso qualsiasi fornitore di storage compatibile S3. Il ripristino è deliberatamente protetto: il sistema verifica che un backup corrisponda all'installazione e crea un nuovo backup di sicurezza prima di toccare qualsiasi cosa. Insieme al tracciamento versionato dello schema, questo significa che un archivio costruito con cura può essere mantenuto, trasferito e riparato nel lungo periodo.

11. Principi di progettazione

Il repository è costruito attorno a un piccolo insieme di principi non negoziabili che hanno guidato ogni decisione architetturale:

  • Nessun tracciamento, nessuna analitica, nessuna richiesta a terzi — ogni risorsa, compresi i caratteri e le librerie di script, viene servita dal server dell'archivio stesso. Nulla che riguardi un visitatore viene inviato da nessuna parte.
  • Apertamente scansionabile per costruzione — HTML pulito, una sitemap strutturata, metadati descrittivi e un robots.txt che dà il benvenuto ai motori di ricerca e ai sistemi di IA, perché i fatti archiviati possano essere trovati e letti da molti.
  • Stampabile e scaricabile — i documenti sono fatti per lasciare lo schermo ed entrare nel mondo reale.
  • Leggibile in molte lingue — 18 pacchetti di lingua dell'interfaccia in preparazione, 49 lingue dei contenuti supportate nativamente nella ricerca e nelle faccette, e un selettore della lingua su ogni pagina pubblica (vedi la sezione Lingue più sopra).
  • Dipendenze minime e recintate — una manciata di componenti ospitati in proprio (un parser Markdown sul server; librerie per l'editor e il visualizzatore nel browser), tenuti rigorosamente separati dal codice proprio del sistema. Nessun CDN, nessun gestore di pacchetti, nessun passaggio di build.
  • Agnostico rispetto all'ambiente — il codice identico gira su ogni installazione; solo un file di ambiente differisce per server.
  • Degradare con garbo — le funzioni opzionali controllano i propri prerequisiti e si spengono in modo pulito dove un server non può sostenerle, invece di rompere l'archivio.

12. Crediti di sviluppo

👥 Progetto & contenuti

Raven D. Pond & Keylam Folker — fondatori del progetto Ta-Na-Si e custodi di questo software di repository. Tutta la direzione editoriale, le decisioni curatoriali e la visione di progetto dietro questo software provengono interamente da Raven e Keylam. Hanno definito ogni requisito, provato ogni funzione e guidato lo sviluppo di questo sistema dal concetto iniziale alla sua forma attuale; ogni decisione architetturale è stata presa e approvata da Keylam.

✨ Sviluppo del software

Claude (Anthropic) — l'assistente IA Claude ha svolto il ruolo di partner di sviluppo principale per questo repository. Il backend PHP, lo strato di database multi-driver, il motore di ricerca e delle faccette, il pannello di amministrazione, il sistema di design del frontend e tutti gli strumenti ausiliari sono stati progettati e scritti in un processo collaborativo tra i requisiti di Raven & Keylam e il lavoro di codice di Claude. Questo repository è un esempio di archivio indipendente costruito attraverso l'ingegneria del software in collaborazione diretta tra essere umano e IA per un progetto reale.

📅 Cronologia dello sviluppo

Lo sviluppo iniziale è cominciato a metà maggio 2026 ed è proseguito da allora in collaborazione quotidiana. Il software porta la versione 1.0.0; questa pagina ne riflette lo stato a luglio 2026.

13. Le regole con cui arriva questo software

Ogni installazione di questo software porta le stesse regole, e chi ha installato questo archivio le ha accettate prima che un solo file venisse scritto. Sono brevi, e sono state scritte per essere lette da una persona, non per essere sezionate da un avvocato: puoi leggerle qui.

In una frase: l'archivio che stai guardando appartiene interamente alle persone che lo gestiscono — il suo nome, la sua collezione, i suoi membri, i suoi dati — e il progetto dietro il software non tiene la chiave di niente di tutto questo. Ciò che resta, in ogni installazione, sono il nome proprio del software, i testi fondativi e la menzione delle due persone che hanno creato il progetto. Non perché lo imponga una licenza, ma perché un archivio che mente sulla propria origine ha rotto proprio ciò per cui esiste.

14. Contatti & riscontri

Questo è un sistema vivo — evolve con il progetto. Se incontri un problema tecnico o un link rotto, o hai un suggerimento di miglioramento, contattaci attraverso la pagina dei contatti collegata nel piè di pagina di ogni pagina, oppure lascia un commento su uno dei nostri canali. Leggiamo tutto.