ALDENIRMED89Centro da Tripulação← Site

🔌 Conectar a comunidade, um passo de cada vez

O AldenirMed89 continua gratuito, sem previsão de cobrança. A associação é opcional: o estudo e a biblioteca seguem acessíveis sem conta.

O que já funciona

Navegação, preferências locais de aparência, biblioteca e material de divulgação. O painel lê relatórios agregados reais e permite consultar um arquivo privado somente nesta aba.

O que ainda depende de conexão

Contas, associação com e-mail, boletim, manifestações e dados diários automáticos dependem dos serviços descritos abaixo. A implantação atual declara o Supabase desconectado. Nenhuma conta, protocolo ou quantidade de visitantes é simulada.

1. Ver quantas pessoas chegaram e o que viram

O site já usa GoatCounter. Na verificação de 18/10/2026, o contador público respondeu HTTP 403. Isso não informa quantos acessos existem no painel privado. O contador acumulado também não fornece uma série diária de pessoas únicas.

📊 Protocolo de ativação do contador na Home

  1. Responsável pela conta: abra o painel GoatCounter do site e entre com sua conta.
  2. Em Settings, habilite Allow adding visitor counts on your website. Essa opção libera somente a consulta de contagens; não é necessário tornar todo o painel público.
  3. Volte à Transparência de Audiência e use Atualizar audiência. Resultado esperado: número acumulado, contagens das seções disponíveis e horário da consulta.
  4. Se persistir 403, confira a conta e essa opção. Se houver bloqueio de rede/extensão, teste a mesma URL pública em outro navegador. A ausência de dados não deve ser preenchida com zero.
  5. Para validar, registre data, resposta da fonte e resultado visual. Reversão: desabilitar a opção na conta volta a ocultar as contagens externas; o site exibe indisponibilidade.

O contador pode manter os resultados em cache por até quatro horas. O horário exibido pelo site é o da consulta, não o da última visita. Rankings cobrem somente as rotas acompanhadas. Fonte: documentação oficial do contador público, conferida em 18/10/2026.

Aceite: consulta pública autorizada, ausência de credenciais no código, carregamento com timeout, falha parcial identificada e painel diário com origem/cobertura próprias. A série diária e sua importação continuam no roteiro abaixo.

Atualização de 12/09/2026: no Mac, escolha o CSV em uma janela. Não é mais necessário copiar um caminho de exemplo nem escolher manualmente o nome do JSON.

  1. Entre na conta de estatísticas: abra o painel GoatCounter do site com sua conta. Consulte datas, páginas e configuração de sessões.
  2. Exporte os dados reais. A exportação CSV v2 requer que a coleta de visualizações individuais já estivesse habilitada. O histórico ausente não pode ser reconstruído. Prefira consultar o relatório privado quando o CSV não estiver disponível; não é necessário tornar a conta pública. Descompacte o arquivo exportado e mantenha o CSV fora do repositório.
  3. Atualize sua cópia local do projeto. Use a versão atual da branch main, preservando alterações locais. Abra o Terminal na pasta do projeto. O comando python3 scripts_admin/import_goatcounter_daily.py --help deve listar --choose-file. Se não listar, a cópia local ainda é antiga.
  4. No Mac, execute:
python3 scripts_admin/import_goatcounter_daily.py --choose-file

Na janela, selecione o CSV real descompactado do GoatCounter. O conversor cria um JSON com nome único na mesma pasta do CSV e mostra o caminho no Terminal. Não pede senha, não envia dados e não sobrescreve arquivos. Cancelar a janela não cria nenhum relatório.

  1. Confira o resultado privado: abra Visitas por dia → Importar relatório agregado privado e selecione o JSON cujo caminho apareceu no Terminal. Confira origem, fuso, período e cobertura. Selecione um dia para ver as páginas. “Descartar arquivo privado” limpa a importação da aba; uma recarga também a descarta.
  2. Para publicar somente os totais: revise o JSON agregado e sua cobertura. A equipe técnica pode usar esse relatório no arquivo 18_Centro_Tripulacao/data/daily-visits.json e publicar pelo fluxo habitual do site. A conversão não realiza essa etapa. Nunca versione o CSV bruto. O relatório publicado será visível a qualquer visitante.
  3. Para atualização diária automática: use um processo de servidor com uma chave de leitura do GoatCounter em um cofre de segredos. Ele deve consultar todas as páginas com paginação, informar fuso e data da coleta, validar os totais e publicar apenas o agregado revisado. Essa integração ainda não está instalada; o conversor entregue é manual e não ativa cronogramas.
Resolver os erros mais comuns

“No such file or directory” com um caminho de exemplo: o arquivo indicado não existe. Isso é um erro de importação local, não uma falha de publicação do site. Use o seletor acima em vez de repetir o exemplo.

“unrecognized arguments: --choose-file”: atualize a cópia local a partir de main. Não descarte trabalho local para forçar a atualização.

CSV não disponível no GoatCounter: consulte o painel privado. Não crie números de exemplo e não preencha dias ausentes com zero.

ZIP/GZ selecionado: descompacte primeiro e selecione o arquivo terminado em .csv. O painel web recebe apenas o JSON agregado, não o CSV.

Arquivo dentro do repositório: escolha uma pasta privada externa ao projeto para o CSV e o JSON anterior à revisão. O conversor recusa ambos dentro do repositório, inclusive por atalhos simbólicos resolvidos.

