chore(i18n): sync translations with latest source changes (chunk 1/1, 10 changes)

pull/1690/head
localizeflow[bot] 3 weeks ago
parent dca2b5ca09
commit 75cfc7a7f4

@ -215,7 +215,7 @@ Our team produces other courses! Check out:
### LangChain
[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agents

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2025-10-03T11:13:31+00:00",
"translation_date": "2026-02-06T07:23:04+00:00",
"source_file": "AGENTS.md",
"language_code": "de"
},
@ -516,8 +516,8 @@
"language_code": "de"
},
"README.md": {
"original_hash": "490c83786552d7fab6390991517bef09",
"translation_date": "2026-01-29T17:32:39+00:00",
"original_hash": "805cd399757df19e886e86f0891a1374",
"translation_date": "2026-02-06T07:19:58+00:00",
"source_file": "README.md",
"language_code": "de"
},

@ -2,53 +2,53 @@
## Projektübersicht
Dies ist ein Bildungsrepository, das Grundlagen der Webentwicklung für Anfänger vermittelt. Der Lehrplan ist ein umfassender 12-wöchiger Kurs, der von den Microsoft Cloud Advocates entwickelt wurde und 24 praxisorientierte Lektionen zu JavaScript, CSS und HTML umfasst.
Dies ist ein Bildungs-Curriculum-Repository zum Erlernen der Grundlagen der Webentwicklung für Anfänger. Das Curriculum ist ein umfassender 12-Wochen-Kurs, der von Microsoft Cloud Advocates entwickelt wurde und 24 praxisorientierte Lektionen zu JavaScript, CSS und HTML umfasst.
### Hauptkomponenten
- **Bildungsinhalte**: 24 strukturierte Lektionen, organisiert in projektbasierte Module
- **Praktische Projekte**: Terrarium, Schreibspiel, Browser-Erweiterung, Weltraumspiel, Banking-App, Code-Editor und KI-Chat-Assistent
- **Interaktive Quizze**: 48 Quizze mit jeweils 3 Fragen (Vor-/Nach-Lektionen-Bewertungen)
- **Mehrsprachige Unterstützung**: Automatische Übersetzungen in über 50 Sprachen via GitHub Actions
- **Bildungsinhalte**: 24 strukturierte Lektionen, organisiert in projektbasierten Modulen
- **Praktische Projekte**: Terrarium, Tipp-Spiel, Browser-Erweiterung, Weltraumspiel, Bank-App, Code-Editor und KI-Chat-Assistent
- **Interaktive Quiz**: 48 Quiz mit jeweils 3 Fragen (Vor- und Nach-Lektionsbewertungen)
- **Mehrsprachige Unterstützung**: Automatisierte Übersetzungen für über 50 Sprachen mittels GitHub Actions
- **Technologien**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (für KI-Projekte)
### Architektur
- Bildungsrepository mit lektionenbasierter Struktur
- Jeder Lektionenordner enthält README, Codebeispiele und Lösungen
- Eigenständige Projekte in separaten Verzeichnissen (quiz-app, verschiedene Lektionenprojekte)
- Bildungs-Repository mit lektionbasierter Struktur
- Jeder Lektionen-Ordner enthält README, Codebeispiele und Lösungen
- Eigenständige Projekte in separaten Verzeichnissen (quiz-app, verschiedene Lektionen-Projekte)
- Übersetzungssystem mit GitHub Actions (co-op-translator)
- Dokumentation wird über Docsify bereitgestellt und ist als PDF verfügbar
- Dokumentation bereitgestellt über Docsify und als PDF verfügbar
## Setup-Befehle
## Einrichtungsbefehle
Dieses Repository dient hauptsächlich dem Konsum von Bildungsinhalten. Für die Arbeit mit spezifischen Projekten:
Dieses Repository dient hauptsächlich zum Konsum von Bildungsinhalten. Zum Arbeiten mit spezifischen Projekten:
### Hauptrepository-Setup
### Einrichtung des Hauptrepositories
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Quiz-App-Setup (Vue 3 + Vite)
### Quiz-App Einrichtung (Vue 3 + Vite)
```bash
cd quiz-app
npm install
npm run dev # Start development server
npm run build # Build for production
npm run lint # Run ESLint
npm run dev # Entwicklungsserver starten
npm run build # Für die Produktion bauen
npm run lint # ESLint ausführen
```
### Bankprojekt-API (Node.js + Express)
### Bank-Projekt API (Node.js + Express)
```bash
cd 7-bank-project/api
npm install
npm start # Start API server
npm run lint # Run ESLint
npm run format # Format with Prettier
npm start # API-Server starten
npm run lint # ESLint ausführen
npm run format # Mit Prettier formatieren
```
### Browser-Erweiterungsprojekte
@ -56,227 +56,227 @@ npm run format # Format with Prettier
```bash
cd 5-browser-extension/solution
npm install
# Follow browser-specific extension loading instructions
# Befolgen Sie die browserspezifischen Anweisungen zum Laden von Erweiterungen
```
### Weltraumspiel-Projekte
### Weltraumspiele-Projekte
```bash
cd 6-space-game/solution
npm install
# Open index.html in browser or use Live Server
# Öffnen Sie index.html im Browser oder verwenden Sie Live Server
```
### Chat-Projekt (Python-Backend)
### Chat-Projekt (Python Backend)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# Set GITHUB_TOKEN environment variable
# Setze die Umgebungsvariable GITHUB_TOKEN
python api.py
```
## Entwicklungsworkflow
## Entwicklungs-Workflow
### Für Inhaltsbeitragende
### Für Beitragende von Inhalten
1. **Forken Sie das Repository** in Ihrem GitHub-Konto
2. **Klonen Sie Ihren Fork** lokal
3. **Erstellen Sie einen neuen Branch** für Ihre Änderungen
4. Nehmen Sie Änderungen an den Lektioneninhalten oder Codebeispielen vor
5. Testen Sie alle Codeänderungen in den relevanten Projektverzeichnissen
6. Reichen Sie Pull-Requests gemäß den Beitragsrichtlinien ein
1. **Forke das Repository** in dein GitHub-Konto
2. **Clonse deinen Fork** lokal
3. **Erstelle einen neuen Branch** für deine Änderungen
4. Ändere Lektionstexte oder Codebeispiele
5. Teste Codeänderungen in entsprechenden Projektordnern
6. Reiche Pull Requests ein gemäß Beitragsrichtlinien
### Für Lernende
1. Forken oder klonen Sie das Repository
2. Navigieren Sie nacheinander durch die Lektionenverzeichnisse
3. Lesen Sie die README-Dateien jeder Lektion
4. Machen Sie die Vor-Lektionen-Quizze unter https://ff-quizzes.netlify.app/web/
5. Arbeiten Sie die Codebeispiele in den Lektionenordnern durch
6. Bearbeiten Sie Aufgaben und Herausforderungen
7. Machen Sie die Nach-Lektionen-Quizze
1. Forke oder clonse das Repository
2. Navigiere nacheinander durch die Lektionen-Ordner
3. Lies die README-Dateien jeder Lektion
4. Mache Vor-Lektions-Quiz unter https://ff-quizzes.netlify.app/web/
5. Bearbeite Codebeispiele in den Lektionen-Ordnern
6. Erledige Aufgaben und Herausforderungen
7. Bearbeite Nach-Lektions-Quiz
### Live-Entwicklung
- **Dokumentation**: Führen Sie `docsify serve` im Root-Verzeichnis aus (Port 3000)
- **Quiz-App**: Führen Sie `npm run dev` im quiz-app-Verzeichnis aus
- **Projekte**: Verwenden Sie die Live Server-Erweiterung von VS Code für HTML-Projekte
- **API-Projekte**: Führen Sie `npm start` in den jeweiligen API-Verzeichnissen aus
- **Dokumentation**: Starte `docsify serve` im Root (Port 3000)
- **Quiz-App**: Starte `npm run dev` im quiz-app-Verzeichnis
- **Projekte**: Nutze die VS Code Live Server-Erweiterung für HTML-Projekte
- **API-Projekte**: Starte `npm start` in den jeweiligen API-Verzeichnissen
## Testanweisungen
### Quiz-App-Test
### Quiz-App Tests
```bash
cd quiz-app
npm run lint # Check for code style issues
npm run build # Verify build succeeds
npm run lint # Auf Probleme im Code-Stil prüfen
npm run build # Überprüfen, ob der Build erfolgreich ist
```
### Bank-API-Test
### Bank-API Tests
```bash
cd 7-bank-project/api
npm run lint # Check for code style issues
node server.js # Verify server starts without errors
npm run lint # Überprüfen Sie auf Code-Stil-Probleme
node server.js # Überprüfen Sie, ob der Server ohne Fehler startet
```
### Allgemeiner Testansatz
### Allgemeine Testansatz
- Dies ist ein Bildungsrepository ohne umfassende automatisierte Tests
- Manuelles Testen konzentriert sich auf:
- Codebeispiele laufen fehlerfrei
- Dies ist ein Bildungs-Repository ohne umfassende automatisierte Tests
- Manuelle Tests konzentrieren sich auf:
- Codebeispiele laufen ohne Fehler
- Links in der Dokumentation funktionieren korrekt
- Projekt-Builds werden erfolgreich abgeschlossen
- Projekte bauen erfolgreich
- Beispiele folgen Best Practices
### Vorabprüfungen
### Vor-Einreichungsprüfungen
- Führen Sie `npm run lint` in Verzeichnissen mit package.json aus
- Überprüfen Sie, ob Markdown-Links gültig sind
- Testen Sie Codebeispiele im Browser oder mit Node.js
- Stellen Sie sicher, dass Übersetzungen die richtige Struktur beibehalten
- Führe `npm run lint` in Verzeichnissen mit package.json aus
- Überprüfe Markdown-Links auf Gültigkeit
- Teste Codebeispiele im Browser oder Node.js
- Prüfe, ob Übersetzungen die richtige Struktur bewahren
## Richtlinien für Code-Stil
## Code-Stilrichtlinien
### JavaScript
- Verwenden Sie moderne ES6+ Syntax
- Folgen Sie den standardmäßigen ESLint-Konfigurationen in den Projekten
- Verwenden Sie aussagekräftige Variablen- und Funktionsnamen für Bildungszwecke
- Fügen Sie Kommentare hinzu, die Konzepte für Lernende erklären
- Formatieren Sie mit Prettier, wo konfiguriert
- Verwende moderne ES6+ Syntax
- Folge standardisierten ESLint-Konfigurationen der Projekte
- Nutze aussagekräftige Variablen- und Funktionsnamen für Bildungszwecke
- Füge Kommentare hinzu, die Konzepte für Lernende erklären
- Formatiere mit Prettier, wo konfiguriert
### HTML/CSS
- Semantische HTML5-Elemente
- Prinzipien des responsiven Designs
- Klare Klassennamen-Konventionen
- Kommentare, die CSS-Techniken für Lernende erklären
- Responsive Design-Prinzipien
- Klare Klassennamenskonventionen
- Kommentare erklären CSS-Techniken für Lernende
### Python
- PEP 8 Stilrichtlinien
- Klare, bildungsorientierte Codebeispiele
- Typ-Hinweise, wo hilfreich für das Lernen
- Type-Hints, wenn hilfreich für das Lernen
### Markdown-Dokumentation
- Klare Überschriftenhierarchie
- Codeblöcke mit Sprachspezifikation
- Codeblöcke mit Sprachangabe
- Links zu zusätzlichen Ressourcen
- Screenshots und Bilder in `images/` Verzeichnissen
- Alt-Text für Bilder r Barrierefreiheit
- Alt-Text für Bilder zur Barrierefreiheit
### Dateiorganisation
### Datei-Organisation
- Lektionen nummeriert in Reihenfolge (1-getting-started-lessons, 2-js-basics, etc.)
- Jedes Projekt hat `solution/` und oft `start/` oder `your-work/` Verzeichnisse
- Bilder werden in lektionenspezifischen `images/` Ordnern gespeichert
- Übersetzungen in `translations/{language-code}/` Struktur
- Lektionen durchnummeriert (1-getting-started-lessons, 2-js-basics, etc.)
- Jedes Projekt hat `solution/` und oft auch `start/` oder `your-work/` Verzeichnisse
- Bilder im lektionenspezifischen `images/` Ordner
- Übersetzungen in der Struktur `translations/{language-code}/`
## Build und Deployment
### Quiz-App-Deployment (Azure Static Web Apps)
### Quiz-App Deployment (Azure Static Web Apps)
Die quiz-app ist für die Bereitstellung auf Azure Static Web Apps konfiguriert:
Die quiz-app ist für Azure Static Web Apps Deployment konfiguriert:
```bash
cd quiz-app
npm run build # Creates dist/ folder
# Deploys via GitHub Actions workflow on push to main
npm run build # Erstellt den dist/-Ordner
# Führt die Bereitstellung über den GitHub Actions Workflow bei Push auf main durch
```
Azure Static Web Apps Konfiguration:
- **App-Standort**: `/quiz-app`
- **Ausgabe-Standort**: `dist`
- **App Standort**: `/quiz-app`
- **Ausgabeort**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Dokumentations-PDF-Erstellung
### PDF Generierung der Dokumentation
```bash
npm install # Install docsify-to-pdf
npm run convert # Generate PDF from docs
npm install # Installiere docsify-to-pdf
npm run convert # Erzeuge PDF aus docs
```
### Docsify-Dokumentation
### Docsify Dokumentation
```bash
npm install -g docsify-cli # Install Docsify globally
docsify serve # Serve on localhost:3000
npm install -g docsify-cli # Installiere Docsify global
docsify serve # Diene auf localhost:3000
```
### Projekt-spezifische Builds
### Projektspezifische Builds
Jedes Projektverzeichnis kann seinen eigenen Build-Prozess haben:
- Vue-Projekte: `npm run build` erstellt Produktions-Bundles
- Statische Projekte: Kein Build-Schritt, Dateien direkt bereitstellen
Jeder Projektordner kann einen eigenen Build-Prozess haben:
- Vue Projekte: `npm run build` erstellt Produktions-Bundles
- Statische Projekte: Kein Build-Schritt, Dateien direkt ausliefern
## Richtlinien für Pull-Requests
## Pull Request Richtlinien
### Titel-Format
Verwenden Sie klare, beschreibende Titel, die den Bereich der Änderung angeben:
Verwende klare, beschreibende Titel, die den Änderungsbereich angeben:
- `[Quiz-app] Neues Quiz für Lektion X hinzufügen`
- `[Lesson-3] Tippfehler im Terrarium-Projekt beheben`
- `[Translation] Spanische Übersetzung für Lektion 5 hinzufügen`
- `[Docs] Setup-Anweisungen aktualisieren`
- `[Docs] Setup-Anleitungen aktualisieren`
### Erforderliche Prüfungen
Vor dem Einreichen eines PR:
Vor Einreichung eines PR:
1. **Codequalität**:
- Führen Sie `npm run lint` in den betroffenen Projektverzeichnissen aus
- Beheben Sie alle Linting-Fehler und -Warnungen
- Führe `npm run lint` in betroffenen Projektverzeichnissen aus
- Behebe alle Lint-Fehler und -Warnungen
2. **Build-Verifizierung**:
- Führen Sie `npm run build` aus, falls zutreffend
- Stellen Sie sicher, dass keine Build-Fehler auftreten
- Führe `npm run build` aus, falls zutreffend
- Stelle sicher, dass keine Build-Fehler auftreten
3. **Link-Validierung**:
- Testen Sie alle Markdown-Links
- Überprüfen Sie, ob Bildreferenzen funktionieren
3. **Linkvalidierung**:
- Teste alle Markdown-Links
- Überprüfe Bildreferenzen
4. **Inhaltsprüfung**:
- Korrekturlesen auf Rechtschreibung und Grammatik
- Sicherstellen, dass Codebeispiele korrekt und lehrreich sind
- Überprüfen, ob Übersetzungen die ursprüngliche Bedeutung beibehalten
- Überprüfe, dass Codebeispiele korrekt und lehrreich sind
- Verifiziere, dass Übersetzungen den ursprünglichen Sinn bewahren
### Beitragsanforderungen
### Beitragende Voraussetzungen
- Zustimmung zur Microsoft CLA (automatische Prüfung beim ersten PR)
- Befolgen Sie den [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Befolge den [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Siehe [CONTRIBUTING.md](./CONTRIBUTING.md) für detaillierte Richtlinien
- Verweisen Sie auf Issue-Nummern in der PR-Beschreibung, falls zutreffend
- Referenziere Issue-Nummern in der PR-Beschreibung, falls zutreffend
### Überprüfungsprozess
### Prüfprozess
- PRs werden von Maintainer und der Community überprüft
- Bildungsverständlichkeit hat Priorität
- PRs werden von Maintainers und Community geprüft
- Bildungsinhalte werden priorisiert
- Codebeispiele sollten aktuellen Best Practices folgen
- Übersetzungen werden auf Genauigkeit und kulturelle Angemessenheit geprüft
## Übersetzungssystem
### Automatische Übersetzung
### Automatisierte Übersetzung
- Verwendet GitHub Actions mit co-op-translator Workflow
- Nutzt GitHub Actions mit co-op-translator Workflow
- Übersetzt automatisch in über 50 Sprachen
- Quelldateien in Hauptverzeichnissen
- Übersetzte Dateien in `translations/{language-code}/` Verzeichnissen
### Manuelle Verbesserungen an Übersetzungen hinzufügen
### Manuelle Übersetzungsverbesserungen hinzufügen
1. Datei im `translations/{language-code}/` Verzeichnis finden
2. Verbesserungen vornehmen, während die Struktur erhalten bleibt
1. Datei in `translations/{language-code}/` finden
2. Verbesserungen vornehmen unter Erhaltung der Struktur
3. Sicherstellen, dass Codebeispiele weiterhin funktionieren
4. Lokalisierte Quiz-Inhalte testen
4. Lokale Quiz-Inhalte testen
### Übersetzungs-Metadaten
Übersetzte Dateien enthalten einen Metadaten-Header:
Übersetzte Dateien enthalten Metadaten-Header:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -289,118 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## Debugging und Fehlerbehebung
## Debugging und Fehlersuche
### Häufige Probleme
**Quiz-App startet nicht**:
- Überprüfen Sie die Node.js-Version (v14+ empfohlen)
- Löschen Sie `node_modules` und `package-lock.json`, führen Sie `npm install` erneut aus
- Überprüfen Sie auf Portkonflikte (Standard: Vite verwendet Port 5173)
- Node.js Version prüfen (v14+ empfohlen)
- `node_modules` und `package-lock.json` löschen, `npm install` neu ausführen
- Port-Konflikte prüfen (Standard: Vite verwendet Port 5173)
**API-Server startet nicht**:
- Überprüfen Sie, ob die Node.js-Version die Mindestanforderungen erfüllt (node >=10)
- Überprüfen Sie, ob der Port bereits verwendet wird
- Stellen Sie sicher, dass alle Abhängigkeiten mit `npm install` installiert sind
- Node.js Version >= 10 sicherstellen
- Prüfen, ob Port bereits in Benutzung ist
- Alle Abhängigkeiten mit `npm install` installieren
**Browser-Erweiterung lädt nicht**:
- Überprüfen Sie, ob manifest.json korrekt formatiert ist
- Überprüfen Sie die Browser-Konsole auf Fehler
- Befolgen Sie die browser-spezifischen Installationsanweisungen für Erweiterungen
- Manifest.json auf korrekte Formatierung prüfen
- Browser-Konsole auf Fehler überprüfen
- Browser-spezifische Installationsanleitungen befolgen
**Probleme mit Python-Chat-Projekt**:
- Stellen Sie sicher, dass das OpenAI-Paket installiert ist: `pip install openai`
- Überprüfen Sie, ob die Umgebungsvariable GITHUB_TOKEN gesetzt ist
- Überprüfen Sie die Zugriffsberechtigungen für GitHub Models
**Probleme beim Python-Chat-Projekt**:
- OpenAI-Paket installiert? `pip install openai`
- GITHUB_TOKEN Umgebungsvariable gesetzt?
- Zugriff auf GitHub Models überprüfen
**Docsify dient keine Dokumentation**:
- Installieren Sie docsify-cli global: `npm install -g docsify-cli`
- Führen Sie es aus dem Root-Verzeichnis des Repositorys aus
- Überprüfen Sie, ob `docs/_sidebar.md` existiert
**Docsify liefert keine Dokumente aus**:
- docsify-cli global installieren: `npm install -g docsify-cli`
- Aus dem Root-Verzeichnis des Repositories starten
- Prüfen, ob `docs/_sidebar.md` vorhanden ist
### Tipps zur Entwicklungsumgebung
- Verwenden Sie VS Code mit der Live Server-Erweiterung für HTML-Projekte
- Installieren Sie ESLint und Prettier-Erweiterungen für konsistente Formatierung
- Verwenden Sie die DevTools des Browsers zum Debuggen von JavaScript
- Für Vue-Projekte installieren Sie die Vue DevTools Browser-Erweiterung
- VS Code mit Live Server Erweiterung für HTML-Projekte nutzen
- ESLint und Prettier Erweiterungen für konsistente Formatierung installieren
- Browser DevTools zur JavaScript-Fehlersuche verwenden
- Für Vue-Projekte Vue DevTools Browser-Erweiterung installieren
### Leistungserwägungen
### Performance-Überlegungen
- Eine große Anzahl übersetzter Dateien (50+ Sprachen) bedeutet, dass vollständige Klone groß sind
- Verwenden Sie einen flachen Klon, wenn Sie nur an Inhalten arbeiten: `git clone --depth 1`
- Schließen Sie Übersetzungen von Suchvorgängen aus, wenn Sie an englischen Inhalten arbeiten
- Build-Prozesse können beim ersten Lauf langsam sein (npm install, Vite build)
- Große Anzahl an übersetzten Dateien (50+ Sprachen) führt zu großen Klonen
- Für Arbeit nur an Inhalten: flaches Klonen mit `git clone --depth 1`
- Übersetzungen bei Suche ausschließen, wenn nur Englisch nötig
- Buildvorgänge können beim ersten Lauf langsam sein (npm install, Vite Build)
## Sicherheitsüberlegungen
### Umgebungsvariablen
- API-Schlüssel sollten niemals im Repository gespeichert werden
- Verwenden Sie `.env` Dateien (bereits in `.gitignore`)
- Dokumentieren Sie erforderliche Umgebungsvariablen in den Projekt-READMEs
- API-Schlüssel dürfen niemals im Repository abgelegt werden
- `.env` Dateien verwenden (sind in `.gitignore`)
- Erforderliche Umgebungsvariablen in den Projekt-READMEs dokumentieren
### Python-Projekte
- Verwenden Sie virtuelle Umgebungen: `python -m venv venv`
- Halten Sie Abhängigkeiten aktuell
- GitHub-Token sollten minimale erforderliche Berechtigungen haben
- Virtuelle Umgebungen verwenden: `python -m venv venv`
- Abhängigkeiten aktuell halten
- GitHub-Token mit minimal erforderlichen Berechtigungen verwenden
### GitHub Models Zugriff
### Zugriff auf GitHub Models
- Persönliche Zugriffstoken (PAT) erforderlich für GitHub Models
- Token sollten als Umgebungsvariablen gespeichert werden
- Token oder Anmeldeinformationen niemals commiten
- Personal Access Tokens (PAT) sind erforderlich
- Tokens als Umgebungsvariablen speichern
- Niemals Tokens oder Zugangsdaten commiten
## Zusätzliche Hinweise
### Zielgruppe
- Vollständige Anfänger in der Webentwicklung
- Studenten und Selbstlernende
- Lehrer, die den Lehrplan im Unterricht verwenden
- Inhalte sind für Barrierefreiheit und schrittweisen Kompetenzaufbau konzipiert
- Absolute Anfänger in der Webentwicklung
- Studierende und Selbstlerner
- Lehrkräfte, die das Curriculum im Unterricht verwenden
- Inhalt ist barrierefrei gestaltet und fördert schrittweises Lernen
### Bildungsphilosophie
- Projektbasierter Lernansatz
- Häufige Wissensüberprüfungen (Quizze)
- Praktische Codierungsübungen
- Beispiele aus der realen Welt
- Projektbasiertes Lernen
- Häufige Wissensüberprüfungen (Quizzes)
- Praktische Programmierübungen
- Praxisnahe Anwendungsbeispiele
- Fokus auf Grundlagen vor Frameworks
### Repository-Wartung
- Aktive Community von Lernenden und Beitragenden
- Regelmäßige Updates von Abhängigkeiten und Inhalten
- Issues und Diskussionen werden von Maintainer überwacht
- Übersetzungsupdates automatisiert über GitHub Actions
- Issues und Diskussionen werden von Maintainers betreut
- Übersetzungen werden automatisiert über GitHub Actions aktualisiert
### Verwandte Ressourcen
- [Microsoft Learn Module](https://docs.microsoft.com/learn/)
- [Student Hub Ressourcen](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) empfohlen für Lernende
- Zusätzliche Kurse: Generative KI, Data Science, ML, IoT Lehrpläne verfügbar
- Weitere Kurse: Generative AI, Data Science, ML, IoT Curricula verfügbar
### Arbeit mit spezifischen Projekten
### Arbeiten mit spezifischen Projekten
Für detaillierte Anweisungen zu einzelnen Projekten, siehe die README-Dateien in:
Für detaillierte Anleitungen zu einzelnen Projekten siehe README-Dateien in:
- `quiz-app/README.md` - Vue 3 Quiz-Anwendung
- `7-bank-project/README.md` - Banking-Anwendung mit Authentifizierung
- `7-bank-project/README.md` - Bankanwendung mit Authentifizierung
- `5-browser-extension/README.md` - Entwicklung von Browser-Erweiterungen
- `6-space-game/README.md` - Canvas-basiertes Spiel
- `9-chat-project/README.md` - KI-Chat-Assistent-Projekt
- `6-space-game/README.md` - Spielentwicklung mit Canvas
- `9-chat-project/README.md` - KI Chat-Assistent Projekt
### Monorepo-Struktur
Obwohl kein traditionelles Monorepo, enthält dieses Repository mehrere unabhängige Projekte:
Obwohl kein klassisches Monorepo, enthält dieses Repository mehrere unabhängige Projekte:
- Jede Lektion ist eigenständig
- Projekte teilen keine Abhängigkeiten
- Arbeiten Sie an einzelnen Projekten, ohne andere zu beeinflussen
- Klonen Sie das gesamte Repository für das vollständige Curriculum-Erlebnis
- Arbeit an einzelnen Projekten ohne Beeinträchtigung anderer möglich
- Komplettes Repository klonen für das volle Curriculum-Erlebnis
---
**Haftungsausschluss**:
Dieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir uns um Genauigkeit bemühen, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner ursprünglichen Sprache sollte als maßgebliche Quelle betrachtet werden. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die sich aus der Nutzung dieser Übersetzung ergeben.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Haftungsausschluss**:
Dieses Dokument wurde mithilfe des KI-Übersetzungsdienstes [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir uns um Genauigkeit bemühen, bitten wir zu beachten, dass automatische Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner ursprünglichen Sprache gilt als maßgebliche Quelle. Für wichtige Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Nutzung dieser Übersetzung entstehen.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -10,125 +10,127 @@
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
# Webentwicklung für Einsteiger - Ein Curriculum
# Webentwicklung für Anfänger - Ein Lehrplan
Lernen Sie die Grundlagen der Webentwicklung mit unserem 12-wöchigen umfassenden Kurs von Microsoft Cloud Advocates. Jede der 24 Lektionen taucht in JavaScript, CSS und HTML durch praktische Projekte wie Terrarien, Browsererweiterungen und Weltraumspiele ein. Nehmen Sie an Quizzen, Diskussionen und praktischen Aufgaben teil. Verbessern Sie Ihre Fähigkeiten und optimieren Sie Ihre Wissensspeicherung mit unserer effektiven projektbasierten Pädagogik. Starten Sie noch heute Ihre Programmierreise!
Lernen Sie die Grundlagen der Webentwicklung mit unserem 12-wöchigen umfassenden Kurs von Microsoft Cloud Advocates. Jede der 24 Lektionen taucht tief in JavaScript, CSS und HTML ein durch praxisnahe Projekte wie Terrarien, Browsererweiterungen und Weltraumspiele. Nehmen Sie teil an Quizzen, Diskussionen und praktischen Aufgaben. Verbessern Sie Ihre Fähigkeiten und optimieren Sie Ihre Wissensaufnahme mit unserer effektiven, projektbasierten Didaktik. Starten Sie noch heute Ihre Programmierreise!
Treten Sie der Azure AI Foundry Discord Community bei
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Befolgen Sie diese Schritte, um mit diesen Ressourcen zu starten:
1. **Forken Sie das Repository**: Klicken Sie auf [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
Folgen Sie diesen Schritten, um diese Ressourcen zu nutzen:
1. **Forken Sie das Repository**: Klicken Sie [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Klonen Sie das Repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Treten Sie dem Azure AI Foundry Discord bei und treffen Sie Experten und andere Entwickler**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Mehrsprachige Unterstützung
#### Unterstützt durch GitHub Action (Automatisch & Immer auf dem neuesten Stand)
#### Unterstützt durch GitHub Action (Automatisiert & Immer Aktuell)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabisch](../ar/README.md) | [Bengalisch](../bn/README.md) | [Bulgarisch](../bg/README.md) | [Birmanisch (Myanmar)](../my/README.md) | [Chinesisch (vereinfacht)](../zh-CN/README.md) | [Chinesisch (traditionell, Hongkong)](../zh-HK/README.md) | [Chinesisch (traditionell, Macau)](../zh-MO/README.md) | [Chinesisch (traditionell, Taiwan)](../zh-TW/README.md) | [Kroatisch](../hr/README.md) | [Tschechisch](../cs/README.md) | [Dänisch](../da/README.md) | [Niederländisch](../nl/README.md) | [Estnisch](../et/README.md) | [Finnisch](../fi/README.md) | [Französisch](../fr/README.md) | [Deutsch](./README.md) | [Griechisch](../el/README.md) | [Hebräisch](../he/README.md) | [Hindi](../hi/README.md) | [Ungarisch](../hu/README.md) | [Indonesisch](../id/README.md) | [Italienisch](../it/README.md) | [Japanisch](../ja/README.md) | [Kannada](../kn/README.md) | [Koreanisch](../ko/README.md) | [Litauisch](../lt/README.md) | [Malaiisch](../ms/README.md) | [Malajalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepalesisch](../ne/README.md) | [Nigerianisches Pidgin](../pcm/README.md) | [Norwegisch](../no/README.md) | [Persisch (Farsi)](../fa/README.md) | [Polnisch](../pl/README.md) | [Portugiesisch (Brasilien)](../pt-BR/README.md) | [Portugiesisch (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Rumänisch](../ro/README.md) | [Russisch](../ru/README.md) | [Serbisch (Kyrillisch)](../sr/README.md) | [Slowakisch](../sk/README.md) | [Slowenisch](../sl/README.md) | [Spanisch](../es/README.md) | [Suaheli](../sw/README.md) | [Schwedisch](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thailändisch](../th/README.md) | [Türkisch](../tr/README.md) | [Ukrainisch](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamesisch](../vi/README.md)
[Arabisch](../ar/README.md) | [Bengalisch](../bn/README.md) | [Bulgarisch](../bg/README.md) | [Birmanisch (Myanmar)](../my/README.md) | [Chinesisch (Vereinfacht)](../zh-CN/README.md) | [Chinesisch (Traditionell, Hongkong)](../zh-HK/README.md) | [Chinesisch (Traditionell, Macau)](../zh-MO/README.md) | [Chinesisch (Traditionell, Taiwan)](../zh-TW/README.md) | [Kroatisch](../hr/README.md) | [Tschechisch](../cs/README.md) | [Dänisch](../da/README.md) | [Niederländisch](../nl/README.md) | [Estnisch](../et/README.md) | [Finnisch](../fi/README.md) | [Französisch](../fr/README.md) | [Deutsch](./README.md) | [Griechisch](../el/README.md) | [Hebräisch](../he/README.md) | [Hindi](../hi/README.md) | [Ungarisch](../hu/README.md) | [Indonesisch](../id/README.md) | [Italienisch](../it/README.md) | [Japanisch](../ja/README.md) | [Kannada](../kn/README.md) | [Koreanisch](../ko/README.md) | [Litauisch](../lt/README.md) | [Malaiisch](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepalesisch](../ne/README.md) | [Nigerianisches Pidgin](../pcm/README.md) | [Norwegisch](../no/README.md) | [Persisch (Farsi)](../fa/README.md) | [Polnisch](../pl/README.md) | [Portugiesisch (Brasilien)](../pt-BR/README.md) | [Portugiesisch (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Rumänisch](../ro/README.md) | [Russisch](../ru/README.md) | [Serbisch (Kyrillisch)](../sr/README.md) | [Slowakisch](../sk/README.md) | [Slowenisch](../sl/README.md) | [Spanisch](../es/README.md) | [Swahili](../sw/README.md) | [Schwedisch](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thailändisch](../th/README.md) | [Türkisch](../tr/README.md) | [Ukrainisch](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamesisch](../vi/README.md)
> **Möchten Sie lokal klonen?**
> **Bevorzugen Sie das lokale Klonen?**
> Dieses Repository enthält über 50 Sprachübersetzungen, was die Downloadgröße erheblich erhöht. Um ohne Übersetzungen zu klonen, verwenden Sie Sparse Checkout:
> Dieses Repository enthält über 50 Sprachübersetzungen, was die Downloadgröße erheblich erhöht. Um ohne Übersetzungen zu klonen, verwenden Sie Sparse-Checkout:
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
> Damit erhalten Sie alles, was Sie für den Abschluss des Kurses benötigen, mit einem viel schnelleren Download.
> Damit erhalten Sie alles, was Sie zum Abschluss des Kurses benötigen, mit einem viel schnelleren Download.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Wenn Sie weitere Übersetzungen wünschen, sind unterstützte Sprachen [hier](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md) aufgelistet**
**Wenn Sie möchten, dass zusätzliche Übersetzungssprachen unterstützt werden, sind diese [hier](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md) aufgelistet**
[![In Visual Studio Code öffnen](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=In%20Visual%20Studio%20Code%20öffnen&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑‍🎓 _Sind Sie ein Student?_
#### 🧑‍🎓 _Sind Sie Student?_
Besuchen Sie die [**Student Hub-Seite**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), auf der Sie Einstiegsressourcen, Studentensets und sogar Möglichkeiten finden, einen kostenlosen Zertifikatsgutschein zu erhalten. Dies ist die Seite, die Sie als Lesezeichen setzen und von Zeit zu Zeit überprüfen sollten, da wir monatlich Inhalte austauschen.
Besuchen Sie die [**Student Hub-Seite**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), auf der Sie Anfängerressourcen, Studentenkits und sogar Möglichkeiten finden, einen kostenlosen Zertifikat-Gutschein zu erhalten. Dies ist die Seite, die Sie als Lesezeichen speichern und von Zeit zu Zeit überprüfen sollten, da wir monatlich Inhalte austauschen.
### 📣 Ankündigung - Neue GitHub Copilot Agent Mode Herausforderungen zu meistern!
### 📣 Ankündigung - Neue GitHub Copilot Agent Modus Herausforderungen zum Abschließen!
Neue Herausforderung hinzugefügt, suchen Sie in den meisten Kapiteln nach "GitHub Copilot Agent Challenge 🚀". Das ist eine neue Herausforderung für Sie, die Sie mit GitHub Copilot und dem Agent-Modus abschließen können. Wenn Sie den Agent-Modus noch nicht benutzt haben, kann dieser nicht nur Text generieren, sondern auch Dateien erstellen und bearbeiten, Befehle ausführen und mehr.
Neue Herausforderung hinzugefügt, suchen Sie nach "GitHub Copilot Agent Challenge 🚀" in den meisten Kapiteln. Das ist eine neue Herausforderung, die Sie mit GitHub Copilot und dem Agent Modus abschließen können. Wenn Sie den Agent-Modus noch nicht verwendet haben, kann dieser nicht nur Text generieren, sondern auch Dateien erstellen und bearbeiten, Befehle ausführen und mehr.
### 📣 Ankündigung - _Neues Projekt mit Generativer KI bauen_
### 📣 Ankündigung - _Neues Projekt zum Bauen mit Generativer KI_
Neues AI Assistant-Projekt gerade hinzugefügt, sehen Sie sich das [Projekt](./9-chat-project/README.md) an.
Neues AI-Assistent-Projekt gerade hinzugefügt, schauen Sie es sich an [Projekt](./9-chat-project/README.md)
### 📣 Ankündigung - _Neues Curriculum_ zu Generativer KI für JavaScript wurde gerade veröffentlicht
### 📣 Ankündigung - _Neuer Lehrplan_ über Generative KI für JavaScript wurde gerade veröffentlicht
Verpassen Sie nicht unser neues Curriculum für Generative KI!
Verpassen Sie nicht unseren neuen Lehrplan zur Generativen KI!
Besuchen Sie [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) für den Einstieg!
Besuchen Sie [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), um zu starten!
![Hintergrund](../../translated_images/de/background.148a8d43afde5730.webp)
- Lektionen von den Grundlagen bis RAG.
- Interagieren Sie mit historischen Charakteren mittels GenAI und unserer Begleit-App.
- Spannende und unterhaltsame Erzählung, Sie reisen durch die Zeit!
- Lektionen, die alles von den Grundlagen bis zu RAG abdecken.
- Interagieren Sie mit historischen Figuren mittels GenAI und unserer Begleit-App.
- Eine unterhaltsame und fesselnde Erzählung, Sie werden durch die Zeit reisen!
![Charakter](../../translated_images/de/character.5c0dd8e067ffd693.webp)
Jede Lektion enthält eine Aufgabe zum Abschließen, eine Wissensüberprüfung und eine Herausforderung, die Sie beim Lernen der Themen unterstützt wie:
- Prompting und Prompt Engineering
Jede Lektion enthält eine Aufgabe zur Fertigstellung, eine Wissensüberprüfung und eine Herausforderung, um Sie beim Erlernen von Themen wie:
- Prompting und Prompt-Engineering
- Text- und Bild-App-Generierung
- Such-Apps
Besuchen Sie [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) für den Start!
Besuchen Sie [https://aka.ms/genai-js-course](../../[https:/aka.ms/genai-js-course), um zu starten!
## 🌱 Erste Schritte
## 🌱 Loslegen
> **Lehrer**, wir haben [einige Vorschläge](for-teachers.md) zur Nutzung dieses Curriculums eingefügt. Wir würden uns über Ihr Feedback [in unserem Diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner) freuen!
> **Lehrkräfte**, wir haben [einige Vorschläge](for-teachers.md) für den Einsatz dieses Lehrplans hinzugefügt. Wir freuen uns über Ihr Feedback [in unserem Diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
**[Lernende](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, beginnen Sie mit jeder Lektion mit einem Quiz vor der Vorlesung und lesen Sie dann das Vorlesungsmaterial, bearbeiten Sie die verschiedenen Aktivitäten und überprüfen Sie Ihr Verständnis mit dem Quiz nach der Vorlesung.
**[Lernende](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, beginnen Sie jede Lektion mit einem Quiz vor der Vorlesung und arbeiten Sie dann die Vorlesungsmaterialien durch, erledigen Sie die verschiedenen Aktivitäten und überprüfen Sie Ihr Verständnis mit dem Quiz nach der Vorlesung.
Um Ihr Lernerlebnis zu verbessern, vernetzen Sie sich mit Ihren Mitlernenden, um die Projekte zusammen zu bearbeiten! Diskussionen sind in unserem [Diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) erwünscht, wo unser Moderatorenteam Ihre Fragen beantwortet.
Zur Verbesserung Ihres Lernerlebnisses verbinden Sie sich mit Ihren Mitlernenden, um gemeinsam an den Projekten zu arbeiten! Diskussionen werden in unserem [Diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) gefördert, wo unser Moderatorenteam Ihre Fragen beantwortet.
Zur Erweiterung Ihrer Bildung empfehlen wir auch, [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) für zusätzliche Lernmaterialien zu erkunden.
Um Ihre Ausbildung weiter voranzutreiben, empfehlen wir dringend, [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) für zusätzliche Lernmaterialien zu erkunden.
### 📋 Richten Sie Ihre Arbeitsumgebung ein
### 📋 Einrichtung Ihrer Umgebung
Dieses Curriculum hat eine sofort einsatzbereite Entwicklungsumgebung! Sie können wählen, ob Sie das Curriculum in einem [Codespace](https://github.com/features/codespaces/) (_eine browserbasierte Umgebung ohne Installation_) oder lokal auf Ihrem Computer mit einem Texteditor wie [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ausführen möchten.
Dieser Lehrplan verfügt über eine sofort einsatzbereite Entwicklungsumgebung! Sobald Sie starten, können Sie den Lehrplan in einem [Codespace](https://github.com/features/codespaces/) (_eine browserbasierte Umgebung ohne notwendige Installationen_) oder lokal auf Ihrem Computer mit einem Texteditor wie [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ausführen.
#### Erstellen Sie Ihr Repository
Um Ihre Arbeit einfach zu speichern, empfehlen wir, eine eigene Kopie dieses Repositories zu erstellen. Dies können Sie tun, indem Sie oben auf der Seite auf die Schaltfläche **Use this template** klicken. Dadurch wird ein neues Repository in Ihrem GitHub-Konto mit einer Kopie des Curriculums erstellt.
Damit Sie Ihre Arbeit leicht speichern können, wird empfohlen, eine eigene Kopie dieses Repositories zu erstellen. Dies können Sie tun, indem Sie oben auf der Seite auf die Schaltfläche **Use this template** klicken. Dadurch wird ein neues Repository in Ihrem GitHub-Konto mit einer Kopie des Lehrplans erstellt.
Folgen Sie diesen Schritten:
1. **Forken Sie das Repository**: Klicken Sie oben rechts auf der Seite auf den „Fork“-Button.
1. **Forken Sie das Repository**: Klicken Sie auf die Schaltfläche "Fork" oben rechts auf dieser Seite.
2. **Klonen Sie das Repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### Ausführen des Curriculums in einem Codespace
#### Ausführen des Lehrplans in einem Codespace
Klicken Sie in Ihrer erstellten Kopie dieses Repositories auf die Schaltfläche **Code** und wählen Sie **Open with Codespaces**. Dies erstellt einen neuen Codespace, in dem Sie arbeiten können.
In Ihrer erstellten Kopie dieses Repositories klicken Sie auf die Schaltfläche **Code** und wählen **Open with Codespaces**. Dadurch wird für Sie ein neuer Codespace erstellt, in dem Sie arbeiten können.
![Codespace](../../translated_images/de/createcodespace.0238bbf4d7a8d955.webp)
#### Lokales Ausführen des Curriculums auf Ihrem Computer
#### Ausführen des Lehrplans lokal auf Ihrem Computer
Um diesen Lehrplan lokal auf Ihrem Computer auszuführen, benötigen Sie einen Texteditor, einen Browser und ein Befehlszeilenwerkzeug. Unsere erste Lektion, [Einführung in Programmiersprachen und Werkzeuge der Branche](../../1-getting-started-lessons/1-intro-to-programming-languages), führt Sie durch verschiedene Optionen für jedes dieser Werkzeuge, damit Sie das auswählen können, was am besten zu Ihnen passt.
Um das Curriculum lokal auf Ihrem Computer auszuführen, benötigen Sie einen Texteditor, einen Browser und ein Kommandozeilentool. Unsere erste Lektion, [Einführung in Programmiersprachen und Werkzeuge](../../1-getting-started-lessons/1-intro-to-programming-languages), führt Sie durch verschiedene Optionen für diese Tools, damit Sie das passendste auswählen können.
Unsere Empfehlung ist, [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) als Editor zu verwenden, das auch ein eingebautes [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) besitzt. Sie können Visual Studio Code [hier herunterladen](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Wir empfehlen die Verwendung von [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) als Editor, der außerdem ein eingebautes [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) enthält. Visual Studio Code können Sie [hier herunterladen](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Klonen Sie Ihr Repository auf Ihren Computer. Das können Sie tun, indem Sie auf die **Code**-Schaltfläche klicken und die URL kopieren:
1. Klonen Sie Ihr Repository auf Ihren Computer. Dies können Sie tun, indem Sie auf die **Code**-Schaltfläche klicken und die URL kopieren:
[CodeSpace](./images/createcodespace.png)
Dann öffne [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) innerhalb von [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) und führe den folgenden Befehl aus, wobei du `<your-repository-url>` durch die soeben kopierte URL ersetzt:
Öffnen Sie dann innerhalb von [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) das [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) und führen Sie folgenden Befehl aus, wobei Sie `<your-repository-url>` durch die gerade kopierte URL ersetzen:
```bash
git clone <your-repository-url>
```
2. Öffne den Ordner in Visual Studio Code. Dies kannst du tun, indem du auf **Datei** > **Ordner öffnen** klickst und den soeben geklonten Ordner auswählst.
2. Öffnen Sie den Ordner in Visual Studio Code. Dies können Sie tun, indem Sie auf **Datei** > **Ordner öffnen** klicken und den gerade geklonten Ordner auswählen.
> Empfohlene Visual Studio Code Erweiterungen:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) zum Vorschauen von HTML-Seiten innerhalb von Visual Studio Code
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) um dir beim schnelleren Schreiben von Code zu helfen
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) um HTML-Seiten innerhalb von Visual Studio Code anzusehen
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) um Ihnen zu helfen, schneller Code zu schreiben
## 📂 Jede Lektion beinhaltet:
@ -136,134 +138,134 @@ Dann öffne [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc
- optionales ergänzendes Video
- Aufwärmquiz vor der Lektion
- schriftliche Lektion
- für projektbasierte Lektionen Schritt-für-Schritt-Anleitungen zum Aufbau des Projekts
- Wissenskontrollen
- bei projektbasierten Lektionen Schritt-für-Schritt-Anleitungen zum Erstellen des Projekts
- Wissensüberprüfungen
- eine Herausforderung
- ergänzende Lektüre
- Aufgabe
- [Nachbereitungsquiz](https://ff-quizzes.netlify.app/web/)
- [Quiz nach der Lektion](https://ff-quizzes.netlify.app/web/)
> **Eine Anmerkung zu den Quizzen**: Alle Quizze befinden sich im Ordner Quiz-app, insgesamt 48 Quizze mit jeweils drei Fragen. Sie sind [hier](https://ff-quizzes.netlify.app/web/) verfügbar. Die Quiz-App kann lokal ausgeführt oder in Azure bereitgestellt werden; folge der Anleitung im Ordner `quiz-app`.
> **Eine Anmerkung zu den Quizzen**: Alle Quizze sind im Ordner Quiz-app enthalten, insgesamt 48 Quizze mit jeweils drei Fragen. Sie sind [hier](https://ff-quizzes.netlify.app/web/) verfügbar. Die Quiz-App kann lokal ausgeführt oder in Azure bereitgestellt werden; folgen Sie den Anweisungen im Ordner `quiz-app`.
## 🗃️ Lektionen
| | Projektname | Vermittelte Konzepte | Lernziele | Verknüpfte Lektion | Autor |
| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Erste Schritte | Einführung in Programmierung und Arbeitswerkzeuge | Lerne die grundlegenden Grundlagen der meisten Programmiersprachen und über die Software, die professionelle Entwickler unterstützt | [Einführung in Programmiersprachen und Arbeitswerkzeuge](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Erste Schritte | Grundlagen von GitHub, einschließlich Teamarbeit | Wie man GitHub im Projekt verwendet und wie man mit anderen an einem Codebasis zusammenarbeitet | [Einführung in GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Erste Schritte | Barrierefreiheit | Lerne die Grundlagen der Web-Barrierefreiheit | [Grundlagen der Barrierefreiheit](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS Grundlagen | JavaScript-Datentypen | Die Grundlagen der JavaScript-Datentypen | [Datentypen](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Grundlagen | Funktionen und Methoden | Lerne Funktionen und Methoden kennen, um den Logikablauf einer Anwendung zu steuern | [Funktionen und Methoden](./2-js-basics/2-functions-methods/README.md) | Jasmine und Christopher |
| 06 | JS Grundlagen | Entscheidungen treffen mit JS | Lerne, wie man Bedingungen im Code mit Entscheidungsstrukturen erstellt | [Entscheidungen treffen](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Grundlagen | Arrays und Schleifen | Arbeite mit Daten unter Verwendung von Arrays und Schleifen in JavaScript | [Arrays und Schleifen](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML in der Praxis | Baue das HTML für ein Online-Terrarium, mit Fokus auf Layout-Erstellung | [Einführung in HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS in der Praxis | Baue das CSS, um das Online-Terrarium zu stylen, konzentriere dich auf die Grundlagen von CSS einschließlich der responsiven Gestaltung der Seite | [Einführung in CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closures, DOM-Manipulation | Baue das JavaScript, das Terrarium als Drag-and-Drop-Oberfläche funktionsfähig macht, mit Fokus auf Closures und DOM-Manipulation | [JavaScript Closures, DOM-Manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Tipp-Spiel](./4-typing-game/solution/README.md) | Ein Tipp-Spiel bauen | Lerne, wie Tastaturereignisse die Logik deiner JavaScript-App steuern | [Ereignisgesteuerte Programmierung](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Zusammenarbeit mit Browsern | Lerne, wie Browser funktionieren, deren Geschichte und wie man die ersten Elemente einer Browser-Erweiterung erstellt | [Über Browser](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Formular erstellen, API aufrufen und Variablen im lokalen Speicher speichern | Baue die JavaScript-Elemente deiner Browser-Erweiterung, um eine API aufzurufen und verwendete Variablen im lokalen Speicher zu speichern | [APIs, Formulare und lokaler Speicher](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Hintergrundprozesse im Browser, Web-Performance | Nutze die Hintergrundprozesse des Browsers, um das Symbol der Erweiterung zu verwalten; lerne über Web-Performance und Optimierungen | [Hintergrundaufgaben und Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Weltraumspiel](./6-space-game/solution/README.md) | Fortgeschrittene Spieleentwicklung mit JavaScript | Lerne Vererbung mit Klassen und Komposition sowie das Pub/Sub-Muster kennen, um dich auf den Bau eines Spiels vorzubereiten | [Einführung in die fortgeschrittene Spieleentwicklung](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Weltraumspiel](./6-space-game/solution/README.md) | Zeichnen auf der Leinwand | Lerne die Canvas-API kennen, die zum Zeichnen auf dem Bildschirm verwendet wird | [Zeichnen auf Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Weltraumspiel](./6-space-game/solution/README.md) | Elemente auf dem Bildschirm bewegen | Entdecke, wie Elemente Bewegung mit kartesischen Koordinaten und der Canvas-API bekommen | [Elemente bewegen](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Weltraumspiel](./6-space-game/solution/README.md) | Kollisionserkennung | Sorge dafür, dass Elemente miteinander kollidieren und aufeinander reagieren, verwende Tastendrücke und eine Abklingfunktion | [Kollisionserkennung](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Weltraumspiel](./6-space-game/solution/README.md) | Punkte zählen | Führe mathematische Berechnungen basierend auf dem Spielstatus und der Leistung durch | [Punkte zählen](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Weltraumspiel](./6-space-game/solution/README.md) | Beenden und Neustarten des Spiels | Lerne das Beenden und Neustarten des Spiels, einschließlich Bereinigung von Ressourcen und Zurücksetzen von Variablenwerten | [Bedingung für das Ende](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML-Vorlagen und Routen in einer Webanwendung | Lerne, wie man das Gerüst einer mehrseitigen Website-Architektur mit Routing und HTML-Vorlagen erstellt | [HTML-Vorlagen und Routen](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | Ein Login- und Registrierungsformular erstellen | Lerne das Erstellen von Formularen und Validierungsroutinen | [Formulare](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | Methoden des Abrufens und Nutzens von Daten | Wie Daten in deine App hinein- und herausfließen, wie man sie abruft, speichert und entsorgt | [Daten](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](./7-bank-project/solution/README.md) | Konzepte des Zustandsmanagements | Lerne, wie deine App den Zustand beibehält und wie man ihn programmatisch verwaltet | [Zustandsmanagement](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | Arbeiten mit VScode | Lerne, wie man einen Code-Editor benutzt| [Benutzung des VScode Code Editors](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [KI-Assistenten](./9-chat-project/README.md) | Arbeiten mit KI | Lerne, wie du deinen eigenen KI-Assistenten baust | [KI-Assistent-Projekt](./9-chat-project/README.md) | Chris |
| | Projektname | Vermittelte Konzepte | Lernziele | Verknüpfte Lektion | Autor |
| :-: | :------------------------------------------------------: | :----------------------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Einstieg | Einführung in Programmierung und Werkzeuge der Branche | Lernen Sie die grundlegenden Grundlagen der meisten Programmiersprachen und über Software, die professionelle Entwickler unterstützt | [Einführung in Programmierungssprachen und Werkzeuge](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Einstieg | Grundlagen von GitHub, inklusive Teamarbeit | Wie man GitHub im Projekt benutzt, wie man mit anderen an einem Code zusammenarbeitet | [Einführung in GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Einstieg | Barrierefreiheit | Lernen Sie die Grundlagen der Barrierefreiheit im Web | [Barrierefreiheitsgrundlagen](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS Basics | JavaScript Datentypen | Die Grundlagen der JavaScript-Datentypen | [Datentypen](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Basics | Funktionen und Methoden | Lernen Sie über Funktionen und Methoden, um den Ablauf einer Anwendung zu steuern | [Funktionen und Methoden](./2-js-basics/2-functions-methods/README.md) | Jasmine und Christopher |
| 06 | JS Basics | Entscheidungen treffen mit JS | Lernen Sie, wie man Bedingungen im Code mit Entscheidungsstrukturen erstellt | [Entscheidungen treffen](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Basics | Arrays und Schleifen | Arbeiten Sie mit Daten unter Verwendung von Arrays und Schleifen in JavaScript | [Arrays und Schleifen](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML in der Praxis | Erstellen Sie das HTML für ein Online-Terrarium, konzentrieren Sie sich auf das Layout | [Einführung in HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS in der Praxis | Erstellen Sie das CSS zur Gestaltung des Online-Terrariums, mit Fokus auf die Grundlagen von CSS und responsive Gestaltung | [Einführung in CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closures, DOM-Manipulation | Schreiben Sie das JavaScript, um das Terrarium als Drag-&-Drop-Oberfläche nutzbar zu machen, mit Fokus auf Closures und DOM-Manipulation | [JavaScript Closures, DOM-Manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Tippspiel](./4-typing-game/solution/README.md) | Erstellen eines Tipp-Spiels | Lernen Sie, wie Sie Tastatureingaben verwenden, um die Logik Ihrer JavaScript-App zu steuern | [Ereignisgesteuerte Programmierung](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Grüne Browsererweiterung](./5-browser-extension/solution/README.md) | Arbeiten mit Browsern | Lernen Sie, wie Browser funktionieren, deren Geschichte und wie man die ersten Elemente einer Browsererweiterung erstellt | [Über Browser](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Grüne Browsererweiterung](./5-browser-extension/solution/README.md) | Formulare erstellen, API aufrufen und Variablen im lokalen Speicher sichern | Erstellen Sie die JavaScript-Elemente Ihrer Browsererweiterung, um eine API aufzurufen und Variablen im lokalen Speicher zu nutzen | [APIs, Formulare und lokaler Speicher](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Grüne Browsererweiterung](./5-browser-extension/solution/README.md) | Hintergrundprozesse im Browser, Web-Performance | Verwenden Sie die Hintergrundprozesse des Browsers, um das Symbol der Erweiterung zu verwalten; erfahren Sie mehr über Web-Performance und Optimierungen | [Hintergrundaufgaben und Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Weltraum-Spiel](./6-space-game/solution/README.md) | Fortgeschrittene Spieleentwicklung mit JavaScript | Lernen Sie über Vererbung mit Klassen und Komposition sowie das Pub/Sub-Muster, als Vorbereitung zum Erstellen eines Spiels | [Einführung in fortgeschrittene Spieleentwicklung](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Weltraum-Spiel](./6-space-game/solution/README.md) | Zeichnen auf dem Canvas | Lernen Sie die Canvas-API kennen, die verwendet wird, um Elemente auf einem Bildschirm zu zeichnen | [Zeichnen auf Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Weltraum-Spiel](./6-space-game/solution/README.md) | Bewegung von Elementen auf dem Bildschirm | Entdecken Sie, wie Elemente mit kartesischen Koordinaten und der Canvas-API Bewegung erhalten | [Bewegung von Elementen](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Weltraum-Spiel](./6-space-game/solution/README.md) | Kollisionserkennung | Lassen Sie Elemente kollidieren und aufeinander reagieren, verwenden Sie Tastendrücke und eine Abkühlfunktion, um die Spielperformance zu sichern | [Kollisionserkennung](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Weltraum-Spiel](./6-space-game/solution/README.md) | Punkte zählen | Führen Sie mathematische Berechnungen basierend auf dem Spielstatus und der Performance durch | [Punkte zählen](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Weltraum-Spiel](./6-space-game/solution/README.md) | Spiel beenden und neu starten | Lernen Sie, wie man das Spiel beendet und neu startet, inklusive Aufräumen von Assets und Zurücksetzen von Variablen | [Die Endbedingung](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML-Vorlagen und Routen in einer Web-App | Lernen Sie, wie Sie das Gerüst der Architektur einer mehrseitigen Webseite mit Routing und HTML-Vorlagen erstellen | [HTML-Vorlagen und Routen](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | Erstellen von Login- und Registrierungsformularen | Lernen Sie, wie man Formulare erstellt und Validierungsroutinen handhabt | [Formulare](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | Methoden zum Abrufen und Verwenden von Daten | Wie Daten in Ihre App gelangen, wie man sie abruft, speichert und entsorgt | [Daten](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](./7-bank-project/solution/README.md) | Konzepte des State-Managements | Lernen Sie, wie Ihre App den Zustand behält und wie Sie ihn programmgesteuert verwalten | [State Management](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | Arbeiten mit VScode | Lernen Sie, wie man einen Code-Editor benutzt | [VScode Code Editor verwenden](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [KI-Assistenten](./9-chat-project/README.md) | Arbeiten mit KI | Lernen Sie, wie Sie Ihren eigenen KI-Assistenten bauen | [KI-Assistent Projekt](./9-chat-project/README.md) | Chris |
## 🏫 Pädagogik
Unser Lehrplan ist auf zwei wichtige pädagogische Prinzipien ausgerichtet:
Unser Lehrplan wurde mit zwei zentralen pädagogischen Prinzipien entworfen:
* projektbasiertes Lernen
* häufige Quizze
Das Programm vermittelt die Grundlagen von JavaScript, HTML und CSS sowie die neuesten Werkzeuge und Techniken, die heutige Webentwickler nutzen. Die Lernenden haben die Möglichkeit, praktische Erfahrungen durch den Bau eines Tipp-Spiels, eines virtuellen Terrariums, einer umweltfreundlichen Browser-Erweiterung, eines Weltraumspiel-Klons im Stil von Space Invaders und einer Banking-App für Unternehmen zu sammeln. Am Ende der Reihe besitzen die Lernenden ein solides Verständnis der Webentwicklung.
Das Programm vermittelt die Grundlagen von JavaScript, HTML und CSS sowie die neuesten Werkzeuge und Techniken, die heutige Webentwickler verwenden. Die Teilnehmer haben die Möglichkeit, praktische Erfahrungen zu sammeln, indem sie ein Tipp-Spiel, ein virtuelles Terrarium, eine umweltfreundliche Browser-Erweiterung, ein Weltraum-Invader-Spiel und eine Banking-App für Unternehmen erstellen. Am Ende der Reihe haben die Teilnehmer ein solides Verständnis für Webentwicklung.
> 🎓 Die ersten Lektionen dieses Lehrplans kannst du als [Lernpfad](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) auf Microsoft Learn absolvieren!
> 🎓 Sie können die ersten Lektionen dieses Lehrplans als [Lernpfad](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) bei Microsoft Learn absolvieren!
Indem sichergestellt wird, dass die Inhalte mit Projekten verknüpft sind, wird der Prozess für die Lernenden interessanter und das Behalten der Konzepte wird verbessert. Wir haben außerdem mehrere Einstiegslektionen zu den Grundlagen von JavaScript geschrieben, um Konzepte einzuführen, kombiniert mit einem Video aus der Video-Tutorial-Reihe "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", einige der Autoren haben zu diesem Curriculum beigetragen.
Indem sichergestellt wird, dass die Inhalte mit Projekten übereinstimmen, wird der Prozess für Lernende ansprechender gestaltet und das Behalten der Konzepte wird verbessert. Wir haben außerdem mehrere Einstiegslektionen zu den Grundlagen von JavaScript geschrieben, um Konzepte einzuführen, kombiniert mit einem Video aus der Video-Tutorial-Reihe "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", von deren Autoren einige zu diesem Lehrplan beigetragen haben.
Zudem sorgt ein Quiz mit niedrigem Schwierigkeitsgrad vor einer Stunde dafür, dass der Lernende sich gezielt auf ein Thema einstellt, während ein zweites Quiz nach der Stunde das Behalten weiter unterstützt. Dieser Lehrplan wurde flexibel und unterhaltsam gestaltet und kann komplett oder in Teilen durchlaufen werden. Die Projekte beginnen klein und werden bis zum Ende des 12-Wochen-Zyklus zunehmend komplexer.
Zusätzlich setzt ein Quiz mit geringem Risiko vor einer Klasse die Absicht des Lernenden, ein Thema zu lernen, während ein zweites Quiz nach dem Unterricht die weitere Behaltensleistung sicherstellt. Dieser Lehrplan wurde flexibel und unterhaltsam gestaltet und kann komplett oder teilweise verwendet werden. Die Projekte beginnen klein und werden bis zum Ende des 12-wöchigen Zyklus zunehmend komplexer.
Obwohl wir bewusst darauf verzichtet haben, JavaScript-Frameworks einzuführen, um uns auf die grundlegenden Fähigkeiten als Webentwickler vor der Nutzung eines Frameworks zu konzentrieren, wäre ein guter nächster Schritt zur Abrundung dieses Lehrplans das Lernen über Node.js durch eine weitere Videosammlung: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
Während wir bewusst vermieden haben, JavaScript-Frameworks einzuführen, um uns auf grundlegende Fähigkeiten als Webentwickler vor der Einführung eines Frameworks zu konzentrieren, wäre ein guter nächster Schritt nach Abschluss dieses Lehrplans das Lernen über Node.js mit einer weiteren Video-Tutorial-Reihe: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> Besuche unsere [Verhaltensregeln](CODE_OF_CONDUCT.md) und [Beiträgerrichtlinien](CONTRIBUTING.md). Wir freuen uns über dein konstruktives Feedback!
> Besuchen Sie unsere [Verhaltensregeln](CODE_OF_CONDUCT.md) und [Beitragsrichtlinien](CONTRIBUTING.md). Wir freuen uns über Ihr konstruktives Feedback!
## 🧭 Offline-Zugriff
Du kannst diese Dokumentation offline nutzen, indem du [Docsify](https://docsify.js.org/#/) verwendest. Forke dieses Repo, [installiere Docsify](https://docsify.js.org/#/quickstart) auf deinem lokalen Rechner und gib dann im Hauptordner dieses Repos den Befehl `docsify serve` ein. Die Website wird auf Port 3000 auf deinem lokalen Host bereitgestellt: `localhost:3000`.
Sie können diese Dokumentation offline mit [Docsify](https://docsify.js.org/#/) ausführen. Forken Sie dieses Repository, [installieren Sie Docsify](https://docsify.js.org/#/quickstart) auf Ihrem lokalen Rechner und tippen Sie im Stammordner dieses Repos `docsify serve`. Die Webseite wird auf Port 3000 Ihres lokalen Hosts bereitgestellt: `localhost:3000`.
## 📘 PDF
Ein PDF aller Lektionen ist [hier](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf) verfügbar.
Ein PDF aller Lektionen finden Sie [hier](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Weitere Kurse
Unser Team erstellt weitere Kurse! Schau dir an:
## 🎒 Andere Kurse
Unser Team produziert auch andere Kurse! Schau dir an:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain4j für Einsteiger](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js für Einsteiger](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain für Einsteiger](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agents
[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AZD für Einsteiger](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge KI für Einsteiger](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP für Einsteiger](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![KI-Agenten für Einsteiger](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Generative AI Series
[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
### Generative KI-Serie
[![Generative KI für Einsteiger](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative KI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative KI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![Generative KI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
### Core Learning
[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![Cybersecurity for Beginners](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Web Dev for Beginners](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT for Beginners](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![XR Development for Beginners](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
### Grundlegendes Lernen
[![ML für Einsteiger](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Datenwissenschaft für Einsteiger](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![KI für Einsteiger](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![Cybersicherheit für Einsteiger](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Webentwicklung für Einsteiger](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT für Einsteiger](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![XR-Entwicklung für Einsteiger](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Copilot Series
[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
### Copilot-Serie
[![Copilot für KI-Paarprogrammierung](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot für C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot Abenteuer](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## Hilfe bekommen
## Hilfe erhalten
Wenn du stecken bleibst oder Fragen zum Erstellen von KI-Apps hast. Schließe dich anderen Lernenden und erfahrenen Entwicklern in Diskussionen über MCP an. Es ist eine unterstützende Gemeinschaft, in der Fragen willkommen sind und Wissen frei geteilt wird.
Wenn du feststeckst oder Fragen zum Erstellen von KI-Anwendungen hast, schließe dich Mitlernenden und erfahrenen Entwicklern in Diskussionen über MCP an. Es ist eine unterstützende Gemeinschaft, in der Fragen willkommen sind und Wissen frei geteilt wird.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Wenn du Produktfeedback oder Fehler beim Erstellen hast, besuche:
Wenn du Produktfeedback oder Fehler beim Entwickeln hast, besuche:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
## Lizenz
Dieses Repository ist unter der MIT-Lizenz lizenziert. Weitere Informationen findest du in der [LICENSE](../../LICENSE)-Datei.
Dieses Repository ist unter der MIT-Lizenz lizenziert. Weitere Informationen findest du in der Datei [LICENSE](../../LICENSE).
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Haftungsausschluss**:
Dieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir uns um Genauigkeit bemühen, bitten wir zu beachten, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache ist als verbindliche Quelle anzusehen. Für wichtige Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Verwendung dieser Übersetzung entstehen.
Dieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir auf Genauigkeit achten, können automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten. Das Originaldokument in seiner ursprünglichen Sprache gilt als maßgebliche Quelle. Für wichtige Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Verwendung dieser Übersetzung entstehen.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2025-10-03T11:12:55+00:00",
"translation_date": "2026-02-06T07:22:12+00:00",
"source_file": "AGENTS.md",
"language_code": "es"
},
@ -516,8 +516,8 @@
"language_code": "es"
},
"README.md": {
"original_hash": "490c83786552d7fab6390991517bef09",
"translation_date": "2026-01-29T17:30:55+00:00",
"original_hash": "805cd399757df19e886e86f0891a1374",
"translation_date": "2026-02-06T07:18:08+00:00",
"source_file": "README.md",
"language_code": "es"
},

@ -2,13 +2,13 @@
## Resumen del Proyecto
Este es un repositorio de currículo educativo diseñado para enseñar los fundamentos del desarrollo web a principiantes. El currículo es un curso completo de 12 semanas desarrollado por los Microsoft Cloud Advocates, que incluye 24 lecciones prácticas sobre JavaScript, CSS y HTML.
Este es un repositorio de currículo educativo para enseñar fundamentos de desarrollo web a principiantes. El currículo es un curso completo de 12 semanas desarrollado por Microsoft Cloud Advocates, con 24 lecciones prácticas que cubren JavaScript, CSS y HTML.
### Componentes Clave
- **Contenido Educativo**: 24 lecciones estructuradas organizadas en módulos basados en proyectos
- **Proyectos Prácticos**: Terrario, Juego de Escritura, Extensión de Navegador, Juego Espacial, Aplicación Bancaria, Editor de Código y Asistente de Chat con IA
- **Cuestionarios Interactivos**: 48 cuestionarios con 3 preguntas cada uno (evaluaciones antes y después de las lecciones)
- **Proyectos Prácticos**: Terrario, Juego de mecanografía, Extensión de navegador, Juego espacial, Aplicación bancaria, Editor de código y Asistente de chat IA
- **Cuestionarios Interactivos**: 48 cuestionarios con 3 preguntas cada uno (evaluaciones pre/post lección)
- **Soporte Multilingüe**: Traducciones automáticas a más de 50 idiomas mediante GitHub Actions
- **Tecnologías**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (para proyectos de IA)
@ -17,28 +17,28 @@ Este es un repositorio de currículo educativo diseñado para enseñar los funda
- Repositorio educativo con estructura basada en lecciones
- Cada carpeta de lección contiene README, ejemplos de código y soluciones
- Proyectos independientes en directorios separados (quiz-app, varios proyectos de lecciones)
- Sistema de traducción utilizando GitHub Actions (co-op-translator)
- Documentación servida mediante Docsify y disponible en formato PDF
- Sistema de traducción usando GitHub Actions (co-op-translator)
- Documentación servida mediante Docsify y disponible en PDF
## Comandos de Configuración
Este repositorio está diseñado principalmente para el consumo de contenido educativo. Para trabajar con proyectos específicos:
Este repositorio es principalmente para consumo de contenido educativo. Para trabajar con proyectos específicos:
### Configuración del Repositorio Principal
### Configuración Principal del Repositorio
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Configuración de la Aplicación de Cuestionarios (Vue 3 + Vite)
### Configuración de Quiz App (Vue 3 + Vite)
```bash
cd quiz-app
npm install
npm run dev # Start development server
npm run build # Build for production
npm run lint # Run ESLint
npm run dev # Iniciar servidor de desarrollo
npm run build # Construir para producción
npm run lint # Ejecutar ESLint
```
### API del Proyecto Bancario (Node.js + Express)
@ -46,9 +46,9 @@ npm run lint # Run ESLint
```bash
cd 7-bank-project/api
npm install
npm start # Start API server
npm run lint # Run ESLint
npm run format # Format with Prettier
npm start # Iniciar el servidor API
npm run lint # Ejecutar ESLint
npm run format # Formatear con Prettier
```
### Proyectos de Extensión de Navegador
@ -56,7 +56,7 @@ npm run format # Format with Prettier
```bash
cd 5-browser-extension/solution
npm install
# Follow browser-specific extension loading instructions
# Siga las instrucciones específicas del navegador para cargar extensiones
```
### Proyectos del Juego Espacial
@ -64,7 +64,7 @@ npm install
```bash
cd 6-space-game/solution
npm install
# Open index.html in browser or use Live Server
# Abre index.html en el navegador o usa Live Server
```
### Proyecto de Chat (Backend en Python)
@ -72,96 +72,96 @@ npm install
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# Set GITHUB_TOKEN environment variable
# Establecer la variable de entorno GITHUB_TOKEN
python api.py
```
## Flujo de Trabajo de Desarrollo
## Flujo de Desarrollo
### Para Contribuidores de Contenido
1. **Haz un fork del repositorio** en tu cuenta de GitHub
2. **Clona tu fork** localmente
3. **Crea una nueva rama** para tus cambios
4. Realiza cambios en el contenido de las lecciones o ejemplos de código
5. Prueba los cambios de código en los directorios de proyectos relevantes
6. Envía pull requests siguiendo las pautas de contribución
4. Realiza cambios en el contenido de lecciones o ejemplos de código
5. Prueba cualquier cambio de código en los directorios de proyectos relevantes
6. Envía pull requests siguiendo las directrices de contribución
### Para Estudiantes
1. Haz un fork o clona el repositorio
2. Navega por los directorios de las lecciones en orden
1. Haz fork o clona el repositorio
2. Navega por los directorios de las lecciones secuencialmente
3. Lee los archivos README de cada lección
4. Completa los cuestionarios previos a la lección en https://ff-quizzes.netlify.app/web/
5. Trabaja con los ejemplos de código en las carpetas de las lecciones
6. Completa las tareas y desafíos
5. Trabaja con los ejemplos de código en las carpetas de lecciones
6. Completa tareas y desafíos
7. Realiza los cuestionarios posteriores a la lección
### Desarrollo en Vivo
- **Documentación**: Ejecuta `docsify serve` en la raíz (puerto 3000)
- **Aplicación de Cuestionarios**: Ejecuta `npm run dev` en el directorio quiz-app
- **Quiz App**: Ejecuta `npm run dev` en el directorio quiz-app
- **Proyectos**: Usa la extensión Live Server de VS Code para proyectos HTML
- **Proyectos API**: Ejecuta `npm start` en los directorios API correspondientes
- **Proyectos API**: Ejecuta `npm start` en los directorios API respectivos
## Instrucciones de Pruebas
### Pruebas de la Aplicación de Cuestionarios
### Pruebas de Quiz App
```bash
cd quiz-app
npm run lint # Check for code style issues
npm run build # Verify build succeeds
npm run lint # Comprobar problemas de estilo de código
npm run build # Verificar que la compilación tenga éxito
```
### Pruebas de la API Bancaria
```bash
cd 7-bank-project/api
npm run lint # Check for code style issues
node server.js # Verify server starts without errors
npm run lint # Comprobar problemas de estilo de código
node server.js # Verificar que el servidor arranque sin errores
```
### Enfoque General de Pruebas
- Este es un repositorio educativo sin pruebas automatizadas completas
- Las pruebas manuales se centran en:
- Ejecución de ejemplos de código sin errores
- Funcionamiento correcto de los enlaces en la documentación
- Construcción exitosa de los proyectos
- Cumplimiento de las mejores prácticas en los ejemplos
- Que los ejemplos de código se ejecuten sin errores
- Que los enlaces en la documentación funcionen correctamente
- Que las compilaciones de proyectos se completen exitosamente
- Que los ejemplos sigan buenas prácticas
### Verificaciones Antes de Enviar
### Verificaciones Previas a la Envío
- Ejecuta `npm run lint` en los directorios con package.json
- Verifica que los enlaces en markdown sean válidos
- Prueba los ejemplos de código en el navegador o Node.js
- Asegúrate de que las traducciones mantengan la estructura adecuada
- Ejecuta `npm run lint` en directorios con package.json
- Verifica que los enlaces markdown sean válidos
- Prueba los ejemplos de código en navegador o Node.js
- Comprueba que las traducciones mantengan la estructura adecuada
## Pautas de Estilo de Código
## Guías de Estilo de Código
### JavaScript
- Usa sintaxis moderna ES6+
- Sigue las configuraciones estándar de ESLint proporcionadas en los proyectos
- Usa nombres de variables y funciones significativos para mayor claridad educativa
- Agrega comentarios explicando conceptos para los estudiantes
- Sigue las configuraciones estándar de ESLint provistas en proyectos
- Usa nombres de variables y funciones significativos para claridad educativa
- Añade comentarios explicando conceptos para los estudiantes
- Formatea usando Prettier donde esté configurado
### HTML/CSS
- Elementos semánticos de HTML5
- Principios de diseño responsivo
- Convenciones claras para nombrar clases
- Comentarios explicando técnicas de CSS para los estudiantes
- Convenciones claras para nombres de clases
- Comentarios que expliquen técnicas CSS para los estudiantes
### Python
- Directrices de estilo PEP 8
- Ejemplos de código claros y educativos
- Indicaciones de tipo donde sean útiles para el aprendizaje
- Guías de estilo PEP 8
- Código claro y educativo
- Anotaciones de tipos donde ayuden al aprendizaje
### Documentación en Markdown
### Documentación Markdown
- Jerarquía clara de encabezados
- Bloques de código con especificación de lenguaje
@ -172,54 +172,54 @@ node server.js # Verify server starts without errors
### Organización de Archivos
- Lecciones numeradas secuencialmente (1-getting-started-lessons, 2-js-basics, etc.)
- Cada proyecto tiene directorios `solution/` y, a menudo, `start/` o `your-work/`
- Imágenes almacenadas en carpetas `images/` específicas de cada lección
- Traducciones en la estructura `translations/{language-code}/`
- Cada proyecto tiene directorios `solution/` y a menudo `start/` o `your-work/`
- Imágenes almacenadas en carpetas `images/` específicas de las lecciones
- Traducciones en estructura `translations/{language-code}/`
## Construcción y Despliegue
### Despliegue de la Aplicación de Cuestionarios (Azure Static Web Apps)
### Despliegue de Quiz App (Azure Static Web Apps)
La aplicación quiz-app está configurada para el despliegue en Azure Static Web Apps:
La quiz-app está configurada para despliegue en Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Creates dist/ folder
# Deploys via GitHub Actions workflow on push to main
npm run build # Crea la carpeta dist/
# Despliega a través del flujo de trabajo de GitHub Actions al hacer push a main
```
Configuración de Azure Static Web Apps:
- **Ubicación de la aplicación**: `/quiz-app`
- **Ubicación de la App**: `/quiz-app`
- **Ubicación de salida**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
- **Flujo de trabajo**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Generación de Documentación en PDF
### Generación de PDF de Documentación
```bash
npm install # Install docsify-to-pdf
npm run convert # Generate PDF from docs
npm install # Instalar docsify-to-pdf
npm run convert # Generar PDF desde docs
```
### Documentación con Docsify
```bash
npm install -g docsify-cli # Install Docsify globally
docsify serve # Serve on localhost:3000
npm install -g docsify-cli # Instalar Docsify globalmente
docsify serve # Servir en localhost:3000
```
### Construcciones Específicas de Proyectos
### Compilaciones Específicas de Proyectos
Cada directorio de proyecto puede tener su propio proceso de construcción:
Cada directorio de proyecto puede tener su propio proceso de compilación:
- Proyectos Vue: `npm run build` crea paquetes de producción
- Proyectos estáticos: Sin paso de construcción, sirve los archivos directamente
- Proyectos estáticos: Sin paso de compilación, se sirven archivos directamente
## Pautas para Pull Requests
## Guías para Pull Requests
### Formato del Título
Usa títulos claros y descriptivos que indiquen el área de cambio:
- `[Quiz-app] Añadir nuevo cuestionario para la lección X`
- `[Lesson-3] Corregir error tipográfico en el proyecto terrario`
Usa títulos claros y descriptivos indicando el área del cambio:
- `[Quiz-app] Añadir nuevo quiz para la lección X`
- `[Lesson-3] Corregir error tipográfico en proyecto terrarium`
- `[Translation] Añadir traducción al español para la lección 5`
- `[Docs] Actualizar instrucciones de configuración`
@ -228,55 +228,55 @@ Usa títulos claros y descriptivos que indiquen el área de cambio:
Antes de enviar un PR:
1. **Calidad del Código**:
- Ejecuta `npm run lint` en los directorios de proyectos afectados
- Corrige todos los errores y advertencias de linting
- Ejecuta `npm run lint` en los directorios de proyecto afectados
- Corrige todos los errores y advertencias de lint
2. **Verificación de Construcción**:
- Ejecuta `npm run build` si aplica
- Asegúrate de que no haya errores de construcción
3. **Validación de Enlaces**:
- Prueba todos los enlaces en markdown
- Prueba todos los enlaces markdown
- Verifica que las referencias a imágenes funcionen
4. **Revisión de Contenido**:
- Revisa ortografía y gramática
- Asegúrate de que los ejemplos de código sean correctos y educativos
- Asegura que los ejemplos de código sean correctos y educativos
- Verifica que las traducciones mantengan el significado original
### Requisitos de Contribución
- Aceptar el Microsoft CLA (verificación automática en el primer PR)
- Aceptar el CLA de Microsoft (verificación automática en el primer PR)
- Seguir el [Código de Conducta de Código Abierto de Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Consulta [CONTRIBUTING.md](./CONTRIBUTING.md) para pautas detalladas
- Referencia números de issues en la descripción del PR si aplica
- Ver [CONTRIBUTING.md](./CONTRIBUTING.md) para guías detalladas
- Referenciar números de issues en la descripción del PR si aplica
### Proceso de Revisión
- Los PRs son revisados por mantenedores y la comunidad
- Los PRs son revisados por mantenedores y comunidad
- Se prioriza la claridad educativa
- Los ejemplos de código deben seguir las mejores prácticas actuales
- Las traducciones son revisadas para precisión y adecuación cultural
- Los ejemplos deben seguir las mejores prácticas actuales
- Las traducciones son revisadas por precisión y adecuación cultural
## Sistema de Traducción
### Traducción Automática
- Utiliza GitHub Actions con el workflow co-op-translator
- Usa GitHub Actions con el flujo de trabajo co-op-translator
- Traduce automáticamente a más de 50 idiomas
- Archivos fuente en directorios principales
- Archivos traducidos en `translations/{language-code}/`
- Archivos traducidos en directorios `translations/{language-code}/`
### Añadir Mejoras Manuales a Traducciones
### Añadiendo Mejoras Manuales a la Traducción
1. Localiza el archivo en `translations/{language-code}/`
2. Realiza mejoras manteniendo la estructura
3. Asegúrate de que los ejemplos de código sigan siendo funcionales
2. Realiza mejoras preservando la estructura
3. Asegura que los ejemplos de código sigan funcionando
4. Prueba cualquier contenido de cuestionarios localizado
### Metadatos de Traducción
Los archivos traducidos incluyen un encabezado de metadatos:
Los archivos traducidos incluyen encabezado de metadatos:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -293,25 +293,25 @@ CO_OP_TRANSLATOR_METADATA:
### Problemas Comunes
**La aplicación de cuestionarios no inicia**:
- Verifica la versión de Node.js (se recomienda v14+)
- Elimina `node_modules` y `package-lock.json`, ejecuta `npm install` nuevamente
- Verifica conflictos de puertos (por defecto: Vite usa el puerto 5173)
**La aplicación de quiz no arranca**:
- Verifica versión de Node.js (se recomienda v14+)
- Elimina `node_modules` y `package-lock.json`, ejecuta `npm install` de nuevo
- Revisa conflictos de puerto (por defecto: Vite usa puerto 5173)
**El servidor API no inicia**:
- Verifica que la versión de Node.js cumpla con el mínimo (node >=10)
**El servidor API no arranca**:
- Verifica que la versión de Node.js sea mínima (node >=10)
- Comprueba si el puerto ya está en uso
- Asegúrate de que todas las dependencias estén instaladas con `npm install`
- Asegúrate que todas las dependencias estén instaladas con `npm install`
**La extensión de navegador no se carga**:
- Verifica que manifest.json esté correctamente formateado
- Revisa la consola del navegador para errores
- Sigue las instrucciones específicas del navegador para instalar extensiones
**La extensión del navegador no carga**:
- Verifica que manifest.json esté bien formateado
- Revisa la consola del navegador por errores
- Sigue las instrucciones específicas para instalar extensiones en cada navegador
**Problemas con el proyecto de chat en Python**:
- Asegúrate de que el paquete OpenAI esté instalado: `pip install openai`
- Asegura que el paquete OpenAI esté instalado: `pip install openai`
- Verifica que la variable de entorno GITHUB_TOKEN esté configurada
- Revisa los permisos de acceso a GitHub Models
- Comprueba los permisos de acceso a GitHub Models
**Docsify no sirve la documentación**:
- Instala docsify-cli globalmente: `npm install -g docsify-cli`
@ -321,24 +321,24 @@ CO_OP_TRANSLATOR_METADATA:
### Consejos para el Entorno de Desarrollo
- Usa VS Code con la extensión Live Server para proyectos HTML
- Instala las extensiones ESLint y Prettier para un formato consistente
- Usa las herramientas de desarrollo del navegador para depurar JavaScript
- Para proyectos Vue, instala la extensión Vue DevTools en el navegador
- Instala las extensiones ESLint y Prettier para formato consistente
- Usa DevTools del navegador para depurar JavaScript
- Para proyectos Vue, instala la extensión Vue DevTools del navegador
### Consideraciones de Rendimiento
- El gran número de archivos traducidos (más de 50 idiomas) hace que los clones completos sean grandes
- Usa un clon superficial si solo trabajas en contenido: `git clone --depth 1`
- Excluye las traducciones de las búsquedas cuando trabajes en contenido en inglés
- Gran cantidad de archivos traducidos (50+ idiomas) hacen que los clones completos sean grandes
- Usa clonación superficial si solo trabajas en contenido: `git clone --depth 1`
- Excluye traducciones de las búsquedas cuando trabajes en contenido en inglés
- Los procesos de construcción pueden ser lentos en la primera ejecución (npm install, construcción con Vite)
## Consideraciones de Seguridad
### Variables de Entorno
- Las claves de API nunca deben ser comprometidas en el repositorio
- Las claves API nunca deben ser comprometidas al repositorio
- Usa archivos `.env` (ya incluidos en `.gitignore`)
- Documenta las variables de entorno requeridas en los archivos README de los proyectos
- Documenta las variables de entorno requeridas en los README de los proyectos
### Proyectos en Python
@ -358,49 +358,51 @@ CO_OP_TRANSLATOR_METADATA:
- Principiantes completos en desarrollo web
- Estudiantes y autodidactas
- Profesores que usan el currículo en aulas
- El contenido está diseñado para accesibilidad y desarrollo gradual de habilidades
- Profesores usando el currículo en aulas
- Contenido diseñado para accesibilidad y construcción gradual de habilidades
### Filosofía Educativa
- Enfoque de aprendizaje basado en proyectos
- Verificaciones frecuentes de conocimiento (cuestionarios)
- Comprobaciones frecuentes de conocimiento (cuestionarios)
- Ejercicios prácticos de codificación
- Ejemplos de aplicación en el mundo real
- Enfoque en fundamentos antes de frameworks
### Mantenimiento del Repositorio
- Comunidad activa de estudiantes y contribuyentes
- Comunidad activa de estudiantes y contribuidores
- Actualizaciones regulares de dependencias y contenido
- Issues y discusiones monitoreados por mantenedores
- Issues y discusiones monitoreadas por mantenedores
- Actualizaciones de traducción automatizadas mediante GitHub Actions
### Recursos Relacionados
- [Módulos de Microsoft Learn](https://docs.microsoft.com/learn/)
- [Recursos del Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [Recursos Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) recomendado para estudiantes
- Cursos adicionales: Generative AI, Ciencia de Datos, ML, currículos de IoT disponibles
- Cursos adicionales: IA generativa, ciencia de datos, ML, curricula de IoT disponibles
### Trabajando con Proyectos Específicos
### Trabajo con Proyectos Específicos
Para instrucciones detalladas sobre proyectos individuales, consulta los archivos README en:
- `quiz-app/README.md` - Aplicación de cuestionarios en Vue 3
- `quiz-app/README.md` - Aplicación de quizzes en Vue 3
- `7-bank-project/README.md` - Aplicación bancaria con autenticación
- `5-browser-extension/README.md` - Desarrollo de extensiones de navegador
- `6-space-game/README.md` - Desarrollo de juegos basados en Canvas
- `9-chat-project/README.md` - Proyecto de asistente de chat con IA
- `5-browser-extension/README.md` - Desarrollo de extensión de navegador
- `6-space-game/README.md` - Desarrollo de juego basado en canvas
- `9-chat-project/README.md` - Proyecto de asistente de chat IA
### Estructura Monorepo
### Estructura de Monorepo
Aunque no es un monorepo tradicional, este repositorio contiene múltiples proyectos independientes:
- Cada lección es autónoma
- Los proyectos no comparten dependencias
- Trabaja en proyectos individuales sin afectar a otros
- Clona el repositorio completo para la experiencia completa del currículo
- Clona todo el repositorio para la experiencia completa del currículo
---
**Descargo de responsabilidad**:
Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Si bien nos esforzamos por lograr precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que surjan del uso de esta traducción.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Aviso legal**:
Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por lograr la precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos responsabilizamos por ningún malentendido o interpretación errónea que resulte del uso de esta traducción.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -10,9 +10,9 @@
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
# Desarrollo Web para Principiantes - Un Currículo
# Desarrollo Web para Principiantes - Un Plan de Estudios
Aprende los fundamentos del desarrollo web con nuestro curso integral de 12 semanas impartido por Microsoft Cloud Advocates. Cada una de las 24 lecciones profundiza en JavaScript, CSS y HTML a través de proyectos prácticos como terrarios, extensiones de navegador y juegos espaciales. Participa en cuestionarios, discusiones y tareas prácticas. Mejora tus habilidades y optimiza la retención de conocimiento con nuestra pedagógica efectiva basada en proyectos. ¡Comienza tu viaje en la programación hoy!
Aprende los fundamentos del desarrollo web con nuestro curso integral de 12 semanas impartido por Microsoft Cloud Advocates. Cada una de las 24 lecciones se sumerge en JavaScript, CSS y HTML a través de proyectos prácticos como terrarios, extensiones de navegador y juegos espaciales. Participa en cuestionarios, discusiones y tareas prácticas. Mejora tus habilidades y optimiza la retención del conocimiento con nuestra efectiva pedagogía basada en proyectos. ¡Comienza tu viaje de programación hoy!
Únete a la Comunidad de Discord de Azure AI Foundry
@ -21,113 +21,112 @@ Aprende los fundamentos del desarrollo web con nuestro curso integral de 12 sema
Sigue estos pasos para comenzar a usar estos recursos:
1. **Haz un Fork del Repositorio**: Haz clic en [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Clona el Repositorio**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Únete al Discord de Azure AI Foundry y conoce expertos y desarrolladores**](https://discord.com/invite/ByRwuEEgH4)
3. [**Únete al Discord de Azure AI Foundry y conoce expertos y otros desarrolladores**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Soporte Multilingüe
#### Soportado vía GitHub Action (Automatizado y Siempre Actualizado)
#### Soportado mediante GitHub Action (Automatizado y Siempre Actualizado)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](./README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
> **¿Prefieres clonar localmente?**
> **¿Prefieres Clonar Localmente?**
> Este repositorio incluye más de 50 traducciones que aumentan significativamente el tamaño de la descarga. Para clonar sin traducciones, utiliza sparse checkout:
> Este repositorio incluye más de 50 traducciones de idiomas, lo que incrementa significativamente el tamaño de descarga. Para clonar sin las traducciones, usa el sparse checkout:
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
> Esto te da todo lo que necesitas para completar el curso con una descarga mucho más rápida.
> Esto te proporciona todo lo necesario para completar el curso con una descarga mucho más rápida.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Si deseas que se soporten más idiomas de traducción están listados [aquí](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**Si deseas que se soporten idiomas de traducción adicionales, estos están listados [aquí](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
[![Abrir en Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Abrir%20en%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑‍🎓 _¿Eres estudiante?_
Visita la [**página Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) donde encontrarás recursos para principiantes, paquetes para estudiantes e incluso formas de obtener un cupón de certificado gratuito. Esta es la página que quieres agregar a favoritos y revisar de vez en cuando ya que cambiamos el contenido mensualmente.
Visita la [**página del Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) donde encontrarás recursos para principiantes, paquetes para estudiantes e incluso formas de obtener un cupón para certificado gratuito. Esta es la página que quieres marcar como favorito y revisar de vez en cuando ya que cambiamos el contenido mensualmente.
### 📣 Anuncio - ¡Nuevos desafíos del modo GitHub Copilot Agent para completar!
### 📣 Anuncio - ¡Nuevos desafíos de modo agente GitHub Copilot para completar!
Nuevo desafío añadido, busca "GitHub Copilot Agent Challenge 🚀" en la mayoría de los capítulos. Es un nuevo reto para que completes usando GitHub Copilot y el modo Agent. Si no has usado el modo Agent antes, este no solo genera texto sino que también puede crear y editar archivos, ejecutar comandos y más.
Nuevo desafío añadido, busca "GitHub Copilot Agent Challenge 🚀" en la mayoría de los capítulos. Es un nuevo desafío para ti para completar usando GitHub Copilot y el modo Agente. Si no has usado antes el modo Agente, es capaz de no solo generar texto sino también crear y editar archivos, ejecutar comandos y más.
### 📣 Anuncio - _Nuevo Proyecto para construir con IA Generativa_
### 📣 Anuncio - _Nuevo proyecto para construir usando IA generativa_
Nuevo proyecto de Asistente AI agregado, échale un vistazo en el [proyecto](./9-chat-project/README.md)
Nuevo proyecto de asistente de IA agregado, échale un vistazo [proyecto](./9-chat-project/README.md)
### 📣 Anuncio - _Nuevo Currículo_ sobre IA Generativa para JavaScript acaba de ser publicado
### 📣 Anuncio - _Nuevo Plan de Estudios_ sobre IA Generativa para JavaScript acaba de ser lanzado
¡No te pierdas nuestro nuevo currículo de IA Generativa!
¡No te pierdas nuestro nuevo plan de estudios de IA Generativa!
Visita [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para comenzar.
Visita [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para comenzar!
![Background](../../translated_images/es/background.148a8d43afde5730.webp)
- Lecciones que cubren desde lo básico hasta RAG.
- Interactúa con personajes históricos usando GenAI y nuestra app compañera.
- Narrativa divertida y atractiva, ¡viajarás en el tiempo!
- Lecciones que cubren todo desde lo básico hasta RAG.
- Interactúa con personajes históricos usando GenAI y nuestra app complementaria.
- Narrativa divertida y atractiva, ¡harás viajes en el tiempo!
![character](../../translated_images/es/character.5c0dd8e067ffd693.webp)
Cada lección incluye una tarea para completar, un chequeo de conocimiento y un desafío que te guiará en aprendizaje de temas como:
- Prompts y la ingeniería de prompts
- Generación de apps con texto e imagen
- Apps de búsqueda
Cada lección incluye una tarea para completar, una verificación de conocimientos y un desafío para guiarte en temas como:
- Creación de prompts y ingeniería de prompts
- Generación de aplicaciones de texto e imagen
- Aplicaciones de búsqueda
Visita [https://aka.ms/genai-js-course](../../[https:/aka.ms/genai-js-course) para comenzar!
## 🌱 Primeros pasos
## 🌱 Comenzando
> **Docentes**, hemos [incluido algunas sugerencias](for-teachers.md) sobre cómo usar este currículo. ¡Nos encantaría recibir sus comentarios [en nuestro foro de discusión](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **Docentes**, hemos [incluido algunas sugerencias](for-teachers.md) sobre cómo utilizar este plan de estudios. ¡Nos encantaría recibir sus comentarios [en nuestro foro de discusión](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
**[Estudiantes](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, para cada lección, comiencen con un cuestionario previo a la clase y continúen leyendo el material, completando las diversas actividades y evaluando su comprensión con el cuestionario posterior a la clase.
**[Estudiantes](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, para cada lección, comiencen con un cuestionario previo a la clase y sigan leyendo el material, completando las diversas actividades y verificando su comprensión con el cuestionario posterior a la clase.
Para mejorar su experiencia de aprendizaje, ¡conéctense con sus compañeros para trabajar juntos en los proyectos! Se fomentan las discusiones en nuestro [foro de discusión](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) donde nuestro equipo de moderadores estará disponible para responder sus preguntas.
Para mejorar tu experiencia de aprendizaje, ¡conéctate con tus compañeros para trabajar juntos en los proyectos! Se fomentan las discusiones en nuestro [foro de discusión](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) donde nuestro equipo de moderadores estará disponible para responder tus preguntas.
Para profundizar su educación, recomendamos explorar [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) para materiales de estudio adicionales.
Para profundizar en tu educación, te recomendamos explorar [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) para materiales adicionales de estudio.
### 📋 Configurando tu entorno
¡Este currículo tiene un entorno de desarrollo listo para usar! Al comenzar, puedes elegir ejecutar el currículo en un [Codespace](https://github.com/features/codespaces/) (_un entorno basado en navegador, sin necesidad de instalaciones_), o localmente en tu computadora usando un editor de texto como [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
¡Este plan de estudios tiene un entorno de desarrollo listo para usar! Al comenzar, puedes elegir ejecutar el plan en un [Codespace](https://github.com/features/codespaces/) (_un entorno basado en navegador, sin necesidad de instalaciones_), o localmente en tu computadora usando un editor de texto como [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Crea tu repositorio
Para que puedas guardar fácilmente tu trabajo, se recomienda crear tu propia copia de este repositorio. Puedes hacerlo haciendo clic en el botón **Use this template** en la parte superior de la página. Esto creará un nuevo repositorio en tu cuenta de GitHub con una copia del currículo.
Para que puedas guardar fácilmente tu trabajo, se recomienda que crees tu propia copia de este repositorio. Puedes hacer esto haciendo clic en el botón **Usar esta plantilla** en la parte superior de la página. Esto creará un nuevo repositorio en tu cuenta de GitHub con una copia del plan de estudios.
Sigue estos pasos:
1. **Haz un Fork del Repositorio**: Haz clic en el botón "Fork" en la esquina superior derecha de esta página.
2. **Clona el Repositorio**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### Ejecutando el currículo en un Codespace
#### Ejecutando el plan en un Codespace
En tu copia de este repositorio que creaste, haz clic en el botón **Code** y selecciona **Open with Codespaces**. Esto creará un nuevo Codespace para que trabajes en él.
En tu copia de este repositorio que creaste, haz clic en el botón **Code** y selecciona **Open with Codespaces**. Esto creará un nuevo Codespace para que trabajes.
![Codespace](../../translated_images/es/createcodespace.0238bbf4d7a8d955.webp)
#### Ejecutando el currículo localmente en tu computadora
#### Ejecutando el plan localmente en tu computadora
Para ejecutar este currículo localmente en tu computadora, necesitarás un editor de texto, un navegador y una herramienta de línea de comandos. Nuestra primera lección, [Introducción a los lenguajes de programación y herramientas del oficio](../../1-getting-started-lessons/1-intro-to-programming-languages), te guiará por diversas opciones para cada una de estas herramientas para que selecciones la que mejor te funcione.
Para ejecutar este plan localmente en tu computadora, necesitarás un editor de texto, un navegador y una herramienta de línea de comandos. Nuestra primera lección, [Introducción a Lenguajes de Programación y Herramientas del Oficio](../../1-getting-started-lessons/1-intro-to-programming-languages), te guiará a través de varias opciones para cada una de estas herramientas para que selecciones la que mejor te funcione.
Nuestra recomendación es usar [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) como editor, que también tiene un [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) incorporado. Puedes descargar Visual Studio Code [aquí](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Nuestra recomendación es usar [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) como tu editor, que también tiene un [Terminal integrado](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Puedes descargar Visual Studio Code [aquí](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Clona tu repositorio en tu computadora. Puedes hacerlo haciendo clic en el botón **Code** y copiando la URL:
1. Clona tu repositorio a tu computadora. Puedes hacer esto haciendo clic en el botón **Code** y copiando la URL:
[CodeSpace](./images/createcodespace.png)
Luego, abre [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) dentro de [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) y ejecuta el siguiente comando, reemplazando `<your-repository-url>` con la URL que acabas de copiar:
Luego, abre [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) dentro de [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) y ejecuta el siguiente comando, reemplazando `<your-repository-url>` con la URL que acabas de copiar:
```bash
git clone <your-repository-url>
```
2. Abre la carpeta en Visual Studio Code. Puedes hacer esto haciendo clic en **Archivo** > **Abrir carpeta** y seleccionando la carpeta que acabas de clonar.
2. Abre la carpeta en Visual Studio Code. Puedes hacerlo haciendo clic en **Archivo** > **Abrir carpeta** y seleccionando la carpeta que acabas de clonar.
> Extensiones recomendadas de Visual Studio Code:
> Extensiones recomendadas de Visual Studio Code:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - para previsualizar páginas HTML dentro de Visual Studio Code
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - para ayudarte a escribir código más rápido
@ -136,86 +135,87 @@ Luego, abre [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc
- sketchnote opcional
- video suplementario opcional
- cuestionario de calentamiento previo a la lección
- cuestionario previo a la lección
- lección escrita
- para lecciones basadas en proyectos, guías paso a paso sobre cómo construir el proyecto
- chequeos de conocimiento
- para lecciones basadas en proyectos, guías paso a paso para construir el proyecto
- verificaciones de conocimiento
- un desafío
- lectura suplementaria
- lectura complementaria
- tarea
- [cuestionario posterior a la lección](https://ff-quizzes.netlify.app/web/)
> **Una nota sobre los cuestionarios**: Todos los cuestionarios están contenidos en la carpeta Quiz-app, 48 cuestionarios en total de tres preguntas cada uno. Están disponibles [aquí](https://ff-quizzes.netlify.app/web/); la aplicación de cuestionarios puede ejecutarse localmente o desplegarse en Azure; sigue las instrucciones en la carpeta `quiz-app`.
> **Una nota sobre los cuestionarios**: Todos los cuestionarios están contenidos en la carpeta Quiz-app, 48 cuestionarios en total de tres preguntas cada uno. Están disponibles [aquí](https://ff-quizzes.netlify.app/web/); la aplicación del cuestionario puede ejecutarse localmente o desplegarse en Azure; sigue las instrucciones en la carpeta `quiz-app`.
## 🗃️ Lecciones
| | Nombre del Proyecto | Conceptos Enseñados | Objetivos de Aprendizaje | Lección Vinculada | Autor |
| :-: | :------------------------------------------------------------: | :------------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Empezando | Introducción a la Programación y Herramientas de Trabajo | Aprende los fundamentos básicos detrás de la mayoría de los lenguajes de programación y sobre el software que ayuda a los desarrolladores profesionales a hacer su trabajo | [Introducción a Lenguajes de Programación y Herramientas de Trabajo](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Empezando | Conceptos Básicos de GitHub, incluye trabajo en equipo | Cómo usar GitHub en tu proyecto, cómo colaborar con otros en una base de código | [Introducción a GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Empezando | Accesibilidad | Aprende los conceptos básicos de accesibilidad web | [Fundamentos de Accesibilidad](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | Fundamentos de JS | Tipos de Datos en JavaScript | Lo básico sobre tipos de datos en JavaScript | [Tipos de Datos](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | Fundamentos de JS | Funciones y Métodos | Aprende sobre funciones y métodos para manejar el flujo lógico de una aplicación | [Funciones y Métodos](./2-js-basics/2-functions-methods/README.md) | Jasmine y Christopher |
| 06 | Fundamentos de JS | Tomando Decisiones con JS | Aprende a crear condiciones en tu código usando métodos para tomar decisiones | [Tomando Decisiones](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | Fundamentos de JS | Arrays y Bucles | Trabaja con datos usando arrays y bucles en JavaScript | [Arrays y Bucles](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrario](./3-terrarium/solution/README.md) | HTML en la práctica | Construye el HTML para crear un terrario en línea, enfocado en construir un diseño | [Introducción a HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrario](./3-terrarium/solution/README.md) | CSS en la práctica | Construye el CSS para diseñar el terrario en línea, enfocándote en los conceptos básicos de CSS, incluyendo hacer la página responsive | [Introducción a CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrario](./3-terrarium/solution/README.md) | Clousures en JavaScript, manipulación del DOM | Construye el JavaScript para que el terrario funcione como una interfaz de arrastrar y soltar, enfocándote en closures y manipulación del DOM | [Closures en JavaScript, manipulación del DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Juego de mecanografía](./4-typing-game/solution/README.md) | Construir un juego de mecanografía | Aprende a usar eventos del teclado para impulsar la lógica de tu aplicación en JavaScript | [Programación impulsada por eventos](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Extensión Verde para Navegadores](./5-browser-extension/solution/README.md) | Trabajando con Navegadores | Aprende cómo funcionan los navegadores, su historia y cómo estructurar los primeros elementos de una extensión para navegador | [Acerca de los Navegadores](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Extensión Verde para Navegadores](./5-browser-extension/solution/README.md) | Construcción de un formulario, llamada a una API y almacenamiento local | Construye los elementos JavaScript de tu extensión de navegador para llamar a una API usando variables almacenadas localmente | [APIs, Formularios y Almacenamiento Local](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Extensión Verde para Navegadores](./5-browser-extension/solution/README.md) | Procesos en segundo plano en el navegador, rendimiento web | Usa los procesos en segundo plano del navegador para manejar el ícono de la extensión; aprende acerca del rendimiento web y algunas optimizaciones para mejorar | [Tareas en Segundo Plano y Rendimiento](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Juego Espacial](./6-space-game/solution/README.md) | Desarrollo de Juegos más Avanzado con JavaScript | Aprende sobre Herencia usando tanto Clases como Composición y el patrón Pub/Sub, preparándote para construir un juego | [Introducción al Desarrollo Avanzado de Juegos](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Juego Espacial](./6-space-game/solution/README.md) | Dibujar en canvas | Aprende sobre la API Canvas, usada para dibujar elementos en una pantalla | [Dibujar en Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Juego Espacial](./6-space-game/solution/README.md) | Mover elementos alrededor de la pantalla | Descubre cómo los elementos pueden ganar movimiento usando coordenadas cartesianas y la API Canvas | [Mover elementos](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Juego Espacial](./6-space-game/solution/README.md) | Detección de colisiones | Haz que los elementos colisionen y reaccionen entre sí usando pulsaciones de teclas y proporciona una función de cooldown para asegurar el rendimiento del juego | [Detección de colisiones](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Juego Espacial](./6-space-game/solution/README.md) | Mantener puntuación | Realiza cálculos matemáticos basados en el estado y rendimiento del juego | [Mantener puntuación](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Juego Espacial](./6-space-game/solution/README.md) | Terminar y reiniciar el juego | Aprende sobre cómo terminar y reiniciar el juego, incluyendo limpiar recursos y resetear valores de variables | [Condición de finalización](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [App Bancaria](./7-bank-project/solution/README.md) | Plantillas HTML y Rutas en una App Web | Aprende a crear la estructura de un sitio web multipágina usando enrutamiento y plantillas HTML | [Plantillas HTML y Rutas](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [App Bancaria](./7-bank-project/solution/README.md) | Construir un Formulario de Inicio de sesión y registro | Aprende a construir formularios y manejar rutinas de validación | [Formularios](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [App Bancaria](./7-bank-project/solution/README.md) | Métodos para obtener y usar datos | Cómo fluyen los datos hacia y desde tu aplicación, cómo obtenerlos, almacenarlos y descartarlos | [Datos](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [App Bancaria](./7-bank-project/solution/README.md) | Conceptos de gestión de estado | Aprende cómo tu aplicación retiene estado y cómo manejarlo programáticamente | [Gestión de Estado](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Código de Navegador/VScode](../../8-code-editor) | Trabajando con VScode | Aprende a usar un editor de código| [Usar Editor de Código VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [Asistentes AI](./9-chat-project/README.md) | Trabajando con AI | Aprende a construir tu propio asistente AI | [Proyecto de Asistente AI](./9-chat-project/README.md) | Chris |
| | Nombre del Proyecto | Conceptos Enseñados | Objetivos de Aprendizaje | Lección Vinculada | Autor |
| :-: | :-------------------------------------------------------------: | :-----------------------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Comenzando | Introducción a la Programación y Herramientas del Oficio | Aprende los fundamentos básicos detrás de la mayoría de los lenguajes de programación y sobre el software que ayuda a los desarrolladores profesionales a realizar su trabajo | [Introducción a los Lenguajes de Programación y Herramientas del Oficio](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Comenzando | Fundamentos de GitHub, incluye trabajo en equipo | Cómo usar GitHub en tu proyecto, cómo colaborar con otros en una base de código | [Introducción a GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Comenzando | Accesibilidad | Aprende los fundamentos de accesibilidad web | [Fundamentos de Accesibilidad](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | Fundamentos de JS | Tipos de datos en JavaScript | Los fundamentos de los tipos de datos en JavaScript | [Tipos de Datos](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | Fundamentos de JS | Funciones y Métodos | Aprende sobre funciones y métodos para gestionar el flujo lógico de una aplicación | [Funciones y Métodos](./2-js-basics/2-functions-methods/README.md) | Jasmine y Christopher |
| 06 | Fundamentos de JS | Tomando Decisiones con JS | Aprende cómo crear condiciones en tu código usando métodos de toma de decisiones | [Tomando Decisiones](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | Fundamentos de JS | Arreglos y Bucles | Trabaja con datos usando arreglos y bucles en JavaScript | [Arreglos y Bucles](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML en la práctica | Construye el HTML para crear un terrario en línea, enfocándote en construir un diseño | [Introducción a HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS en la práctica | Construye el CSS para dar estilo al terrario en línea, enfocándote en los fundamentos de CSS incluyendo hacer que la página sea responsiva | [Introducción a CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | Closures en JavaScript, manipulación del DOM | Construye el JavaScript para hacer que el terrario funcione como una interfaz de arrastrar y soltar, enfocándote en closures y manipulación del DOM | [Closures en JavaScript, manipulación del DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Juego de mecanografía](./4-typing-game/solution/README.md) | Construir un Juego de Mecanografía | Aprende a usar eventos del teclado para manejar la lógica de tu aplicación JavaScript | [Programación basada en eventos](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Extensión Verde de Navegador](./5-browser-extension/solution/README.md) | Trabajando con Navegadores | Aprende cómo funcionan los navegadores, su historia, y cómo estructurar los primeros elementos de una extensión de navegador | [Acerca de los Navegadores](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Extensión Verde de Navegador](./5-browser-extension/solution/README.md) | Construcción de un formulario, llamada a API y almacenamiento local | Construye los elementos JavaScript de tu extensión para navegador para llamar a una API usando variables almacenadas en almacenamiento local | [APIs, Formularios y Almacenamiento Local](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Extensión Verde de Navegador](./5-browser-extension/solution/README.md) | Procesos en segundo plano en el navegador, rendimiento web | Usa los procesos en segundo plano del navegador para gestionar el icono de la extensión; aprende sobre rendimiento web y algunas optimizaciones para conseguirlo | [Tareas en segundo plano y rendimiento](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Juego Espacial](./6-space-game/solution/README.md) | Desarrollo de juegos más avanzado con JavaScript | Aprende sobre Herencia usando tanto Clases como Composición y el patrón Pub/Sub, en preparación para construir un juego | [Introducción al desarrollo avanzado de juegos](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Juego Espacial](./6-space-game/solution/README.md) | Dibujo en canvas | Aprende sobre la API Canvas, usada para dibujar elementos en una pantalla | [Dibujo en Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Juego Espacial](./6-space-game/solution/README.md) | Moviendo elementos en la pantalla | Descubre cómo los elementos pueden adquirir movimiento usando coordenadas cartesianas y la API Canvas | [Mover elementos](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Juego Espacial](./6-space-game/solution/README.md) | Detección de colisiones | Haz que los elementos colisionen y reaccionen entre sí usando teclas y proporciona una función de enfriamiento para asegurar el rendimiento del juego | [Detección de colisiones](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Juego Espacial](./6-space-game/solution/README.md) | Mantener puntuación | Realiza cálculos matemáticos basados en el estado y rendimiento del juego | [Mantener puntuación](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Juego Espacial](./6-space-game/solution/README.md) | Terminar y reiniciar el juego | Aprende sobre cómo terminar y reiniciar el juego, incluyendo limpiar recursos y reiniciar valores de variables | [La condición de finalización](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [App Bancaria](./7-bank-project/solution/README.md) | Plantillas HTML y Rutas en una aplicación web | Aprende cómo crear la estructura de arquitectura de un sitio web multipágina usando rutas y plantillas HTML | [Plantillas HTML y Rutas](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [App Bancaria](./7-bank-project/solution/README.md) | Construir un formulario de inicio de sesión y registro | Aprende sobre construcción de formularios y manejo de rutinas de validación | [Formularios](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [App Bancaria](./7-bank-project/solution/README.md) | Métodos para obtener y usar datos | Cómo fluyen los datos a través de tu aplicación, cómo obtenerlos, almacenarlos y deshacerse de ellos | [Datos](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [App Bancaria](./7-bank-project/solution/README.md) | Conceptos de gestión de estado | Aprende cómo tu aplicación retiene estado y cómo manejarlo programáticamente | [Gestión de estado](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Código Browser/VScode](../../8-code-editor) | Trabajando con VScode | Aprende a usar un editor de código | [Usar editor de código VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [Asistentes AI](./9-chat-project/README.md) | Trabajando con IA | Aprende a construir tu propio asistente de IA | [Proyecto asistente de IA](./9-chat-project/README.md) | Chris |
## 🏫 Pedagogía
Nuestro plan de estudios está diseñado con dos principios pedagógicos clave en mente:
Nuestro currículo está diseñado con dos principios pedagógicos clave en mente:
* aprendizaje basado en proyectos
* cuestionarios frecuentes
El programa enseña los fundamentos de JavaScript, HTML y CSS, así como las últimas herramientas y técnicas usadas por los desarrolladores web actuales. Los estudiantes tendrán la oportunidad de desarrollar experiencia práctica construyendo un juego de mecanografía, un terrario virtual, una extensión de navegador ecológica, un juego estilo invasores espaciales y una aplicación bancaria para negocios. Al final de la serie, los estudiantes habrán adquirido una sólida comprensión del desarrollo web.
El programa enseña los fundamentos de JavaScript, HTML y CSS, así como las herramientas y técnicas más recientes utilizadas por los desarrolladores web de hoy. Los estudiantes tendrán la oportunidad de desarrollar experiencia práctica construyendo un juego de mecanografía, un terrario virtual, una extensión de navegador ecológica, un juego tipo invasores espaciales y una aplicación bancaria para negocios. Al final de la serie, los estudiantes habrán adquirido una comprensión sólida del desarrollo web.
> 🎓 ¡Puedes tomar las primeras lecciones de este currículo como un [Camino de Aprendizaje](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) en Microsoft Learn!
> 🎓 ¡Puedes tomar las primeras lecciones de este plan de estudios como una [Ruta de Aprendizaje](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) en Microsoft Learn!
Al asegurar que el contenido esté alineado con proyectos, el proceso se vuelve más atractivo para los estudiantes y se aumentará la retención de conceptos. También escribimos varias lecciones iniciales en los fundamentos de JavaScript para introducir conceptos, acompañadas de un video de la colección de tutoriales en video "[Serie para principiantes en: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", algunos de cuyos autores contribuyeron a este currículo.
Al garantizar que el contenido esté alineado con los proyectos, el proceso se vuelve más atractivo para los estudiantes y se incrementa la retención de los conceptos. También escribimos varias lecciones introductorias en fundamentos de JavaScript para presentar conceptos, acompañadas por un video de la colección de tutoriales en video "[Serie para principiantes de: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", algunos cuyos autores contribuyeron a este plan de estudios.
Además, un cuestionario de baja dificultad antes de una clase establece la intención del estudiante hacia el aprendizaje de un tema, mientras que un segundo cuestionario después de la clase asegura una mayor retención. Este currículo fue diseñado para ser flexible y divertido y puede tomarse en su totalidad o en parte. Los proyectos comienzan pequeños y se vuelven cada vez más complejos al final del ciclo de 12 semanas.
Además, un cuestionario de baja presión antes de una clase establece la intención del estudiante hacia el aprendizaje de un tema, mientras que un segundo cuestionario después de la clase asegura una mayor retención. Este plan de estudios fue diseñado para ser flexible y divertido y puede tomarse en su totalidad o en parte. Los proyectos comienzan pequeños y se vuelven progresivamente más complejos al final del ciclo de 12 semanas.
Aunque intencionalmente hemos evitado introducir frameworks de JavaScript para concentrarnos en las habilidades básicas necesarias como desarrollador web antes de adoptar un framework, un buen siguiente paso para completar este currículo sería aprender sobre Node.js a través de otra colección de videos: "[Serie para principiantes en: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
Aunque hemos evitado intencionalmente introducir frameworks de JavaScript para concentrarnos en las habilidades básicas necesarias como desarrollador web antes de adoptar un framework, un buen siguiente paso para completar este plan de estudios sería aprender sobre Node.js a través de otra colección de videos: "[Serie para principiantes de: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> Visita nuestras pautas de [Código de Conducta](CODE_OF_CONDUCT.md) y [Contribuciones](CONTRIBUTING.md). ¡Agradecemos tus comentarios constructivos!
> Visita nuestra [Normativa de Conducta](CODE_OF_CONDUCT.md) y las guías de [Contribución](CONTRIBUTING.md). ¡Agradecemos tus comentarios constructivos!
## 🧭 Acceso offline
Puedes ejecutar esta documentación sin conexión usando [Docsify](https://docsify.js.org/#/). Haz un fork de este repositorio, [instala Docsify](https://docsify.js.org/#/quickstart) en tu máquina local y luego, en la carpeta raíz de este repositorio, escribe `docsify serve`. El sitio web se servirá en el puerto 3000 en tu localhost: `localhost:3000`.
Puedes ejecutar esta documentación sin conexión usando [Docsify](https://docsify.js.org/#/). Haz un fork de este repositorio, [instala Docsify](https://docsify.js.org/#/quickstart) en tu máquina local y luego en la carpeta raíz de este repositorio, escribe `docsify serve`. El sitio web será servido en el puerto 3000 en tu localhost: `localhost:3000`.
## 📘 PDF
Un PDF de todas las lecciones puede encontrarse [aquí](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
Un PDF con todas las lecciones se puede encontrar [aquí](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Otros Cursos
¡Nuestro equipo produce otros cursos! Consulta:
¡Nuestro equipo produce otros cursos! Échales un vistazo:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agentes
### Azure / Edge / MCP / Agents
[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
@ -250,21 +250,21 @@ Un PDF de todas las lecciones puede encontrarse [aquí](https://microsoft.github
## Obtener ayuda
Si te quedas atascado o tienes alguna pregunta sobre cómo crear aplicaciones de IA. Únete a otros aprendices y desarrolladores experimentados en discusiones sobre MCP. Es una comunidad de apoyo donde se dan la bienvenida las preguntas y se comparte el conocimiento libremente.
Si te quedas atascado o tienes alguna pregunta sobre cómo crear aplicaciones de IA. Únete a otros aprendices y desarrolladores experimentados en discusiones sobre MCP. Es una comunidad de apoyo donde las preguntas son bienvenidas y el conocimiento se comparte libremente.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Si tienes comentarios sobre el producto o errores mientras construyes, visita:
Si tienes comentarios sobre el producto o errores mientras construyes visita:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
## Licencia
Este repositorio tiene licencia bajo la licencia MIT. Consulta el archivo [LICENSE](../../LICENSE) para más información.
Este repositorio está licenciado bajo la licencia MIT. Consulta el archivo [LICENSE](../../LICENSE) para más información.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Aviso Legal**:
Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por lograr precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda la traducción profesional realizada por humanos. No nos responsabilizamos por malentendidos o interpretaciones erróneas derivadas del uso de esta traducción.
**Descargo de responsabilidad**:
Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por lograr precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas derivadas del uso de esta traducción.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2025-10-03T11:12:18+00:00",
"translation_date": "2026-02-06T07:21:04+00:00",
"source_file": "AGENTS.md",
"language_code": "fr"
},
@ -516,8 +516,8 @@
"language_code": "fr"
},
"README.md": {
"original_hash": "490c83786552d7fab6390991517bef09",
"translation_date": "2026-01-29T17:27:29+00:00",
"original_hash": "805cd399757df19e886e86f0891a1374",
"translation_date": "2026-02-06T07:16:19+00:00",
"source_file": "README.md",
"language_code": "fr"
},

@ -2,43 +2,43 @@
## Aperçu du projet
Ce dépôt est un programme éducatif conçu pour enseigner les bases du développement web aux débutants. Le programme est un cours complet de 12 semaines développé par les Cloud Advocates de Microsoft, comprenant 24 leçons pratiques couvrant JavaScript, CSS et HTML.
Il s'agit d'un référentiel de programme éducatif pour enseigner les bases du développement web aux débutants. Le programme est un cours complet de 12 semaines développé par les Microsoft Cloud Advocates, comprenant 24 leçons pratiques couvrant JavaScript, CSS et HTML.
### Principaux éléments
### Composants clés
- **Contenu éducatif** : 24 leçons structurées organisées en modules basés sur des projets
- **Projets pratiques** : Terrarium, Jeu de dactylographie, Extension de navigateur, Jeu spatial, Application bancaire, Éditeur de code et Assistant de chat IA
- **Projets pratiques** : Terrarium, jeu de frappe, extension de navigateur, jeu spatial, application bancaire, éditeur de code et assistant de chat IA
- **Quiz interactifs** : 48 quiz avec 3 questions chacun (évaluations avant/après les leçons)
- **Support multilingue** : Traductions automatiques dans plus de 50 langues via GitHub Actions
- **Support multilingue** : Traductions automatisées pour plus de 50 langues via GitHub Actions
- **Technologies** : HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (pour les projets IA)
### Architecture
- Dépôt éducatif avec une structure basée sur les leçons
- Référentiel éducatif avec structure basée sur les leçons
- Chaque dossier de leçon contient un README, des exemples de code et des solutions
- Projets autonomes dans des répertoires séparés (quiz-app, divers projets de leçons)
- Projets autonomes dans des répertoires séparés (quiz-app, divers projets de leçon)
- Système de traduction utilisant GitHub Actions (co-op-translator)
- Documentation servie via Docsify et disponible en PDF
## Commandes d'installation
## Commandes dinstallation
Ce dépôt est principalement destiné à la consommation de contenu éducatif. Pour travailler sur des projets spécifiques :
Ce référentiel est principalement destiné à la consommation de contenu éducatif. Pour travailler avec des projets spécifiques :
### Installation du dépôt principal
### Installation du référentiel principal
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Installation de l'application Quiz (Vue 3 + Vite)
### Installation de lapplication Quiz (Vue 3 + Vite)
```bash
cd quiz-app
npm install
npm run dev # Start development server
npm run build # Build for production
npm run lint # Run ESLint
npm run dev # Démarrer le serveur de développement
npm run build # Construire pour la production
npm run lint # Exécuter ESLint
```
### API du projet bancaire (Node.js + Express)
@ -46,233 +46,233 @@ npm run lint # Run ESLint
```bash
cd 7-bank-project/api
npm install
npm start # Start API server
npm run lint # Run ESLint
npm run format # Format with Prettier
npm start # Démarrer le serveur API
npm run lint # Exécuter ESLint
npm run format # Formater avec Prettier
```
### Projets d'extension de navigateur
### Projets dextensions de navigateur
```bash
cd 5-browser-extension/solution
npm install
# Follow browser-specific extension loading instructions
# Suivre les instructions de chargement des extensions spécifiques au navigateur
```
### Projets de jeu spatial
### Projets du jeu spatial
```bash
cd 6-space-game/solution
npm install
# Open index.html in browser or use Live Server
# Ouvrez index.html dans le navigateur ou utilisez Live Server
```
### Projet de chat (Backend Python)
### Projet de chat (backend Python)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# Set GITHUB_TOKEN environment variable
# Définir la variable d'environnement GITHUB_TOKEN
python api.py
```
## Flux de travail de développement
## Flux de développement
### Pour les contributeurs de contenu
1. **Forkez le dépôt** sur votre compte GitHub
1. **Forkez le référentiel** sur votre compte GitHub
2. **Clonez votre fork** localement
3. **Créez une nouvelle branche** pour vos modifications
4. Apportez des modifications au contenu des leçons ou aux exemples de code
5. Testez les modifications de code dans les répertoires de projets pertinents
4. Modifiez le contenu des leçons ou les exemples de code
5. Testez les modifications de code dans les répertoires de projets concernés
6. Soumettez des pull requests en suivant les directives de contribution
### Pour les apprenants
1. Forkez ou clonez le dépôt
2. Naviguez dans les répertoires des leçons de manière séquentielle
1. Forkez ou clonez le référentiel
2. Parcourez les dossiers de leçon dans lordre
3. Lisez les fichiers README de chaque leçon
4. Complétez les quiz avant la leçon sur https://ff-quizzes.netlify.app/web/
5. Travaillez sur les exemples de code dans les dossiers des leçons
6. Réalisez les devoirs et les défis
7. Passez les quiz après la leçon
4. Complétez les quiz pré-lesson sur https://ff-quizzes.netlify.app/web/
5. Travaillez les exemples de code dans les dossiers de leçon
6. Réalisez les devoirs et défis
7. Passez les quiz post-lesson
### Développement en direct
- **Documentation** : Exécutez `docsify serve` à la racine (port 3000)
- **Application Quiz** : Exécutez `npm run dev` dans le répertoire quiz-app
- **Projets** : Utilisez l'extension Live Server de VS Code pour les projets HTML
- **Projets API** : Exécutez `npm start` dans les répertoires API respectifs
- **Documentation** : Lancez `docsify serve` à la racine (port 3000)
- **Application Quiz** : Lancez `npm run dev` dans le répertoire quiz-app
- **Projets** : Utilisez lextension Live Server de VS Code pour les projets HTML
- **Projets API** : Lancez `npm start` dans les répertoires API respectifs
## Instructions de test
### Test de l'application Quiz
### Test de lapplication Quiz
```bash
cd quiz-app
npm run lint # Check for code style issues
npm run build # Verify build succeeds
npm run lint # Vérifiez les problèmes de style de code
npm run build # Vérifiez que la compilation réussit
```
### Test de l'API bancaire
### Test de lAPI bancaire
```bash
cd 7-bank-project/api
npm run lint # Check for code style issues
node server.js # Verify server starts without errors
npm run lint # Vérifier les problèmes de style de code
node server.js # Vérifier que le serveur démarre sans erreurs
```
### Approche générale de test
- Ce dépôt éducatif ne contient pas de tests automatisés complets
- Les tests manuels se concentrent sur :
- L'exécution des exemples de code sans erreurs
- La vérification des liens dans la documentation
- La réussite des builds des projets
- Le respect des bonnes pratiques dans les exemples
- Il sagit dun référentiel éducatif sans tests automatisés complets
- Les tests manuels portent sur :
- Les exemples de code sexécutent sans erreur
- Les liens dans la documentation fonctionnent correctement
- Les constructions des projets sachèvent avec succès
- Les exemples respectent les bonnes pratiques
### Vérifications avant soumission
- Exécutez `npm run lint` dans les répertoires contenant un package.json
- Vérifiez que les liens Markdown sont valides
- Testez les exemples de code dans un navigateur ou avec Node.js
- Assurez-vous que les traductions conservent une structure correcte
- Lancez `npm run lint` dans les répertoires contenant package.json
- Vérifiez la validité des liens markdown
- Testez les exemples de code dans le navigateur ou Node.js
- Vérifiez que les traductions conservent la structure correcte
## Directives de style de code
### JavaScript
- Utilisez la syntaxe moderne ES6+
- Suivez les configurations standard ESLint fournies dans les projets
- Utilisez des noms de variables et de fonctions significatifs pour une clarté éducative
- Suivez les configurations ESLint standards fournies dans les projets
- Utilisez des noms de variables et fonctions significatifs pour la clarté pédagogique
- Ajoutez des commentaires expliquant les concepts pour les apprenants
- Formatez avec Prettier là où configuré
- Formatez avec Prettier là où il est configuré
### HTML/CSS
- Éléments HTML5 sémantiques
- Principes de design responsive
- Conventions claires de nommage des classes
- Principes de conception responsive
- Conventions claires de noms de classes
- Commentaires expliquant les techniques CSS pour les apprenants
### Python
- Directives de style PEP 8
- Exemples de code clairs et éducatifs
- Indications de type utiles pour l'apprentissage
- Indications de types lorsque cela aide à lapprentissage
### Documentation Markdown
- Hiérarchie claire des titres
- Blocs de code avec spécification de langage
- Blocs de code avec spécification de langue
- Liens vers des ressources supplémentaires
- Captures d'écran et images dans les répertoires `images/`
- Texte alternatif pour les images pour l'accessibilité
- Captures décran et images dans les dossiers `images/`
- Texte alternatif pour les images pour laccessibilité
### Organisation des fichiers
- Leçons numérotées séquentiellement (1-getting-started-lessons, 2-js-basics, etc.)
- Chaque projet contient des répertoires `solution/` et souvent `start/` ou `your-work/`
- Images stockées dans des dossiers spécifiques aux leçons `images/`
- Traductions dans la structure `translations/{language-code}/`
- Leçons numérotées dans lordre (1-getting-started-lessons, 2-js-basics, etc.)
- Chaque projet possède des dossiers `solution/` et souvent `start/` ou `your-work/`
- Images stockées dans les dossiers `images/` spécifiques à chaque leçon
- Traductions dans la structure `translations/{code-langue}/`
## Construction et déploiement
### Déploiement de l'application Quiz (Azure Static Web Apps)
### Déploiement de lapplication Quiz (Azure Static Web Apps)
L'application quiz-app est configurée pour un déploiement sur Azure Static Web Apps :
Lapplication quiz-app est configurée pour un déploiement sur Azure Static Web Apps :
```bash
cd quiz-app
npm run build # Creates dist/ folder
# Deploys via GitHub Actions workflow on push to main
npm run build # Crée le dossier dist/
# Déploie via le workflow GitHub Actions lors d'un push sur main
```
Configuration Azure Static Web Apps :
- **Emplacement de l'application** : `/quiz-app`
- **Emplacement de lapplication** : `/quiz-app`
- **Emplacement de sortie** : `dist`
- **Workflow** : `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Génération de PDF pour la documentation
### Génération PDF de la documentation
```bash
npm install # Install docsify-to-pdf
npm run convert # Generate PDF from docs
npm install # Installer docsify-to-pdf
npm run convert # Générer un PDF à partir de docs
```
### Documentation Docsify
```bash
npm install -g docsify-cli # Install Docsify globally
docsify serve # Serve on localhost:3000
npm install -g docsify-cli # Installer Docsify globalement
docsify serve # Servir sur localhost:3000
```
### Constructions spécifiques aux projets
### Builds spécifiques aux projets
Chaque répertoire de projet peut avoir son propre processus de construction :
Chaque répertoire de projet peut avoir son propre processus de build :
- Projets Vue : `npm run build` crée des bundles de production
- Projets statiques : Pas de processus de construction, servez les fichiers directement
- Projets statiques : pas détape de build, sert les fichiers directement
## Directives pour les pull requests
### Format du titre
### Format des titres
Utilisez des titres clairs et descriptifs indiquant la zone de modification :
- `[Quiz-app] Ajout d'un nouveau quiz pour la leçon X`
- `[Lesson-3] Correction d'une faute de frappe dans le projet terrarium`
- `[Translation] Ajout de la traduction espagnole pour la leçon 5`
- `[Docs] Mise à jour des instructions d'installation`
Utilisez des titres clairs et descriptifs indiquant la zone de changement :
- `[Quiz-app] Ajouter un nouveau quiz pour la leçon X`
- `[Lesson-3] Corriger une faute dans le projet terrarium`
- `[Translation] Ajouter une traduction espagnole pour la leçon 5`
- `[Docs] Mettre à jour les instructions dinstallation`
### Vérifications requises
### Vérifications obligatoires
Avant de soumettre une PR :
1. **Qualité du code** :
- Exécutez `npm run lint` dans les répertoires de projet concernés
- Corrigez toutes les erreurs et avertissements de linting
- Lancez `npm run lint` dans les répertoires des projets concernés
- Corrigez toutes les erreurs et avertissements lint
2. **Vérification de la construction** :
- Exécutez `npm run build` si applicable
- Assurez-vous qu'il n'y a pas d'erreurs de construction
2. **Vérification du build** :
- Lancez `npm run build` si applicable
- Assurez-vous quaucune erreur de build ne survient
3. **Validation des liens** :
- Testez tous les liens Markdown
- Vérifiez que les références aux images fonctionnent
- Testez tous les liens markdown
- Vérifiez les références dimages fonctionnelles
4. **Revue du contenu** :
- Relisez pour vérifier l'orthographe et la grammaire
- Assurez-vous que les exemples de code sont corrects et éducatifs
- Vérifiez que les traductions conservent le sens original
4. **Relecture de contenu** :
- Vérifiez lorthographe et la grammaire
- Assurez-vous que les exemples de code sont corrects et pédagogiques
- Vérifiez que les traductions respectent le sens original
### Exigences de contribution
- Acceptez le CLA de Microsoft (vérification automatisée lors de la première PR)
- Suivez le [Code de conduite Open Source de Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Consultez [CONTRIBUTING.md](./CONTRIBUTING.md) pour des directives détaillées
- Référencez les numéros de problème dans la description de la PR si applicable
- Accepter la CLA Microsoft (vérification automatisée à la première PR)
- Suivre le [Code de conduite open source de Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Voir [CONTRIBUTING.md](./CONTRIBUTING.md) pour les directives détaillées
- Référencer les numéros dissues dans la description de PR si applicable
### Processus de revue
- Les PR sont examinées par les mainteneurs et la communauté
- La clarté éducative est priorisée
- PRs revues par les mainteneurs et la communauté
- La clarté pédagogique est priorisée
- Les exemples de code doivent suivre les meilleures pratiques actuelles
- Les traductions sont examinées pour leur exactitude et leur pertinence culturelle
- Les traductions sont contrôlées pour la précision et ladéquation culturelle
## Système de traduction
### Traduction automatisée
- Utilise GitHub Actions avec le workflow co-op-translator
- Traduit automatiquement dans plus de 50 langues
- Fichiers source dans les répertoires principaux
- Fichiers traduits dans les répertoires `translations/{language-code}/`
- Traduit automatiquement vers plus de 50 langues
- Fichiers sources dans les répertoires principaux
- Fichiers traduits dans `translations/{code-langue}/`
### Ajout d'améliorations manuelles aux traductions
### Ajout daméliorations manuelles de traduction
1. Localisez le fichier dans `translations/{language-code}/`
1. Localisez le fichier dans `translations/{code-langue}/`
2. Apportez des améliorations tout en préservant la structure
3. Assurez-vous que les exemples de code restent fonctionnels
4. Testez tout contenu de quiz localisé
4. Testez tout contenu localisé de quiz
### Métadonnées de traduction
@ -293,64 +293,64 @@ CO_OP_TRANSLATOR_METADATA:
### Problèmes courants
**L'application Quiz ne démarre pas** :
- Vérifiez la version de Node.js (v14+ recommandé)
- Supprimez `node_modules` et `package-lock.json`, puis exécutez `npm install` à nouveau
**Lapplication quiz ne démarre pas** :
- Vérifiez la version Node.js (v14+ recommandée)
- Supprimez `node_modules` et `package-lock.json`, relancez `npm install`
- Vérifiez les conflits de port (par défaut : Vite utilise le port 5173)
**Le serveur API ne démarre pas** :
- Vérifiez que la version de Node.js répond aux exigences minimales (node >=10)
- Vérifiez que la version Node.js est suffisante (node >=10)
- Vérifiez si le port est déjà utilisé
- Assurez-vous que toutes les dépendances sont installées avec `npm install`
**L'extension de navigateur ne se charge pas** :
- Vérifiez que le fichier manifest.json est correctement formaté
**Lextension de navigateur ne se charge pas** :
- Vérifiez que manifest.json est bien formaté
- Consultez la console du navigateur pour les erreurs
- Suivez les instructions spécifiques au navigateur pour l'installation de l'extension
- Suivez les instructions dinstallation propres au navigateur
**Problèmes avec le projet de chat Python** :
**Problèmes projet de chat Python** :
- Assurez-vous que le package OpenAI est installé : `pip install openai`
- Vérifiez que la variable d'environnement GITHUB_TOKEN est définie
- Vérifiez les permissions d'accès aux modèles GitHub
- Vérifiez que la variable denvironnement GITHUB_TOKEN est définie
- Contrôlez les permissions daccès aux GitHub Models
**Docsify ne sert pas les docs** :
**Docsify ne sert pas la documentation** :
- Installez docsify-cli globalement : `npm install -g docsify-cli`
- Exécutez depuis le répertoire racine du dépôt
- Exécutez depuis le répertoire racine du référentiel
- Vérifiez que `docs/_sidebar.md` existe
### Conseils pour l'environnement de développement
### Astuces pour lenvironnement de développement
- Utilisez VS Code avec l'extension Live Server pour les projets HTML
- Utilisez VS Code avec lextension Live Server pour les projets HTML
- Installez les extensions ESLint et Prettier pour un formatage cohérent
- Utilisez les outils de développement du navigateur pour déboguer JavaScript
- Pour les projets Vue, installez l'extension Vue DevTools pour navigateur
- Utilisez les DevTools du navigateur pour déboguer JavaScript
- Pour les projets Vue, installez lextension Vue DevTools du navigateur
### Considérations de performance
- Le grand nombre de fichiers traduits (50+ langues) signifie que les clones complets sont volumineux
- Utilisez un clone superficiel si vous travaillez uniquement sur le contenu : `git clone --depth 1`
- Excluez les traductions des recherches lorsque vous travaillez sur le contenu en anglais
- Les processus de construction peuvent être lents lors de la première exécution (npm install, Vite build)
- Le grand nombre de fichiers traduits (50+ langues) fait que les clones complets sont volumineux
- Utilisez un clone peu profond si vous travaillez uniquement sur le contenu : `git clone --depth 1`
- Excluez les traductions des recherches quand vous travaillez sur le contenu anglais
- Les processus de build peuvent être lents lors du premier lancement (npm install, build Vite)
## Considérations de sécurité
### Variables d'environnement
### Variables denvironnement
- Les clés API ne doivent jamais être ajoutées au dépôt
- Les clés API ne doivent jamais être commises dans le référentiel
- Utilisez des fichiers `.env` (déjà dans `.gitignore`)
- Documentez les variables d'environnement requises dans les README des projets
- Documentez les variables denvironnement requises dans les README des projets
### Projets Python
- Utilisez des environnements virtuels : `python -m venv venv`
- Maintenez les dépendances à jour
- Les tokens GitHub doivent avoir les permissions minimales requises
- Gardez les dépendances à jour
- Les tokens GitHub doivent avoir les permissions minimales nécessaires
### Accès aux modèles GitHub
### Accès aux GitHub Models
- Des tokens d'accès personnel (PAT) sont nécessaires pour les modèles GitHub
- Les tokens doivent être stockés comme variables d'environnement
- Ne jamais ajouter de tokens ou de credentials au dépôt
- Les Personal Access Tokens (PAT) sont requis pour GitHub Models
- Les tokens doivent être stockés dans des variables denvironnement
- Ne jamais commettre de tokens ou didentifiants
## Notes supplémentaires
@ -359,48 +359,50 @@ CO_OP_TRANSLATOR_METADATA:
- Débutants complets en développement web
- Étudiants et autodidactes
- Enseignants utilisant le programme en classe
- Le contenu est conçu pour l'accessibilité et une montée en compétences progressive
- Le contenu est conçu pour laccessibilité et la montée en compétences progressive
### Philosophie éducative
- Approche d'apprentissage basée sur les projets
- Vérifications fréquentes des connaissances (quiz)
- Exercices de codage pratiques
- Exemples d'application dans le monde réel
- Focus sur les fondamentaux avant les frameworks
- Approche dapprentissage par projets
- Contrôles fréquents des connaissances (quiz)
- Exercices pratiques de codage
- Exemples dapplications réelles
- Accent sur les fondamentaux avant les frameworks
### Maintenance du dépôt
### Maintenance du référentiel
- Communauté active d'apprenants et de contributeurs
- Communauté active dapprenants et contributeurs
- Mises à jour régulières des dépendances et du contenu
- Les problèmes et discussions sont surveillés par les mainteneurs
- Les mises à jour des traductions sont automatisées via GitHub Actions
- Suivi des problèmes et discussions par les mainteneurs
- Mises à jour des traductions automatisées via GitHub Actions
### Ressources associées
### Ressources connexes
- [Modules Microsoft Learn](https://docs.microsoft.com/learn/)
- [Ressources Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) recommandé pour les apprenants
- Cours supplémentaires : IA générative, Data Science, ML, IoT disponibles
- Cours supplémentaires : IA générative, Science des données, ML, cursus IoT disponibles
### Travailler avec des projets spécifiques
### Travail avec des projets spécifiques
Pour des instructions détaillées sur les projets individuels, consultez les fichiers README dans :
- `quiz-app/README.md` - Application de quiz Vue 3
Pour les instructions détaillées sur les projets individuels, référez-vous aux fichiers README dans :
- `quiz-app/README.md` - Application quiz Vue 3
- `7-bank-project/README.md` - Application bancaire avec authentification
- `5-browser-extension/README.md` - Développement d'extensions de navigateur
- `6-space-game/README.md` - Développement de jeux basés sur Canvas
- `9-chat-project/README.md` - Projet d'assistant de chat IA
- `5-browser-extension/README.md` - Développement dextension de navigateur
- `6-space-game/README.md` - Développement de jeu sur Canvas
- `9-chat-project/README.md` - Projet assistant de chat IA
### Structure du monorepo
### Structure Monorepo
Bien que ce ne soit pas un monorepo traditionnel, ce dépôt contient plusieurs projets indépendants :
Bien que ce ne soit pas un monorepo traditionnel, ce référentiel contient plusieurs projets indépendants :
- Chaque leçon est autonome
- Les projets ne partagent pas de dépendances
- Travaillez sur des projets individuels sans affecter les autres
- Clonez l'intégralité du dépôt pour une expérience complète du programme éducatif
- Travaillez sur des projets individuels sans impact sur les autres
- Clonez tout le référentiel pour une expérience complète du programme scolaire
---
**Avertissement** :
Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de recourir à une traduction humaine professionnelle. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Avertissement** :
Ce document a été traduit à laide du service de traduction automatisée [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions dassurer lexactitude, veuillez noter que les traductions automatiques peuvent contenir des erreurs ou des imprécisions. Le document original dans sa langue dorigine doit être considéré comme la source faisant foi. Pour des informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous déclinons toute responsabilité en cas de malentendus ou de mauvaises interprétations résultant de lutilisation de cette traduction.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,61 +1,61 @@
[![Licence GitHub](https://img.shields.io/github/license/microsoft/Web-Dev-For-Beginners.svg)](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE)
[![Contributeurs GitHub](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/)
[![Issues GitHub](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/)
[![Pull requests GitHub](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/)
[![PRs Bienvenues](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![Pull-requests GitHub](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/)
[![PRs Bienvenus](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![Observateurs GitHub](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/)
[![Fourches GitHub](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/)
[![Forks GitHub](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/)
[![Étoiles GitHub](https://img.shields.io/github/stars/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/)
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
[![Discord Microsoft Foundry](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
# Développement web pour débutants - Un programme
# Développement Web pour Débutants - Un Programme
Apprenez les fondamentaux du développement web grâce à notre cours complet de 12 semaines dispensé par les Microsoft Cloud Advocates. Chacune des 24 leçons explore JavaScript, CSS, et HTML à travers des projets pratiques comme des terrariums, des extensions de navigateur et des jeux spatiaux. Participez à des quiz, discussions, et exercices pratiques. Améliorez vos compétences et optimisez votre rétention des connaissances grâce à notre pédagogie efficace basée sur des projets. Commencez votre parcours de codage aujourdhui !
Apprenez les fondamentaux du développement web avec notre cours complet de 12 semaines par Microsoft Cloud Advocates. Chacune des 24 leçons plonge dans JavaScript, CSS et HTML à travers des projets pratiques comme des terrariums, des extensions de navigateur et des jeux spatiaux. Participez à des quiz, des discussions et des devoirs pratiques. Améliorez vos compétences et optimisez la rétention de vos connaissances avec notre pédagogie efficace basée sur des projets. Commencez votre parcours de codage dès aujourd'hui !
Rejoignez la communauté Discord Azure AI Foundry
Rejoignez la communauté Azure AI Foundry sur Discord
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
[![Discord Microsoft Foundry](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Suivez ces étapes pour commencer à utiliser ces ressources :
1. **Faites un fork du dépôt** : Cliquez sur [![Fourches GitHub](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Clonez le dépôt** : `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Rejoignez le Discord Azure AI Foundry et rencontrez experts et développeurs**](https://discord.com/invite/ByRwuEEgH4)
Suivez ces étapes pour démarrer avec ces ressources :
1. **Forkez le dépôt** : Cliquez sur [![Forks GitHub](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Clonez le dépôt** : `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Rejoignez le Discord Azure AI Foundry et rencontrez des experts et dautres développeurs**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Support multilingue
### 🌐 Support Multilingue
#### Pris en charge via GitHub Action (Automatisé & Toujours à jour)
#### Pris en charge via GitHub Action (Automatisé et Toujours à Jour)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabe](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgare](../bg/README.md) | [Birman (Myanmar)](../my/README.md) | [Chinois (Simplifié)](../zh-CN/README.md) | [Chinois (Traditionnel, Hong Kong)](../zh-HK/README.md) | [Chinois (Traditionnel, Macao)](../zh-MO/README.md) | [Chinois (Traditionnel, Taïwan)](../zh-TW/README.md) | [Croate](../hr/README.md) | [Tchèque](../cs/README.md) | [Danois](../da/README.md) | [Néerlandais](../nl/README.md) | [Estonien](../et/README.md) | [Finnois](../fi/README.md) | [Français](./README.md) | [Allemand](../de/README.md) | [Grec](../el/README.md) | [Hébreu](../he/README.md) | [Hindi](../hi/README.md) | [Hongrois](../hu/README.md) | [Indonésien](../id/README.md) | [Italien](../it/README.md) | [Japonais](../ja/README.md) | [Kannada](../kn/README.md) | [Coréen](../ko/README.md) | [Lituanien](../lt/README.md) | [Malais](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Népalais](../ne/README.md) | [Pidgin nigérian](../pcm/README.md) | [Norvégien](../no/README.md) | [Persan (Farsi)](../fa/README.md) | [Polonais](../pl/README.md) | [Portugais (Brésil)](../pt-BR/README.md) | [Portugais (Portugal)](../pt-PT/README.md) | [Pendjabi (Gurmukhi)](../pa/README.md) | [Roumain](../ro/README.md) | [Russe](../ru/README.md) | [Serbe (Cyrillique)](../sr/README.md) | [Slovaque](../sk/README.md) | [Slovène](../sl/README.md) | [Espagnol](../es/README.md) | [Swahili](../sw/README.md) | [Suédois](../sv/README.md) | [Tagalog (Philippin)](../tl/README.md) | [Tamoul](../ta/README.md) | [Télougou](../te/README.md) | [Thaï](../th/README.md) | [Turc](../tr/README.md) | [Ukrainien](../uk/README.md) | [Ourdou](../ur/README.md) | [Vietnamien](../vi/README.md)
[Arabe](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgare](../bg/README.md) | [Birman (Myanmar)](../my/README.md) | [Chinois (Simplifié)](../zh-CN/README.md) | [Chinois (Traditionnel, Hong Kong)](../zh-HK/README.md) | [Chinois (Traditionnel, Macao)](../zh-MO/README.md) | [Chinois (Traditionnel, Taïwan)](../zh-TW/README.md) | [Croate](../hr/README.md) | [Tchèque](../cs/README.md) | [Danois](../da/README.md) | [Néerlandais](../nl/README.md) | [Estonien](../et/README.md) | [Finnois](../fi/README.md) | [Français](./README.md) | [Allemand](../de/README.md) | [Grec](../el/README.md) | [Hébreu](../he/README.md) | [Hindi](../hi/README.md) | [Hongrois](../hu/README.md) | [Indonésien](../id/README.md) | [Italien](../it/README.md) | [Japonais](../ja/README.md) | [Kannada](../kn/README.md) | [Coréen](../ko/README.md) | [Lituanien](../lt/README.md) | [Malais](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Népalais](../ne/README.md) | [Pidgin Nigérian](../pcm/README.md) | [Norvégien](../no/README.md) | [Perse (Farsi)](../fa/README.md) | [Polonais](../pl/README.md) | [Portugais (Brésil)](../pt-BR/README.md) | [Portugais (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Roumain](../ro/README.md) | [Russe](../ru/README.md) | [Serbe (Cyrillique)](../sr/README.md) | [Slovaque](../sk/README.md) | [Slovène](../sl/README.md) | [Espagnol](../es/README.md) | [Swahili](../sw/README.md) | [Suédois](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thaï](../th/README.md) | [Turc](../tr/README.md) | [Ukrainien](../uk/README.md) | [Ourdou](../ur/README.md) | [Vietnamien](../vi/README.md)
> **Vous préférez cloner localement ?**
> Ce dépôt inclut plus de 50 traductions qui augmentent significativement la taille du téléchargement. Pour cloner sans les traductions, utilisez le sparse checkout :
> Ce dépôt inclut plus de 50 traductions de langues, ce qui augmente considérablement la taille de téléchargement. Pour cloner sans les traductions, utilisez le sparse checkout :
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
> Cela vous donne tout ce dont vous avez besoin pour suivre le cours avec un téléchargement beaucoup plus rapide.
> Cela vous donne tout ce dont vous avez besoin pour compléter le cours avec un téléchargement beaucoup plus rapide.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Si vous souhaitez que dautres langues de traduction soient prises en charge, elles sont listées [ici](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
[![Ouvrir dans Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Ouvrir%20dans%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
[![Ouvrir dans Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑‍🎓 _Êtes-vous étudiant ?_
Visitez la [**page Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) où vous trouverez des ressources pour débutants, des packs étudiants et même des moyens dobtenir un voucher pour un certificat gratuit. Cest une page à ajouter à vos favoris et à consulter régulièrement car nous changeons le contenu chaque mois.
Visitez la page [**Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) où vous trouverez des ressources pour débutants, des packs étudiants et même des moyens dobtenir un bon de certificat gratuit. Cest la page que vous voulez mettre en favori et consulter de temps en temps car nous changeons le contenu chaque mois.
### 📣 Annonce - Nouveaux défis en mode GitHub Copilot Agent à compléter !
### 📣 Annonce - Nouveaux défis GitHub Copilot Agent à compléter !
Nouveau défi ajouté, cherchez "Défi GitHub Copilot Agent 🚀" dans la plupart des chapitres. Cest un nouveau défi à réaliser en utilisant GitHub Copilot et le mode Agent. Si vous navez pas encore utilisé le mode Agent, il peut non seulement générer du texte mais aussi créer et éditer des fichiers, exécuter des commandes et plus encore.
Nouveau défi ajouté, cherchez "GitHub Copilot Agent Challenge 🚀" dans la plupart des chapitres. Cest un nouveau défi pour vous à compléter en utilisant GitHub Copilot et le mode Agent. Si vous navez jamais utilisé le mode Agent auparavant, il peut non seulement générer du texte mais aussi créer et modifier des fichiers, exécuter des commandes, et plus encore.
### 📣 Annonce - _Nouveau projet à construire avec lIA générative_
Nouveau projet Assistant IA vient dêtre ajouté, consultez le [projet](./9-chat-project/README.md)
Nouveau projet Assistant IA ajouté, découvrez-le [projet](./9-chat-project/README.md)
### 📣 Annonce - _Nouveau programme_ sur lIA générative pour JavaScript vient dêtre publié
@ -63,55 +63,59 @@ Ne manquez pas notre nouveau programme sur lIA générative !
Visitez [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) pour commencer !
![Arrière-plan](../../translated_images/fr/background.148a8d43afde5730.webp)
![Fond](../../translated_images/fr/background.148a8d43afde5730.webp)
- Leçons couvrant tout, des bases au RAG.
- Interagissez avec des personnages historiques grâce à lIA générative et notre application compagnon.
- Une narration amusante et captivante, vous voyagez dans le temps !
- Interagissez avec des personnages historiques en utilisant GenAI et notre application compagnon.
- Narration amusante et engageante, vous voyagerez dans le temps !
![personnage](../../translated_images/fr/character.5c0dd8e067ffd693.webp)
Chaque leçon inclut un devoir à réaliser, un contrôle des connaissances et un défi pour vous guider sur des sujets tels que :
- Le prompting et lingénierie de prompt
- La génération dapplications de texte et dimages
Chaque leçon comprend un devoir à réaliser, un contrôle des connaissances et un défi pour vous guider dans des sujets comme :
- Le prompt et lingénierie de prompt
- La génération dapplications texte et image
- Les applications de recherche
Visitez [https://aka.ms/genai-js-course](../../[https:/aka.ms/genai-js-course) pour commencer !
## 🌱 Commencer
> **Enseignants**, nous avons [inclus quelques suggestions](for-teachers.md) sur la façon dutiliser ce programme. Vos retours sont les bienvenus [dans notre forum de discussion](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner) !
> **Enseignants**, nous avons [inclus quelques suggestions](for-teachers.md) sur la façon dutiliser ce programme. Nous aimerions avoir votre retour [dans notre forum de discussion](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner) !
**[Apprenants](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, pour chaque leçon, commencez par un quiz pré-lecture puis poursuivez avec la lecture du matériel, la réalisation des différentes activités et vérifiez votre compréhension avec le quiz post-lecture.
**[Apprenants](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, pour chaque leçon, commencez par un quiz pré-conférence et poursuivez avec la lecture du matériel de cours, la réalisation des différentes activités et vérifiez votre compréhension avec le quiz post-conférence.
Pour améliorer votre expérience dapprentissage, connectez-vous avec vos pairs pour travailler ensemble sur les projets ! Les discussions sont encouragées dans notre [forum de discussion](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) où notre équipe de modérateurs sera disponible pour répondre à vos questions.
Pour approfondir votre formation, nous vous recommandons vivement dexplorer [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) pour des ressources détude supplémentaires.
Pour approfondir votre éducation, nous recommandons fortement dexplorer [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) pour des matériaux détude supplémentaires.
### 📋 Préparer votre environnement
### 📋 Configuration de votre environnement
Ce programme dispose déjà dun environnement de développement prêt à lemploi ! Au démarrage, vous pouvez choisir de lancer le programme dans un [Codespace](https://github.com/features/codespaces/) (_un environnement basé sur navigateur, sans installation nécessaire_), ou localement sur votre ordinateur avec un éditeur de texte comme [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Ce programme dispose dun environnement de développement prêt à lemploi ! Lors de votre démarrage, vous pouvez choisir de lancer le programme dans un [Codespace](https://github.com/features/codespaces/) (_un environnement basé sur navigateur, sans besoin dinstallation_), ou localement sur votre ordinateur en utilisant un éditeur de texte comme [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Créez votre dépôt
Pour enregistrer facilement votre travail, il est recommandé de créer une copie personnelle de ce dépôt. Vous pouvez le faire en cliquant sur le bouton **Use this template** en haut de la page. Cela créera un nouveau dépôt dans votre compte GitHub avec une copie du programme.
Pour sauvegarder facilement votre travail, il est recommandé de créer votre propre copie de ce dépôt. Vous pouvez le faire en cliquant sur le bouton **Utiliser ce modèle** en haut de la page. Cela créera un nouveau dépôt dans votre compte GitHub avec une copie du programme.
Suivez ces étapes :
1. **Forkez le dépôt** : Cliquez sur le bouton "Fork" en haut à droite de cette page.
2. **Clonez le dépôt** : `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
2. **Clonez le dépôt** : `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### Exécuter le programme dans un Codespace
#### Exécution du programme dans un Codespace
Dans votre copie de ce dépôt, cliquez sur le bouton **Code** et sélectionnez **Open with Codespaces**. Cela créera un nouveau Codespace pour que vous puissiez travailler dedans.
Dans votre copie de ce dépôt que vous avez créée, cliquez sur le bouton **Code** et sélectionnez **Ouvrir avec Codespaces**. Cela créera un nouveau Codespace pour que vous puissiez y travailler.
![Codespace](../../translated_images/fr/createcodespace.0238bbf4d7a8d955.webp)
#### Exécuter le programme localement sur votre ordinateur
#### Exécution du programme localement sur votre ordinateur
Pour exécuter ce programme localement sur votre ordinateur, vous aurez besoin dun éditeur de texte, dun navigateur et dun outil en ligne de commande. Notre première leçon, [Introduction aux Langages de Programmation et Outils du Métier](../../1-getting-started-lessons/1-intro-to-programming-languages), vous guidera à travers différentes options pour chacun de ces outils afin que vous puissiez choisir ce qui vous convient le mieux.
Pour exécuter ce programme localement, vous aurez besoin dun éditeur de texte, dun navigateur et dun outil en ligne de commande. Notre première leçon, [Introduction aux langages et outils de programmation](../../1-getting-started-lessons/1-intro-to-programming-languages), vous guidera à travers plusieurs options pour ces outils afin que vous puissiez choisir ce qui vous convient le mieux.
Notre recommandation est dutiliser [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) comme éditeur, qui possède également un [Terminal intégré](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Vous pouvez télécharger Visual Studio Code [ici](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Nous recommandons dutiliser [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) comme éditeur, qui dispose aussi dun [Terminal intégré](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Vous pouvez télécharger Visual Studio Code [ici](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Clonez votre dépôt sur votre ordinateur. Vous pouvez faire ceci en cliquant sur le bouton **Code** et en copiant lURL :
1. Clonez votre dépôt sur votre ordinateur. Vous pouvez le faire en cliquant sur le bouton **Code** et en copiant lURL :
[CodeSpace](./images/createcodespace.png)
Ensuite, ouvrez [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) dans [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) et exécutez la commande suivante, en remplaçant `<your-repository-url>` par lURL que vous venez de copier :
@ -123,93 +127,93 @@ Nous recommandons dutiliser [Visual Studio Code](https://code.visualstudio.co
2. Ouvrez le dossier dans Visual Studio Code. Vous pouvez le faire en cliquant sur **Fichier** > **Ouvrir un dossier** et en sélectionnant le dossier que vous venez de cloner.
> Extensions Visual Studio Code recommandées :
> Extensions recommandées pour Visual Studio Code :
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - pour prévisualiser les pages HTML directement dans Visual Studio Code
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - pour prévisualiser les pages HTML dans Visual Studio Code
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - pour vous aider à écrire du code plus rapidement
## 📂 Chaque leçon comprend :
- sketchnote optionnelle
- vidéo supplémentaire optionnelle
- quiz d'échauffement avant la leçon
- sketchnote optionnel
- vidéo complémentaire optionnelle
- quiz déchauffement avant la leçon
- leçon écrite
- pour les leçons basées sur un projet, des guides étape par étape pour construire le projet
- pour les leçons basées sur un projet, guides étape par étape pour construire le projet
- vérifications des connaissances
- un défi
- lectures complémentaires
- lecture complémentaire
- devoir
- [quiz après la leçon](https://ff-quizzes.netlify.app/web/)
- [quiz post-leçon](https://ff-quizzes.netlify.app/web/)
> **Une note concernant les quiz** : Tous les quiz sont contenus dans le dossier Quiz-app, 48 quiz au total avec trois questions chacun. Ils sont disponibles [ici](https://ff-quizzes.netlify.app/web/) ; lapplication de quiz peut être exécutée localement ou déployée sur Azure ; suivez les instructions dans le dossier `quiz-app`.
> **Une note à propos des quiz** : Tous les quiz sont contenus dans le dossier Quiz-app, 48 quiz au total composés de trois questions chacun. Ils sont disponibles [ici](https://ff-quizzes.netlify.app/web/) ; lapplication de quiz peut être exécutée localement ou déployée sur Azure ; suivez les instructions dans le dossier `quiz-app`.
## 🗃️ Leçons
| | Nom du Projet | Concepts Enseignés | Objectifs d'Apprentissage | Leçon Liée | Auteur |
| :-: | :------------------------------------------------------: | :-----------------------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Premiers Pas | Introduction à la Programmation et aux Outils du Métier | Apprendre les bases communes à la plupart des langages de programmation et sur les logiciels qui aident les développeurs pros | [Introduction aux Langages de Programmation et Outils du Métier](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Premiers Pas | Bases de GitHub, incluant le travail en équipe | Comment utiliser GitHub dans votre projet, comment collaborer avec d'autres sur une base de code | [Introduction à GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Premiers Pas | Accessibilité | Apprendre les bases de laccessibilité web | [Fondamentaux de lAccessibilité](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | Bases JS | Types de Données en JavaScript | Les bases des types de données en JavaScript | [Types de Données](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | Bases JS | Fonctions et Méthodes | Apprendre les fonctions et méthodes pour gérer le flux logique dune application | [Fonctions et Méthodes](./2-js-basics/2-functions-methods/README.md) | Jasmine et Christopher |
| 06 | Bases JS | Prise de Décisions avec JS | Apprendre à créer des conditions dans votre code en utilisant les méthodes de prise de décision | [Prise de Décisions](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | Bases JS | Tableaux et Boucles | Travailler avec les données à laide de tableaux et boucles en JavaScript | [Tableaux et Boucles](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML en Pratique | Construire le HTML pour créer un terrarium en ligne, en se concentrant sur la mise en page | [Introduction à HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS en Pratique | Construire le CSS pour styliser le terrarium en ligne, en se concentrant sur les bases du CSS y compris rendre la page responsive | [Introduction au CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | Fermetures JavaScript, manipulation du DOM | Construire le JavaScript pour rendre le terrarium fonctionnel en tant quinterface glisser/déposer, en se concentrant sur les closures et la manipulation du DOM | [Fermetures JavaScript, manipulation du DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Jeu de frappe](./4-typing-game/solution/README.md) | Construire un jeu de frappe | Apprendre à utiliser les événements clavier pour piloter la logique de votre application JavaScript | [Programmation orientée événements](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Extension Navigateur Verte](./5-browser-extension/solution/README.md) | Travailler avec les navigateurs | Apprendre comment fonctionnent les navigateurs, leur histoire, et comment construire les premiers éléments dune extension | [Au sujet des navigateurs](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Extension Navigateur Verte](./5-browser-extension/solution/README.md) | Construire un formulaire, appeler une API et stocker des variables localement | Construire les éléments JavaScript de votre extension de navigateur pour appeler une API en utilisant des variables stockées localement | [APIs, Formulaires et Stockage Local](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Extension Navigateur Verte](./5-browser-extension/solution/README.md) | Processus en arrière-plan dans le navigateur, performance web | Utiliser les processus en arrière-plan du navigateur pour gérer licône de lextension ; apprendre la performance web et quelques optimisations | [Tâches en arrière-plan et performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Jeu Spatial](./6-space-game/solution/README.md) | Développement avancé de jeux avec JavaScript | Apprendre lhéritage avec Classes et Composition ainsi que le patron Pub/Sub, en préparation à la création dun jeu | [Introduction au développement avancé de jeux](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Jeu Spatial](./6-space-game/solution/README.md) | Dessiner sur canvas | Apprendre lAPI Canvas, utilisée pour dessiner des éléments sur un écran | [Dessiner sur Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Jeu Spatial](./6-space-game/solution/README.md) | Déplacer des éléments à lécran | Découvrir comment les éléments peuvent prendre du mouvement avec les coordonnées cartésiennes et lAPI Canvas | [Déplacer des éléments](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Jeu Spatial](./6-space-game/solution/README.md) | Détection de collisions | Faire entrer en collision des éléments et leur réaction avec les touches pressées, fournir une fonction de cooldown pour la performance du jeu | [Détection de collisions](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Jeu Spatial](./6-space-game/solution/README.md) | Tenue du score | Effectuer des calculs mathématiques basés sur létat et la performance du jeu | [Tenue du score](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Jeu Spatial](./6-space-game/solution/README.md) | Finir et redémarrer le jeu | Apprendre à terminer et redémarrer le jeu, y compris nettoyer les ressources et réinitialiser les variables | [La condition de fin](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Application Bancaire](./7-bank-project/solution/README.md) | Templates HTML et Routes dans une application web | Apprendre à créer lossature dun site multipage utilisant le routage et les templates HTML | [Templates HTML et Routes](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Application Bancaire](./7-bank-project/solution/README.md) | Construire un formulaire de connexion et d'inscription | Apprendre à construire des formulaires et à gérer la validation | [Formulaires](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Application Bancaire](./7-bank-project/solution/README.md) | Méthodes de récupération et dutilisation des données | Comment les données entrent et sortent de votre application, comment les récupérer, les stocker et sen débarrasser | [Données](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Application Bancaire](./7-bank-project/solution/README.md) | Concepts de gestion détat | Apprendre comment votre application conserve létat et comment le gérer par programmation | [Gestion dÉtat](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Code Navigateur / VScode](../../8-code-editor) | Travailler avec VScode | Apprendre à utiliser un éditeur de code | [Utiliser léditeur de code VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [Assistants IA](./9-chat-project/README.md) | Travailler avec lIA | Apprendre à construire votre propre assistant IA | [Projet Assistant IA](./9-chat-project/README.md) | Chris |
| | Nom du Projet | Concepts Enseignés | Objectifs dapprentissage | Leçon Liée | Auteur |
| :-: | :---------------------------------------------------------: | :-----------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Premiers Pas | Introduction à la programmation et outils du métier | Apprenez les bases sous-jacentes de la plupart des langages de programmation et sur les logiciels aidant les développeurs professionnels dans leur travail | [Introduction aux langages de programmation et outils](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Premiers Pas | Bases de GitHub, y compris le travail en équipe | Comment utiliser GitHub dans votre projet, comment collaborer avec dautres sur une base de code | [Introduction à GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Premiers Pas | Accessibilité | Apprenez les bases de laccessibilité web | [Fondamentaux de laccessibilité](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | Bases JS | Types de données JavaScript | Les bases des types de données en JavaScript | [Types de données](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | Bases JS | Fonctions et Méthodes | Apprenez les fonctions et méthodes pour gérer le flux logique dune application | [Fonctions et Méthodes](./2-js-basics/2-functions-methods/README.md) | Jasmine et Christopher |
| 06 | Bases JS | Prise de décisions avec JS | Apprenez à créer des conditions dans votre code en utilisant les méthodes de prise de décision | [Prise de décisions](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | Bases JS | Tableaux et Boucles | Travaillez avec les données en utilisant les tableaux et boucles en JavaScript | [Tableaux et Boucles](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML en pratique | Construisez le HTML pour créer un terrarium en ligne, en vous concentrant sur la mise en page | [Introduction au HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS en pratique | Construisez le CSS pour styliser le terrarium en ligne, en vous concentrant sur les bases du CSS incluant la réactivité de la page | [Introduction au CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | Closures JavaScript, manipulation du DOM | Construisez le JavaScript pour faire fonctionner le terrarium comme une interface glisser/déposer, en vous concentrant sur les closures et la manipulation du DOM | [Closures JavaScript, manipulation du DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | Construire un jeu de dactylographie | Apprenez à utiliser les événements clavier pour piloter la logique de votre application JavaScript | [Programmation événementielle](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Extension Navigateur Verte](./5-browser-extension/solution/README.md) | Travailler avec les navigateurs | Découvrez comment fonctionnent les navigateurs, leur histoire, et comment structurer les premiers éléments dune extension navigateur | [À propos des navigateurs](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Extension Navigateur Verte](./5-browser-extension/solution/README.md) | Construire un formulaire, appeler une API et stocker des variables en stockage local | Construisez les éléments JavaScript de votre extension pour appeler une API en utilisant les variables stockées en local | [APIs, formulaires et stockage local](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Extension Navigateur Verte](./5-browser-extension/solution/README.md) | Processus en arrière-plan dans le navigateur, performance web | Utilisez les processus en arrière-plan du navigateur pour gérer licône de lextension ; apprenez la performance web et quelques optimisations pour améliorer | [Tâches en arrière-plan et performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Jeu Spatial](./6-space-game/solution/README.md) | Développement de jeu plus avancé avec JavaScript | Apprenez lhéritage en utilisant à la fois les classes et la composition ainsi que le modèle Pub/Sub, en préparation pour construire un jeu | [Introduction au développement avancé de jeux](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Jeu Spatial](./6-space-game/solution/README.md) | Dessiner sur un canvas | Apprenez à utiliser lAPI Canvas, utilisée pour dessiner des éléments à lécran | [Dessiner sur Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Jeu Spatial](./6-space-game/solution/README.md) | Déplacer des éléments à lécran | Découvrez comment les éléments peuvent gagner du mouvement en utilisant les coordonnées cartésiennes et lAPI Canvas | [Déplacement des éléments](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Jeu Spatial](./6-space-game/solution/README.md) | Détection de collisions | Faites entrer en collision les éléments et réagir entre eux avec les appuis sur les touches, et fournissez une fonction de cooldown pour assurer les performances du jeu | [Détection de collisions](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Jeu Spatial](./6-space-game/solution/README.md) | Comptage des points | Effectuez des calculs mathématiques basés sur létat et la performance du jeu | [Comptage des points](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Jeu Spatial](./6-space-game/solution/README.md) | Finir et redémarrer le jeu | Apprenez à finir et redémarrer le jeu, incluant le nettoyage des ressources et la réinitialisation des variables | [Condition de fin](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Application Bancaire](./7-bank-project/solution/README.md) | Modèles HTML et routes dans une application web | Apprenez à créer lossature de larchitecture dun site web multipage en utilisant le routage et les modèles HTML | [Modèles HTML et Routes](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Application Bancaire](./7-bank-project/solution/README.md) | Construire un formulaire de connexion et denregistrement | Apprenez à construire des formulaires et gérer les routines de validation | [Formulaires](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Application Bancaire](./7-bank-project/solution/README.md) | Méthodes de récupération et dutilisation des données | Comment les données circulent dans et hors de votre application, comment les récupérer, les stocker et sen débarrasser | [Données](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Application Bancaire](./7-bank-project/solution/README.md) | Concepts de gestion détat | Apprenez comment votre application conserve létat et comment le gérer par programmation | [Gestion détat](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Code Browser/VScode](../../8-code-editor) | Travailler avec VScode | Apprenez à utiliser un éditeur de code| [Utiliser léditeur de code VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [Assistants IA](./9-chat-project/README.md) | Travailler avec lIA | Apprenez à créer votre propre assistant IA | [Projet Assistant IA](./9-chat-project/README.md) | Chris |
## 🏫 Pédagogie
Notre programme est conçu autour de deux principes pédagogiques clés :
* apprentissage par projets
Notre programme est conçu selon deux principes pédagogiques clés :
* apprentissage par projet
* quiz fréquents
Le programme enseigne les fondamentaux du JavaScript, HTML, et CSS, ainsi que les derniers outils et techniques utilisés par les développeurs web actuels. Les étudiants auront lopportunité de développer une expérience pratique en construisant un jeu de frappe, un terrarium virtuel, une extension de navigateur écologique, un jeu de style space-invader, et une application bancaire pour les entreprises. À la fin de la série, les étudiants auront acquis une solide compréhension du développement web.
Le programme enseigne les fondamentaux de JavaScript, HTML et CSS, ainsi que les outils et techniques les plus récents utilisés par les développeurs web daujourdhui. Les étudiants auront lopportunité de développer une expérience pratique en construisant un jeu de dactylographie, un terrarium virtuel, une extension de navigateur écologique, un jeu de type space invader, et une application bancaire pour entreprises. À la fin de la série, les étudiants auront acquis une solide compréhension du développement web.
> 🎓 Vous pouvez suivre les premières leçons de ce programme comme [parcours dapprentissage](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) sur Microsoft Learn !
> 🎓 Vous pouvez suivre les premières leçons de ce programme comme un [Parcours dapprentissage](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) sur Microsoft Learn !
En veillant à ce que le contenu soit en adéquation avec les projets, le processus devient plus engageant pour les étudiants et la rétention des concepts est augmentée. Nous avons aussi écrit plusieurs leçons introductives sur les bases de JavaScript pour présenter les concepts, accompagnées dune vidéo de la collection "[Série Débutants sur : JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", dont certains auteurs ont contribué à ce programme.
En assurant que le contenu est aligné avec des projets, le processus devient plus engageant pour les étudiants et la rétention des concepts sera renforcée. Nous avons également rédigé plusieurs leçons dintroduction aux bases de JavaScript pour introduire les concepts, accompagnées dune vidéo de la collection de tutoriels vidéo "[Série pour débutants sur : JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", dont certains auteurs ont contribué à ce programme.
De plus, un quiz sans enjeu avant la classe fixe lintention de létudiant sur lapprentissage dun sujet, tandis quun second quiz après la classe assure une meilleure rétention. Ce programme a été conçu pour être flexible et ludique, et peut être suivi en totalité ou en partie. Les projets commencent petits et deviennent de plus en plus complexes à la fin du cycle de 12 semaines.
De plus, un quiz à enjeu faible avant le cours fixe lintention de létudiant envers lapprentissage dun sujet, tandis quun second quiz après le cours assure une meilleure rétention. Ce programme a été conçu pour être flexible et ludique et peut être suivi en totalité ou en partie. Les projets commencent petits et deviennent de plus en plus complexes à la fin du cycle de 12 semaines.
Bien que nous ayons délibérément évité dintroduire des frameworks JavaScript pour nous concentrer sur les compétences de base nécessaires en tant que développeur web avant dadopter un framework, une bonne étape suivante pour compléter ce programme serait dapprendre Node.js via une autre série de vidéos : "[Série Débutants sur : Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
Bien que nous ayons délibérément évité dintroduire les frameworks JavaScript afin de nous concentrer sur les compétences de base nécessaires en tant que développeur web avant dadopter un framework, une bonne étape suivante après avoir terminé ce programme serait dapprendre Node.js via une autre collection de vidéos : "[Série pour débutants sur : Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> Consultez notre [Code de Conduite](CODE_OF_CONDUCT.md) et notre guide de [Contribution](CONTRIBUTING.md). Nous accueillons vos retours constructifs !
> Consultez notre [Code de conduite](CODE_OF_CONDUCT.md) et nos directives [Contribuer](CONTRIBUTING.md). Nous accueillons vos retours constructifs !
## 🧭 Accès hors ligne
Vous pouvez consulter cette documentation hors ligne en utilisant [Docsify](https://docsify.js.org/#/). Forkez ce dépôt, [installez Docsify](https://docsify.js.org/#/quickstart) sur votre machine locale, puis dans le dossier racine de ce dépôt, tapez `docsify serve`. Le site sera servi sur le port 3000 sur votre localhost : `localhost:3000`.
Vous pouvez consulter cette documentation hors ligne en utilisant [Docsify](https://docsify.js.org/#/). Forkez ce dépôt, [installez Docsify](https://docsify.js.org/#/quickstart) sur votre machine locale, puis dans le dossier racine de ce dépôt, tapez `docsify serve`. Le site web sera servi sur le port 3000 sur votre localhost : `localhost:3000`.
## 📘 PDF
Un PDF de toutes les leçons est disponible [ici](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Autres Cours
Notre équipe produit d'autres cours ! Découvrez :
## 🎒 Autres cours
Notre équipe produit dautres cours ! Découvrez :
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agents
@ -220,7 +224,7 @@ Notre équipe produit d'autres cours ! Découvrez :
---
### Série IA Générative
### Série IA générative
[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
@ -228,7 +232,7 @@ Notre équipe produit d'autres cours ! Découvrez :
---
### Apprentissage Fondamental
### Apprentissage de base
[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
@ -245,23 +249,23 @@ Notre équipe produit d'autres cours ! Découvrez :
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## Obtenir de l'aide
## Obtenir de laide
Si vous êtes bloqué ou avez des questions sur la création d'applications d'IA. Rejoignez d'autres apprenants et développeurs expérimentés dans des discussions sur MCP. C'est une communauté bienveillante où les questions sont les bienvenues et le partage des connaissances est libre.
Si vous êtes bloqué ou avez des questions sur la création dapplications IA. Rejoignez dautres apprenants et des développeurs expérimentés pour des discussions sur MCP. Cest une communauté bienveillante où les questions sont les bienvenues et où le savoir est partagé librement.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Si vous avez des retours produit ou des erreurs lors de la construction, visitez :
Si vous avez des retours sur le produit ou des erreurs lors de la création, visitez :
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
## Licence
Ce dépôt est sous licence MIT. Consultez le fichier [LICENSE](../../LICENSE) pour plus d'informations.
Ce dépôt est sous licence MIT. Voir le fichier [LICENSE](../../LICENSE) pour plus dinformations.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Avertissement** :
Ce document a été traduit à laide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforçons dassurer lexactitude, veuillez noter que les traductions automatiques peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue dorigine doit être considéré comme la source faisant foi. Pour les informations cruciales, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous déclinons toute responsabilité en cas de malentendus ou dinterprétations erronées résultant de lutilisation de cette traduction.
**Clause de non-responsabilité** :
Ce document a été traduit à laide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions dassurer lexactitude, veuillez noter que les traductions automatiques peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue dorigine doit être considéré comme la source faisant foi. Pour toute information critique, il est recommandé de recourir à une traduction professionnelle effectuée par un humain. Nous déclinons toute responsabilité en cas de malentendus ou de mauvaises interprétations résultant de lutilisation de cette traduction.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save