瀏覽代碼

Aggiornato il README con la documentazione

main
Lorenzo Pollutri 1 月之前
父節點
當前提交
a5840488cd
共有 1 個文件被更改,包括 9 次插入7 次删除
  1. +9
    -7
      README.md

+ 9
- 7
README.md 查看文件

@@ -1,6 +1,6 @@
# Captive Portal CMS — Casa della Scuola

CMS per portali captive: gestione di card informative, gallerie, flip-book e contenuti kiosk a schermo intero, con un'area di amministrazione locale. Stack: Next.js 16 (App Router, Turbopack), React 19, TypeScript, Tailwind v4. Persistenza su file (nessun database). Pensato per girare su **server Ubuntu offline**.
CMS per portali captive: gestione di card informative, gallerie, flip-book e contenuti kiosk a schermo intero, con un'area di amministrazione locale. Stack: Next.js 16 (App Router, Turbopack), React 19, TypeScript, Tailwind v4. Persistenza su file (nessun database). Pensato per girare su **server offline**.

---

@@ -36,7 +36,7 @@ npm run build
npm start
```

> **Server offline:** la macchina di produzione non ha accesso a internet. NON eseguire `npm install` lì. Installa le dipendenze su una macchina con internet (stesso OS, Linux), poi copia l'intera cartella `node_modules` sul server insieme al progetto buildato. Su Ubuntu basta `npm run build` (se `node_modules` è presente) + `npm start`.
> **Server offline:** la macchina di produzione non ha accesso a internet. NON eseguire `npm install` lì. Installa le dipendenze su una macchina con internet (stesso OS, Linux), poi copia l'intera cartella `node_modules` sul server insieme al progetto buildato. Sul server basta `npm run build` (se `node_modules` è presente) + `npm start`.

---

@@ -132,6 +132,11 @@ Ogni campo compilabile dall'admin ha un limite (vedi [`TEXT_LIMITS`](#limiti-tes

Gli URL (`actionUrl`) accettano solo gli schemi `http`, `https`, `mailto`, `tel`. Schemi come `javascript:` vengono rifiutati.

### Caratteri non-ASCII (emoji, cirillico, CJK…)

- **Nei campi di testo**: conservati integralmente (il salvataggio è UTF-8). Due avvertenze: (1) il conteggio caratteri usa le unità UTF-16, quindi un emoji "pesa" 2 o più posizioni del limite (es. `🎉` ne conta 11), mentre cirillico/CJK contano 1 ciascuno; (2) se il font scelto non ha i glifi (es. un font latino con testo cirillico), il browser fa fallback a un font di sistema o mostra quadratini □.
- **Nei nomi dei file caricati**: i caratteri non-ASCII vengono rimossi dalla normalizzazione del nome (`città_🎉.jpg` → `…-citta.jpg`, `日本語.png` → `…-file.png`). Il file funziona sempre, ma il nome originale non-ASCII non viene preservato. Vedi [Sicurezza degli input → Nomi file](#sicurezza-degli-input).

---

## Sicurezza degli input
@@ -245,14 +250,11 @@ Sul server servono alcuni binari di sistema (richiamati direttamente, non via np
| `zip` | Creazione backup / preset | Pulsante "Scarica backup" e "Salva preset" → `503` |
| `unzip` | Ripristino backup / factory reset | Pulsanti di ripristino → `503` |

Verifica su Ubuntu:
Verifica su server:
```bash
which ffmpeg ffprobe zip unzip
```
Se mancano:
```bash
sudo apt install ffmpeg zip unzip
```
Se mancano, installali con il gestore pacchetti del sistema (i nomi dei pacchetti sono `ffmpeg`, `zip`, `unzip`).

---



Loading…
取消
儲存