You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/it/AGENTS.md

408 lines
13 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# AGENTS.md
## Panoramica del Progetto
Questo è un repository didattico per insegnare le basi dello sviluppo web ai principianti. Il curriculum è un corso completo di 12 settimane sviluppato dai Microsoft Cloud Advocates, con 24 lezioni pratiche che coprono JavaScript, CSS e HTML.
### Componenti Chiave
- **Contenuti Educativi**: 24 lezioni strutturate organizzate in moduli basati su progetti
- **Progetti Pratici**: Terrario, Gioco di Digitazione, Estensione Browser, Gioco Spaziale, App Bancaria, Editor di Codice e Assistente Chat AI
- **Quiz Interattivi**: 48 quiz con 3 domande ciascuno (valutazioni pre/post lezione)
- **Supporto Multilingue**: Traduzioni automatiche per oltre 50 lingue tramite GitHub Actions
- **Tecnologie**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (per progetti AI)
### Architettura
- Repository educativo con struttura basata sulle lezioni
- Ogni cartella lezione contiene README, esempi di codice e soluzioni
- Progetti indipendenti in directory separate (quiz-app, vari progetti delle lezioni)
- Sistema di traduzione usando GitHub Actions (co-op-translator)
- Documentazione servita tramite Docsify e disponibile in PDF
## Comandi di Setup
Questo repository è principalmente per il consumo di contenuti educativi. Per lavorare con progetti specifici:
### Setup Principale del Repository
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Setup Quiz App (Vue 3 + Vite)
```bash
cd quiz-app
npm install
npm run dev # Avvia il server di sviluppo
npm run build # Compila per la produzione
npm run lint # Esegui ESLint
```
### API Progetto Bancario (Node.js + Express)
```bash
cd 7-bank-project/api
npm install
npm start # Avvia il server API
npm run lint # Esegui ESLint
npm run format # Format con Prettier
```
### Progetti Estensioni Browser
```bash
cd 5-browser-extension/solution
npm install
# Seguire le istruzioni specifiche del browser per il caricamento delle estensioni
```
### Progetti Gioco Spaziale
```bash
cd 6-space-game/solution
npm install
# Apri index.html nel browser o usa Live Server
```
### Progetto Chat (Backend Python)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# Imposta la variabile d'ambiente GITHUB_TOKEN
python api.py
```
## Flusso di Lavoro Sviluppo
### Per i Contributori di Contenuti
1. **Fai il fork del repository** sul tuo account GitHub
2. **Clona il tuo fork** localmente
3. **Crea un nuovo branch** per le tue modifiche
4. Apporta modifiche ai contenuti della lezione o agli esempi di codice
5. Testa ogni modifica al codice nelle directory dei progetti rilevanti
6. Invia pull request seguendo le linee guida di contributo
### Per gli Studenti
1. Fai fork o clona il repository
2. Naviga sequenzialmente nelle directory delle lezioni
3. Leggi i file README per ogni lezione
4. Completa i quiz pre-lezione su https://ff-quizzes.netlify.app/web/
5. Lavora sugli esempi di codice nelle cartelle delle lezioni
6. Completa compiti e sfide
7. Sostieni i quiz post-lezione
### Sviluppo Live
- **Documentazione**: Esegui `docsify serve` nella root (porta 3000)
- **Quiz App**: Esegui `npm run dev` nella directory quiz-app
- **Progetti**: Usa lestensione VS Code Live Server per progetti HTML
- **Progetti API**: Esegui `npm start` nelle rispettive directory API
## Istruzioni per i Test
### Test Quiz App
```bash
cd quiz-app
npm run lint # Controlla problemi di stile del codice
npm run build # Verifica che la compilazione abbia successo
```
### Test API Bancaria
```bash
cd 7-bank-project/api
npm run lint # Controlla problemi di stile del codice
node server.js # Verifica che il server si avvii senza errori
```
### Approccio Generale ai Test
- Questo è un repository educativo senza test automatizzati completi
- Il testing manuale si concentra su:
- Gli esempi di codice funzionano senza errori
- I link nella documentazione sono funzionanti
- Le build dei progetti completano con successo
- Gli esempi rispettano le best practice
### Controlli Pre-Invio
- Esegui `npm run lint` nelle directory con package.json
- Verifica che i link markdown siano validi
- Testa gli esempi di codice in browser o Node.js
- Controlla che le traduzioni mantengano la struttura corretta
## Linee Guida per lo Stile del Codice
### JavaScript
- Usa sintassi moderna ES6+
- Segui le configurazioni ESLint standard fornite nei progetti
- Usa nomi significativi per variabili e funzioni per chiarezza didattica
- Aggiungi commenti che spiegano i concetti per gli studenti
- Formattta usando Prettier dove configurato
### HTML/CSS
- Elementi semantici HTML5
- Principi di design responsivo
- Convenzioni chiare per la nomenclatura delle classi
- Commenti che spiegano le tecniche CSS per gli studenti
### Python
- Linee guida di stile PEP 8
- Esempi di codice chiari e didattici
- Suggerimenti di tipo dove utili per lapprendimento
### Documentazione Markdown
- Gerarchia chiara delle intestazioni
- Blocchi di codice con specifica linguaggio
- Link a risorse aggiuntive
- Screenshot e immagini nelle cartelle `images/`
- Testo alternativo per le immagini per accessibilità
### Organizzazione dei File
- Lezioni numerate sequenzialmente (1-getting-started-lessons, 2-js-basics, ecc.)
- Ogni progetto ha directory `solution/` e spesso `start/` o `your-work/`
- Immagini archiviate nelle cartelle `images/` specifiche della lezione
- Traduzioni in struttura `translations/{language-code}/`
## Build e Deployment
### Deployment Quiz App (Azure Static Web Apps)
La quiz-app è configurata per il deployment su Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Crea la cartella dist/
# Esegue il deploy tramite workflow di GitHub Actions al push su main
```
Configurazione Azure Static Web Apps:
- **Posizione app**: `/quiz-app`
- **Cartella output**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Generazione PDF Documentazione
```bash
npm install # Installa docsify-to-pdf
npm run convert # Genera PDF da docs
```
### Documentazione Docsify
```bash
npm install -g docsify-cli # Installa Docsify globalmente
docsify serve # Servi su localhost:3000
```
### Build Specifici per Progetto
Ogni directory progetto può avere un proprio processo di build:
- Progetti Vue: `npm run build` crea bundle di produzione
- Progetti statici: nessun passaggio di build, servire i file direttamente
## Linee Guida per le Pull Request
### Formato del Titolo
Usa titoli chiari e descrittivi che indicano larea di modifica:
- `[Quiz-app] Aggiunta nuovo quiz per la lezione X`
- `[Lesson-3] Correzione errore di battitura nel progetto terrario`
- `[Translation] Aggiunta traduzione spagnola per la lezione 5`
- `[Docs] Aggiornate istruzioni di setup`
### Controlli Richiesti
Prima di inviare una PR:
1. **Qualità del Codice**:
- Esegui `npm run lint` nelle directory dei progetti interessati
- Correggi tutti errori e avvisi di lint
2. **Verifica Build**:
- Esegui `npm run build` se applicabile
- Assicurati che non ci siano errori di build
3. **Validazione Link**:
- Testa tutti i link markdown
- Verifica riferimenti alle immagini
4. **Revisione Contenuti**:
- Controllo ortografia e grammatica
- Assicurati che gli esempi di codice siano corretti e didattici
- Verifica che le traduzioni mantengano il significato originale
### Requisiti di Contributo
- Accetta la Microsoft CLA (verifica automatica alla prima PR)
- Segui il [Codice di Condotta Open Source Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Consulta [CONTRIBUTING.md](./CONTRIBUTING.md) per dettagli
- Riferisci numeri di issue nella descrizione PR se appropriato
### Processo di Revisione
- Le PR sono revisionate da maintainer e community
- Si dà priorità alla chiarezza didattica
- Gli esempi di codice devono seguire le migliori pratiche correnti
- Le traduzioni sono riviste per accuratezza e adeguatezza culturale
## Sistema di Traduzione
### Traduzione Automatica
- Usa GitHub Actions con workflow co-op-translator
- Traduce automaticamente in oltre 50 lingue
- File sorgente nelle directory principali
- File tradotti in directory `translations/{language-code}/`
### Aggiungere Miglioramenti Manuali
1. Trova il file in `translations/{language-code}/`
2. Apporta miglioramenti preservando la struttura
3. Assicurati che gli esempi di codice rimangano funzionanti
4. Testa ogni contenuto quiz localizzato
### Metadata Traduzione
I file tradotti includono header di metadata:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "...",
"translation_date": "...",
"source_file": "...",
"language_code": "..."
}
-->
```
## Debug e Risoluzione Problemi
### Problemi Comuni
**Quiz app non si avvia**:
- Controlla versione Node.js (consigliata v14+)
- Cancella `node_modules` e `package-lock.json`, esegui di nuovo `npm install`
- Controlla conflitti di porta (default: Vite usa porta 5173)
**Server API non si avvia**:
- Verifica che versione Node.js sia almeno (node >=10)
- Controlla se la porta è già in uso
- Assicurati che tutte le dipendenze siano installate con `npm install`
**Estensione browser non si carica**:
- Verifica che manifest.json sia ben formato
- Controlla la console del browser per errori
- Segui le istruzioni specifiche di installazione per il browser
**Problemi con progetto chat Python**:
- Assicurati che il pacchetto OpenAI sia installato: `pip install openai`
- Verifica che la variabile ambiente GITHUB_TOKEN sia impostata
- Controlla i permessi di accesso ai Modelli GitHub
**Docsify non serve la documentazione**:
- Installa docsify-cli globalmente: `npm install -g docsify-cli`
- Avvia dalla root del repository
- Verifica che `docs/_sidebar.md` esista
### Consigli Ambiente di Sviluppo
- Usa VS Code con estensione Live Server per progetti HTML
- Installa estensioni ESLint e Prettier per formattazione coerente
- Usa gli strumenti DevTools del browser per il debug JavaScript
- Per progetti Vue, installa lestensione Vue DevTools per browser
### Considerazioni sulle Prestazioni
- Gran numero di file tradotti (oltre 50 lingue) rende il clone completo pesante
- Usa clone shallow se lavori solo sui contenuti: `git clone --depth 1`
- Escludi le traduzioni dalle ricerche quando lavori solo su contenuti in inglese
- I processi di build possono essere lenti alla prima esecuzione (npm install, build Vite)
## Considerazioni di Sicurezza
### Variabili dAmbiente
- Le chiavi API non devono mai essere committate nel repository
- Usa file `.env` (già in `.gitignore`)
- Documenta variabili dambiente richieste nei README dei progetti
### Progetti Python
- Usa ambienti virtuali: `python -m venv venv`
- Mantieni aggiornate le dipendenze
- I token GitHub devono avere permessi minimi necessari
### Accesso Modelli GitHub
- Sono richiesti Personal Access Tokens (PAT) per i Modelli GitHub
- I token devono essere conservati come variabili ambiente
- Mai committare token o credenziali
## Note Aggiuntive
### Pubblico Target
- Principianti completi nello sviluppo web
- Studenti e autodidatti
- Insegnanti che usano il curriculum in aula
- Contenuti progettati per accessibilità e sviluppo graduale delle competenze
### Filosofia Educativa
- Approccio basato su progetti
- Verifiche di apprendimento frequenti (quiz)
- Esercizi pratici di coding
- Esempi di applicazioni reali
- Focus sulle basi prima dei framework
### Manutenzione del Repository
- Comunità attiva di studenti e contributori
- Aggiornamenti regolari di dipendenze e contenuti
- Issue e discussioni monitorate dai maintainer
- Aggiornamenti alle traduzioni automatici via GitHub Actions
### Risorse Correlate
- [Moduli Microsoft Learn](https://docs.microsoft.com/learn/)
- [Risorse Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) consigliato per gli studenti
- Corsi aggiuntivi: curricula di IA generativa, Data Science, ML, IoT disponibili
### Lavorare con Progetti Specifici
Per istruzioni dettagliate sui singoli progetti, consulta i file README in:
- `quiz-app/README.md` - Applicazione quiz Vue 3
- `7-bank-project/README.md` - Applicazione bancaria con autenticazione
- `5-browser-extension/README.md` - Sviluppo estensione browser
- `6-space-game/README.md` - Sviluppo gioco basato su Canvas
- `9-chat-project/README.md` - Progetto assistente chat AI
### Struttura Monorepo
Sebbene non sia un monorepo tradizionale, questo repository contiene più progetti indipendenti:
- Ogni lezione è autonoma
- I progetti non condividono dipendenze
- Lavora sui singoli progetti senza influenzarne altri
- Clona lintero repo per lesperienza completa del curriculum
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Disclaimer**:
Questo documento è stato tradotto utilizzando il servizio di traduzione AI [Co-op Translator](https://github.com/Azure/co-op-translator). Pur impegnandoci per l'accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua madre deve essere considerato la fonte autorevole. Per informazioni critiche, si consiglia una traduzione professionale effettuata da un umano. Non siamo responsabili per eventuali incomprensioni o interpretazioni errate derivanti dall'uso di questa traduzione.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->