Il nostro stack: niente da nascondere
Ecco l'infrastruttura esatta su cui gira questo sito. Ogni scelta è motivata, ogni strumento ha dimostrato il suo valore. Gli stessi standard tecnici per tutti i nostri clienti.
Framework front-end
Ecosistema maturo, rendering concorrente per transizioni fluide.
Sicurezza in fase di compilazione, refactoring senza ansia, codice autodocumentato.
HMR istantaneo in sviluppo. Dalla v8 il bundle è prodotto da rolldown e minificato da oxc: esbuild è uscito dall'albero delle dipendenze.
API dichiarativa, route caricate su richiesta, compatibile con Suspense.
Stile e design system
Zero runtime, purge automatico, coerenza visiva garantita dai token.
- shadcn/ui (nuova scheda)Componenti primitivi
Copiati nel repository: nessuna dipendenza fragile, codice sotto controllo al 100%.
- Radix UI (nuova scheda)Primitive accessibili
ARIA corretto fin dall'installazione, navigazione da tastiera, gestione del focus.
API dichiarativa, rispetto di prefers-reduced-motion, compositing su GPU.
Tree-shaking, stile coerente, oltre 1.500 icone mantenute.
Prestazioni
- Prerendering — Chromium headlessv149.0HTML servito completo
Tutte le route del sito (pagine dei servizi, pagine locali e i 37 casi studio del portfolio) vengono renderizzate in fase di build in un Chromium headless. In precedenza il server restituiva lo stesso index.html vuoto per tutte: i crawler che non eseguono JavaScript vedevano solo i metadati della home.
- web-vitalsv6.1Monitoraggio RUM
LCP, INP e CLS misurati sugli utenti reali e inviati a GA4.
- WOFF2 variable fontsCaratteri
Outfit + Plus Jakarta Sans in self-hosting, subset latino, font-display: optional.
- Suddivisione manuale dei chunkCode splitting
Vendor separati (react, motion, radix, pdf) → cache a lungo termine ottimale.
SEO e dati strutturati
- @dr.pogodin/react-helmetv3.2Meta per route
Title, description e Open Graph specifici per ogni pagina.
- Schema.org JSON-LDDati strutturati
Organization, LocalBusiness, Service, FAQPage, HowTo, BreadcrumbList, Article.
- llms.txtOttimizzazione GEO
File dedicato all'indicizzazione da parte di ChatGPT, Claude, Perplexity e Gemini.
- Sitemap XMLScansionabilità
Generata in fase di build dalle route dichiarate in App.tsx: non può mai restare indietro rispetto al sito.
Back-end e dati
Postgres gestito, Auth, Storage, Edge Functions: open source.
- Brevo (nuova scheda)Modulo di contatto
Riceve i messaggi del modulo di contatto, inoltrati da una funzione serverless su Vercel.
- Resend (nuova scheda)Email transazionali
Recapita i preventivi PDF del configuratore tramite una funzione Supabase. Nessun filtro per IP lato API.
- Zodv4.4Validazione a runtime
Schemi tipizzati condivisi tra client e server, messaggi di errore in francese.
Infrastruttura e CI/CD
- Vercel (nuova scheda)Hosting Edge
Deploy a ogni git push, CDN globale, HTTP/3, branch di anteprima.
- IONOS (nuova scheda)Registrar e DNS
Domini kayzen-lyon.com e .fr, zona DNS e posta elettronica.
- GitHubControllo di versione
Code review e cronologia completa: è ciò che alimenta il registro delle modifiche pubblico.
- Service WorkerOffline-first
Cache strategica degli asset, pagina di ripiego /offline.html.
- Vitestv4.1Test unitari
Condivide la configurazione di Vite, quindi gli stessi alias e la stessa pipeline della produzione.
- Playwrightv1.62Test E2E
Percorsi critici rieseguiti su Chromium (desktop) e su un profilo mobile Pixel 7.
Sicurezza e conformità
- Content-Security-PolicyAnti-XSS
script-src senza 'unsafe-inline': ogni script inline è autorizzato tramite la sua impronta SHA-256, verificata in fase di build.
- HSTS preloadAnti-downgrade
max-age di 2 anni, includeSubDomains, preload list di Chrome.
- Permissions-PolicyPrivilegio minimo
Fotocamera, microfono, USB e geolocalizzazione disattivati per impostazione predefinita.
- GDPR by designPrivacy
Consent Mode v2, rifiuto predefinito, GA4 caricato solo dopo consenso esplicito (senza GTM), responsabili del trattamento indicati per nome.
Strumenti interni
- ESLintv10.8Linting
Regole rigorose, verifica degli hook, bloccante in CI.
- rollup-plugin-visualizerv7.0Analisi del bundle
Ispezione grafica dei chunk, individuazione degli import pesanti.
- PostCSSv8.5Build CSS
Autoprefixer, compatibilità con i browser moderni (target es2020+).
- npmGestore di pacchetti
Fa fede package-lock.json, ed è ciò che Vercel installa al deploy.
Questa pagina è viva
Aggiorniamo questo elenco a ogni evoluzione importante. Consulta il nostro registro delle modifiche pubblico per la cronologia completa delle iterazioni, o il nostro design system per token e componenti.
Parliamo della tua infrastruttura