Manual do Painel Administrativo Sistema de Site para Rádios com Painel Administrativo, Player ao Vivo e Integração com WhatsApp
Sobre o Sistema
O sistema é um site completo para rádios online, composto por:
- Site público — página principal com player ao vivo, programação, notícias, banners e contato
- Painel administrativo (
/admin/) — gerencie todo o conteúdo sem mexer em código - Player standalone (
app.html) — versão simplificada para celular - Integração com WhatsApp — receba recados dos ouvintes diretamente no WhatsApp
data/, o que facilita backup e migração.
Requisitos do Servidor
Mínimos necessários
- PHP 8.0 ou superior
- Servidor web Apache ou Nginx
- Hospedagem com suporte a PHP (InfinityFree, HostGator, Locaweb, etc.)
- Espaço ~5 MB para os arquivos do sistema (mais o espaço das imagens enviadas)
Compatibilidade
- OK InfinityFree (PHP 8.2)
- OK HostGator
- OK Locaweb
- OK Servidor local (XAMPP, WAMP, Laragon)
- Testar Outras hospedagens — teste o funcionamento do
/admin/
Instalação
Envie todo o conteúdo da pasta do template para a raiz do seu domínio via FTP (FileZilla, por exemplo).
Se estiver usando InfinityFree, aponte os nameservers fornecidos e aguarde a propagação (pode levar algumas horas).
Acesse http://seudominio.com/ — o site público deve aparecer com o player e a programação.
Vá para http://seudominio.com/admin/ e faça login.
Primeiro Acesso
Credenciais padrão
| Campo | Valor |
|---|---|
| URL do painel | https://seudominio.com/admin/ |
| Usuário | admin |
| Senha | admin |
config/credentials.php e substitua o password_hash por um novo hash gerado em bcrypt.online ou via PHP com password_hash('suasenha', PASSWORD_BCRYPT).
Primeiros passos no painel
- Vá na aba Streaming e configure a URL da sua rádio
- Na aba Site, preencha as informações de contato e redes sociais
- Na aba Tema, escolha a cor de destaque do site
- Adicione sua programação em Programação
- Publique notícias em Notícias
- Adicione banners em Banners
Painel Administrativo — Seções
Cada aba do painel é explicada em detalhes a seguir.
Streaming
Configure o player de áudio ao vivo do site.
Campos
| Campo | Descrição |
|---|---|
URL do streaming | URL do stream de áudio (geralmente .m3u8, .mp3 ou .pls). Ex: https://servidor.com/stream.mp3 |
Título | Nome da rádio. Exibido no player e no título da aba do navegador |
Subtítulo | Frase curta exibida abaixo do título. Ex: "Sua melhor companhia" |
Logotipo | URL da imagem do logotipo. Pode ser um link externo ou escolhido na Galeria clicando em Galeria |
Após preencher, clique em Salvar streaming.
https://servidor.radiotools.com.br/stream.
Programação
Gerencie a grade de programação da rádio. Os programas são exibidos na página Programação do site.
Adicionar um programa
- Clique em Adicionar programa
- Preencha os campos do modal que abrirá:
| Campo | Descrição |
|---|---|
| Nome do programa | Nome exibido na grade |
| Apresentador | Nome do locutor/apresentador |
| Imagem (opcional) | URL da imagem ilustrativa do programa |
| Descrição (opcional) | Breve descrição do programa |
| Dias da semana | Marque os dias em que o programa vai ao ar |
| Início / Fim | Horário de início e término |
| Cor do evento | Cor para destacar o programa na grade visual |
Após adicionar todos os programas, clique em Salvar programação.
Notícias
Publique notícias no site. Cada notícia pode conter texto formatado, imagens e links.
Editor de Conteúdo
Ao adicionar ou editar uma notícia, você encontra um editor de texto completo (rich text) com as seguintes ferramentas:
- Negrito
- Itálico
- Sublinhado
- Lista ordenada
- Lista não ordenada
- Título / Parágrafo
- Inserir link
- Inserir imagem da galeria
Campos da notícia
| Campo | Descrição |
|---|---|
| Título | Título principal da notícia |
| Resumo | Breve descrição exibida na listagem de notícias |
| Conteúdo | Texto completo com formatação rich text |
| Data | Data de publicação (padrão: data atual) |
| Imagem | URL da imagem principal da notícia |
Banners
Os banners formam um carrossel de imagens na página inicial do site. É ideal para campanhas promocionais, comunicações importantes ou destaques.
Configurações
| Configuração | Descrição |
|---|---|
| Tipo de transição | Escolha entre Deslizar (horizontal) ou Fade (suave) |
| Imagem | URL da imagem do banner. Resolução recomendada: 1920 × 500 px |
| Título | Texto principal sobre o banner |
| Subtítulo | Texto secundário |
| Link (opcional) | URL para onde o banner deve redirecionar ao clicar |
| Ativo | Desmarque para ocultar o banner sem excluí-lo |
Galeria
Gerencie todas as imagens do site em um único lugar. As imagens são armazenadas na pasta uploads/.
Funcionalidades
- Enviar imagem — Selecione um arquivo JPG, PNG, GIF ou WebP de até 5 MB
- Renomear — Clique no nome da imagem para renomeá-la
- Excluir — Remove a imagem permanentemente
- Editor de imagem integrado — Ferramentas disponíveis:
- Cortar — Selecione uma região da imagem
- Redimensionar — Altere largura e altura (com opção de manter proporção)
- Girar 90° — Rotaciona para a direita
- Girar -90° — Rotaciona para a esquerda
- Espelhar horizontal
- Espelhar vertical
- Resetar — Volta ao estado original da imagem
Site
Configure as informações públicas do site: sobre a rádio, contato e redes sociais.
Seção "Sobre"
| Campo | Descrição |
|---|---|
| Título da seção "Sobre" | Ex: "Sobre a Rádio", "Nossa História" |
| Texto sobre a rádio | Texto completo da página "Sobre" |
Contato
| Campo | Descrição |
|---|---|
Número com DDI e apenas dígitos. Ex: 5551999999999 (55 Brasil + 51 DDD + número) | |
| Telefone | Número formatado para exibição. Ex: (51) 3333-4444 |
| Endereço de e-mail de contato | |
| Endereço | Endereço físico da rádio (opcional) |
Redes Sociais
Insira a URL completa de cada rede social:
- YouTube
- TikTok
Tema
Personalize a cor de destaque do site. A alteração se aplica instantaneamente a todas as páginas.
Cores prontas
Clique em uma das cores predefinidas para selecioná-la:
- Vermelho Azul Verde Roxo Laranja Rosa
- E diversas outras variações disponíveis no grid visual
Cor personalizada
- Use o seletor de cor visual ou digite o código hexadecimal (ex:
#ff0033) - Clique em Salvar tema
Mensagens
Gerencie os recados enviados pelos ouvintes através do formulário de WhatsApp no site. Esta seção possui 3 sub-abas:
Sub-aba "Todas"
Lista todas as mensagens recebidas. Você pode:
- Visualizar — Clique em uma mensagem para ver os detalhes completos
- Marcar como lida — Clique no ícone de envelope
- Selecionar múltiplas — Use o checkbox "Marcar todas" para seleções em massa
- Excluir — Exclua mensagens selecionadas
Modo Promoção
Quando ativado, o formulário do site exige nome completo, sobrenome, cidade e telefone do ouvinte. Útil para campanhas promocionais e sorteios.
Para ativar: clique no toggle "Exigir nome completo e telefone" no topo da seção Mensagens.
Sub-aba "Promoção"
Exibe apenas as mensagens cadastradas durante o modo promoção. Aqui você pode:
- Sortear ouvinte — Clique no botão para abrir o modal de sorteio
Sorteio
- Defina quantos ouvintes serão sorteados
- Clique em Sortear — o sistema seleciona aleatoriamente
- Preencha horário e programa do sorteio
- Clique em Salvar sorteados — os ganhadores ficam registrados
Sub-aba "Ganhadores"
Histórico completo de todos os sorteios realizados, com data, horário e nome dos ganhadores.
Usuários
Gerencie quem tem acesso ao painel administrativo e quais seções cada usuário pode ver.
Adicionar usuário
- Clique em Adicionar usuário
- Preencha:
- Nome de usuário — identificador único para login
- Senha — deixe em branco para manter a atual (ao editar)
- Permissões de acesso — marque as seções que o usuário poderá gerenciar
Permissões disponíveis
| Permissão | Acesso a |
|---|---|
| Streaming | Configuração do player |
| Programação | Grade de programação |
| Notícias | Gerenciamento de notícias |
| Banners | Carrossel de banners |
| Galeria | Upload e edição de imagens |
| Site | Informações do site |
| Tema | Personalização de cores |
| Mensagens | Recados e sorteios |
| Usuários | Gerenciamento de usuários (apenas admin) |
Configurações Avançadas
Estes arquivos ficam na pasta config/ e podem ser editados manualmente para configurações que não estão disponíveis no painel.
config/credentials.php
Armazena as credenciais de login do administrador:
<?php
return [
'username' => 'admin',
'password_hash' => '$2y$10$...',
];
Para alterar a senha, gere um novo hash bcrypt e substitua o valor de password_hash.
php -r "echo password_hash('minhasenha', PASSWORD_BCRYPT);"
config/whatsapp.php
Configuração da integração com WhatsApp (versão futura):
<?php
return [
'api_url' => 'https://exemplo.com/whatsapp-api',
'token' => 'SEU_TOKEN_AQUI',
];
.ftpconfig.json
Arquivo de configuração para ferramentas de deploy por FTP. Contém servidor, usuário e senha. Mantenha este arquivo seguro e nunca o inclua em版本的 públicas.
config/ ou .ftpconfig.json com terceiros. Eles contêm credenciais de acesso.
Estrutura de Arquivos
/
├── admin/ # Painel administrativo
│ ├── index.html # Interface do painel
│ ├── login.php # Processamento de login
│ ├── logout.php # Logout
│ ├── init_session.php # Inicia sessão
│ ├── session_check.php # Verifica sessão (iframe)
│ ├── save.php # API para salvar dados
│ ├── load.php # API para carregar dados
│ ├── upload.php # Upload de imagens
│ ├── gallery.php # Listagem da galeria
│ ├── salvar_recado.php # Recebe recados do formulário
│ ├── salvar_sorteio.php # Registra sorteios
│ ├── whatsapp_proxy.php # Proxy para API WhatsApp
│ └── whatsapp_webhook.php# Webhook WhatsApp
│
├── assets/ # Recursos estáticos
│ ├── css/
│ │ ├── variables.css # Variáveis CSS do tema
│ │ ├── base.css # Estilos base do site
│ │ ├── admin.css # Estilos do painel
│ │ └── player-bar.css # Estilos do player
│ └── js/
│ ├── theme.js # Aplica o tema no site
│ ├── utils.js # Utilitários JS
│ ├── admin.js # Lógica do painel
│ └── player-bar.js # Controles do player
│
├── automacao/ # Tarefas automatizadas
│ └── cron.php # Script para cron jobs
│
├── config/ # Configurações
│ ├── credentials.php # Login do admin
│ ├── whatsapp.php # Configuração WhatsApp
│ └── whatsapp.example.php# Exemplo de configuração
│
├── data/ # Dados do sistema (JSON)
│ ├── streaming.json # Config. do player
│ ├── programacao.json # Grade de programação
│ ├── noticias.json # Notícias
│ ├── banners.json # Banners do carrossel
│ ├── site.json # Informações do site
│ ├── theme.json # Tema selecionado
│ ├── usuarios.json # Usuários do painel
│ ├── mensagens.json # Recados dos ouvintes
│ ├── sorteios.json # Histórico de sorteios
│ └── backups/ # Backup automático dos dados
│
├── paginas/ # Páginas do site
│ ├── home.html # Página inicial
│ ├── programacao.html # Grade de programação
│ ├── noticias.html # Lista de notícias
│ ├── sobre.html # Página sobre a rádio
│ └── contato.html # Formulário de contato
│
├── uploads/ # Imagens enviadas
├── index.html # Página principal
├── app.html # Player standalone mobile
├── .htaccess # Config. do servidor Apache
├── .ftpconfig.json # Config. de FTP (deploy)
└── README.md # Instruções de instalação
FAQ — Perguntas Frequentes
O site apareceu sem estilo (só texto preto no fundo branco)
Isso acontece quando o tema não foi carregado corretamente. Acesse o painel /admin/, vá na aba Tema e salve uma cor (mesmo que seja a mesma já selecionada). Isso regenera o cache do tema.
O player não toca nada
Verifique se a URL do streaming está correta na aba Streaming do painel. Teste a URL diretamente no navegador — se baixar um arquivo de áudio, a URL está correta. Se não funcionar, entre em contato com sua operadora de rádio.
Aparece "Não foi possível carregar" no painel
Esse erro geralmente ocorre quando o arquivo admin/load.php não existe ou não tem permissões de leitura. Verifique se o arquivo está presente na pasta admin/.
Esqueci a senha do admin
Edite o arquivo config/credentials.php e substitua o hash da senha. Gere um novo hash em bcrypt.online com a nova senha desejada.
As imagens não aparecem no site
Verifique se a pasta uploads/ tem permissão de leitura (755). Se estiver usando InfinityFree, o painel deles permite definir permissões. Certifique-se também de que a URL da imagem está completa e correta.
Como fazer backup do site?
Copie toda a pasta data/ — ela contém todos os dados da rádio (programação, notícias, banners, etc.). As imagens estão em uploads/. Para backup completo, baixe todos os arquivos por FTP.
O formulário de WhatsApp não está funcionando
A integração com WhatsApp está prevista para versão futura. Atualmente, os recados são armazenados no painel (aba Mensagens) e podem ser visualizados e gerenciados lá.
Posso usar este site em qualquer hospedagem?
Sim, desde que a hospedagem suporte PHP 8.0+. Recomendamos InfinityFree (gratuito), HostGator ou Locaweb. Teste o funcionamento do /admin/ após o upload.