From baaf7582d34d3524f5f7089096725cb414689d6b Mon Sep 17 00:00:00 2001 From: Gabriel Felipe Souza Santos Date: Tue, 27 Oct 2026 21:41:48 -0300 Subject: [PATCH] docs(tp): remove checklists e escopo de TP do repo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mantém só visão da disciplina e tutorial Ping em docs/tp/; documentação técnica sem tabelas de verificação para entrega. Co-authored-by: Cursor --- docs/documentation/08_heartbeat_e_presenca.md | 2 +- docs/documentation/10_tutorial_plugin.md | 13 +---- docs/documentation/15_testes_e_gate.md | 4 +- .../appendix_portas_e_multicast.md | 2 +- docs/tp/01_visao_disciplina.md | 29 ++++++++++++ docs/tp/01_visao_disciplina_e_tp.md | 47 ------------------- docs/tp/02_tutorial_ping_aula.md | 14 +----- docs/tp/03_checklist_entrega.md | 23 --------- docs/tp/README.md | 17 +++---- 9 files changed, 42 insertions(+), 109 deletions(-) create mode 100644 docs/tp/01_visao_disciplina.md delete mode 100644 docs/tp/01_visao_disciplina_e_tp.md delete mode 100644 docs/tp/03_checklist_entrega.md diff --git a/docs/documentation/08_heartbeat_e_presenca.md b/docs/documentation/08_heartbeat_e_presenca.md index 3d8fa0c..d178d8d 100644 --- a/docs/documentation/08_heartbeat_e_presenca.md +++ b/docs/documentation/08_heartbeat_e_presenca.md @@ -72,7 +72,7 @@ Lista de peers ativos | Timeout de ausência | ~15 s | Peer some após queda ou fechamento sem goodbye | | Goodbye | multicast ao sair | Remove peer mais rápido que só timeout | -Em **Wi‑Fi de laboratório**, heartbeat usa o mesmo multicast que o chat na sala geral — mesma porta no login, mesma sub-rede, sem isolamento AP→AP. Checklist: [appendix_portas_e_multicast.md](appendix_portas_e_multicast.md). +Em **Wi‑Fi de laboratório**, heartbeat usa o mesmo multicast que o chat na sala geral — mesma porta no login, mesma sub-rede, sem isolamento AP→AP. Ver [appendix_portas_e_multicast.md](appendix_portas_e_multicast.md). ```mermaid flowchart LR diff --git a/docs/documentation/10_tutorial_plugin.md b/docs/documentation/10_tutorial_plugin.md index 555f7d8..5695e3c 100644 --- a/docs/documentation/10_tutorial_plugin.md +++ b/docs/documentation/10_tutorial_plugin.md @@ -2,18 +2,7 @@ Complementa [09_sistema_de_plugins.md](09_sistema_de_plugins.md). Use `plugins/chat` como **modelo de estrutura** (Ant, SPI, painel). -Os exemplos abaixo são **parciais** — você completa métodos, UI e testes. - -## Verificações progressivas - -| Etapa | O que fazer | Sucesso | Erro comum | -| --- | --- | --- | --- | -| Projeto Ant | Copiar `plugins/chat` → `plugins/meuPlugin`, ajustar JAR | `ant jar` OK | Classpath sem `pitiupi.jar` | -| Classe `Plugin` | Estender `Plugin`, metadados | Compila | `createPlugin` com assinatura antiga | -| SPI | `META-INF/services/pitiupi.models.Plugin` | Classe listada no JAR | Arquivo fora de `src/` | -| Mensagem | Uma classe `extends Message` | Em `getMessages()` | Tipo não registrado → ignorado na rede | -| Instalação | JAR em `PITIUPI_HOME/plugins` + reinício | Plugin na galeria | Esqueceu reiniciar | -| Rede | Duas instâncias, portas diferentes | Peer na lista | Portas iguais no mesmo PC ou firewall | +Os exemplos abaixo são **parciais** — complete métodos, UI e testes conforme o seu módulo. ## 1. Novo projeto diff --git a/docs/documentation/15_testes_e_gate.md b/docs/documentation/15_testes_e_gate.md index f394806..6c819ef 100644 --- a/docs/documentation/15_testes_e_gate.md +++ b/docs/documentation/15_testes_e_gate.md @@ -34,7 +34,7 @@ Depois, para runtime local: ./scripts/pitiupi.sh link --all ``` -## Checklist manual — uma máquina (5000 / 5001) +## Testes manuais — uma máquina (5000 / 5001) - [ ] Duas instâncias com portas distintas; nomes diferentes - [ ] Peers visíveis na lista em até ~15 s @@ -43,7 +43,7 @@ Depois, para runtime local: - [ ] Compose do chat sem barra de rolagem vazio em janela ~1024×768 - [ ] Encerrar uma instância remove o peer após timeout de heartbeat -## Checklist manual — dois PCs (mesma Wi‑Fi) +## Testes manuais — dois PCs (mesma Wi‑Fi) Mesma **porta** em ambos (ex. 5000), **mesmos JARs** em `~/pitiupi/plugins` em cada máquina: diff --git a/docs/documentation/appendix_portas_e_multicast.md b/docs/documentation/appendix_portas_e_multicast.md index f6a85a4..cd895b9 100644 --- a/docs/documentation/appendix_portas_e_multicast.md +++ b/docs/documentation/appendix_portas_e_multicast.md @@ -37,7 +37,7 @@ O núcleo associa o socket multicast à interface de rede preferida: **cabo (Eth Ao abrir conversa pela lista de presença, o campo de destino usa **`PeerIpv4`**: IPv4 pontilhado legível, sem forma IPv6-mapeada (`::ffff:…`) nem sufixo de zona (`%7`). Ver [decision-register.md](../decision-register.md) (D22). -## Checklist — dois PCs na mesma Wi‑Fi +## Dois PCs na mesma Wi‑Fi 1. **Mesma porta no login** (ex.: `5000` nos dois). Portas diferentes isolam a sala. 2. **Configurações → Sua conexão:** IPs na mesma sub-rede (ex. ambos `192.168.0.x` ou `192.168.1.x`). Se um for `172.x` (WSL/Docker) e outro `192.168.x`, o multicast entre esses hosts não cruza. diff --git a/docs/tp/01_visao_disciplina.md b/docs/tp/01_visao_disciplina.md new file mode 100644 index 0000000..b312a2a --- /dev/null +++ b/docs/tp/01_visao_disciplina.md @@ -0,0 +1,29 @@ +# Visão da disciplina + +## Papel do Pitiupi + +O Pitiupi é uma **plataforma P2P com plugins** usada em Redes de Computadores para: + +- Experimentar UDP (multicast/unicast) e TCP na mesma aplicação. +- Observar **presença** de peers (heartbeat) sem servidor central de aplicação. +- Relacionar conceitos de redes com código Java executável na LAN. + +O núcleo concentra rede, presença e interface; extensões entram como plugins em JAR. + +## Plugins de referência no repositório + +| Módulo | Ideia | +| --- | --- | +| `plugins/chat` | Mensagens e vários transportes (multicast, unicast, TCP) | +| `plugins/screencast` | Payload maior / streaming de imagem | + +Detalhes técnicos: [11_plugins_referencia.md](../documentation/11_plugins_referencia.md). + +## Exercício em sala + +O passo a passo do **Ping** (mensagens na rede, RTT, UI mínima) está em [02_tutorial_ping_aula.md](02_tutorial_ping_aula.md). + +## Aprofundamento técnico + +- Primeiro uso: [00_quickstart.md](../documentation/00_quickstart.md) +- Rede e protocolos no código: [16_fundamentacao_redes.md](../documentation/16_fundamentacao_redes.md) e capítulos 05–08 em [documentation/](../documentation/README.md) diff --git a/docs/tp/01_visao_disciplina_e_tp.md b/docs/tp/01_visao_disciplina_e_tp.md deleted file mode 100644 index e46b376..0000000 --- a/docs/tp/01_visao_disciplina_e_tp.md +++ /dev/null @@ -1,47 +0,0 @@ -# Visão da disciplina e trabalho prático - -## Papel do Pitiupi - -O Pitiupi é uma **plataforma P2P com plugins** usada em Redes de Computadores para: - -- Experimentar UDP (multicast/unicast) e TCP na mesma aplicação. -- Observar **presença** de peers (heartbeat) sem servidor central de aplicação. -- Desenvolver **trabalhos individuais ou em grupo** como novos plugins (jogos, ferramentas colaborativas, etc.). - -O núcleo fornece rede e GUI; o aluno implementa a lógica no plugin. - -## Trabalho típico (plugin) - -Cada equipe/aluno entrega um **módulo Java separado** que: - -1. Compila para JAR e carrega via `pitiupi/plugins/`. -2. Define mensagens (`extends Message`) e o fluxo entre peers. -3. Integra UI na aba central via `PluginWorkspace` e peer actions na lista lateral. -4. Inclui README do módulo (build + protocolo). - -Exemplos de tema: chat temático, tabuleiro (xadrez/damas), compartilhamento de arquivo, quiz síncrono. - -## Plugins de referência no repositório - -| Módulo | Ideia pedagógica | -| --- | --- | -| `plugins/chat` | Mensagens UDP + UI simples | -| `plugins/screencast` | Payload maior / streaming de imagem | -| `plugins/chat` | Multicast, unicast, TCP e canal TCP privado | - -Detalhes: [11_plugins_referencia.md](../documentation/11_plugins_referencia.md). - -## Critérios genéricos (ajustar na disciplina) - -| Critério | Indicador | -| --- | --- | -| Funcionalidade | Comportamento correto entre dois+ peers na rede da sala | -| Uso da plataforma | SPI, mensagens, sem “fork” desnecessário do núcleo | -| Build | `ant jar` / `make` reproduzível | -| Documentação | README do plugin + descrição das mensagens | - -## Para monitores - -- Roteiro de build: [00_quickstart.md](../documentation/00_quickstart.md). -- Checklist de entrega: [03_checklist_entrega.md](03_checklist_entrega.md). -- Fundamentação para dúvidas de alunos: [16_fundamentacao_redes.md](../documentation/16_fundamentacao_redes.md). diff --git a/docs/tp/02_tutorial_ping_aula.md b/docs/tp/02_tutorial_ping_aula.md index 02aaa2d..2e4c1fe 100644 --- a/docs/tp/02_tutorial_ping_aula.md +++ b/docs/tp/02_tutorial_ping_aula.md @@ -2,7 +2,7 @@ Exercício para montar o plugin **mais simples** do Pitiupi: medir **RTT** (tempo de ida e volta) com mensagens `Ping` / `Pong` na rede, igual a um `ping` de laboratório — mas usando o **mesmo mecanismo de plugins** do chat e do screencast. -A solução completa **não** entra no repositório público: o aluno desenvolve em `plugins/ping/` na máquina local (fora do gate CI). Este tutorial traz escopo, trechos e verificações — você implementa o restante. +A solução completa **não** entra no repositório público: o exercício é montado em `plugins/ping/` na máquina local (fora do gate CI). Este tutorial descreve escopo, trechos e passos — o restante é implementado em sala. Índice TP: [README.md](README.md) · Plugins de referência: [11_plugins_referencia.md](../documentation/11_plugins_referencia.md). @@ -38,8 +38,6 @@ A solução completa **não** entra no repositório público: o aluno desenvolve 2. Renomeie o projeto para `pitiupi.ping` e o JAR de saída para `dist/pitiupi.ping.jar`. 3. Classpath de compilação: `../../pitiupi/dist/pitiupi.jar`. -**Verificação:** `ant jar` sem erros. - ## Passo 2 — SPI Arquivo `src/META-INF/services/pitiupi.models.Plugin`: @@ -143,13 +141,3 @@ O chat usa a mesma ideia de abas de sessão, mas adiciona roteamento TCP privado | Aba não abre | Esqueceu `bindShellWorkspaceContent` ou peer action só abre UI (envio é no painel) | Mais geral: [10_tutorial_plugin.md](../documentation/10_tutorial_plugin.md#problemas-comuns). - -## Checklist do aluno - -- [ ] SPI e `getIdentifier` únicos -- [ ] Três mensagens registradas -- [ ] RTT calculado no `Pong` -- [ ] Aba passiva `↓` ao receber ping de peer novo (sem roubar foco da shell) -- [ ] Contínuo + parar com aviso ao peer -- [ ] Reinício após instalar JAR -- [ ] Teste com segundo usuário (5001 ou outro PC) diff --git a/docs/tp/03_checklist_entrega.md b/docs/tp/03_checklist_entrega.md deleted file mode 100644 index 6216d7d..0000000 --- a/docs/tp/03_checklist_entrega.md +++ /dev/null @@ -1,23 +0,0 @@ -# Checklist de entrega — trabalho prático - -Complementa os testes do produto em [15_testes_e_gate.md](../documentation/15_testes_e_gate.md). - -## Rede em sala (dois PCs, mesma Wi‑Fi) - -Mesma **porta** em ambos (ex. 5000), **mesmos JARs** de referência em `~/pitiupi/plugins` em cada máquina: - -- [ ] Presença e linha **Todos** -- [ ] Troca de mensagens no chat (multicast e, se possível, unicast/TCP) -- [ ] Compartilhamento de tela entre os dois (ambiente com captura de tela funcional — no WSL a captura nativa pode falhar) -- [ ] Plugin **Ping** ( [02_tutorial_ping_aula.md](02_tutorial_ping_aula.md) ) medindo RTT — recomendado antes da entrega final - -## Plugin entregue (seu trabalho) - -- [ ] JAR em `PITIUPI_HOME/plugins` + SPI correto -- [ ] README do módulo com build e formato das mensagens -- [ ] UI na aba (`PluginWorkspace`), sem `JFrame` principal -- [ ] Demonstração mínima professor ↔ aluno ou aluno ↔ aluno - -## Ping (exercício de sala) - -- [ ] Concluído conforme checklist em [02_tutorial_ping_aula.md](02_tutorial_ping_aula.md) diff --git a/docs/tp/README.md b/docs/tp/README.md index 82cfee5..529d27c 100644 --- a/docs/tp/README.md +++ b/docs/tp/README.md @@ -1,15 +1,12 @@ -# Trabalho prático — Redes de Computadores +# Material da disciplina — Redes de Computadores -Material da disciplina: visão do TP, exercício **Ping** em sala e checklists de entrega. +Contexto do uso do Pitiupi na disciplina e o **tutorial do plugin Ping** para construir em sala. -Para **uso do Pitiupi, protocolos e desenvolvimento de plugins em geral**, use a documentação técnica em [documentation/](../documentation/README.md). +Para protocolos, núcleo e plugins em geral: [documentation/](../documentation/README.md). -## Ordem sugerida - -| # | Documento | +| Documento | Conteúdo | | --- | --- | -| 1 | [01_visao_disciplina_e_tp.md](01_visao_disciplina_e_tp.md) | -| 2 | [02_tutorial_ping_aula.md](02_tutorial_ping_aula.md) | -| 3 | [03_checklist_entrega.md](03_checklist_entrega.md) | +| [01_visao_disciplina.md](01_visao_disciplina.md) | Papel do Pitiupi na disciplina | +| [02_tutorial_ping_aula.md](02_tutorial_ping_aula.md) | Exercício Ping em sala (o que é e como montar) | -Esta pasta pode ser removida localmente após o semestre; o núcleo e `docs/documentation/` continuam válidos para qualquer extensão do projeto. +Esta pasta pode ser removida localmente depois; `docs/documentation/` descreve o projeto de forma independente.