diff --git a/README.md b/README.md index dbd2280..3a9aa0a 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,8 @@ Stack: **Astro 4** (static output) · CSS custom · Deploy su **IIS 10 / Windows ``` / +├── docs/ +│ └── INFRA.md ← documentazione infrastruttura IIS e deploy ├── public/ │ ├── assets/ ← immagini, loghi (copiati as-is nel build) │ └── web.config ← configurazione IIS (copiata as-is nel build) @@ -19,8 +21,8 @@ Stack: **Astro 4** (static output) · CSS custom · Deploy su **IIS 10 / Windows │ ├── pages/ │ │ ├── index.astro ← Home / Landing page │ │ ├── contatti.astro ← Form contatti → WebAPI -│ │ ├── privacy.astro ← Privacy Policy (da completare) -│ │ └── termini.astro ← Termini (da completare) +│ │ ├── privacy.astro ← Privacy Policy +│ │ └── termini.astro ← Termini e condizioni │ └── styles/ │ └── global.css ← CSS variables, nav, footer, form, responsive ├── astro.config.mjs @@ -44,16 +46,18 @@ npm run build # genera cartella /dist pronta per il deploy ## Deploy su IIS 10 -1. Eseguire il build: `npm run build` -2. La cartella `/dist` contiene il sito statico completo -3. Copiare il contenuto di `/dist` nella cartella del sito su IIS - - Il `web.config` è già incluso nel build (sta in `/public`) -4. In IIS Manager: - - Application Pool: **.NET CLR version = No Managed Code** - - Assicurarsi che il modulo **URL Rewrite** sia installato (necessario per il routing) +```powershell +npm run build +Copy-Item -Path "dist\*" -Destination "C:\inetpub\wwwroot\smartroots-site\" -Recurse -Force +``` -### Modulo URL Rewrite -Se non installato: scaricarlo da https://www.iis.net/downloads/microsoft/url-rewrite +Il `web.config` viene copiato automaticamente da Astro durante la build. + +Per la configurazione IIS completa (Virtual Applications, Virtual Directories, note critiche sul `web.config`) vedere **[docs/INFRA.md](docs/INFRA.md)**. + +### Prerequisiti IIS +- Application Pool: **.NET CLR version = No Managed Code** +- Modulo **URL Rewrite** installato (https://www.iis.net/downloads/microsoft/url-rewrite) --- @@ -72,9 +76,9 @@ Payload inviato: } ``` -### Endpoint WebAPI da creare (.NET Framework 4.8) -Vedere documentazione separata per `ContattiController`. -Ricordarsi di abilitare CORS per `https://www.smart-roots.net` nella WebAPI. +Controller: `SmartRootsServices/SRServices/Controllers/SmartRootsSite/ContattiController.cs` +CORS abilitato per `https://www.smart-roots.net`. Validazione lato server: campi obbligatori, +lunghezza minima messaggio (10 caratteri), rate limiting (3 invii/ora per IP), honeypot anti-bot. --- @@ -90,7 +94,4 @@ Ricordarsi di abilitare CORS per `https://www.smart-roots.net` nella WebAPI. - [ ] Aggiungere immagine `hero-dashboard.png` in `/public/assets/` - [ ] Aggiungere immagine `og-image.jpg` in `/public/assets/` (1200×630px) -- [ ] Completare testo Privacy Policy in `src/pages/privacy.astro` -- [ ] Completare testo Termini in `src/pages/termini.astro` -- [ ] Creare endpoint `POST /api/contatti` nella WebAPI -- [ ] Abilitare CORS per `https://www.smart-roots.net` nella WebAPI +- [ ] Integrare hCaptcha nel form contatti (frontend + verifica backend)