Arquivo grande: o conversor aceita CSV de até 200 MB e gera JSON de até 5 MB, limite do painel. Exporte um período menor quando necessário.

Outros sistemas ou seletor indisponível: use a opção --csv seguida do caminho real entre aspas. A opção --output continua disponível, mas é opcional; sem ela o nome de saída é criado automaticamente. A pasta de destino precisa existir.

Como interpretar: “visitantes estimados” deduplica as sessões dentro do mesmo dia e das páginas canônicas incluídas. Sessões podem reiniciar em cerca de oito horas. Uma pessoa em vários dias entra na soma diária várias vezes. Se faltar sessão, aparece “—”. “Visualizações” conta carregamentos; não comprova leitura.

Referências: CSV oficial · sessões e visitantes · API para futura conexão.

2. Ativar conta e associação gratuita

  1. Você: escolha um e-mail institucional monitorado e um responsável pelo projeto. Crie ou selecione um projeto Supabase dedicado. Os custos de infraestrutura dependem do plano escolhido; a gratuidade do acesso ao site permanece.
  2. Equipe técnica: aplique 18_Centro_Tripulacao/scripts/supabase-schema.sql primeiro em homologação. O esquema já contém perfis, inscrições, consentimento, cancelamento, administração e proteção RLS. Teste acessos anônimo, usuário comum e administrador.
  3. Você: habilite login por e-mail com confirmação e configure envio SMTP e os endereços oficiais de retorno no Supabase Auth. Crie/confirme sua conta de responsável e obtenha seu UUID real. Não envie senha ou chave de serviço pelo chat.
  4. Equipe técnica: prepare config.js a partir de config.example.js, preenchendo URL, chave pública anon e origens permitidas. A página deve carregar essa configuração e sua CSP deve permitir somente o hostname exato do projeto. A chave service-role fica exclusivamente no servidor.
  5. Validação conjunta: cadastre uma conta de teste, confirme o e-mail, entre, salve preferências, encerre a sessão e confira o isolamento de dados. Crie o papel owner no banco pelo UUID confirmado, conforme o guia técnico. Só depois use a configuração de produção.

Resultado esperado: o formulário “Entrar ou criar conta” passa a conversar com o Supabase; uma associação não implica cobrança. Perfil público continua desativado por padrão e a biblioteca não exige login.

3. Liberar colaboração e boletim quando estiverem prontos

  1. Portal de Escuta: implante a função entregue crew-manifestations e a migração 202609120001_crew_gateway_limits.sql após o esquema base. Ela aceita conta confirmada, exige consentimento e limita novos envios a cinco por hora por conta. Mantenha o modo anônimo desativado. Preencha manifestationEndpoint. O código de envio identificado e telemetria autenticada já foi implementado em supabase/, com verificação real de conta e quota SQL. Falta implantar e homologar. A modalidade anônima permanece bloqueada até uma implementação de CAPTCHA segura.
  2. Boletim: escolha o provedor de e-mail, confirme o domínio remetente e teste o link de cancelamento. Use o template existente em automation/ em modo dry-run primeiro. Ele só seleciona consentimentos ativos.
  3. Envio real: valide uma lista interna pequena e o conteúdo antes de autorizar a ativação. O template permanece fora dos workflows ativos. A atualização deste site não enviou mensagens nem criou cronograma.
  4. Métricas do Centro: o gateway de analyticsEndpoint pode alimentar o mecanismo Supabase existente. A função entregue crew-analytics registra apenas carregamentos do Centro após login confirmado, com quota de 60 tentativas por hora por conta; seu identificador muda ao recarregar. Essa medida não deve ser renomeada como pessoas únicas nem somada aos números do GoatCounter.

Abrir guia técnico completo · Consultar operação do boletim

4. Implantação técnica: o que já pode ser feito

  1. Em um projeto Supabase de homologação, aplique o esquema base e depois a migração supabase/migrations/202609120001_crew_gateway_limits.sql. A quota não permite leitura pública.
  2. No cofre de segredos do Supabase, cadastre CREW_ALLOWED_ORIGINS=https://aldenirfilho.github.io e um CREW_RATE_LIMIT_SALT aleatório com pelo menos 32 caracteres. Nunca publique o salt. As chaves do projeto ficam no ambiente do servidor.
  3. A partir de 18_Centro_Tripulacao/, use a CLI Supabase já autenticada para implantar crew-manifestations e crew-analytics no projeto correto. Preserve a verificação JWT habilitada. O roteiro completo está no arquivo supabase/README.md do repositório.
  4. Teste com sua própria conta confirmada: envio identificado, protocolo retornado pelo banco, leitura da própria conversa e resposta; confirme que outra conta não consegue ler a conversa. Teste origem negada, sessão inválida e limite de envios.
  5. Depois da homologação, preencha os endpoints exatos em config.js, mantenha enableAnonymousManifestations: false e publique a configuração pública. Esse deploy ainda não foi realizado nesta atualização.

Os testes automatizados do pacote usam Auth/RPC simulados para verificar a lógica. A infraestrutura real, políticas de banco, entregabilidade de e-mail e atuação da equipe precisam ser homologadas no projeto escolhido.

✅ Ordem prática para começar

Agora: divulgar o site gratuito e consultar o GoatCounter privado. Depois: conectar e validar Supabase Auth. Por último: homologar o canal de mensagens, boletim e atualização automática de métricas.