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.


1. Diagnóstico

# 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

2. Etapas

Etapa 1 — Correções globais (CSS/JS, sem editar conteúdo) ✅ concluída

Itens 1, 2, 3, 4 e 5. Pouco esforço e alcançam centenas de páginas de uma vez.

Etapa 2 — Navegação dentro do módulo ✅ concluída

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:

Decisões:

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.

Etapa 3 — Visual unificado ✅ concluída

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:

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).

Etapa 4 — Busca ✅ concluída

Item 12: tirar código e diagramas do índice de busca e dar mais peso a palavra inteira e ao título.

Feito:

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).

Etapa 5 — Renumeração da Fase 2 ✅ concluída

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:

  1. Renomear as duas pastas com git mv, usando uma pasta temporária no meio para não haver colisão de nomes.
  2. Home: em _data/cursos.yml, trocar o slug e o “Módulo NN” de cada um e reordenar a Fase 2.
  3. Barra lateral: trocar os blocos e as URLs em _data/navigation.yml (cerca de 140 links).
  4. Índices: corrigir os títulos “Módulo 03/06” no 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.
  5. Conteúdo: trocar “Mod 03”/”Módulo 03” por “Mod 06”/”Módulo 06” e vice-versa dentro das 100 páginas de cada módulo (títulos, breadcrumbs, links relativos entre módulos).
  6. Links antigos: criar redirecionamentos das URLs antigas (jekyll-redirect-from, se disponível, ou páginas HTML de redirecionamento) para não quebrar favoritos nem buscadores.
  7. Scripts em _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á.
  8. Conferir com 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.

Etapa 6 — Unificação de Segurança no Mod 12 ✅ concluída

Pedida em 2026-09-24; analisada e aprovada (“unificar em parte”) em 2026-09-24. Execução registrada no fim desta seção.

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

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):

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).

Etapa 7 — Unificar os guias de UML e de Engenharia de Software ✅ concluída e publicada (PR #36)

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.

7.1 Diagnóstico dos dois guias

  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):

7.2 Proposta: um curso de 20 capítulos em 5 blocos

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.

7.3 Destino dos capítulos que saem

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.

7.4 Onde o curso fica (decisão E1)

7.5 Arquivos a mudar (se aprovada a opção A)

7.6 Validação e entrega

  1. Uma branch (feat/unifica-engenharia-e-uml) com commits por bloco (1 a 5) e um commit final de dependências e redirecionamentos.
  2. 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).
  3. Build no Docker; teste visual em 375, 768 e 1280 px nos dois temas (hub, um capítulo novo e um fundido); test_links; redirecionamentos testados no Node.
  4. PR para a main; o merge só com o seu aval.

7.7 Decisões (aprovadas pelo usuário em 2026-09-24)

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.

7.8 Execução (2026-09-24)

3. Validação de cada etapa

  1. python _scripts/validate_liquid.py
  2. bash _scripts/docker_build.sh. Se o rm -rf _site_local falhar com caminhos longos, rode de novo ou copie do container com docker cp.
  3. Teste visual em 375, 768 e 1280 px, nos temas claro e escuro. A janela do Chrome não fica mais estreita que ~657 px, então use um iframe de 375 px em localhost:8000.
  4. python _scripts/test_links.py (mais de 10 min).

📚 Voltar à Documentação