Copertina episodio: ๐—Ÿโ€™๐—ฎ๐—บ๐—ฏ๐—ถ๐—ฒ๐—ป๐˜๐—ฒ ๐—ฑ๐—ถ ๐˜€๐˜ƒ๐—ถ๐—น๐˜‚๐—ฝ๐—ฝ๐—ผ: ๐—ฑ๐—ฎ๐—น ๐˜€๐—ฒ๐˜๐˜‚๐—ฝ ๐—ฎ๐—น ๐—ฝ๐—ฟ๐—ถ๐—บ๐—ผ ๐—ฎ๐˜ƒ๐˜ƒ๐—ถ๐—ผ

๐—Ÿโ€™๐—ฎ๐—บ๐—ฏ๐—ถ๐—ฒ๐—ป๐˜๐—ฒ ๐—ฑ๐—ถ ๐˜€๐˜ƒ๐—ถ๐—น๐˜‚๐—ฝ๐—ฝ๐—ผ: ๐—ฑ๐—ฎ๐—น ๐˜€๐—ฒ๐˜๐˜‚๐—ฝ ๐—ฎ๐—น ๐—ฝ๐—ฟ๐—ถ๐—บ๐—ผ ๐—ฎ๐˜ƒ๐˜ƒ๐—ถ๐—ผ

Sito web personale โ€” Da 0 a Deploy ยท Episodio 2 ยท 18 maggio 2026

In qualsiasi progetto software, la fase di design precede lโ€™implementazione. Non si parte dal codice: si parte dallโ€™architettura. In questo episodio racconto come un semplice documento di requisiti, scritto in linguaggio naturale, sia stato trasformato dallโ€™AI in un sistema web funzionante: backend Node.js, database PostgreSQL, autenticazione, pannello admin, gestione contenuti, newsletter e form di contatto. I

L'ambiente di sviluppo: strumenti, installazioni e primo avvio

Episodio 2 della serie: Interoperabilitร  Uomo-Macchina

Tempo di lettura: 7 minuti


Questo episodio documenta la fase di setup: installare gli strumenti necessari e verificare che funzionino prima di scrivere qualsiasi codice.

Non รจ una guida generica. รˆ la trascrizione esatta di quello che ho fatto, inclusi gli errori, le incomprensioni, e le soluzioni trovate.


Il punto di partenza: un Mac senza nulla installato


Prima di questo progetto, sul mio computer c'erano:

  • Un browser
  • Un editor di testo
  • Nessun ambiente di sviluppo


Per costruire un sito web servivano:

  • Homebrew โ€” il gestore di pacchetti per Mac
  • Node.js v20 LTS โ€” l'ambiente di esecuzione JavaScript
  • PostgreSQL 16 โ€” il database relazionale
  • Visual Studio Code โ€” l'editor professionale
  • Claude Code โ€” l'estensione AI per VS Code


Ogni nome era per me una parola vuota. Ma quello che ho scoperto รจ che non serve capire un tool per installarlo. Serve solo seguire le istruzioni giuste.


Installazione 1: Homebrew

Homebrew รจ il sistema che permette di installare software su Mac tramite comandi da terminale. รˆ il primo pezzo necessario per tutto il resto.


Cosa ho fatto

Ho aperto il terminale (Cmd + Spazio โ†’ "Terminale") e ho incollato il comando fornito dall'AI:


bash

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

L'installazione รจ durata circa 2 minuti. Alla fine il terminale ha mostrato un messaggio con ulteriori istruzioni per Mac con chip Apple Silicon (M1/M2/M3).


bash

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
eval "$(/opt/homebrew/bin/brew shellenv)"


๐Ÿ› Primo bug: "command not found: brew"

Subito dopo l'installazione ho provato a verificare che Homebrew funzionasse:


bash

brew --version

Risposta del terminale:


zsh: command not found: brew

Problema: il PATH non era stato aggiornato nella sessione corrente del terminale.


Soluzione fornita dall'AI:


bash

eval "$(/opt/homebrew/bin/brew shellenv)"

Dopo questo comando, brew --version ha funzionato.


Lezione: i messaggi di errore del terminale sembrano ostili, ma sono precisi. "Command not found" significa esattamente quello che dice: il sistema non sa dove trovare il comando. L'AI lo sa e ti dice come risolverlo.


Installazione 2: Node.js e PostgreSQL

Con Homebrew funzionante, l'installazione degli altri strumenti รจ stata diretta:


bash

brew install node
brew install postgresql@16


PostgreSQL su Mac richiede un passaggio aggiuntivo: avviare il servizio e aggiornare il PATH.



bash

brew services start postgresql@16
echo 'export PATH="/opt/homebrew/opt/postgresql@16/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc


Verifica installazioni


bash

node --version    # v26.0.0
npm --version     # 11.x
psql --version    # psql (PostgreSQL) 16.x

