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

update-translations
localizeflow[bot] 2 weeks ago
parent 8c3040b48b
commit dce821d417

@ -487,7 +487,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-04-20T15:26:56+00:00",
"translation_date": "2026-04-24T11:28:32+00:00",
"source_file": "AGENTS.md",
"language_code": "en"
},
@ -510,8 +510,8 @@
"language_code": "en"
},
"README.md": {
"original_hash": "b885c87c7544109b78d6684daad6cba6",
"translation_date": "2026-04-06T15:19:36+00:00",
"original_hash": "b1766b45123e043ef2c72612f28b86dd",
"translation_date": "2026-04-24T11:23:11+00:00",
"source_file": "README.md",
"language_code": "en"
},
@ -558,8 +558,8 @@
"language_code": "en"
},
"lesson-template/README.md": {
"original_hash": "0494be70ad7fadd13a8c3d549c23e355",
"translation_date": "2025-08-28T11:48:01+00:00",
"original_hash": "ce2f64fd0d518f0500fc082b97c1e662",
"translation_date": "2026-04-24T11:23:19+00:00",
"source_file": "lesson-template/README.md",
"language_code": "en"
},

@ -14,7 +14,7 @@
Learn the fundamentals of web development with our 12-week comprehensive course by Microsoft Cloud Advocates. Each of the 24 lessons dives into JavaScript, CSS, and HTML through hands-on projects like terrariums, browser extensions, and space games. Engage with quizzes, discussions, and practical assignments. Enhance your skills and optimize your knowledge retention with our effective project-based pedagogy. Start your coding journey today!
Join the Azure AI Foundry Discord Community
Join the Azure AI Foundry Discord and meet experts and fellow developers.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
@ -51,7 +51,7 @@ Follow these steps to get started using these resources:
> This gives you everything you need to complete the course with a much faster download.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**If you wish to have additional translations languages supported are listed [here](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**If you wish to have additional translations, the supported languages are listed here. [here](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)
@ -276,5 +276,5 @@ This repository is licensed under the MIT license. See the [LICENSE](../../LICEN
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Disclaimer**:
This document has been translated using AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please be aware that automated translations may contain errors or inaccuracies. The original document in its native language should be considered the authoritative source. For critical information, professional human translation is recommended. We are not liable for any misunderstandings or misinterpretations arising from the use of this translation.
This document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please be aware that automated translations may contain errors or inaccuracies. The original document in its native language should be considered the authoritative source. For critical information, professional human translation is recommended. We are not liable for any misunderstandings or misinterpretations arising from the use of this translation.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,50 +1,71 @@
# [Lesson Topic]
# Lesson Topic
![Embed a video here](../../../lesson-template/video-url)
## 🎥 Video
## [Pre-lecture quiz](../../../lesson-template/quiz-url)
> Add an embedded video or lesson link here.
[Overview of what will be learned]
---
## Pre-lecture quiz
> Add a quiz link here when available.
---
Provide a brief overview of what students will learn in this lesson.
---
### Introduction
Outline of the topics that will be covered.
Provide a short introduction describing what will be covered in this lesson.
> Notes
---
### Prerequisite
What steps or knowledge should have been completed before starting this lesson?
List the concepts or topics students should already be familiar with before starting this lesson.
---
### Preparation
Steps to prepare before beginning this lesson.
List any setup steps or tools required before starting the lesson.
---
[Go through the content step by step]
### Content
Step through the lesson content in structured sections.
---
## [Topic 1]
## Topic 1
### Task:
Collaborate to gradually improve your codebase and develop the project using shared code:
Work together to progressively enhance your codebase to build the project with shared code:
```html
code blocks
```
✅ Knowledge Check - take this opportunity to challenge students with open-ended questions to deepen their understanding.
✅ Knowledge Check
Use this moment to stretch students' knowledge with open-ended questions.
## [Topic 2]
## Topic 2
## Topic 3
## [Topic 3]
🚀 Challenge
Add a collaborative challenge for students to enhance the project.
🚀 Challenge: Present a collaborative challenge for students to work on during class to further develop the project.
Optional: Add a screenshot of the completed lesson's UI if appropriate.
Optional: Include a screenshot of the final UI from the lesson if relevant.
## Post-lecture quiz
## [Post-lecture quiz](../../../lesson-template/quiz-url)
Add a quiz link here after completing the lesson.
## Review & Self Study
@ -52,5 +73,7 @@ Optional: Include a screenshot of the final UI from the lesson if relevant.
---
**Disclaimer**:
This document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we aim for accuracy, please note that automated translations may include errors or inaccuracies. The original document in its native language should be regarded as the authoritative source. For critical information, professional human translation is advised. We are not responsible for any misunderstandings or misinterpretations resulting from the use of this translation.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Disclaimer**:
This document has been translated using AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please be aware that automated translations may contain errors or inaccuracies. The original document in its native language should be considered the authoritative source. For critical information, professional human translation is recommended. We are not liable for any misunderstandings or misinterpretations arising from the use of this translation.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-04-20T15:29:24+00:00",
"translation_date": "2026-04-24T11:30:41+00:00",
"source_file": "AGENTS.md",
"language_code": "es"
},
@ -516,8 +516,8 @@
"language_code": "es"
},
"README.md": {
"original_hash": "b885c87c7544109b78d6684daad6cba6",
"translation_date": "2026-04-06T15:23:47+00:00",
"original_hash": "b1766b45123e043ef2c72612f28b86dd",
"translation_date": "2026-04-24T11:27:26+00:00",
"source_file": "README.md",
"language_code": "es"
},
@ -564,8 +564,8 @@
"language_code": "es"
},
"lesson-template/README.md": {
"original_hash": "0494be70ad7fadd13a8c3d549c23e355",
"translation_date": "2025-08-24T13:48:21+00:00",
"original_hash": "ce2f64fd0d518f0500fc082b97c1e662",
"translation_date": "2026-04-24T11:27:36+00:00",
"source_file": "lesson-template/README.md",
"language_code": "es"
},

