Plano de melhoria das páginas internas do portal (hub do módulo, tópico, exercícios, exemplos, slides, quiz e grade), sequência do plano da home. Criado em 2026-09-24, a partir de uma análise no build local em 1280 px e 375 px, e aprovado pelo usuário.
feat/paginas-internas-ui-uxmain (merge 7765f128), deploy ok. Etapa 6 aprovada e executada em 2026-09-24 (spec de Segurança unificada no Mod 12; branch feat/unifica-seguranca-mod12). Etapa 7 concluída e publicada em 2026-09-24 (PR #36, merge f1291b0b): guias de UML e de Engenharia de Software unificados num curso 20×5. Próximos candidatos à unificação levantados em PLANO_UNIFICACAO_CURSOS.md, sem execução. A reorganização geral da trilha está em PLANO_REORGANIZACAO_TRILHA.md, em revisão separada.| # | Problema | Alcance | Evidência |
|---|---|---|---|
| 1 | Diagramas Mermaid ilegíveis no tema escuro: caixas com style ... fill:#e1f5fe (tons pastel) e texto quase branco (#e5e7eb), com contraste perto de 1:1 |
1705 de 2056 arquivos com Mermaid | mod_01/topicos/01_*, primeiro diagrama |
| 2 | Rolagem horizontal no celular: equações MathJax em bloco com 479 px numa tela de 375 px deixam a página com 631 px de largura | 61 páginas com $$ |
mod_01/topicos/01_* em 375 px |
| 3 | Crases aparecendo no texto dos quizzes (`P ∧ Q`), porque o Markdown não é processado dentro do HTML das questões |
51 a 347 de 800 quizzes | mod_01/quizzes/01_* |
| 4 | No escuro, as alternativas do quiz são botões cinza-claros do navegador, fora da paleta | todos os quizzes | .quiz-option sem fundo nem cor no escuro |
| 5 | Grade completa sem margem lateral (texto a 0 px da borda), fases diferentes das da home e gerador desatualizado: aponta para spec_sistemas_csharp, que não existe, e deixa de fora spec_sistemas_com_python e o Guia de Linguagens |
1 página | indice_geral.md, _scripts/build_indice_geral.py |
| 6 | Slides com outro visual: cabeçalho em degradê azul e verde, tema claro fixo, sem o menu do topo | 800 slides | _layouts/slide.html |
| 7 | Barra lateral com 840 itens em maiúsculas, começando pelos Guias Extras. Não mostra o módulo atual primeiro nem destaca o capítulo aberto | todas as páginas internas | sidebar.nav: main |
| 8 | Fim do capítulo só com “Início · Sumário · Próximo”. Não há “anterior”, posição (Cap 01 de 20 · Bloco 1) nem abas Teoria/Exemplos/Exercícios/Slides/Quiz iguais nas 5 páginas | 4000 páginas de capítulo | fim de topicos/01_* |
| 9 | Breadcrumb e subtítulos gerados do nome da pasta, sem acento: “Mod 01 fundamentos da computacao / Topicos” | páginas internas | _includes/breadcrumbs.html |
| 10 | Cores das páginas internas diferentes das da home (fundo #252a34 mais claro que os cards) e rodapé antigo do tema (“SIGA: FEED”) |
site todo | custom.html, tema |
| 11 | “Nesta página”: item ativo com pouco contraste, e títulos longos quebram em 5 ou 6 linhas | páginas com TOC | barra direita |
| 12 | Busca: resumos com código Mermaid cru, e “git” também casa com “Digital” | busca | índice de busca |
| 13 | Numeração da Fase 2 fora da ordem de estudo: UI/UX é o Mod 03, mas vem depois de HTML, JS e Git. O Git é o Mod 06, mas é pré-requisito para trabalhar com os outros | 2 módulos, home, grade, barra lateral | _data/cursos.yml, _data/navigation.yml |
Itens 1, 2, 3, 4 e 5. Pouco esforço e alcançam centenas de páginas de uma vez.
mjx-container[display]).`x` vira <code> nas questões, alternativas e feedback. As alternativas passam a usar a paleta do site._data/cursos.yml, com as mesmas fases, especializações, projetos e guias da home, e o layout ganha margem..mjx-wide).Itens 7, 8 e 9: barra lateral só com o módulo atual e o capítulo destacado, cartões anterior/próximo com a posição do capítulo, abas das 5 páginas do capítulo e breadcrumb com os nomes de _data/cursos.yml.
Feito: nenhum arquivo de conteúdo foi editado. Tudo entra por includes do tema, alimentados por _data/navigation.yml:
_scripts/gerar_navigation_yml.py passa a gravar, em cada curso, slug e o nome/icone da home (_data/cursos.yml), e em cada capítulo num (do nome do arquivo) e label (o título sem emoji nem “Cap NN:”). O arquivo foi gerado de novo e também corrigiu 4 títulos que estavam desatualizados._includes/chapter-context.html descobre o curso, o capítulo, o anterior e o próximo a partir de page.path, uma vez por página._includes/nav_list): dentro de um curso mostra só os 20 capítulos dele, numerados, com o capítulo aberto destacado em qualquer uma das 5 páginas, e um link “← Todos os cursos”. Fora de um curso, mostra a lista de cursos na ordem da home. O CSS e o JS antigos de recolher os 40 cursos saíram do custom.html. Efeito colateral bom: o build caiu de ~122 s para ~65 s, porque cada página deixou de gerar os 840 itens.chapter-tabs.html, via override de page__meta.html): “💻 Módulo 01: Fundamentos da Computação · Capítulo 01 de 20” e as abas Teoria, Exemplos, Exercícios, Slides e Quiz, com a atual marcada.chapter-pager.html, via override de post_pagination.html): levam para a mesma página do capítulo vizinho (exercícios → exercícios). No capítulo 01 o card da esquerda volta ao início do curso; no 20, o da direita diz “Fim do curso”.breadcrumbs.html): “Início / Módulo 01: Fundamentos da Computação / Exercícios / título”, com o nome da home e as pastas com acento.slide.html ganhou o mesmo breadcrumb, as abas e os cards; o visual dos slides continua para a Etapa 3.Decisões:
mod_03 usa 5 capítulos por bloco; vários índices não citam blocos), então calcular o bloco mostraria informação errada em parte dos cursos.| Os rodapés escritos à mão em cada capítulo (“⬅️ Capítulo Anterior | Sumário | Próximo ➡️” e variações) continuam no conteúdo. São mais de 30 formatos diferentes, alguns com tabela de recursos; tirá-los é uma limpeza de conteúdo em 4000 arquivos, que pode ser feita depois com script, agora que os cards cobrem essa função. |
Validação: validate_liquid ok; build ok; os componentes aparecem nas 4000 páginas de capítulo (a barra do curso em 3241 páginas, porque slides e a maioria dos índices usam layouts sem barra); os 103.302 links das abas, cards e barra existem; test_links sem links quebrados (4538 páginas, 370.672 links; antes eram ~3 milhões de links, quase todos da barra lateral com 840 itens repetida em cada página). O teste visual foi feito junto com a Etapa 3 e achou um bug: os cards anterior/próximo subiam para o topo da página com largura 0 (o tema faz .page__content flutuar) e, no celular, causavam rolagem horizontal. Corrigido com clear: both na Etapa 3.
Itens 6, 10 e 11: slides com os tokens de cor da home e respeitando o tema escolhido, tokens --ph-* no site todo, rodapé novo nas páginas internas e ajuste do “Nesta página”.
Feito:
--ph-* saíram do escopo .portal-home e passaram a valer no site todo (:root e html.theme-light em _includes/head/custom.html). As variáveis Sass do skin ganharam os mesmos valores: assets/css/main.scss (novo, override do tema) no escuro e main-light.scss no claro. O fundo #252a34 virou #171b1e e o destaque #00adb5 virou #4fc1b6/#157878. A paleta do Mermaid (azul) e a caixa dos diagramas passaram para as cores da home, e o botão “Voltar ao topo” ficou teal em todas as páginas (antes só na home)._includes/footer.html no lugar de “Siga: Feed / Powered by”, com os mesmos links do rodapé da home. Os links foram para _data/rodape.yml, usado pelos dois.--ph-accent-soft e barra à esquerda, e títulos longos cortados em 2 linhas, com o texto inteiro no title do link._layouts/slide.html agora herda o layout default do tema. Com isso os slides têm a barra do topo, a busca, o botão claro/escuro do site e o rodapé novo; o cabeçalho em degradê e o modo escuro próprio (localStorage "dark-mode") saíram. As cores vêm dos tokens. Dois bugs do atalho de teclado foram corrigidos: Espaço nunca avançava (o código comparava e.key com "Space") e o atalho passaria a capturar Espaço/Backspace digitados na busca.Validação: validate_liquid ok; build ok; CSS compilado sem #252a34/#00adb5; teste visual em 1280 px (escuro e claro) numa página de exercícios e nos slides, e em 375 e 768 px (exercícios, slides e tópico): sem rolagem horizontal. A home continua igual. test_links sem links quebrados (4538 páginas, 419.748 links).
Item 12: tirar código e diagramas do índice de busca e dar mais peso a palavra inteira e ao título.
Feito:
search.json foi trocado pelo plugin _plugins/search_index.rb. O template pegava as 30 primeiras palavras de p.content, que às vezes ainda era Markdown cru (daí o Mermaid nos resumos). O plugin lê cada página já convertida para HTML (hook :post_convert), tira <pre> (código e Mermaid), <script>, <style> e fórmulas $$…$$, e grava por página: título, URL, curso (nome da home), títulos de seção (h2/h3) e um resumo com os primeiros parágrafos de texto corrido (12+ palavras), o que pula o subtítulo “Módulo NN • Bloco N” e a lista de navegação repetidos. O deploy roda jekyll build sem modo seguro, então o plugin roda no Actions também. Uma página sai do índice com search: false. São 4850 páginas; o arquivo foi de 2,0 MB para 3,9 MB (660 KB com gzip).--ph-* (antes cinza e azul fixos, com regras separadas para o claro).Validação: validate_liquid ok; build ok; nenhum resumo com flowchart/graph/sequenceDiagram; teste no navegador: “git” traz primeiro o Módulo 03 e depois os capítulos dele, “digital” só traz páginas com a palavra, “ponteiros c” traz C e Rust; janela certa nos dois temas; test_links sem links quebrados (4538 páginas, 419.748 links).
Feita antes da Etapa 2, porque a Etapa 2 monta a barra lateral e os breadcrumbs a partir desses slugs.
Item 13. A pasta mod_03_design_de_interfaces_ui_ux passa a se chamar mod_06_design_de_interfaces_ui_ux. Como mod_06 já é o Git, os dois trocam de número: mod_06_versionamento_com_git_e_github passa a se chamar mod_03_versionamento_com_git_e_github. A Fase 2 fica nesta ordem:
| Nº | Módulo | Antes |
|---|---|---|
| 03 | 🐙 Git e GitHub | Mod 06 |
| 04 | 📄 HTML5 e CSS3 | — |
| 05 | ⚡ JavaScript e DOM | — |
| 06 | 🎨 Design UI/UX e Acessibilidade | Mod 03 |
Passos:
git mv, usando uma pasta temporária no meio para não haver colisão de nomes._data/cursos.yml, trocar o slug e o “Módulo NN” de cada um e reordenar a Fase 2._data/navigation.yml (cerca de 140 links).index.md de cada módulo e nos 5 índices setoriais. Corrigir também os links “próxima etapa” em mod_04/index.md e mod_05/index.md e os pré-requisitos em proj_aplicacoes_full_stack (projetos/index.md, design_01_design_system_tokens). Depois, rodar de novo _scripts/build_indice_geral.py para atualizar a grade.jekyll-redirect-from, se disponível, ou páginas HTML de redirecionamento) para não quebrar favoritos nem buscadores._scripts/generate_mod03_*/generate_mod06_*, update_indexes.py, apply_new_numbering.py e relatórios em docs/, _artefatos_gerais/ e _reports/: atualizar só os que ainda são usados. O histórico (CHANGELOG, relatórios datados) fica como está.grep que não sobrou nenhum mod_03_design nem mod_06_version fora do histórico.Feito: as pastas foram trocadas com git mv. Os slugs foram trocados em _data, _scripts (menos apply_new_numbering.py, que é histórico), _artefatos_gerais/scripts, nos módulos e em proj_aplicacoes_full_stack. Em docs/, só os links relativos mudaram. “Módulo 03/06” e MOD03 foram trocados nas páginas dos dois módulos (230 ocorrências em 212 arquivos). Os rodapés anterior/próximo seguem a nova ordem 02 → 03 Git → 04 → 05 → 06 UI/UX → 07. Os blocos dos cursos 03 e 06 foram trocados de lugar em proj_aplicacoes_full_stack/projetos/index.md, os da barra lateral em navigation.yml e os da home em cursos.yml, e a grade foi gerada de novo. As URLs antigas são redirecionadas pelo 404.html da raiz, com um script que troca o slug e mantém o resto do caminho.
Validação: validate_liquid ok (4599 arquivos); estrutura 20×5 dos dois módulos ok; build ok na 3ª tentativa (as duas primeiras caíram por falha do Docker, “unexpected EOF”, sem erro do Jekyll); teste visual ok (home, hubs dos dois módulos em 375 px no escuro, redirecionamento do 404.html). O test_links ainda rodava na hora do commit. Ele foi rodado de novo em 2026-09-24, sobre um build novo (já com a normalização LF), e não encontrou nenhum link quebrado: 4538 páginas e 2.989.791 links verificados em cerca de 15 min.
Pedida em 2026-09-24; analisada e aprovada (“unificar em parte”) em 2026-09-24. Execução registrada no fim desta seção.
spec_seguranca_e_criptografia (especialização, 20 capítulos) pode entrar em mod_12_desenvolvimento_seguro (módulo regular, 20 capítulos) e depois ser removido?Achado principal: a teoria e os exemplos da especialização são texto de modelo. Os 20 tópicos têm o mesmo mapa Mermaid genérico (“Vetor de Ameaça → Camada de Blindagem…”), os mesmos três “Principais Pilares” e um bloco de código com apenas uma docstring. Os 20 exemplos têm uma única linha de comentário. As partes com conteúdo real são as slides, os quizzes (3 perguntas específicas por capítulo) e os gabaritos dos exercícios (cerca de 1.100 linhas de código). No Mod 12, os 5 artefatos têm conteúdo real: tópicos com cerca de 490 palavras, exemplos com 20 a 50 linhas de código e cerca de 2.100 linhas de código nos gabaritos.
Capítulo a capítulo
| Spec | Tema | Onde já está no Mod 12 | Situação |
|---|---|---|---|
| 01 | Fundamentos, tríade CIA | 01 | Duplicado |
| 02 | Aritmética modular, cifras clássicas | — | Só na spec |
| 03 | Entropia, CSPRNG, one-time pad | — | Só na spec |
| 04 | Criptoanálise, força bruta, timing attacks | — | Só na spec |
| 05 | AES e modos CBC/CTR | 05 (AES-GCM; cita CBC/ECB só como anti-exemplo) | Parcial |
| 06 | AEAD: AES-GCM, ChaCha20 | 05 | Duplicado |
| 07 | Hashes SHA-256, SHA-3, BLAKE3 | 03 (só hash de senha) | Só na spec (hash geral) |
| 08 | HMAC, Argon2/PBKDF2 | 03 (Argon2, bcrypt) | Parcial (falta HMAC) |
| 09 | RSA, OAEP/PSS | 05 (RSA × ECC) | Parcial |
| 10 | ECC, ECDH, Ed25519 | 05 | Parcial |
| 11 | Assinaturas, X.509, PKI | 06 | Duplicado |
| 12 | TLS 1.3, PFS, SSH | 06 (TLS 1.3, mTLS) | Parcial (falta SSH) |
| 13 | OWASP: SQLi, XSS, CSRF | 09 e 10 | Duplicado (Mod 12 mais completo) |
| 14 | APIs: OAuth 2.1, OIDC, JWT, mTLS | 11 e 13 | Duplicado |
| 15 | Segredos, Vault, HSM | 07 | Duplicado (falta HSM) |
| 16 | SAST, DAST, SCA | 16 e 17 | Duplicado |
| 17 | DevSecOps, Cosign | 14 e 17 | Duplicado |
| 18 | Zero Trust, IAM | 04 (RBAC/ABAC, menor privilégio) | Parcial |
| 19 | Criptografia pós-quântica | — | Só na spec |
| 20 | Projeto: cofre criptográfico | 20 (projeto DevSecOps) | Tema diferente |
Resumo: 8 capítulos duplicados, 7 parciais e 5 temas que só existem na especialização (02, 03, 04, 07 e 19). Os 5 são de criptografia teórica.
Cabe no Mod 12? Não como capítulos novos. Os 20 capítulos do Mod 12 são todos substantivos, e fundir dois deles para abrir espaço deixaria o módulo mais raso. Os temas exclusivos cabem como seções novas em capítulos que já existem:
Dependências a mudar, se unificar
_data/cursos.yml: remover a área “Segurança” das especializações (o portal passa de 40 para 39 cursos; conferir contagens na home e em docs/MEMORIA_CONTEXTO.md)._data/navigation.yml: remover o bloco da spec (linhas ~2669–2752)._scripts/build_indice_geral.py de novo.proj_aplicacoes_full_stack/projetos/index.md: a seção “Curso 32 — Segurança da Informação & Criptografia” sai, e o seguranca_01 já aparece no Mod 12.proj_aplicacoes_full_stack/projetos/seguranca_02_criptografia_mfa_oauth/index.md: o pré-requisito passa a apontar para o Mod 12.spec_multiplataforma_com_flutter/index.md: os links “Próxima etapa” e “Próximo módulo” apontam para a spec e precisam de um novo destino._scripts/generate_spec_seguranca_all.py e _artefatos_gerais/scripts/gerar_mapeamento_acervo.py: o primeiro é aposentado e o segundo, ajustado. Documentos datados em docs/ ficam como histórico.404.html: redirecionar /spec_seguranca_e_criptografia/... para o hub do Mod 12. Não existe um capítulo equivalente um para um, então todas as URLs vão para o hub (ou, opcionalmente, para um mapa por capítulo seguindo a tabela acima).Recomendação: unificar em parte. Remover a especialização e levar para o Mod 12 só o que é exclusivo, como seções, junto com os exercícios e quizzes aproveitáveis. Motivos: 15 dos 20 capítulos repetem o Mod 12, e a teoria e os exemplos da spec não têm conteúdo, então remover não perde teoria real. Hoje o aluno que termina o Mod 12 encontra na spec uma repetição mais rasa.
Feito (branch feat/unifica-seguranca-mod12):
spec_seguranca_e_criptografia e _scripts/generate_spec_seguranca_all.py; área “Segurança” em _data/cursos.yml; bloco em _data/navigation.yml; Curso 32 do catálogo de projetos (33–40 renumerados para 32–39); grade gerada de novo; pré-requisito do seguranca_02 → Mod 12; “próximo módulo” do Flutter → spec_sistemas_com_c; scripts de mapeamento; censo em docs/MEMORIA_CONTEXTO.md (39 cursos).404.html leva cada URL da spec ao capítulo equivalente do Mod 12 (mesmo tipo de artefato), seguindo a tabela acima; índices vão para o índice do mesmo tipo e o resto para o hub.Validação: validate_liquid ok; os 6 exemplos novos foram executados antes de entrar; build ok (4.741 páginas na busca, nenhuma da spec); os redirecionamentos do 404.html foram testados no Node com URLs de tópico, quiz, slides, índice e hub, e o redirecionamento antigo do Mod 03/06 continua funcionando; teste visual do Cap. 05 (MathJax, Mermaid e tabelas renderizam, sem rolagem horizontal); test_links sem links quebrados (4.434 páginas, 405.546 links).
Pedida em 2026-09-24 como “UML como módulo numerado”. Em 2026-09-24 o usuário pediu para começar por algo mais simples: fundir extra_guia_de_modelagem_uml com extra_engenharia_de_software num único curso no padrão 20×5, reorganizado e completando o que falta de UML. A reorganização geral da trilha fica em PLANO_REORGANIZACAO_TRILHA.md, em revisão separada. Nada desta etapa será executado sem aprovação.
| Guia de UML | Guia de Engenharia de Software | |
|---|---|---|
| Capítulos | 20 (cerca de 320 palavras cada) | 20 (cerca de 310 palavras cada) |
| Teoria de modelo (texto genérico “Pilares Fundamentais”) | 01 Introdução, 02 Classes, 06 Sequência, 09 Atividades: justamente os diagramas mais importantes | 01 Ciclos de vida, 03 Requisitos, 06 GoF, 14 Análise estática |
| Exemplos, exercícios (4 níveis) e quizzes | reais nos 20 capítulos | reais nos 20 capítulos |
| Números errados nos títulos | arquivo 06 = “Cap 03”, arquivo 09 = “Cap 04” | — |
| Temas repetidos dentro do guia | casos de uso (01 e 05); estados (09 e 10) | — |
| Repete outros cursos | — | 05 SOLID, 06 GoF e 07 Clean Architecture (Mod 10); 09 Pirâmide, 10 TDD/BDD e 11 Mutação/carga (Mod 11); 17 DevOps (Mod 13); 18 Microsserviços e 19 Resiliência (Mod 10, cap. 19) |
Lacunas já registradas nas auditorias de 2026-08-10 (extra_guia_de_modelagem_uml/_auditoria/ e extra_engenharia_de_software/_auditoria/, com base em docs/material_externo/modelagem_de_dados_uml.md e engenharia_de_software.md):
Nome: Engenharia de Software e Modelagem UML. Os 14 diagramas da UML 2.5 continuam cobertos; alguns dividem capítulo com outros ou entram como seção.
| Cap. | Título proposto | Origem | Trabalho |
|---|---|---|---|
| Bloco 1 — Processo de software | |||
| 01 | Engenharia de Software e modelos de processo: Cascata, Incremental, Espiral e Reuso | ES 01 | reescrever a teoria (modelo) + lacuna “processos formais” |
| 02 | Métodos ágeis: Manifesto Ágil, Scrum, Kanban, XP e tradicional × ágil | ES 02 | ampliar |
| 03 | Engenharia de requisitos: viabilidade, elicitação, RF/RNF/RD e validação | ES 03 | reescrever a teoria (modelo) + lacuna “requisitos formais” |
| 04 | User stories, critérios de aceitação e estimativas | ES 04 + parte do ES 03 | ajustar |
| Bloco 2 — Requisitos e processos em modelo | |||
| 05 | Introdução à UML: os 14 diagramas, os 4 níveis de abstração, perfis e estereótipos | UML 01 + UML 16 (seção) | reescrever a teoria (modelo) |
| 06 | Casos de uso: atores, include/extend e especificação textual (fluxos principal, alternativo e de exceção) | UML 05 + casos de uso do UML 01 | ampliar (especificação textual) |
| 07 | Processos de negócio com BPMN: eventos, atividades, gateways, piscinas e raias | novo | escrever os 5 artefatos |
| 08 | Diagrama de atividades: ações, decisões, fork/join e raias (BPMN × UML) | UML 09 | reescrever a teoria (modelo) |
| Bloco 3 — Modelagem estrutural | |||
| 09 | Modelagem de domínio: identificar conceitos, cartões CRC e introdução ao DDD (linguagem ubíqua, contextos) | novo + ES 08 (DDD) | escrever; aproveitar ES 08 |
| 10 | Diagrama de classes I: atributos, operações, visibilidade, associações e multiplicidade | UML 02 | reescrever a teoria (modelo) |
| 11 | Diagrama de classes II: agregação, composição, herança × papel, interfaces, classe de associação, enumerações e restrições OCL | novo + UML 12 (OCL, seção) | escrever |
| 12 | Objetos e pacotes: instância mínima, snapshots e dependências acíclicas | UML 03 + UML 04 | fundir |
| Bloco 4 — Comportamento e arquitetura | |||
| 13 | Interações: sequência (fragmentos alt/opt/loop), comunicação e visão geral de interação | UML 06 + UML 07 + UML 08 | reescrever a teoria (modelo) e fundir |
| 14 | Máquina de estados e diagrama de temporização | UML 10 + UML 11 (seção) | fundir |
| 15 | Componentes, estrutura composta e implantação | UML 13 + UML 14 + UML 15 | fundir |
| 16 | Arquitetura: modelo C4, ADRs e arc42 | UML 18 + ES 15 | fundir |
| Bloco 5 — Do modelo ao código e à evolução | |||
| 17 | Do modelo ao código e ao banco: o mesmo domínio em 4 níveis, classes → tabelas, engenharia reversa e MDA | novo + UML 19 | escrever; link para o Mod 08 (MER/DER) |
| 18 | Diagramas como código: Mermaid, PlantUML e D2 no Git e no CI | UML 17 | manter |
| 19 | Qualidade, manutenção e gerência de configuração: CMMI, MPS.BR, tipos de manutenção, baseline/release e débito técnico | novo + ES 13 + ES 16 + ES 12 (inspeção, seção) | escrever |
| 20 | Projeto integrador: do requisito ao Documento de Arquitetura (SAD) | UML 20 + ES 20 | fundir |
Resumo do esforço: 5 capítulos novos (07, 09, 11, 17, 19), 6 com teoria de modelo a reescrever (01, 03, 05, 08, 10, 13), 7 fusões (04, 12, 13, 14, 15, 16, 20) e 3 ajustes pequenos (02, 06, 18). Na prática, os 100 artefatos são revisados; cerca de 60% do material existente é aproveitado (principalmente exemplos, exercícios e quizzes).
Nas fusões, cada caderno de exercícios continua com 4 níveis e cada quiz com 3 perguntas: escolhe-se o melhor de cada origem, e o que sobra vira exemplo extra.
| Capítulo | Destino (link e redirecionamento) |
|---|---|
| ES 05 Clean Code e SOLID | Mod 10, caps. 05–06 |
| ES 06 GoF | Mod 10, caps. 09–16 |
| ES 07 Clean e Hexagonal | Mod 10, cap. 18 |
| ES 09 Pirâmide de testes | Mod 11, cap. 02 |
| ES 10 TDD e BDD | Mod 11, caps. 04 e 10 |
| ES 11 Mutação e carga | Mod 11, caps. 16 e 13 |
| ES 14 Análise estática | Mod 11, caps. 14 e 17 |
| ES 17 DevOps | Mod 13, cap. 01 |
| ES 18 Microsserviços · ES 19 Resiliência | Mod 10, cap. 19 |
Nenhum tema some do portal: todos os capítulos que saem têm um equivalente mais completo no destino.
extra_engenharia_de_software com o título novo. A pasta extra_guia_de_modelagem_uml é removida. Não mexe na numeração dos módulos; se a reorganização da trilha for aprovada depois, este curso vira o Mod 10 numa única mudança.extra_engenharia_de_software_e_uml. O nome fica mais claro, mas os dois guias antigos passam a precisar de redirecionamento.mod_15). Não mexe nos outros módulos, mas fica fora de ordem na Fase 3.setup/index.md (fundir os dois setup) + projetos/index.md de extra_engenharia_de_software; git rm de extra_guia_de_modelagem_uml (as pastas _auditoria e _artefatos vão para extra_engenharia_de_software/_auditoria/ como histórico)._data/cursos.yml (guias: sai a UML, muda o título da Engenharia), _data/navigation.yml (remove o bloco da UML, refaz o da Engenharia), grade (_scripts/build_indice_geral.py).uml_01), proj_aplicacoes_full_stack/projetos/uml_01_especificacao_sistema_bancario/index.md (pré-requisito), extra_guia_de_ferramentas/index.md._scripts/generate_extra_uml_all.py e _scripts/generate_extra_eng_software_all.py (gerariam a estrutura antiga); ajustar _scripts/update_indexes.py, _scripts/fix_residual_links.py e _artefatos_gerais/scripts/gerar_mapeamento_acervo.py/gerar_markdown_mapeamento.py.404.html: mapa arquivo a arquivo dos 40 capítulos antigos (UML e Engenharia) para o capítulo novo equivalente, nos 5 tipos de artefato, pelas tabelas 7.2 e 7.3. Os nomes de arquivo mudam nos dois guias, então a Engenharia também precisa do mapa.docs/MEMORIA_CONTEXTO.md (portal com 38 cursos).feat/unifica-engenharia-e-uml) com commits por bloco (1 a 5) e um commit final de dependências e redirecionamentos.validate_liquid; estrutura 20×5; os exemplos de código executados antes de entrar; Mermaid conferido no build (os diagramas UML são o conteúdo principal, então cada um precisa renderizar).test_links; redirecionamentos testados no Node.main; o merge só com o seu aval.E1 = A (guia extra na pasta extra_engenharia_de_software); E2 = sumário aprovado como está; E3 = redirecionar os capítulos que saem; E4 = “Engenharia de Software e Modelagem UML”. Execução na branch feat/unifica-engenharia-e-uml. Domínio único dos exemplos: SGB — Sistema de Gestão de Biblioteca.
parse e no render do Mermaid 10.9.6 (a mesma versão do site). O diagrama de temporização (Capítulo 14) é um SVG embutido.extra_guia_de_modelagem_uml (as auditorias e artefatos internos foram movidos para extra_engenharia_de_software/_auditoria/uml/); os geradores _scripts/generate_extra_uml_all.py e generate_extra_eng_software_all.py._data/cursos.yml (guia “Engenharia de Software e UML”; UML removida), _data/navigation.yml, grade, catálogo de projetos (o Curso 37 da UML saiu, o Curso 32 lista também o uml_01, 38 cursos), pré-requisito do uml_01, update_indexes.py, scripts de mapeamento, setup/ e projetos/ fundidos, censo em docs/MEMORIA_CONTEXTO.md.404.html leva cada uma das 200 URLs antigas (40 capítulos × 5 artefatos) ao capítulo equivalente, pelas tabelas 7.2 e 7.3; os índices vão para o índice do mesmo tipo e o resto para o hub. Testado no Node, junto com os redirecionamentos anteriores.python _scripts/validate_liquid.pybash _scripts/docker_build.sh. Se o rm -rf _site_local falhar com caminhos longos, rode de novo ou copie do container com docker cp.localhost:8000.python _scripts/test_links.py (mais de 10 min).