Tutti i comandi hanno restituito una versione. Questo significava che gli strumenti erano installati e riconosciuti dal sistema.


Installazione 3: Visual Studio Code e Claude Code

VS Code l'ho scaricato dal sito ufficiale (code.visualstudio.com). รˆ un'installazione standard su Mac: file .dmg โ†’ trascina nella cartella Applicazioni.

Claude Code invece si installa tramite npm (il gestore di pacchetti JavaScript):


bash

npm install -g @anthropic-ai/claude-code


๐Ÿ› Secondo bug: "command not found: claude"

Dopo l'installazione ho provato:


bash

claude --version


Risposta:


zsh: command not found: claude

Problema: il binario installato da npm non era nel PATH della sessione corrente.

Soluzione:

Riavviare il terminale o eseguire:


bash

source ~/.zshrc

Dopo questo, claude --version ha funzionato.


Il primo avvio: localhost:3000

Con tutti gli strumenti installati, il momento della veritร : avviare il server per la prima volta.

Ho aperto VS Code, aperto il terminale integrato (Ctrl + `) e ho scritto il primo prompt nella chat di Claude Code:


"Crea da zero un sito web professionale completo con backend Node.js + Express + PostgreSQL, autenticazione JWT con ruolo admin e utente, queste sezioni: biografia, esperienze, formazione, articoli, eventi, newsletter, form contatti. Crea tutti i file necessari, installa le dipendenze, crea lo schema SQL del database, e avvia il server. Voglio poter aprire il sito nel browser su localhost."

Claude Code ha fatto due domande:


  1. Come vuoi gestire il database PostgreSQL?
  2. โ†’ Crea nuovo automaticamente
  3. Vuoi dati di esempio nel database?
  4. โ†’ Admin + contenuti demo


In circa 10 minuti il terminale ha mostrato:


โœ… Database creato: sito_pasquale
โœ… Tabelle create con successo
โœ… Dati demo inseriti
โœ… Server in ascolto su http://localhost:3000

Ho aperto il browser. Ho digitato localhost:3000.


Il sito era lรฌ. Funzionava.


Non era ancora quello che avevo in mente โ€” il nome era "Mario Rossi", i colori erano generici, la struttura era standard. Ma funzionava.

Quel momento รจ stato il punto di non ritorno. Da lรฌ in poi ogni modifica sarebbe stata un affinamento, non un salto nel vuoto.


๐Ÿ’ก Riflessione: il setup รจ la parte piรน spaventosa (ma la meno difficile)

Il setup รจ la fase che spaventa di piรน chi non ha esperienza tecnica. Ed รจ comprensibile: sono nomi strani, comandi oscuri, errori incomprensibili.

Ma รจ anche la fase piรน meccanica. Non richiede creativitร . Non richiede intuizione. Richiede solo seguire le


istruzioni in sequenza.

E quando qualcosa va storto โ€” e va sempre storto almeno una volta โ€” l'errore stesso รจ un'istruzione. Il terminale che dice "command not found" ti sta dicendo esattamente cosa non funziona. L'AI sa come risolverlo.


Non รจ magia. รˆ traduzione.


๐Ÿ”ง Recap tecnico: cosa รจ stato installato






๐Ÿ“Œ Comandi essenziali utilizzati


bash

# Installazione Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Aggiorna PATH (Mac Apple Silicon)
eval "$(/opt/homebrew/bin/brew shellenv)"

# Installa Node.js e PostgreSQL
brew install node postgresql@16

# Avvia PostgreSQL
brew services start postgresql@16

# Verifica versioni
node --version
npm --version
psql --version

# Installa Claude Code
npm install -g @anthropic-ai/claude-code


๐Ÿ“… Nel prossimo episodio


Episodio 3 โ€” Il database: progettare la memoria del sito con le parole

Come ho descritto in italiano la struttura dei dati che volevo conservare, e come quella descrizione รจ diventata undici tabelle SQL con relazioni, vincoli e indici.


๐Ÿ‘‰ Iscriviti alla newsletter su www.pasqualesicignano.it per ricevere il prossimo episodio direttamente via email.


๏ปฟ๏ปฟ๏ปฟ๏ปฟ๏ปฟSerie: Sito web personale - Da 0 a Deploy | Pasquale Sicignano

Formatore & Speaker AI | Governance e Innovazione Pubblica

Resta aggiornato su AI, governance e trasformazione digitale

๐Ÿ“ฌ Esploriamo insieme AI e trasformazione digitale Condivido: - Riflessioni e articoli su governance e innovazione - Case study raccontati dal punto di vista pratico - Eventi e occasioni di confronto (online e offline) - Risorse utili che scopro lungo il cammino Una mail quando ho qualcosa di interessante da condividere. Niente vendite, solo contenuti.

Riceverai un'email per confermare la tua iscrizione.

โ† Torna agli episodi