|
| 1 | +<!-- |
| 2 | +CO_OP_TRANSLATOR_METADATA: |
| 3 | +{ |
| 4 | + "original_hash": "913da05fee7fb78699c0447cf6d8aa10", |
| 5 | + "translation_date": "2025-10-12T09:33:55+00:00", |
| 6 | + "source_file": "AGENTS.md", |
| 7 | + "language_code": "br" |
| 8 | +} |
| 9 | +--> |
| 10 | +# AGENTS.md |
| 11 | + |
| 12 | +## Visão Geral do Projeto |
| 13 | + |
| 14 | +**Security-101** é um currículo de cibersegurança para iniciantes criado pela Microsoft. O projeto é um recurso de aprendizado baseado em documentação que ensina conceitos fundamentais de cibersegurança por meio de módulos estruturados. Ele é independente de fornecedores e foi projetado para ser concluído em pequenas lições (30-60 minutos cada). |
| 15 | + |
| 16 | +**Principais Tecnologias:** |
| 17 | +- Markdown para conteúdo |
| 18 | +- Docsify para geração de site estático |
| 19 | +- GitHub Pages para hospedagem |
| 20 | +- Co-op Translator para suporte multilíngue (50+ idiomas) |
| 21 | +- GitHub Actions para CI/CD |
| 22 | + |
| 23 | +**Arquitetura:** |
| 24 | +- Conteúdo educacional organizado em 8 módulos principais, cada um com sublições |
| 25 | +- Site HTML estático com Docsify renderizando conteúdo em Markdown |
| 26 | +- Fluxo de trabalho de tradução automatizado usando serviços de IA da Azure |
| 27 | +- Sem ferramentas de build ou gerenciadores de pacotes necessários para o conteúdo principal |
| 28 | + |
| 29 | +## Estrutura do Repositório |
| 30 | + |
| 31 | +``` |
| 32 | +/ |
| 33 | +├── README.md # Main entry point with curriculum overview |
| 34 | +├── index.html # Docsify site entry point |
| 35 | +├── [1-8].[1-4] *.md # Curriculum modules and lessons |
| 36 | +├── CODE_OF_CONDUCT.md # Community guidelines |
| 37 | +├── SECURITY.md # Security policy |
| 38 | +├── SUPPORT.md # Support information |
| 39 | +├── LICENSE # MIT License |
| 40 | +├── images/ # Image assets for lessons |
| 41 | +├── translated_images/ # Translated image assets |
| 42 | +├── translations/ # Translated versions (50+ languages) |
| 43 | +└── .github/ |
| 44 | + ├── workflows/ |
| 45 | + │ ├── co-op-translator.yml # Automated translation workflow |
| 46 | + │ ├── deploy.yaml # GitHub Pages deployment |
| 47 | + │ └── jekyll-gh-pages.yml # Jekyll site generation |
| 48 | + └── ISSUE_TEMPLATE/ # Issue templates |
| 49 | +``` |
| 50 | + |
| 51 | +## Comandos de Configuração |
| 52 | + |
| 53 | +Este é um projeto de documentação sem dependências para instalar. Para trabalhar com o conteúdo: |
| 54 | + |
| 55 | +```bash |
| 56 | +# Clone the repository |
| 57 | +git clone https://github.com/microsoft/Security-101.git |
| 58 | +cd Security-101 |
| 59 | + |
| 60 | +# View content locally - any Markdown viewer works |
| 61 | +# OR serve with a simple HTTP server to use Docsify rendering |
| 62 | +python -m http.server 8000 |
| 63 | +# Then visit http://localhost:8000 in your browser |
| 64 | +``` |
| 65 | + |
| 66 | +## Fluxo de Trabalho de Desenvolvimento |
| 67 | + |
| 68 | +### Visualizando o Conteúdo Localmente |
| 69 | + |
| 70 | +O projeto usa Docsify para renderização. Para visualizar alterações: |
| 71 | + |
| 72 | +```bash |
| 73 | +# Option 1: Use Python's built-in HTTP server |
| 74 | +python -m http.server 8000 |
| 75 | + |
| 76 | +# Option 2: Use Node.js http-server (if available) |
| 77 | +npx http-server -p 8000 |
| 78 | + |
| 79 | +# Option 3: View Markdown files directly in any Markdown editor |
| 80 | +``` |
| 81 | + |
| 82 | +### Estrutura do Conteúdo |
| 83 | + |
| 84 | +Os módulos são numerados sequencialmente: |
| 85 | +- **Módulo 1:** Conceitos básicos de segurança (1.1-1.7) |
| 86 | +- **Módulo 2:** Gerenciamento de identidade e acesso (2.1-2.4) |
| 87 | +- **Módulo 3:** Segurança de rede (3.1-3.4) |
| 88 | +- **Módulo 4:** Operações de segurança (4.1-4.4) |
| 89 | +- **Módulo 5:** Segurança de aplicações (5.1-5.3) |
| 90 | +- **Módulo 6:** Segurança de infraestrutura (6.1-6.3) |
| 91 | +- **Módulo 7:** Segurança de dados (7.1-7.3) |
| 92 | +- **Módulo 8:** Segurança de IA (8.1-8.4) |
| 93 | + |
| 94 | +Cada módulo termina com um arquivo de quiz (ex.: "1.7 End of module quiz.md"). |
| 95 | + |
| 96 | +### Fazendo Alterações no Conteúdo |
| 97 | + |
| 98 | +1. Edite os arquivos Markdown diretamente no diretório raiz |
| 99 | +2. Siga a convenção de nomenclatura existente: `[module].[lesson] [Title].md` |
| 100 | +3. Atualize a tabela no README.md ao adicionar/remover módulos |
| 101 | +4. Adicione imagens ao diretório `/images/` |
| 102 | +5. Referencie imagens usando caminhos relativos: `` |
| 103 | + |
| 104 | +## Fluxo de Trabalho de Tradução |
| 105 | + |
| 106 | +**Tradução Automatizada:** |
| 107 | +- As traduções são realizadas automaticamente pela GitHub Action Co-op Translator |
| 108 | +- Quando você faz push de alterações para a branch `main`, o fluxo de trabalho traduz o conteúdo para mais de 50 idiomas |
| 109 | +- Os arquivos traduzidos são armazenados em `/translations/[language_code]/` |
| 110 | +- Os metadados de tradução são preservados no frontmatter YAML |
| 111 | + |
| 112 | +**Idiomas Suportados:** Árabe, Bengali, Búlgaro, Birmanês, Chinês (Simplificado, Tradicional), Croata, Tcheco, Dinamarquês, Holandês, Estoniano, Finlandês, Francês, Alemão, Grego, Hebraico, Hindi, Húngaro, Indonésio, Italiano, Japonês, Coreano, Lituano, Malaio, Marathi, Nepali, Norueguês, Persa, Polonês, Português, Punjabi, Romeno, Russo, Sérvio, Eslovaco, Esloveno, Espanhol, Suaíli, Sueco, Tagalo, Tâmil, Tailandês, Turco, Ucraniano, Urdu, Vietnamita e outros. |
| 113 | + |
| 114 | +**Não edite manualmente os arquivos de tradução** - eles serão sobrescritos pelo fluxo de trabalho automatizado. |
| 115 | + |
| 116 | +## Diretrizes de Estilo de Código |
| 117 | + |
| 118 | +### Convenções de Markdown |
| 119 | + |
| 120 | +- Use a sintaxe padrão do Markdown |
| 121 | +- Títulos: Use `#` para o título principal, `##` para seções, `###` para subseções |
| 122 | +- Listas: Use `-` ou `*` para listas não ordenadas, `1.` para listas ordenadas |
| 123 | +- Links: Use texto descritivo com URLs completos do GitHub para referências cruzadas |
| 124 | +- Imagens: Armazene no diretório `/images/`, use texto alternativo descritivo |
| 125 | +- Blocos de código: Use três crases com identificador de linguagem quando aplicável |
| 126 | + |
| 127 | +### Diretrizes de Conteúdo |
| 128 | + |
| 129 | +- Mantenha as lições focadas e concisas (tempo de leitura de 30-60 minutos) |
| 130 | +- Use linguagem clara e acessível para iniciantes |
| 131 | +- Evite instruções específicas de ferramentas de fornecedores (o currículo é independente de fornecedores) |
| 132 | +- Inclua objetivos de aprendizado no início de cada módulo |
| 133 | +- Link para recursos externos do Microsoft Learn quando apropriado |
| 134 | +- Certifique-se de que o conteúdo seja educacional, não promocional |
| 135 | + |
| 136 | +### Nomenclatura de Arquivos |
| 137 | + |
| 138 | +- Use o formato: `[Module].[Lesson] [Title].md` |
| 139 | +- Exemplo: `1.1 The CIA triad and other key concepts.md` |
| 140 | +- Arquivos de quiz: `[Module].[Last] End of module quiz.md` |
| 141 | +- Use espaços nos nomes de arquivos (convenção existente) |
| 142 | + |
| 143 | +## Fluxos de Trabalho do GitHub |
| 144 | + |
| 145 | +### Co-op Translator (co-op-translator.yml) |
| 146 | + |
| 147 | +**Trigger:** Push para a branch `main` |
| 148 | +**Propósito:** Traduz automaticamente arquivos Markdown novos/modificados para mais de 50 idiomas |
| 149 | + |
| 150 | +**Variáveis de Ambiente Necessárias:** |
| 151 | +- Credenciais do serviço Azure AI (AZURE_AI_SERVICE_API_KEY, AZURE_AI_SERVICE_ENDPOINT) |
| 152 | +- Credenciais do Azure OpenAI (alternativa opcional) |
| 153 | +- Credenciais do OpenAI (alternativa opcional) |
| 154 | + |
| 155 | +### Deploy (deploy.yaml) |
| 156 | + |
| 157 | +**Trigger:** Push para a branch `main` quando README.md for alterado |
| 158 | +**Propósito:** Faz deploy do site estático para o GitHub Pages |
| 159 | +**Saída:** Atualiza o site do GitHub Pages |
| 160 | + |
| 161 | +### Jekyll GitHub Pages (jekyll-gh-pages.yml) |
| 162 | + |
| 163 | +**Trigger:** Push para a branch configurada |
| 164 | +**Propósito:** Constrói e faz deploy do site usando Jekyll |
| 165 | + |
| 166 | +## Diretrizes para Pull Requests |
| 167 | + |
| 168 | +### Antes de Submeter |
| 169 | + |
| 170 | +1. **Revisão de Conteúdo:** Certifique-se da precisão e clareza dos conceitos de cibersegurança |
| 171 | +2. **Formatação:** Verifique se a formatação do Markdown está correta |
| 172 | +3. **Links:** Teste todos os links internos e externos |
| 173 | +4. **Imagens:** Certifique-se de que todas as imagens carregam e têm texto alternativo descritivo |
| 174 | +5. **Consistência:** Siga a estrutura e estilo de conteúdo existentes |
| 175 | + |
| 176 | +### Formato do Título do PR |
| 177 | + |
| 178 | +Use títulos descritivos: |
| 179 | +- `Add: [Descrição do novo conteúdo]` |
| 180 | +- `Update: [Módulo/Lição] - [Breve descrição]` |
| 181 | +- `Fix: [Descrição do problema]` |
| 182 | +- `Docs: [Alterações na documentação]` |
| 183 | + |
| 184 | +### Verificações Necessárias |
| 185 | + |
| 186 | +- Precisão do conteúdo (revisão manual) |
| 187 | +- Validação da formatação do Markdown |
| 188 | +- Verificação de links |
| 189 | +- Conclusão do fluxo de trabalho de tradução (para merges na branch `main`) |
| 190 | + |
| 191 | +### Processo de Revisão |
| 192 | + |
| 193 | +1. Pelo menos uma revisão de mantenedor é necessária |
| 194 | +2. Foco na precisão técnica dos conceitos de segurança |
| 195 | +3. Verifique acessibilidade e facilidade para iniciantes |
| 196 | +4. Certifique-se de que a neutralidade em relação a fornecedores seja mantida |
| 197 | + |
| 198 | +## Tarefas Comuns |
| 199 | + |
| 200 | +### Adicionando uma Nova Lição |
| 201 | + |
| 202 | +```bash |
| 203 | +# 1. Create new Markdown file with proper naming |
| 204 | +touch "[Module].[Lesson] [Title].md" |
| 205 | + |
| 206 | +# 2. Add content following template structure |
| 207 | +# 3. Update README.md module table with new entry |
| 208 | +# 4. Add entry to module overview table |
| 209 | +# 5. Ensure quiz file numbering is correct |
| 210 | + |
| 211 | +# 6. Commit changes |
| 212 | +git add "[Module].[Lesson] [Title].md" README.md |
| 213 | +git commit -m "Add: [Module].[Lesson] - [Title]" |
| 214 | +git push |
| 215 | +``` |
| 216 | + |
| 217 | +### Atualizando Conteúdo Existente |
| 218 | + |
| 219 | +```bash |
| 220 | +# 1. Edit the relevant Markdown file |
| 221 | +# 2. Verify formatting and links |
| 222 | +# 3. Commit with descriptive message |
| 223 | +git add "[Module].[Lesson] [Title].md" |
| 224 | +git commit -m "Update: [Module].[Lesson] - [Brief description of changes]" |
| 225 | +git push |
| 226 | +``` |
| 227 | + |
| 228 | +### Adicionando Imagens |
| 229 | + |
| 230 | +```bash |
| 231 | +# 1. Add image to /images/ directory |
| 232 | +cp new-image.png images/ |
| 233 | + |
| 234 | +# 2. Reference in Markdown |
| 235 | +#  |
| 236 | + |
| 237 | +# 3. Commit both content and image |
| 238 | +git add "images/new-image.png" "[Module].[Lesson] [Title].md" |
| 239 | +git commit -m "Add: Image for [description]" |
| 240 | +git push |
| 241 | +``` |
| 242 | + |
| 243 | +## Testes e Validação |
| 244 | + |
| 245 | +### Validação de Conteúdo |
| 246 | + |
| 247 | +Como este é um projeto de documentação, os testes se concentram em: |
| 248 | + |
| 249 | +1. **Renderização de Markdown:** Visualize alterações localmente usando Docsify |
| 250 | +2. **Validação de Links:** Clique manualmente em todos os links |
| 251 | +3. **Carregamento de Imagens:** Verifique se todas as imagens são exibidas corretamente |
| 252 | +4. **Tradução:** Verifique se os arquivos são capturados pelo fluxo de trabalho de tradução (automatizado) |
| 253 | +5. **Acessibilidade:** Certifique-se de que a hierarquia de títulos e o texto alternativo estão corretos |
| 254 | + |
| 255 | +### Visualização Local |
| 256 | + |
| 257 | +```bash |
| 258 | +# Serve locally to test Docsify rendering |
| 259 | +python -m http.server 8000 |
| 260 | + |
| 261 | +# Visit http://localhost:8000 |
| 262 | +# Click through navigation to verify all links work |
| 263 | +# Check that images load properly |
| 264 | +# Verify Markdown formatting renders correctly |
| 265 | +``` |
| 266 | + |
| 267 | +### Checklist Pré-commit |
| 268 | + |
| 269 | +- [ ] Arquivos Markdown usam a sintaxe correta |
| 270 | +- [ ] Todos os links são válidos e usam HTTPS sempre que possível |
| 271 | +- [ ] Imagens têm texto alternativo descritivo |
| 272 | +- [ ] O conteúdo é acessível para iniciantes e preciso |
| 273 | +- [ ] A linguagem neutra em relação a fornecedores é mantida |
| 274 | +- [ ] README.md atualizado ao adicionar/remover módulos |
| 275 | +- [ ] A nomenclatura de arquivos segue as convenções |
| 276 | + |
| 277 | +## Considerações de Segurança |
| 278 | + |
| 279 | +- **Sem segredos no conteúdo:** Nunca faça commit de chaves de API, senhas ou dados sensíveis |
| 280 | +- **Validação de links:** Certifique-se de que todos os links externos são de fontes confiáveis |
| 281 | +- **Conteúdo de imagens:** Verifique se as imagens não contêm informações sensíveis |
| 282 | +- **Fluxo de trabalho de tradução:** Usa serviços de IA da Azure com autenticação adequada |
| 283 | +- **SECURITY.md:** Siga o processo de relatório de vulnerabilidades em SECURITY.md |
| 284 | + |
| 285 | +## Recursos Adicionais |
| 286 | + |
| 287 | +### Cursos Relacionados da Microsoft |
| 288 | + |
| 289 | +Este currículo faz parte de uma coleção maior de recursos educacionais da Microsoft: |
| 290 | +- IA Generativa para Iniciantes |
| 291 | +- IA para Iniciantes |
| 292 | +- Ciência de Dados para Iniciantes |
| 293 | +- ML para Iniciantes |
| 294 | +- Desenvolvimento Web para Iniciantes |
| 295 | +- IoT para Iniciantes |
| 296 | + |
| 297 | +### Caminhos de Aprendizado Externos |
| 298 | + |
| 299 | +Após concluir o Security-101: |
| 300 | +- [Microsoft Security, Compliance, and Identity Fundamentals](https://learn.microsoft.com/training/paths/describe-concepts-of-security-compliance-identity/) |
| 301 | +- [Exam SC-900: Microsoft Security, Compliance, and Identity Fundamentals](https://learn.microsoft.com/credentials/certifications/exams/sc-900/) |
| 302 | + |
| 303 | +## Contribuindo |
| 304 | + |
| 305 | +1. **Faça um fork do repositório** no GitHub |
| 306 | +2. **Crie uma branch de feature** para suas alterações |
| 307 | +3. **Faça suas alterações** seguindo as diretrizes acima |
| 308 | +4. **Teste localmente** para garantir que tudo renderiza corretamente |
| 309 | +5. **Submeta um pull request** com uma descrição clara das alterações |
| 310 | +6. **Responda ao feedback** dos mantenedores |
| 311 | + |
| 312 | +## Problemas Comuns e Soluções |
| 313 | + |
| 314 | +### Traduções Não Funcionando |
| 315 | + |
| 316 | +- Certifique-se de que as alterações foram feitas push para a branch `main` |
| 317 | +- Verifique a aba de GitHub Actions para o status do fluxo de trabalho |
| 318 | +- Confirme se os segredos do fluxo de trabalho de tradução estão configurados |
| 319 | +- A tradução acontece automaticamente; não edite os arquivos de tradução manualmente |
| 320 | + |
| 321 | +### Imagens Não Carregando |
| 322 | + |
| 323 | +- Verifique se o caminho da imagem usa barras: `images/filename.png` |
| 324 | +- Confirme se o arquivo de imagem foi commitado no repositório |
| 325 | +- Certifique-se de que o nome do arquivo da imagem corresponde exatamente (case-sensitive) |
| 326 | +- Use caminhos relativos, não URLs absolutas |
| 327 | + |
| 328 | +### Docsify Não Renderizando |
| 329 | + |
| 330 | +- Verifique se `index.html` está presente na raiz |
| 331 | +- Confirme se os links CDN do Docsify estão acessíveis |
| 332 | +- Certifique-se de que os arquivos Markdown usam sintaxe padrão |
| 333 | +- Verifique o console do navegador para erros de JavaScript |
| 334 | + |
| 335 | +### Links Não Funcionando |
| 336 | + |
| 337 | +- Use URLs completas do GitHub para referências cruzadas entre lições |
| 338 | +- Formato: `https://github.com/microsoft/Security-101/blob/main/[file].md` |
| 339 | +- Teste os links na visualização renderizada, não apenas no Markdown bruto |
| 340 | + |
| 341 | +## Manutenção do Projeto |
| 342 | + |
| 343 | +### Tarefas Regulares |
| 344 | + |
| 345 | +- Revisar e mesclar contribuições da comunidade |
| 346 | +- Atualizar conteúdo para garantir precisão conforme o cenário de segurança evolui |
| 347 | +- Monitorar o fluxo de trabalho de tradução para erros |
| 348 | +- Responder a problemas e discussões |
| 349 | +- Manter links externos atualizados |
| 350 | + |
| 351 | +### Controle de Versão |
| 352 | + |
| 353 | +- A branch `main` é protegida e requer revisões de PR |
| 354 | +- Todas as alterações passam pelo processo de pull request |
| 355 | +- Arquivos de tradução são gerados automaticamente, não edite manualmente |
| 356 | +- Use mensagens de commit significativas |
| 357 | + |
| 358 | +## Notas para Agentes de Codificação com IA |
| 359 | + |
| 360 | +- **Este é um projeto de documentação** - foque na qualidade do conteúdo, não no código |
| 361 | +- **Não modifique arquivos de tradução** - eles são gerados automaticamente |
| 362 | +- **Preserve as convenções de nomenclatura de arquivos** - use espaços nos nomes de arquivos conforme o padrão existente |
| 363 | +- **Atualize README.md** ao adicionar/remover módulos para manter a tabela sincronizada |
| 364 | +- **Teste localmente** antes de submeter PRs para garantir que o Markdown renderiza corretamente |
| 365 | +- **Siga o estilo de conteúdo existente** - mantenha o tom acessível para iniciantes e neutro em relação a fornecedores |
| 366 | +- **Sem processo de build necessário** - um servidor HTTP simples é suficiente para desenvolvimento local |
| 367 | +- **Respeite a estrutura dos módulos** - cada módulo tem numeração e organização consistentes |
| 368 | + |
| 369 | +--- |
| 370 | + |
| 371 | +**Aviso Legal**: |
| 372 | +Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autoritativa. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações equivocadas decorrentes do uso desta tradução. |
0 commit comments