@ -1,15 +1,15 @@
# AGENTS.md
## Descripción del Proyecto
## Descripción general del proyecto
Este es un repositorio educativo para enseñar los fundamentos del desarrollo web a principiantes. El currículum es un curso integral de 12 semanas desarrollado por 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 los fundamentos del desarrollo web a principiantes. El currículo es un curso integral de 12 semanas desarrollado por Microsoft Cloud Advocates, que incluye 24 lecciones prácticas sobre JavaScript, CSS y HTML.
### Componentes Clave
### Componentes clave
- **Contenido Educativo**: 24 lecciones estructuradas organizadas en módulos basados en proyectos
- **Proyectos Prácticos**: Terrarium, Juego de mecanografía, 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 pre y post lección)
- **Soporte Multilenguaje**: Traducciones automáticas en más de 50 idiomas vía GitHub Actions
- **Contenido educativo**: 24 lecciones estructuradas organizadas en módulos basados en proyectos
- **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 con IA
- **Cuestionarios interactivos**: 48 cuestionarios con 3 preguntas cada uno (evaluaciones antes/después de la 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)
### Arquitectura
@ -20,18 +20,18 @@ Este es un repositorio educativo para enseñar los fundamentos del desarrollo we
- Sistema de traducción usando GitHub Actions (co-op-translator)
- Documentación servida vía Docsify y disponible en PDF
## Comandos de Configuración
## Comandos de configuración
Este repositorio está principalmente para consumo de contenido educativo. Para trabajar con proyectos específicos:
Este repositorio está principalmente para el consumo de contenido educativo. Para trabajar con proyectos específicos:
### Configuración Principal del Repositorio
### 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 Quiz App (Vue 3 + Vite)
### Configuración de la aplicación de cuestionarios (Vue 3 + Vite)
```bash
cd quiz-app
@ -41,7 +41,7 @@ npm run build # Construir para producción
npm run lint # Ejecutar ESLint
```
### API para Proyecto Bancario (Node.js + Express)
### API del proyecto bancario (Node.js + Express)
```bash
cd 7-bank-project/api
@ -51,15 +51,15 @@ npm run lint # Ejecutar ESLint
npm run format # Formatear con Prettier
```
### Proyectos de Extensión para Navegador
### Proyectos de extensiones de navegador
```bash
cd 5-browser-extension/solution
npm install
# Sigue las instrucciones específicas del navegador para cargar extensiones
# Siga las instrucciones específicas del navegador para cargar extensiones
```
### Proyectos de Juego Espacial
### Proyectos del juego espacial
```bash
cd 6-space-game/solution
@ -67,7 +67,7 @@ npm install
# Abre index.html en el navegador o usa Live Server
```
### Proyecto de Chat (Backend en Python)
### Proyecto de chat (Backend en Python)
```bash
cd 9-chat-project/solution/backend/python
@ -76,37 +76,37 @@ pip install openai
python api.py
```
## Flujo de Desarrollo
## Flujo de trabajo de desarrollo
### Para Contribuidores de Contenido
### Para colaboradores de contenido
1. **Hacer fork del repositorio** a tu cuenta de GitHub
2. **Clonar tu fork** localmente
3. **Crear una nueva rama** para tus cambios
4. Realizar cambios en contenido de lecciones o ejemplos de código
5. Probar cualquier cambio de código en los directorios de proyectos relevantes
6. Enviar pull requests siguiendo las directrices de contribución
1. **Haz un fork del repositorio** a 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 en los 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
### Para estudiantes
1. Hacer fork o clonar el repositorio
2. Navegar secuencialmente por los directorios de lecciones
3. Leer los archivos README de cada lección
4. Completar cuestionarios pre-lección en https://ff-quizzes.netlify.app/web/
5. Trabajar con ejemplos de código en las carpetas de las lecciones
6. Completar tareas y desafíos
7. Realizar cuestionarios post-lección
1. Haz fork o clona el repositorio
2. Navega a los directorios de las lecciones de forma secuencial
3. Lee los archivos README de cada lección
4. Completa los cuestionarios previos en https://ff-quizzes.netlify.app/web/
5. Trabaja los ejemplos de código en las carpetas de las lecciones
6. Completa tareas y desafíos
7. Realiza los cuestionarios posteriores a la lección
### Desarrollo en Vivo
### Desarrollo en vivo
- **Documentación**: Ejecutar `docsify serve` en la raíz (puerto 3000)
- **Quiz App**: Ejecutar `npm run dev` en el directorio quiz-app
- **Proyectos**: Usar extensión Live Server de VS Code para proyectos HTML
- **Proyectos API**: Ejecutar `npm start` en los directorios API respectivos
- **Documentación**: Ejecuta `docsify serve` en la raíz (puerto 3000)
- **Aplicación de cuestionarios**: 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 respectivos
## Instrucciones para Pruebas
## Instrucciones de pruebas
### Pruebas de Quiz App
### Pruebas de la aplicación de cuestionarios
```bash
cd quiz-app
@ -114,37 +114,37 @@ npm run lint # Verificar problemas de estilo de código
npm run build # Verificar que la compilación sea exitosa
```
### Pruebas de API Bancaria
### Pruebas de la API bancaria
```bash
cd 7-bank-project/api
npm run lint # Verificar problemas de estilo de código
node server.js # Verificar que el servidor arranque sin errores
node server.js # Verificar que el servidor inicie sin errores
```
### Enfoque General para Pruebas
### Enfoque general de pruebas
- Este repositorio educativo no cuenta con pruebas automatizadas completas
- Las pruebas manuales se centran en:
- Que los ejemplos de código se ejecuten sin errores
- Que los enlaces en la documentación funcionen correctamente
- Que las compilaciones de proyectos finalicen sin errores
- Que los ejemplos sigan las mejores prácticas
- Este es un repositorio educativo sin pruebas automatizadas completas
- Las pruebas manuales se enfocan en:
- Ejecución de ejemplos de código sin errores
- Funcionalidad correcta de enlaces en la documentación
- Construcción exitosa de proyectos
- Ejemplos que siguen buenas prácticas
### Chequeos Previo al Envío
### Verificaciones antes de enviar
- Ejecutar `npm run lint` en directorios con package.json
- Verificar que los enlaces en markdown sean válidos
- Probar ejemplos de código en navegador o Node.js
- Comprobar 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 ejemplos de código en navegador o Node.js
- Comprueba que las traducciones mantienen la estructura correcta
## Guías de Estilo de Código
## Directrices de estilo de código
### JavaScript
- Usar sintaxis moderna ES6+
- Seguir configuraciones standard de ESLint proporcionadas en proyectos
- Usar nombres significativos para variables y funciones para claridad educativa
- Seguir configuraciones estándar de ESLint proporcionadas en los proyectos
- Usar nombres de variables y funciones significativos para claridad educativa
- Añadir comentarios que expliquen conceptos para los estudiantes
- Formatear usando Prettier donde esté configurado
@ -152,131 +152,131 @@ node server.js # Verificar que el servidor arranque sin errores
- Elementos semánticos HTML5
- Principios de diseño responsivo
- Convenciones claras de nombres de clases
- Convenciones claras de nomenclatura de clases
- Comentarios que expliquen técnicas CSS para estudiantes
### Python
- Guías de estilo PEP 8
- Código claro y educativo
- Anotaciones de tipo donde sean útiles para el aprendizaje
- Uso de anotaciones de tipo 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
- Enlaces a recursos adicionales
- Capturas de pantalla e imágenes en directorios `images/`
- Texto alternativo para imágenes para accesibilidad
- Texto alternativo en imágenes para accesibilidad
### Organización de Archivos
### Organización de archivos
- Lecciones numeradas secuencialmente (1-getting-started-lessons, 2-js-basics, etc.)
- Cada proyecto tiene `solution/` y a menudo `start/` o `your-work/`
- Imágenes almacenadas en carpetas `images/` específicas por lección
- Cada proyecto tiene directorios `solution/` y a menudo `start/` o `your-work/`
- Imágenes guardadas en carpetas `images/` específicas de cada lección
- Traducciones en la estructura `translations/{language-code}/`
## Construcción y Despliegue
## Construcción y despliegue
### Despliegue de Quiz App (Azure Static Web Apps)
### Despliegue de la aplicación de cuestionarios (Azure Static Web Apps)
La quiz-app está configurada para despliegue en Azure Static Web Apps:
La quiz-app está configurada para el despliegue en Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Crea la carpeta dist/
# Despliega mediante el flujo de trabajo de GitHub Actions al hacer push en main
# Despliega mediante el flujo de trabajo de GitHub Actions al hacer push a main
```
Configuración de Azure Static Web Apps:
- **Ubicación de la app**: `/quiz-app`
- **Ubicación de la aplicación**: `/quiz-app`
- **Ubicación de salida**: `dist`
- **Flujo de trabajo**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Generación de Documentación PDF
### Generación de PDF de documentación
```bash
npm install # Instalar docsify-to-pdf
npm run convert # Generar PDF desde docs
```
### Documentación con Docsify
### Documentación Docsify
```bash
npm install -g docsify-cli # Instalar Docsify globalmente
docsify serve # Servir en localhost:3000
```
### Compilaciones específicas de proyectos
### Construcciones específicas de proyectos
Cada directorio de proyecto puede tener su propio proceso de compilación:
- Proyectos Vue: `npm run build` crea paquetes para producción
- Proyectos estáticos: No tienen paso de compilación, se sirven archivos directamente
Cada directorio de proyecto puede tener su propio proceso de construcción:
- Proyectos Vue: `npm run build` crea paquetes de producción
- Proyectos estáticos: No hay paso de construcción, servir archivos directamente
## Directrices para Pull Requests
## Directrices para pull request
### Formato del Título
### Formato del título
Usar títulos claros y descriptivos indicando la área de cambio:
Usa títulos claros y descriptivos que indiquen el área del cambio:
- `[Quiz-app] Añadir nuevo cuestionario 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`
### Verificaciones Requeridas
### Verificaciones requeridas
Antes de enviar un PR:
1. **Calidad del código**:
- Ejecutar `npm run lint` en directorios afectados
- Corregir todos los errores y advertencias de linting
- Corregir todos los errores y advertencias
2. **Verificación de compilación**:
2. **Verificación de construcción**:
- Ejecutar `npm run build` si aplica
- Asegurar que no hay errores en la compilación
- Asegurar que no haya errores de construcción
3. **Validación de enlaces**:
- Probar todos los enlaces markdown
- Verificar referencias de imágenes
- Verificar que las imágenes se cargan correctamente
4. **Revisión de contenido**:
- Revisar ortografía y gramática
- Asegurar que ejemplos de código sean correctos y educativos
- Corregir ortografía y gramática
- Confirmar que ejemplos de código sean correctos y educativos
- Verificar que las traducciones mantengan el significado original
### Requisitos para Contribuir
### Requisitos de contribución
- Aceptar Microsoft CLA (verificación automática en primer PR)
- Seguir el [Código de Conducta de Código Abierto de Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Consultar [CONTRIBUTING.md](./CONTRIBUTING.md) para directrices detalladas
- 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/)
- Consultar [CONTRIBUTING.md](./CONTRIBUTING.md) para pautas detalladas
- Referenciar números de issues en la descripción del PR si aplica
### Proceso de Revisión
### Proceso de revisión
- Los PR son revisados por mantenedores y la comunidad
- Se prioriza la claridad educativa
- Los ejemplos de código deben seguir mejores prácticas actuales
- Las traducciones se revisan para exactitud y adecuación cultural
- PRs revisados por mantenedores y comunidad
- Prioridad a la claridad educativa
- Ejemplos de código deben seguir buenas prácticas actuales
- Traducciones revisadas por precisión y adecuación cultural
## Sistema de Traducción
## Sistema de traducción
### Traducción Automática
### Traducción automatizada
- Usa GitHub Actions con el workflow co-op-translator
- Usa GitHub Actions con el flujo co-op-translator
- Traduce automáticamente a más de 50 idiomas
- Archivos fuente en directorios principales
- Archivos traducidos en `translations/{language-code}/`
### Agregar Mejoras Manuales de Traducción
### Añadir mejoras manuales a las traducciones
1. Localizar archivo en `translations/{language-code}/`
2. Mejorar manteniendo la estructura
3. Asegurar que los ejemplos de código sigan funcionando
4. Probar cualquier cuestionario localizado
1. Localiza el archivo en `translations/{language-code}/`
2. Realiza mejoras preservando la estructura
3. Asegura que los ejemplos de código sigan funcionando
4. Prueba cualquier contenido localizado de cuestionarios
### Metadatos de Traducción
### Metadatos de traducción
Los archivos traducidos incluyen encabezado de metadatos:
Los archivos traducidos incluyen cabecera de metadatos:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## Depuración y Resolución de Problemas
## Depuración y solución de problemas
### Problemas Comunes
### Problemas comunes
**La app de cuestionarios no arranca**:
- Verificar versión de Node.js (recomendada v14+)
- Eliminar `node_modules` y `package-lock.json`, ejecutar de nuevo `npm install`
- Revisar conflictos de puertos (por defecto: Vite usa puerto 5173)
**La aplicación de cuestionarios no inicia**:
- Verificar versión de Node.js (recomendado v14+)
- Borrar `node_modules` y `package-lock.json`, ejecutar `npm install` nuevamente
- Revisar conflictos de puerto (por defecto: Vite usa puerto 5173)
**El servidor API no inicia**:
- Verificar que la versión de Node.js sea compatible (node >=10)
- Comprobar si el puerto está en uso
- Asegurar que todas las dependencias estén instaladas con `npm install`
**El servidor API no arranca**:
- Verificar que la versión de Node.js cumple mínimo (node >=10)
- Comprobar si el puerto ya está en uso
- Asegurar que todas las dependencias están instaladas con `npm install`
**La extensión del navegador no carga**:
- Verificar que el manifest.json esté bien formado
- Revisar la consola del navegador para errores
- Seguir instrucciones específicas del navegador para instalar extensiones
**La extensión de navegador no carga**:
- Verificar que manifest.json está correctamente formateado
- Revisar la consola del navegador por errores
- Seguir instrucciones específicas del navegador para instalación de extensiones
**Problemas con el proyecto de chat en Python**:
**Problemas en proyecto de chat Python**:
- Asegurar que el paquete OpenAI esté instalado: `pip install openai`
- Verificar que la variable de entorno GITHUB_TOKEN esté configurada
- Comprobar permisos de acceso a GitHub Models
- Revisar permisos de acceso de modelos de GitHub
**Docsify no sirve la documentación**:
- Instalar docsify-cli globalmente: `npm install -g docsify-cli`
- Ejecutar desde el directorio raíz del repositorio
- Confirmar que `docs/_sidebar.md` exista
- Verificar que `docs/_sidebar.md` exista
### Consejos para el Entorno de Desarrollo
### Consejos para el entorno de desarrollo
- Usar VS Code con extensión Live Server para proyectos HTML
- Instalar extensiones ESLint y Prettier para formateo consistente
- Usar VS Code con la extensión Live Server para proyectos HTML
- Instalar extensiones ESLint y Prettier para formato consistente
- Usar DevTools del navegador para depurar JavaScript
- Para proyectos Vue, instalar extensión Vue DevTools para navegador
- Para proyectos Vue, instalar la extensión Vue DevTools
### Consideraciones de Rendimiento
### Consideraciones de rendimiento
- Gran cantidad de archivos traducidos (más de 50 idiomas) hace que clonaciones completas sean grandes
- El gran número de archivos traducidos (50+ idiomas) hace que los clones completos sean grandes
- Usar clonación superficial si solo se trabaja con contenido: `git clone --depth 1`
- Excluir traducciones de búsquedas al trabajar con contenido en inglés
- Los procesos de compilación pueden ser lentos en la primera ejecución (npm install, compilación Vite)
- Excluir traducciones de búsquedas cuando se trabaja con contenido en inglés
- Los procesos de construcción pueden ser lentos en la primera ejecución (npm install, compilación Vite)
## Consideraciones de Seguridad
## Consideraciones de seguridad
### Variables de Entorno
### Variables de entorno
- Las claves API nunca deben subirse al repositorio
- Usar archivos `.env` (ya incluidos en `.gitignore`)
- Documentar variables de entorno necesarias en los READMEs de los proyectos
- Las claves API nunca deben ser comprometidas en el repositorio
- Usar archivos `.env` (ya están en `.gitignore`)
- Documentar variables de entorno requeridas en los README de los proyectos
### Proyectos en Python
- Usar entornos virtuales: `python -m venv venv`
- Mantener dependencias actualizadas
- Los tokens de GitHub deben tener permisos mínimos necesarios
- Tokens de GitHub deben tener permisos mínimos necesarios
### Acceso a GitHub Models
### Acceso a modelos de GitHub
- Se requieren Tokens de Acceso Personal (PAT) para GitHub Models
- Los tokens deben almacenarse como variables de entorno
- Nunca subir tokens o credenciales al repositorio
- Se requieren Tokens de Acceso Personal (PAT) para modelos de GitHub
- Los tokens deben guardarse como variables de entorno
- Nunca comprometer tokens o credenciales
## Notas Adicionales
## Notas adicionales
### Público Objetivo
### Público objetivo
- Principiantes completos en desarrollo web
- Estudiantes y autodidactas
- Profesores que usan el currículum en aulas
- Contenido 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
### Filosofía educativa
- Enfoque basado en aprendizaje por proyectos
- Chequeos frecuentes de conocimiento (cuestionarios)
- Ejercicios prácticos de codificación
- Ejemplos de aplicaciones del mundo real
- Enfoque de aprendizaje basado en proyectos
- Revisiones frecuentes de conocimiento (cuestionarios)
- Ejercicios prácticos de programación
- Ejemplos de aplicación en el mundo real
- Enfoque en fundamentos antes que frameworks
### Mantenimiento del Repositorio
### Mantenimiento del repositorio
- Comunidad activa de aprendices y contribuyentes
- Actualizaciones regulares en dependencias y contenido
- Comunidad activa de aprendices y colaboradores
- Actualizaciones regulares de dependencias y contenido
- Issues y discusiones monitoreadas por mantenedores
- Actualizaciones de traducción automatizadas vía GitHub Actions
- Actualización de traducciones automatizadas mediante GitHub Actions
### Recursos Relacionados
### Recursos relacionados
- [Módulos Microsoft Learn](https://docs.microsoft.com/learn/)
- [Recursos para estudiantes hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) recomendado para aprendices
- Cursos adicionales: IA generativa, Ciencia de datos, ML, currículos IoT disponibles
- [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: Currículos de IA generativa, Ciencia de datos, ML, IoT disponibles
### Trabajo con Proyectos Específicos
### Trabajar con proyectos específicos
Para instrucciones detalladas de proyectos individuales, consultar los archivos README en:
- `quiz-app/README.md` - aplicación de cuestionarios en Vue 3
- `7-bank-project/README.md` - aplicación bancaria con autenticación
- `5-browser-extension/README.md` - desarrollo de extensión de navegador
- `6-space-game/README.md` - desarrollo de juego en canvas
- `9-chat-project/README.md` - proyecto de asistente de chat IA
Para instrucciones detalladas sobre proyectos individuales, consulta los archivos README en:
- `quiz-app/README.md` - Aplicación de cuestionarios en Vue 3
- `7-bank-project/README.md` - Aplicación bancaria con autenticación
- `5-browser-extension/README.md` - Desarrollo de extensiones para navegador
- `6-space-game/README.md` - Desarrollo de juego basado en Canvas
- `9-chat-project/README.md` - Proyecto de asistente de chat con IA
### Estructura Monorepo
### Estructura de monorepositorio
Aunque no es un monorepo tradicional, este repositorio contiene múltiples proyectos independientes:
- Cada lección es autónoma
- Los proyectos no comparten dependencias
- Se puede trabajar en proyectos individuales sin afectar otros
- Clonar el repositorio completo para experiencia completa del currículum
- Trabaja en proyectos individuales sin afectar otros
- Clona el repositorio completo para la experiencia completa del currículo
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**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 la precisión, tenga en cuenta que las traducciones automatizadas 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 humana. No nos hacemos responsables de 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 por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por 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 hacemos responsables de malentendidos o interpretaciones erróneas derivadas del uso de esta traducción.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -12,27 +12,27 @@
# Desarrollo Web para Principiantes - Un Currículo
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 con cuestionarios, discusiones y tareas prácticas. Mejora tus habilidades y optimiza la retención de conocimiento con nuestra efectiva metodología basada en proyectos. ¡Comienza tu viaje de codificació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 profundiza en JavaScript, CSS y HTML a través de proyectos prácticos como terrarios, extensiones de navegador y juegos espaciales. Participa con cuestionarios, discusiones y tareas prácticas. Mejora tus habilidades y optimiza la retención de conocimientos con nuestra eficaz pedagogía basada en proyectos. ¡Comienza tu viaje de programación hoy!
Únete a la Comunidad Azure AI Foundry en Discord
Únete al Discord de Azure AI Foundry y conoce a expertos y compañeros desarrolladores.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
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 Azure AI Foundry Discord y conoce a expertos y otros desarrolladores**](https://discord.com/invite/ByRwuEEgH4)
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 a expertos y compañeros desarrolladores**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Soporte Multilenguaje
#### Soportado vía GitHub Action (Automatizado y Siempre Actualizado)
#### Soportado a través de 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) | [Khmer](../km/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?**
>
> Este repositorio incluye más de 50 traducciones de idiomas que aumentan significativamente el tamaño de la descarga. Para clonar sin traducciones, usa checkout disperso:
> Este repositorio incluye traducciones a más de 50 idiomas que aumentan significativamente el tamaño de la descarga. Para clonar sin traducciones, usa sparse checkout:
>
> **Bash / macOS / Linux:**
> ```bash
@ -48,26 +48,26 @@ Sigue estos pasos para comenzar a usar estos recursos:
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Esto te da todo lo necesario 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 admitan idiomas adicionales para la traducción, están listados [aquí](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**Si deseas tener traducciones adicionales, los idiomas soportados están listados aquí. [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)
#### 🧑‍🎓 _¿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 para certificado gratis. Esta es la página que quieres marcar como favorita y revisar de vez en cuando ya que actualizamos el contenido mensualmente.
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 maneras de obtener un cupón para certificado gratuito. Esta es la página que deseas guardar en favoritos y consultar periódicamente ya que cambiamos el contenido mensualmente.
### 📣 Anuncio - ¡Nuevos desafíos del modo Agente GitHub Copilot para completar!
### 📣 Anuncio - ¡Nuevos desafíos del modo Agente de 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 desafío para que completes usando GitHub Copilot y el modo Agente. Si no has usado el modo Agente antes, es capaz no solo de generar texto, sino también de crear y editar archivos, ejecutar comandos y más.
Nuevo desafío agregado, busca "Desafío del Agente GitHub Copilot 🚀" en la mayoría de los capítulos. Es un nuevo reto para que completes usando GitHub Copilot y el modo Agente. Si no has usado el modo Agente antes, es capaz no solo de generar texto sino también crear y editar archivos, ejecutar comandos y más.
### 📣 Anuncio - _Nuevo proyecto para construir usando IA Generativa_
### 📣 Anuncio - _Nuevo Proyecto para construir usando IA Generativa_
Nuevo proyecto Asistente AI añadido, échale un vistazo [proyecto](./9-chat-project/README.md)
Nuevo proyecto de Asistente IA agregado, échale un vistazo en [proyecto](./9-chat-project/README.md)
### 📣 Anuncio - _Nuevo currículo_ sobre IA Generativa para JavaScript acaba de ser lanzado
### 📣 Anuncio - _Nuevo Currículo_ sobre IA Generativa para JavaScript acaba de ser lanzado
¡No te pierdas nuestro nuevo currículo de IA Generativa!
@ -76,14 +76,14 @@ Visita [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para com
![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 aplicación compañera.
- ¡Narrativa divertida y atractiva, viajarás en el tiempo!
- Interactúa con personajes históricos usando GenAI y nuestra aplicación complementaria.
- Narrativa divertida y atractiva, ¡viajarás en el tiempo!
![character](../../translated_images/es/character.5c0dd8e067ffd693.webp)
Cada lección incluye una tarea para completar, una revisión de conocimiento y un desafío para guiarte en temas como:
- Prompting y ingeniería de prompts
Cada lección incluye una tarea para completar, una evaluación de conocimiento y un desafío para guiar tu aprendizaje en temas como:
- Prompts y ingeniería de prompts
- Generación de apps de texto e imagen
- Apps de búsqueda
@ -95,35 +95,35 @@ Visita [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para com
> **Profesores**, 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)!
**[Estudiantes](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, para cada lección, comiencen con un cuestionario previo y sigan leyendo el material de la lección, completando las diversas actividades y comprobando 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, comienza con un cuestionario previo a la clase y continúa leyendo el material, completando las actividades y verificando tu 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! Las discusiones están alentadas 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 en la educación, recomendamos altamente explorar [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) para materiales de estudio adicionales.
Para ampliar tu educación, te recomendamos explorar [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) para obtener materiales de estudio adicionales.
### 📋 Configurando tu entorno
### 📋 Configuración de 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 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 ordenador usando un editor de texto como [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Crea tu repositorio
Para 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 guardes tu trabajo fácilmente, se recomienda que crees 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.
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`
2. **Clona el Repositorio**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### Ejecutando el currículo en un Codespace
#### Ejecutar el currículo 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.
![Codespace](../../translated_images/es/createcodespace.0238bbf4d7a8d955.webp)
#### Ejecutando el currículo localmente en tu computadora
#### Ejecutar el currículo localmente en tu equipo
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 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 elijas lo que mejor se adapte a ti.
Para ejecutar este currículo localmente en tu equipo, 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 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 tu editor, que también tiene un [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) integrado. Puedes descargar Visual Studio Code [aquí](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Clona tu repositorio en tu computadora. Puedes hacer esto haciendo clic en el botón **Code** y copiando la URL:
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 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:
[CodeSpace](./images/createcodespace.png)
@ -133,19 +133,19 @@ Nuestra recomendación es usar [Visual Studio Code](https://code.visualstudio.co
git clone <your-repository-url>
```
2. Abre la carpeta en Visual Studio Code. Puedes hacer esto haciendo clic en **File** > **Open Folder** y seleccionando la carpeta que acabas de clonar.
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.
> Extensiones recomendadas de Visual Studio Code:
> Extensiones recomendadas para 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
## 📂 Cada lección incluye:
- nota gráfica opcional
- video complementario opcional
- cuestionario de calentamiento antes de la lección
- boceto opcional
- video opcional complementario
- cuestionario de calentamiento previo a la lección
- lección escrita
- para lecciones basadas en proyectos, guías paso a paso sobre cómo construir el proyecto
- verificaciones de conocimiento
@ -154,38 +154,38 @@ Nuestra recomendación es usar [Visual Studio Code](https://code.visualstudio.co
- 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, un total de 48 cuestionarios con 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, con un total de 48 cuestionarios 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 | 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 desarrolladores profesionales a hacer su trabajo | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Comenzando | 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 | [Intro to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Comenzando | Accesibilidad | Aprende los conceptos básicos de accesibilidad web | [Accessibility Fundamentals](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS Básico | Tipos de datos en JavaScript | Los conceptos básicos de los tipos de datos en JavaScript | [Data Types](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Básico | Funciones y métodos | Aprende sobre funciones y métodos para manejar el flujo lógico de una aplicación | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | Jasmine y Christopher |
| 06 | JS Básico | Tomando decisiones con JS | Aprende a crear condiciones en tu código utilizando métodos de toma de decisiones | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Básico | Arreglos y bucles | Trabaja con datos usando arreglos y bucles en JavaScript | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML en práctica | Construye el HTML para crear un terrario en línea, enfocándote en construir un diseño | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS en práctica | Construye el CSS para darle estilo al terrario en línea, enfocándote en los fundamentos de CSS, incluyendo hacer la página responsiva | [Introduction to 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 que el terrario funcione como una interfaz de arrastrar y soltar, enfocándote en closures y manipulación del DOM | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | Construye un juego de mecanografía | Aprende a usar eventos de teclado para manejar la lógica de tu aplicación JavaScript | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Trabajando con navegadores | Aprende cómo funcionan los navegadores, su historia y cómo esqueletonizar los primeros elementos de una extensión para navegador | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Construir un formulario, llamar a una API y almacenar variables localmente | Construye los elementos JavaScript de tu extensión de navegador para llamar una API usando variables almacenadas localmente | [APIs, Forms, and Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Procesos en segundo plano en el navegador, rendimiento web | Usa los procesos en segundo plano del navegador para administrar el ícono de la extensión; aprende sobre el rendimiento web y algunas optimizaciones para mejorarlo | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](./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, para prepararte para construir un juego | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](./6-space-game/solution/README.md) | Dibujando en canvas | Aprende sobre la API Canvas, usada para dibujar elementos en una pantalla | [Drawing to Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](./6-space-game/solution/README.md) | Moviendo elementos por la pantalla | Descubre cómo los elementos pueden adquirir movimiento usando coordenadas cartesianas y la API Canvas | [Moving Elements Around](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](./6-space-game/solution/README.md) | Detección de colisiones | Haz que los elementos colisionen y reaccionen entre sí usando presiones de tecla y provee una función de enfriamiento para asegurar el rendimiento del juego | [Collision Detection](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](./6-space-game/solution/README.md) | Mantener puntuación | Realiza cálculos matemáticos basados en el estado y rendimiento del juego | [Keeping Score](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](./6-space-game/solution/README.md) | Finalizar y reiniciar el juego | Aprende sobre finalizar y reiniciar el juego, incluyendo limpiar recursos y reiniciar valores de variables | [The Ending Condition](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | Plantillas HTML y rutas en una aplicación web | Aprende a crear la estructura de la arquitectura de un sitio web multipágina usando rutas y plantillas HTML | [HTML Templates and Routes](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | Construye un formulario de inicio de sesión y registro | Aprende a construir formularios y manejar rutinas de validación | [Forms](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | Métodos para obtener y usar datos | Cómo fluyen los datos dentro y fuera de tu aplicación, cómo obtenerlos, almacenarlos y desecharlos | [Data](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](./7-bank-project/solution/README.md) | Conceptos de gestión de estado | Aprende cómo tu aplicación retiene el estado y cómo gestionarlo programáticamente | [State Management](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | Trabajar con VScode | Aprende a usar un editor de código | [Use VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Assistants](./9-chat-project/README.md) | Trabajar con IA | Aprende a construir tu propio asistente de IA | [AI Assistant project](./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 | Aprender 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 del Oficio](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Comenzando | Conceptos básicos de GitHub, incluyendo 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 conceptos básicos de accesibilidad web | [Fundamentos de Accesibilidad](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | Fundamentos JS | Tipos de Datos en JavaScript | Lo básico sobre los tipos de datos en JavaScript | [Tipos de Datos](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | Fundamentos 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 JS | Tomar Decisiones con JS | Aprende a crear condiciones en tu código utilizando métodos de toma de decisiones | [Tomar Decisiones](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | Fundamentos 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 | [Terrario](./3-terrarium/solution/README.md) | HTML en la Práctica | Construye el HTML para crear un terrario en línea, enfocándose 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 estilizar el terrario en línea, enfocándose en los conceptos básicos de CSS incluyendo hacer la página responsiva | [Introducción a CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrario](./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, con énfasis 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 tipeo](./4-typing-game/solution/README.md) | Construir un Juego de Tipeo | Aprende a usar eventos de teclado para impulsar la lógica de tu aplicación JavaScript | [Programación guiada 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 crear la estructura inicial 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 formularios, llamadas a API y almacenamiento local | Construye los elementos JavaScript de tu extensión para 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 gestionar el ícono de la extensión; aprende sobre el 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 Avanzado con JavaScript | Aprende sobre herencia usando Clases y Composición y el patrón Pub/Sub, preparando 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) | Mover elementos por 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 pulsaciones de tecla 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 la puntuación | Realiza cálculos matemáticos basados en el estado y desempeño del juego | [Mantener la puntuación](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Juego Espacial](./6-space-game/solution/README.md) | Finalizar y reiniciar el juego | Aprende sobre cómo finalizar y reiniciar el juego, incluyendo limpiar recursos y reiniciar valores de variables | [Condición de Finalización](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Aplicación Bancaria](./7-bank-project/solution/README.md) | Plantillas HTML y Rutas en una aplicación web | Aprende a crear la estructura arquitectónica 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 | [Aplicación Bancaria](./7-bank-project/solution/README.md) | Construye 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 | [Aplicación Bancaria](./7-bank-project/solution/README.md) | Métodos para obtener y usar datos | Cómo fluye la información dentro y fuera de tu aplicación, cómo obtenerla, almacenarla y eliminarla | [Datos](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Aplicación Bancaria](./7-bank-project/solution/README.md) | Conceptos de gestión de estado | Aprende cómo tu aplicación mantiene el estado y cómo gestionarlo 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 el editor de código VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [Asistentes AI](./9-chat-project/README.md) | Trabajar con AI | Aprende a construir tu propio asistente AI | [Proyecto de asistente AI](./9-chat-project/README.md) | Chris |
## 🏫 Pedagogía
@ -193,22 +193,22 @@ Nuestro currículo está diseñado con dos principios pedagógicos clave en ment
* 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 utilizadas 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 últimas herramientas y técnicas utilizadas por los desarrolladores web actuales. Los estudiantes tendrán la oportunidad de desarrollar experiencia práctica construyendo un juego de tipeo, 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 un sólido entendimiento del desarrollo web.
> 🎓 ¡Puedes tomar las primeras lecciones de este currículo como una [ruta 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 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!
Al asegurar que el contenido se alinee con proyectos, el proceso se vuelve más atractivo para los estudiantes y se potencia la retención de conceptos. También escribimos varias lecciones introductorias en los fundamentos de JavaScript para introducir conceptos, acompañadas de un video de la colección de tutoriales en video "[Beginners Series to: 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 asegurar que el contenido esté alineado con proyectos, el proceso se vuelve más atractivo para los estudiantes y se incrementa la retención de conceptos. También escribimos varias lecciones iniciales en fundamentos de JavaScript para introducir conceptos, combinadas con un video de la colección "[Serie para principiantes en: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" de tutoriales en video, algunos de cuyos autores contribuyeron a este currículo.
Además, un cuestionario de bajo riesgo 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 garantiza 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 retención adicional. Este currículo fue diseñado para ser flexible y divertido y puede tomarse completo o en partes. Los proyectos comienzan pequeños y se vuelven cada vez más complejos al final del ciclo de 12 semanas.
Aunque hemos evitado intencionadamente introducir frameworks de JavaScript para concentrarnos en las habilidades básicas necesarias como desarrollador web antes de adoptar un framework, un buen siguiente paso después de completar este currículo sería aprender sobre Node.js a través de otra colección de videos: "[Beginner Series to: 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 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)".
> Visita nuestras guías de [Código de Conducta](CODE_OF_CONDUCT.md) y [Contribuciones](CONTRIBUTING.md). ¡Agradecemos tus comentarios constructivos!
> Visita nuestras directrices de [Código de Conducta](CODE_OF_CONDUCT.md) y [Contribuciones](CONTRIBUTING.md). ¡Agradecemos tus comentarios constructivos!
## 🧭 Acceso sin conexión
Puedes ejecutar esta documentación sin conexión utilizando [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 se servirá en el puerto 3000 en tu localhost: `localhost:3000`.
## 📘 PDF
Un PDF de todas las lecciones se puede encontrar [aquí](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
@ -216,7 +216,7 @@ Un PDF de todas las lecciones se puede encontrar [aquí](https://microsoft.githu
## 🎒 Otros Cursos
¡Nuestro equipo produce otros cursos! Mira:
¡Nuestro equipo produce otros cursos! Consulta:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -225,7 +225,7 @@ Un PDF de todas las lecciones se puede encontrar [aquí](https://microsoft.githu
[![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
### Azure / Edge / MCP / Agentes
[![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)
@ -260,21 +260,21 @@ Un PDF de todas las lecciones se puede encontrar [aquí](https://microsoft.githu
## Obtener ayuda
Si te quedas atascado o tienes alguna pregunta sobre cómo construir aplicaciones de IA. Únete a otros estudiantes y desarrolladores experimentados en discusiones sobre MCP. Es una comunidad de apoyo donde las preguntas son bienvenidas y el conocimiento se comparte 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 encuentras errores mientras desarrollas, 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 está licenciado bajo la licencia MIT. Consulta el archivo [LICENSE](../../LICENSE) para más información.
Este repositorio está bajo 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 una traducción profesional realizada por humanos. No nos hacemos responsables de cualquier malentendido o interpretación errónea que surja del uso de esta traducción.
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 la exactitud, tenga en cuenta que las traducciones automatizadas 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 humana. No nos hacemos responsables de ningún malentendido o interpretación errónea derivada del uso de esta traducción.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,54 +1,79 @@
# [Tema de la lección]
# Tema de la Lección
![Incrustar un video aquí](../../../lesson-template/video-url)
## 🎥 Video
## [Cuestionario previo a la clase](../../../lesson-template/quiz-url)
> Agrega un video incrustado o enlace de la lección aquí.
[Describe lo que aprenderemos]
---
## Cuestionario previo a la clase
> Agrega un enlace al cuestionario aquí cuando esté disponible.
---
Proporciona una breve visión general de lo que los estudiantes aprenderán en esta lección.
---
### Introducción
Describe lo que se cubrirá
Proporciona una breve introducción que describa lo que se cubrirá en esta lección.
> Notas
---
### Requisitos previos
¿Qué pasos deberían haberse completado antes de esta lección?
Enumera los conceptos o temas que los estudiantes ya deberían conocer antes de comenzar esta lección.
---
### Preparación
Pasos preparatorios para comenzar esta lección
Enumera los pasos de configuración o herramientas necesarias antes de comenzar la lección.
---
[Avanza por el contenido en bloques]
### Contenido
Avanza a través del contenido de la lección en secciones estructuradas.
## [Tema 1]
---
## Tema 1
### Tarea:
Trabajen juntos para mejorar progresivamente su base de código y construir el proyecto con código compartido:
Trabajen juntos para mejorar progresivamente su base de código para construir el proyecto con código compartido:
```html
code blocks
```
✅ Verificación de conocimiento: aprovecha este momento para ampliar el conocimiento de los estudiantes con preguntas abiertas
✅ Verificación de conocimiento
Aprovecha este momento para desafiar el conocimiento de los estudiantes con preguntas abiertas.
## [Tema 2]
## Tema 2
## Tema 3
## [Tema 3]
🚀 Desafío
Agrega un desafío colaborativo para que los estudiantes mejoren el proyecto.
🚀 Desafío: Agrega un desafío para que los estudiantes trabajen colaborativamente en clase y mejoren el proyecto
Opcional: agrega una captura de pantalla de la interfaz de usuario completa de la lección si es apropiado.
Opcional: agrega una captura de pantalla de la interfaz de usuario de la lección completada si es apropiado
## Cuestionario posterior a la clase
## [Cuestionario posterior a la clase](../../../lesson-template/quiz-url)
Agrega un enlace al cuestionario aquí después de completar la lección.
## Revisión y estudio autónomo
## Revisión y Estudio Personal
**Entrega de tarea [MM/YY]**: [Nombre de la tarea](assignment.md)
**Entrega de asignación [MM/AA]**: [Nombre de la asignación](assignment.md)
---
**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 como 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 puedan surgir 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 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 hacemos responsables por malentendidos o interpretaciones erróneas que surjan del uso de esta traducción.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-04-20T15:28:11+00:00",
"translation_date": "2026-04-24T11:29:36+00:00",
"source_file": "AGENTS.md",
"language_code": "fr"
},
@ -516,8 +516,8 @@
"language_code": "fr"
},
"README.md": {
"original_hash": "b885c87c7544109b78d6684daad6cba6",
"translation_date": "2026-04-06T15:21:47+00:00",
"original_hash": "b1766b45123e043ef2c72612f28b86dd",
"translation_date": "2026-04-24T11:25:10+00:00",
"source_file": "README.md",
"language_code": "fr"
},
@ -564,8 +564,8 @@
"language_code": "fr"
},
"lesson-template/README.md": {
"original_hash": "0494be70ad7fadd13a8c3d549c23e355",
"translation_date": "2025-08-24T00:16:04+00:00",
"original_hash": "ce2f64fd0d518f0500fc082b97c1e662",
"translation_date": "2026-04-24T11:25:19+00:00",
"source_file": "lesson-template/README.md",
"language_code": "fr"
},

@ -1,37 +1,37 @@
# AGENTS.md
## Présentation du projet
## Aperçu du projet
Il s'agit d'un référentiel de programme éducatif pour enseigner les fondamentaux 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.
Il s'agit d'un dépôt de programme éducatif pour enseigner les fondamentaux du développement web aux débutants. Le programme est un cours complet de 12 semaines développé par Microsoft Cloud Advocates, comprenant 24 leçons pratiques couvrant JavaScript, CSS et HTML.
### Composants clés
- **Contenu éducatif** : 24 leçons structurées organisées en modules basés sur des projets
- **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 pré/post- leçon)
- **Support multilingue** : Traductions automatiques en 50+ langues via GitHub Actions
- **Technologies** : HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (pour projets IA)
- **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
- **Quiz interactifs** : 48 quiz avec 3 questions chacun (évaluations avant/après chaque leçon)
- **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
- Référentiel éducatif avec structure basée sur les leçons
- Chaque dossier de leçon contient README, exemples de code, et solutions
- Projets indépendants dans des répertoires séparés (quiz-app, divers projets de leçons)
- Système de traduction utilisant GitHub Actions (co-op-translator)
- Documentation servie via Docsify et disponible en PDF
- Dépôt éducatif avec structure basée sur les leçons
- Chaque dossier de leçon contient README, exemples de code et solutions
- 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 référentiel est principalement destiné à la consommation de contenu éducatif. Pour travailler avec des projets spécifiques :
Ce dépôt est principalement destiné à la consommation de contenu éducatif. Pour travailler avec des projets spécifiques :
### Installation du référentiel principal
### Installation du dépôt 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
@ -41,7 +41,7 @@ npm run build # Construire pour la production
npm run lint # Exécuter ESLint
```
### API du projet bancaire (Node.js + Express)
### API du projet Bancaire (Node.js + Express)
```bash
cd 7-bank-project/api
@ -51,7 +51,7 @@ npm run lint # Exécuter ESLint
npm run format # Formater avec Prettier
```
### Projets d'extension de navigateur
### Projets dextension de navigateur
```bash
cd 5-browser-extension/solution
@ -64,10 +64,10 @@ npm install
```bash
cd 6-space-game/solution
npm install
# Ouvrez index.html dans un navigateur ou utilisez 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
@ -80,41 +80,41 @@ python api.py
### Pour les contributeurs de contenu
1. **Forkez le référentiel** vers votre compte GitHub
2. **Clonez votre fork** localement
3. **Créez une nouvelle branche** pour vos modifications
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 consignes de contribution
1. **Forkez le dépôt** sur votre compte GitHub
2. **Clonez votre fork** localement
3. **Créez une nouvelle branche** pour vos modifications
4. Effectuez des modifications dans le contenu des leçons ou les exemples de code
5. Testez les changements de code dans les répertoires de projet concernés
6. Soumettez des pull requests en suivant les directives de contribution
### Pour les apprenants
1. Forkez ou clonez le référentiel
2. Naviguez dans les dossiers de leçons dans l'ordre
3. Lisez les fichiers README pour chaque leçon
4. Complétez les quiz pré-leçon sur https://ff-quizzes.netlify.app/web/
5. Travaillez les exemples de code dans les dossiers de leçons
6. Réalisez les devoirs et défis
7. Passez les quiz post-leçon
1. Forkez ou clonez le dépôt
2. Naviguez dans 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 les exemples de code dans les dossiers de leçon
6. Réalisez les devoirs et défis
7. Passez les quiz après la leçon
### Développement en direct
- **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 concernés
- **Documentation** : Lancez `docsify serve` à la racine (port 3000)
- **Application Quiz** : Lancez `npm run dev` dans le dossier quiz-app
- **Projets** : Utilisez lextension Live Server de VS Code pour les projets HTML
- **Projets API** : Lancez `npm start` dans les dossiers API correspondants
## Instructions de test
### Test de l'application Quiz
### Test de lapplication Quiz
```bash
cd quiz-app
npm run lint # Vérifier les problèmes de style de code
npm run build # Vérifier que la compilation réussit
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
@ -124,76 +124,76 @@ node server.js # Vérifiez que le serveur démarre sans erreurs
### Approche générale des tests
- Il s'agit d'un référentiel éducatif sans tests automatisés exhaustifs
- Les tests manuels portent sur :
- Exécution des exemples de code sans erreurs
- Fonctionnement correct des liens dans la documentation
- Compilation réussie des projets
- Respect des bonnes pratiques dans les exemples
- Ce dépôt éducatif ne comporte pas de tests automatisés complets
- Les tests manuels se concentrent sur :
- Exécution sans erreur des exemples de code
- Fonctionnement correct des liens dans la documentation
- Construction réussie des projets
- Respect des meilleures pratiques dans les exemples
### Vérifications avant soumission
- Lancez `npm run lint` dans les dossiers 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 appropriée
- Lancez `npm run lint` dans les dossiers contenant package.json
- Vérifiez la validité des liens markdown
- Testez les exemples de code dans le navigateur ou Node.js
- Assurez-vous que les traductions conservent la bonne structure
## Directives de style de code
### JavaScript
- Utilisez la syntaxe moderne ES6+
- Respectez les configurations ESLint standard 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 si configuré
- Utilisez la syntaxe moderne ES6+
- Suivez les configurations ESLint standard 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 lorsque configuré
### HTML/CSS
- Utilisez des éléments HTML5 sémantiques
- Appliquez des principes de design responsive
- Nommez clairement les classes
- Ajoutez des commentaires expliquant les techniques CSS pour les apprenants
- Éléments HTML5 sémantiques
- Principes de design responsive
- Conventions claires de nommage des classes
- Commentaires expliquant les techniques CSS pour les apprenants
### Python
- Suivez les directives de style PEP 8
- Exemples de code clairs et pédagogiques
- Indications de type lorsque cela aide l'apprentissage
- Respect des directives de style PEP 8
- Exemples de code clairs et éducatifs
- Indications de type lorsque cela aide à lapprentissage
### Documentation Markdown
- Hiérarchie claire des titres
- Blocs de code avec spécification du langage
- Liens vers des ressources complémentaires
- Captures décran et images dans les dossiers `images/`
- Texte alternatif pour les images pour laccessibilité
- Hiérarchie claire des titres
- Blocs de code avec spécification de la langue
- Liens vers des ressources supplémentaires
- 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 a les dossiers `solution/` et souvent `start/` ou `your-work/`
- Images stockées dans des dossiers `images/` spécifiques aux leçons
- Traductions dans la structure `translations/{code-langue}/`
- Leçons numérotées séquentiellement (1-getting-started-lessons, 2-js-basics, etc.)
- Chaque projet a des dossiers `solution/` et souvent `start/` ou `your-work/`
- Images stockées dans les dossiers `images/` spécifiques aux leçons
- Traductions dans la structure `translations/{language-code}/`
## Compilation 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 le déploiement avec Azure Static Web Apps :
Lapplication quiz-app est configurée pour le déploiement Azure Static Web Apps :
```bash
cd quiz-app
npm run build # Crée le dossier dist/
# Déploie via le workflow GitHub Actions lors d'un push sur main
# Déploie via un workflow GitHub Actions lors d'un push sur la branche main
```
Configuration Azure Static Web Apps :
- **Emplacement de l'application** : `/quiz-app`
- **Emplacement de sortie** : `dist`
- **Workflow** : `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
Configuration Azure Static Web Apps :
- **Emplacement de lapp** : `/quiz-app`
- **Emplacement du résultat** : `dist`
- **Workflow** : `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Génération du PDF de documentation
### Génération PDF de la documentation
```bash
npm install # Installer docsify-to-pdf
@ -207,76 +207,76 @@ npm install -g docsify-cli # Installer Docsify globalement
docsify serve # Servir sur localhost:3000
```
### Builds spécifiques aux projets
### Compilations spécifiques aux projets
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 d'étape de build, fichiers servis directement
Chaque dossier de projet peut avoir son propre processus de build :
- Projets Vue : `npm run build` crée les bundles de production
- Projets statiques : pas détape de build, service direct des fichiers
## Directives pour les pull requests
## Directives de pull request
### Format du titre
Utilisez des titres clairs et descriptifs indiquant la zone modifiée :
- `[Quiz-app] Ajout dun nouveau quiz pour la leçon X`
- `[Lesson-3] Correction dune faute dans le projet terrarium`
- `[Translation] Ajout de la traduction espagnole pour la leçon 5`
- `[Docs] Mise à jour des instructions dinstallation`
Utilisez des titres clairs et descriptifs indiquant la zone de modification :
- `[Quiz-app] Ajouter un nouveau quiz pour la leçon X`
- `[Leçon-3] Corriger une faute dans le projet terrarium`
- `[Traduction] Ajouter la traduction espagnole pour la leçon 5`
- `[Docs] Mettre à jour les instructions dinstallation`
### Vérifications requises
Avant de soumettre une PR :
Avant de soumettre une PR :
1. **Qualité du code** :
- Lancez `npm run lint` dans les répertoires de projet concernés
- Corrigez toutes les erreurs et avertissements de lint
1. **Qualité de code** :
- Lancez `npm run lint` dans les dossiers de projet concernés
- Corrigez toutes les erreurs et avertissements lint
2. **Vérification de build** :
- Lancez `npm run build` si applicable
- Assurez-vous quaucune erreur de build ne survient
2. **Vérification build** :
- Lancez `npm run build` si applicable
- Assurez-vous de labsence derreurs de compilation
3. **Validation des liens** :
- Testez tous les liens markdown
- Vérifiez le bon fonctionnement des références aux images
3. **Validation des liens** :
- Testez tous les liens markdown
- Vérifiez les références dimages
4. **Relecture du contenu** :
- Corrigez lorthographe et la grammaire
- Assurez-vous que les exemples de code sont corrects et pédagogiques
- Vérifiez que les traductions conservent le sens original
4. **Relecture de contenu** :
- Corrigez lorthographe et la grammaire
- Assurez-vous que les exemples de code sont corrects et pédagogiques
- Vérifiez que les traductions conservent le sens original
### Exigences de contribution
- Acceptez la CLA Microsoft (vérification automatique à la première PR)
- Respectez le [Code de conduite open source Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Consultez le [CONTRIBUTING.md](./CONTRIBUTING.md) pour les détails
- Référencez les numéros dissues dans la description de la PR si applicable
- Acceptez la CLA Microsoft (vérification automatisée à la première PR)
- Respectez le [Code de conduite Open Source de Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Consultez [CONTRIBUTING.md](./CONTRIBUTING.md) pour les directives détaillées
- Mentionnez les numéros dissues dans la description de la PR si applicable
### Processus de relecture
### Processus de revue
- Les PR sont revues par les mainteneurs et la communauté
- La clarté pédagogique est priorisée
- Les exemples de code doivent suivre les bonnes pratiques actuelles
- Les traductions sont revues pour précision et adéquation culturelle
- PR 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 révisées pour exactitude et adéquation culturelle
## Système de traduction
### Traduction automatisée
- Utilise GitHub Actions avec le workflow co-op-translator
- Traduit automatiquement en 50+ langues
- Fichiers source dans les répertoires principaux
- Fichiers traduits dans `translations/{code-langue}/`
- Utilise GitHub Actions avec le workflow co-op-translator
- Traduit automatiquement en plus de 50 langues
- Fichiers sources dans les répertoires principaux
- Fichiers traduits dans `translations/{language-code}/`
### Ajout daméliorations manuelles aux traductions
### Ajout daméliorations manuelles de traduction
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é
1. Localisez le fichier dans `translations/{language-code}/`
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é
### Métadonnées des traductions
### Métadonnées de traduction
Les fichiers traduits incluent un en-tête de métadonnées :
Les fichiers traduits incluent un en-tête de métadonnées :
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## Débogage et résolution de problèmes
## Débogage et dépannage
### Problèmes courants
**Lapplication quiz ne démarre pas** :
- Vérifiez la version de Node.js (v14+ recommandé)
- Supprimez `node_modules` et `package-lock.json`, puis lancez `npm install` à nouveau
- Vérifiez les conflits de ports (par défaut : Vite utilise le port 5173)
**Lapplication quiz ne démarre pas** :
- Vérifiez la version de 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 Node.js est à la version minimale (node >=10)
- Vérifiez si le port est déjà utilisé
- Assurez-vous que toutes les dépendances sont installées via `npm install`
**Le serveur API ne démarre pas** :
- Vérifiez que la version de Node.js est suffisante (node >=10)
- Vérifiez que le port nest pas déjà utilisé
- Assurez-vous que toutes les dépendances sont installées via `npm install`
**Lextension navigateur ne charge pas** :
- Vérifiez que manifest.json est bien formatté
- Consultez la console du navigateur pour les erreurs
- Suivez les instructions dinstallation spécifiques au navigateur
**Lextension navigateur ne se charge pas** :
- Vérifiez que manifest.json est bien formaté
- Regardez la console du navigateur pour les erreurs
- Suivez les instructions spécifiques du navigateur pour linstallation de lextension
**Problèmes du projet chat Python** :
- Assurez-vous que le package OpenAI est installé : `pip install openai`
- Vérifiez que la variable denvironnement GITHUB_TOKEN est définie
- Vérifiez les autorisations daccès aux modèles GitHub
**Problèmes avec le projet de chat Python** :
- Assurez-vous que le package OpenAI est installé : `pip install openai`
- Vérifiez que la variable denvironnement GITHUB_TOKEN est définie
- Vérifiez les permissions daccès aux modèles GitHub
**Docsify ne sert pas la documentation** :
- Installez docsify-cli globalement : `npm install -g docsify-cli`
- Lancez depuis le répertoire racine du dépôt
- Vérifiez que `docs/_sidebar.md` existe
**Docsify ne sert pas la documentation** :
- Installez docsify-cli globalement : `npm install -g docsify-cli`
- Lancez depuis le répertoire racine du dépôt
- Vérifiez que `docs/_sidebar.md` existe
### Conseils pour lenvironnement de développement
- Utilisez VS Code avec lextension Live Server pour les projets HTML
- Installez les extensions ESLint et Prettier pour un formatage cohérent
- Utilisez les DevTools du navigateur pour déboguer JavaScript
- Pour les projets Vue, installez lextension Vue DevTools pour navigateur
- Utilisez VS Code avec lextension Live Server pour les projets HTML
- Installez les extensions ESLint et Prettier pour un formatage cohérent
- 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) rend les clones complets volumineux
- Utilisez un clone superficiel 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 de la première exécution (npm install, build Vite)
- Le grand nombre de fichiers traduits (50+ langues) rend les clones complets volumineux
- Utilisez un clone superficiel si vous ne travaillez que sur le contenu : `git clone --depth 1`
- Excluez les traductions des recherches quand vous travaillez sur le contenu en anglais
- Les processus de build peuvent être lents au premier lancement (npm install, build Vite)
## Considérations de sécurité
### Variables denvironnement
- 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 denvironnement requises dans les README projets
- Les clés dAPI ne doivent jamais être commitées dans le dépôt
- Utilisez des fichiers `.env` (déjà listés dans `.gitignore`)
- Documentez les variables denvironnement requises dans les READMEs des projets
### Projets Python
- Utilisez des environnements virtuels : `python -m venv venv`
- Gardez les dépendances à jour
- Les tokens GitHub doivent avoir les permissions minimales nécessaires
- Utilisez des environnements virtuels : `python -m venv venv`
- Maintenez les dépendances à jour
- Les tokens GitHub doivent avoir les permissions minimales nécessaires
### Accès aux modèles GitHub
- Tokens daccès personnel (PAT) requis pour les modèles GitHub
- Les tokens doivent être stockés en variables denvironnement
- Ne jamais commettre de tokens ou didentifiants
- Des Personal Access Tokens (PAT) sont requis pour les modèles GitHub
- Les tokens doivent être stockés dans des variables denvironnement
- Ne jamais commiter tokens ou identifiants
## Notes supplémentaires
## Notes additionnelles
### Public cible
- Débutants complets au développement web
- Étudiants et autodidactes
- Enseignants utilisant le programme en classe
- Contenu conçu pour laccessibilité et le développement progressif des compétences
- Débutants complets en développement web
- Étudiants et apprenants autodidactes
- Enseignants utilisant le programme en classe
- Contenu conçu pour laccessibilité et la montée en compétences progressive
### Philosophie éducative
- Approche par projets
- Vérifications fréquentes des connaissances (quiz)
- Exercices pratiques de programmation
- Exemples dapplications réelles
- Focus sur les fondamentaux avant les frameworks
- Approche 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 référentiel
### Maintenance du dépôt
- Communauté active dapprenants et contributeurs
- Mises à jour régulières des dépendances et du contenu
- Surveillance des issues et discussions par les mainteneurs
- Mises à jour de traductions automatisées via GitHub Actions
- Communauté active dapprenants et contributeurs
- Mises à jour régulières des dépendances et du contenu
- Suivi des issues et discussions par les mainteneurs
- Mises à jour des traductions automatisées via GitHub Actions
### Ressources associées
- [Modules Microsoft Learn](https://docs.microsoft.com/learn/)
- [Ressources du Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) recommandé pour les apprenants
- Cours additionnels : IA générative, Data Science, ML, IoT disponibles
- [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 additionnels : IA générative, Science des données, ML, IoT disponibles
### Travailler 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 quiz Vue 3
- `7-bank-project/README.md` - application bancaire avec authentification
- `5-browser-extension/README.md` - développement dextension navigateur
- `6-space-game/README.md` - développement de jeu Canvas
- `9-chat-project/README.md` - projet assistant chat IA
Pour des instructions détaillées sur des projets individuels, consultez les 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 dextension navigateur
- `6-space-game/README.md` - Développement de jeu canvas
- `9-chat-project/README.md` - Projet dassistant de chat IA
### Structure Monorepo
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 impacter les autres
- Clonez le référentiel complet pour lexpérience complète du programme
Bien que ce ne soit pas un monorepo traditionnel, ce dépôt contient plusieurs projets indépendants :
- Chaque leçon est autonome
- Les projets ne partagent pas les dépendances
- Travaillez sur des projets individuels sans affecter les autres
- Clonez le dépôt complet pour une expérience complète du programme
---
<!-- 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 efforcions dassurer lexactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue dorigine doit être considéré comme la source faisant autorité. Pour les informations critiques, une traduction professionnelle humaine est recommandée. 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 automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue native doit être considéré comme la source faisant autorité. Pour des informations critiques, une traduction professionnelle humaine est recommandée. Nous ne sommes pas responsables des malentendus ou des interprétations erronées résultant de lutilisation de cette traduction.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,71 +1,71 @@
[![GitHub license](https://img.shields.io/github/license/microsoft/Web-Dev-For-Beginners.svg)](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE)
[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/)
[![GitHub issues](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/)
[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![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/)
[![Problèmes GitHub](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/)
[![Demandes de tirage 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)
[![GitHub watchers](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/)
[![GitHub forks](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/)
[![GitHub stars](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/)
[![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/)
[![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
Apprenez les fondamentaux du développement web avec notre cours complet de 12 semaines conçu par les Défenseurs du Cloud Microsoft. 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, des discussions et des 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 apprentissage du code dès aujourd'hui !
Apprenez les fondamentaux du développement web avec notre cours complet de 12 semaines par les Microsoft Cloud Advocates. Chacune des 24 leçons explore JavaScript, CSS et HTML à travers des projets pratiques tels que 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 programmation dès aujourdhui !
Rejoignez la Communauté Azure AI Foundry sur Discord
Rejoignez le Discord Azure AI Foundry et rencontrez des experts et autres développeurs.
[![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 [![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. **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 ainsi que d'autres développeurs**](https://discord.com/invite/ByRwuEEgH4)
Suivez ces étapes pour commencer à utiliser 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 experts et développeurs**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Support Multilingue
#### Pris en charge via GitHub Action (Automatisé et Toujours à Jour)
#### Pris en charge via GitHub Action (Automatisé & Toujours à jour)
<!-- 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](./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) | [Khmer](../km/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](../es/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)
[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) | [Khmer](../km/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)
> **Vous préférez cloner localement ?**
>
> Ce dépôt comprend plus de 50 traductions, ce qui augmente significativement la taille du téléchargement. Pour cloner sans les traductions, utilisez le checkout sparse :
>
> **Bash / macOS / Linux :**
> **Préférez cloner localement ?**
>
> Ce dépôt inclut plus de 50 traductions de langues ce qui augmente significativement la taille du téléchargement. Pour cloner sans traductions, utilisez le sparse checkout :
>
> **Bash / macOS / Linux :**
> ```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'
> ```
>
> **CMD (Windows) :**
>
> **CMD (Windows) :**
> ```cmd
> 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 fournit 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 d'autres 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)**
**Si vous souhaitez dautres traductions, les langues supportées sont listées ici. [ici](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)
[![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 ?_
#### 🧑‍🎓 _Vous êtes étudiant ?_
Visitez la [**page Hub Étudiant**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) où vous trouverez des ressources pour débutants, des packs pour étudiants et même des moyens d'obtenir un bon de certificat gratuit. Cest la page que vous voudrez mettre en favori et consulter régulièrement car son contenu est mis à jour chaque mois.
Visitez la [**page du 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 pour obtenir un bon de certificat gratuit. Cest la page à mettre en favori et à consulter de temps en temps car le contenu change chaque mois.
### 📣 Annonce - Nouveaux défis en mode GitHub Copilot Agent à compléter !
### 📣 Annonce - Nouveaux défis du mode GitHub Copilot Agent à compléter !
Nouveau défi ajouté, cherchez le "Défi GitHub Copilot Agent 🚀" dans la plupart des chapitres. Cest un nouveau défi à compléter en utilisant GitHub Copilot et le mode Agent. Si vous n'avez jamais utilisé le mode Agent, il est capable non seulement de générer du texte, mais aussi de créer et modifier des fichiers, exécuter des commandes et plus encore.
Nouveau défi ajouté, recherchez « GitHub Copilot Agent Challenge 🚀 » dans la plupart des chapitres. Cest un nouveau défi à réaliser avec 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 en utilisant lIA générative_
### 📣 Annonce - _Nouveau projet à construire avec lIA générative_
Nouveau projet Assistant IA 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é
@ -73,138 +73,142 @@ 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 !
![Background](../../translated_images/fr/background.148a8d43afde5730.webp)
![Arrière-plan](../../translated_images/fr/background.148a8d43afde5730.webp)
- Des leçons couvrant tout, des bases au RAG.
- Interagissez avec des personnages historiques grâce à GenAI et notre application compagnon.
- Une narration amusante et immersive, vous voyagerez dans le temps !
- Leçons couvrant tout, des bases à la RAG.
- Interagissez avec des personnages historiques grâce à GenAI et notre application compagnon.
- Narration amusante et engageante, vous voyagerez dans le temps !
![character](../../translated_images/fr/character.5c0dd8e067ffd693.webp)
![personnage](../../translated_images/fr/character.5c0dd8e067ffd693.webp)
Chaque leçon comprend un devoir à réaliser, un contrôle de connaissances et un défi pour vous guider dans lapprentissage de sujets comme :
- Le prompt et lingénierie du prompt
- La génération dapplications texte et image
- Les applications de recherche
Chaque leçon inclut un exercice à réaliser, une vérification des connaissances et un défi pour vous guider dans lapprentissage de sujets tels que :
- La formulation de requêtes et lingénierie de prompts
- La génération dapplications de texte et dimage
- Les applications de recherche
Visitez [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) pour commencer !
## 🌱 Pour commencer
> **Enseignants**, nous avons [inclus quelques suggestions](for-teachers.md) sur comment utiliser ce programme. Nous attendons vos retours [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é-conférence puis lisez le contenu de la conférence, complétez les diverses activités et vérifiez votre compréhension via le quiz post-conférence.
## 🌱 Pour Bien Commencer
> **Enseignants**, nous avons [inclus quelques suggestions](for-teachers.md) sur comment utiliser ce programme. Nous aimerions avoir vos retours [sur 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 avant la leçon et poursuivez en lisant le matériel, en réalisant les différentes activités puis vérifiez votre compréhension avec le quiz après la leçon.
Pour améliorer votre expérience dapprentissage, connectez-vous avec vos pairs pour travailler ensemble sur les projets ! Les discussions sont encouragées sur 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 vos connaissances, nous recommandons vivement dexplorer [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) pour des supports détude supplémentaires.
Pour approfondir votre formation, nous recommandons vivement dexplorer [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) pour des ressources complémentaires.
### 📋 Configuration de votre environnement
Ce programme dispose dun environnement de développement prêt à lemploi ! Pour démarrer, vous pouvez choisir dexécuter 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 ! Dès le début, vous pouvez choisir dexécuter le programme dans un [Codespace](https://github.com/features/codespaces/) (_un environnement dans le navigateur, sans installation nécessaire_), 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 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 **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. **Faites un fork du 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`
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`
#### Exécuter le programme dans un Codespace
Dans votre copie de ce dépôt, cliquez sur le bouton **Code** puis sélectionnez **Open with Codespaces**. Cela créera un nouveau Codespace pour que vous puissiez travailler.
Dans votre copie de ce dépôt que vous avez créée, cliquez sur le bouton **Code** puis sélectionnez **Ouvrir avec Codespaces**. Cela créera un nouveau Codespace pour vous permettre de travailler.
![Codespace](../../translated_images/fr/createcodespace.0238bbf4d7a8d955.webp)
#### Exécuter le programme localement sur votre ordinateur
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 de programmation et outils du métier](../../1-getting-started-lessons/1-intro-to-programming-languages), vous guidera à travers diverses options pour chacun de ces outils afin que vous puissiez choisir ce qui vous convient le mieux.
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 choisissiez ce qui vous convient le mieux.
Nous recommandons lutilisation de [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) comme éditeur, qui inclut également un [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) intégré. 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 le faire en cliquant sur le bouton **Code** et en copiant lURL :
Nous recommandons dutiliser [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) comme éditeur, qui dispose également dun [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) intégré. 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 le faire en cliquant sur le bouton **Code** et en copiant l'URL :
[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 l'URL que vous venez de copier :
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 :
```bash
git clone <your-repository-url>
```
2. Ouvrez le dossier dans Visual Studio Code. Vous pouvez le faire en cliquant sur **Fichier** > **Ouvrir le dossier** et en sélectionnant le dossier que vous venez de cloner.
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 :
>
> * [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
> Extensions Visual Studio Code recommandées :
>
> * [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 à coder plus rapidement
## 📂 Chaque leçon comprend :
- sketchnote optionnelle
- 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
- vérifications des connaissances
- un défi
- lectures complémentaires
- lecture complémentaire
- devoir
- [quiz post-leçon](https://ff-quizzes.netlify.app/web/)
> **Une note à propos des quiz** : Tous les quiz sont contenus dans le dossier Quiz-app, avec 48 quiz au total 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`.
> **Une note concernant les quiz** : Tous les quiz se trouvent 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 lancé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 dApprentissage | Leçon Associée | Auteur |
| :-: | :--------------------------------------------------------: | :---------------------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------: | :--------------------: |
| 01 | Premiers Pas | Introduction à la Programmation et 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 aux 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 et collaborer avec dautres 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 grâce aux méthodes de prise de décisions | [Prise de décisions](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | Bases JS | Tableaux et Boucles | Travailler avec les données en utilisant 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 création dune 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 | Construire le CSS pour styliser le terrarium en ligne, en se concentrant sur les bases du CSS y compris le rendu responsive | [Introduction au CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | Fermetures JavaScript, manipulation DOM | Écrire le JavaScript pour rendre le terrarium fonctionnel en tant quinterface drag/drop, en se concentrant sur les closures et DOM | [Closures JS, manipulation 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 événementielle](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Extension Navigateur Vert](./5-browser-extension/solution/README.md) | Travailler avec les navigateurs | Découvrir comment fonctionnent les navigateurs, leur histoire, et comment initier les premiers éléments dune extension | [À propos des navigateurs](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Extension Navigateur Vert](./5-browser-extension/solution/README.md) | Construire un formulaire, appeler une API et stocker localement | Construire les éléments JavaScript de votre extension navigateur pour appeler une API en utilisant des variables en stockage local | [APIs, formulaires et stockage local](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Extension Navigateur Vert](./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 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 jeu avec JavaScript | Apprendre lhéritage utilisant classes et composition ainsi que le pattern Pub/Sub, en préparation au développement dun jeu | [Introduction au développement avancé](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Jeu Spatial](./6-space-game/solution/README.md) | Dessiner sur Canvas | Découvrir lAPI Canvas, utilisée pour dessiner des éléments sur é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 se déplacer 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 les éléments et réagir grâce aux pressions de touches, avec une fonction de refroidissement pour la performance | [Détection de collisions](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Jeu Spatial](./6-space-game/solution/README.md) | Gestion du score | Effectuer des calculs mathématiques basés sur le statut et la performance du jeu | [Gestion du score](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Jeu Spatial](./6-space-game/solution/README.md) | Fin et redémarrage du jeu | Apprendre à terminer et redémarrer une partie, y compris le nettoyage des ressources et la réinitialisation des 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 web multipages avec routage et 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 la construction de formulaires et la gestion des validations | [Formulaires](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Application bancaire](./7-bank-project/solution/README.md) | Méthodes pour récupérer et utiliser les données | Comment les données entrent et sortent de votre application, comment les récupérer, stocker et gérer | [Données](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Application bancaire](./7-bank-project/solution/README.md) | Concepts de gestion détat | Comprendre 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 à créer 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 aux outils du métier | Découvrez les bases communes à la plupart des langages de programmation et les logiciels qui aident les développeurs professionnels dans leur travail | [Intro aux langages de programmation et outils](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Premiers pas | Notions de base de GitHub, y compris travail en équipe | Apprenez à utiliser GitHub dans vos projets, 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 | JS Basics | 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 | JS Basics | 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 | JS Basics | 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 | JS Basics | Tableaux et boucles | Manipulez des données avec des tableaux et des 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 création dune 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 dont la responsivité de la page | [Introduction au CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | Fermetures JavaScript, manipulation du DOM | Construisez le JavaScript pour rendre le terrarium fonctionnel avec une interface glisser-déposer, en vous concentrant sur les fermetures et la manipulation du DOM | [Fermetures 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 frappe | Apprenez à utiliser les événements clavier pour diriger la logique de votre application JavaScript | [Programmation événementielle](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Extension de navigateur verte](./5-browser-extension/solution/README.md) | Travailler avec les navigateurs | Apprenez le fonctionnement des navigateurs, leur histoire, et comment créer les premiers éléments dune extension de navigateur | [À propos des navigateurs](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Extension de navigateur verte](./5-browser-extension/solution/README.md) | Construire un formulaire, appeler une API et stocker des variables dans le stockage local | Construisez 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 de navigateur verte](./5-browser-extension/solution/README.md) | Processus darrière-plan dans le navigateur, performance web | Utilisez les processus darrière-plan du navigateur pour gérer licône de lextension ; apprenez la performance web et des optimisations pour laméliorer | [Tâches de fond 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 jeux avancé avec JavaScript | Apprenez lhéritage utilisant à la fois les classes et la composition ainsi que le modèle 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 le canevas | Découvrez lAPI Canvas, utilisée pour dessiner des éléments à lécran | [Dessiner sur le canevas](./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 déplacer des éléments en utilisant 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 collision | Faites collisionner les éléments et réagir mutuellement avec des pressions sur les touches et fournissez une fonction de temps de récupération pour assurer une bonne performance du jeu | [Détection de collision](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Jeu spatial](./6-space-game/solution/README.md) | Tenue du score | Effectuez des calculs mathématiques en fonction du statut et de 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) | Fin et redémarrage du jeu | Apprenez à 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) | Modèles HTML et routes dans une application web | Apprenez à créer la structure dun site web multipage avec routage et 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) | Créer un formulaire de connexion et dinscription | 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 pour récupérer et utiliser des données | Comment les données entrent et sortent de votre application, comment les récupérer, stocker et éliminer | [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 son état et comment le gérer programmatiquement | [Gestion détat](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Code navigateur/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 à construire 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
* quiz fréquents
Notre programme est conçu autour de deux principes pédagogiques clés :
* apprentissage par projet
* quiz fréquents
Le programme enseigne les fondamentaux de JavaScript, HTML et CSS, ainsi que les outils et techniques actuels utilisés par les développeurs web. Les étudiants auront loccasion de développer une expérience pratique en construisant un jeu de frappe, un terrarium virtuel, une extension de navigateur écologique, un jeu de type space-invader et une application bancaire pour les entreprises. À la fin de la série, les étudiants auront acquis une compréhension solide du développement web.
Le programme enseigne les fondamentaux du 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 frappe, 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 un [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 en tant que [Parcours dapprentissage](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) sur Microsoft Learn !
En veillant à ce que les contenus correspondent aux projets, le processus devient plus engageant pour les étudiants et la rétention des concepts est renforcée. Nous avons également rédigé plusieurs leçons dintroduction aux bases de JavaScript pour présenter les concepts, accompagnées dune vidéo de la collection de tutoriels vidéo "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", dont certains auteurs ont contribué à ce programme.
En alignant le contenu sur des projets, le processus est rendu plus attrayant pour les étudiants et la rétention des concepts est améliorée. Nous avons aussi créé plusieurs leçons de base en JavaScript pour introduire les concepts, associées à une vidéo de la collection de tutoriels vidéo "[Beginners Series to: 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 à enjeu faible avant le cours oriente lintention de létudiant vers lapprentissage dun sujet, tandis quun second quiz après le cours garantit 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 à faible enjeu avant la classe prépare lintention dapprentissage de létudiant sur un sujet, tandis quun second quiz après la classe assure une meilleure rétention. Ce programme est 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 volontairement é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 collection de vidéos : "[Beginner Series to: 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 des frameworks JavaScript afin de nous concentrer sur les compétences de base nécessaires avant ladoption dun framework, une bonne étape suivante serait dapprendre Node.js via une autre collection de vidéos : "[Beginner Series to: 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 nos directives de [contribution](CONTRIBUTING.md). Vos retours constructifs sont les bienvenus !
> Consultez nos directives [Code de conduite](CODE_OF_CONDUCT.md) et [Contribution](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 exécuter 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 de 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).
@ -216,51 +220,51 @@ Notre équipe produit d'autres 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)
[![LangChain4j pour débutants](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 pour débutants](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 pour débutants](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 pour débutants](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 pour débutants](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 pour débutants](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 pour débutants](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)
---
### 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)
[![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)
[![IA générative pour débutants](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)
[![IA générative (.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)
[![IA générative (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)
[![IA générative (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)
---
### 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)
[![Cybersécurité pour les débutants](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)
[![Développement Web pour les débutants](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 pour les débutants](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)
[![Développement XR pour les débutants](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)
### Apprentissage fondamental
[![ML pour débutants](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 pour débutants](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)
[![IA pour débutants](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)
[![Cybersécurité pour débutants](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)
[![Développement Web pour débutants](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 pour débutants](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)
[![Développement XR pour débutants](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)
---
### Série Copilot
[![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 pour programmation assistée par IA](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 pour 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)
[![Aventure Copilot](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
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 les discussions sur MCP. C'est une communauté de soutien où les questions sont les bienvenues et où les connaissances sont librement partagées.
Si vous êtes bloqué ou si vous avez des questions sur la création d'applications d'IA. Rejoignez d'autres apprenants et développeurs expérimentés pour discuter de MCP. C'est une communauté bienveillante où les questions sont les bienvenues et 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 du développement, rendez-vous sur :
Si vous avez des retours produit ou des erreurs lors du développement, 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)
@ -272,5 +276,5 @@ Ce dépôt est sous licence MIT. Consultez le fichier [LICENSE](../../LICENSE) p
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**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 native doit être considéré comme la source faisant foi. Pour des informations cruciales, une traduction professionnelle humaine est recommandée. Nous ne sommes pas responsables des malentendus ou des interprétations erronées résultant de l'utilisation de cette traduction.
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 inexactitudes. Le document original dans sa langue natale 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 dinterprétations erronées découlant de lutilisation de cette traduction.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,30 +1,48 @@
# [Sujet de la leçon]
# Sujet de la leçon
![Intégrer une vidéo ici](../../../lesson-template/video-url)
## 🎥 Vidéo
## [Quiz avant le cours](../../../lesson-template/quiz-url)
> Ajoutez une vidéo intégrée ou un lien vers la leçon ici.
[Décrire ce que nous allons apprendre]
---
## Quiz pré-lecture
> Ajoutez un lien vers un quiz ici lorsqu'il est disponible.
---
Fournissez un aperçu bref de ce que les étudiants apprendront dans cette leçon.
---
### Introduction
Décrire ce qui sera abordé
Fournissez une courte introduction décrivant ce qui sera couvert dans cette leçon.
> Notes
---
### Prérequis
Quelles étapes devraient avoir été couvertes avant cette leçon ?
Listez les concepts ou sujets que les étudiants doivent déjà connaître avant de commencer cette leçon.
---
### Préparation
Étapes préparatoires pour commencer cette leçon
Listez les étapes d'installation ou les outils requis avant de commencer la leçon.
---
[Parcourir le contenu par blocs]
### Contenu
Déroulez le contenu de la leçon en sections structurées.
## [Sujet 1]
---
## Sujet 1
### Tâche :
@ -34,21 +52,28 @@ Travaillez ensemble pour améliorer progressivement votre base de code afin de c
code blocks
```
✅ Vérification des connaissances - utilisez ce moment pour élargir les connaissances des étudiants avec des questions ouvertes
✅ Vérification des connaissances
Profitez de ce moment pour tester les connaissances des étudiants avec des questions ouvertes.
## [Sujet 2]
## Sujet 2
## Sujet 3
## [Sujet 3]
🚀 Défi
Ajoutez un défi collaboratif pour que les étudiants améliorent le projet.
🚀 Défi : Ajoutez un défi pour que les étudiants travaillent ensemble en classe afin d'améliorer le projet
Optionnel : Ajoutez une capture d'écran de l'interface utilisateur de la leçon terminée si cela est pertinent.
Optionnel : ajoutez une capture d'écran de l'interface utilisateur de la leçon terminée si cela est pertinent
## Quiz post-lecture
## [Quiz après le cours](../../../lesson-template/quiz-url)
Ajoutez un lien vers un quiz ici après avoir terminé la leçon.
## Révision & Étude personnelle
## Revue & Auto-apprentissage
**Devoir à rendre [MM/AA]** : [Nom du devoir](assignment.md)
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**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.
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 les informations critiques, une traduction professionnelle réalisée par un humain est recommandée. Nous déclinons toute responsabilité en cas de malentendus ou dinterprétations erronées résultant de lutilisation de cette traduction.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save