[DÚVIDA] – Como o conteúdo de um site é atualizado?

Boa tarde, tudo bem?

Me chamo Denis e não sou da área de tecnologia, porém é um assunto que me agrada muito e venho devagarinho tentando aprender alguma coisa de programação.

Estava eu pensando em “como as coisas funcionam” quando me deparei com uma dúvida que talvez seja muito simples para alguns, mas não consegui chegar em uma conclusão.

Problema

Vamos imaginar que uma escola realiza um torneio de xadrez mensal entre os alunos e para manter o público e os participantes informados existe um cartaz no meio do pátio com os confrontos e demais informações. Todas as atualizações como resultados e próximos confrontos são atualizadas manualmente pelo inspetor de alunos, mas como o torneio é muito tradicional e popular na escola o inspetor acaba desprendendo muito tempo nesta tarefa e acaba deixando o restante do trabalho atrasado.

O Inspetor, que é muito perspicaz, resolveu montar um site/sistema web onde vai passar todas as informações que antigamente eram feitas lá no cartaz.

Qualquer um que queira ficar informado vai acessar a URL torneiodexadrez.com.br e vai entrar na seguinte página: inicial.jpg

UI Design is my passion

Dúvida

Para atualizar o site o inspetor deveria criar um “torneiodexadrez.com.br/admin” (teoricamente um caminho/endereço que só ele vai conhecer) onde deve entrar com um login e senha para então ter acesso a uma página administrativa onde vai ter um CRUD para atualizar um banco de dados do site? É assim que de fato um site de notícias/blog/informativo funciona?

Me desculpem pelo post longo para fazer uma pergunta, mas tenho uma maior facilidade de entender as coisas quando tem uma história para contextualizar hahahaha Obrigado pela atenção!!
😊

De forma bem resumida, é mais ou menos o que vc imaginou. Algumas pessoas vão ter permissão de escrita (podem adicionar dados, seja o resultado de uma partida, um artigo ou uma notícia). Geralmente via alguma interface (não precisa ser necessariamente /admin, cada usuário pode logar no sistema, e de acordo com as permissões, pode por exemplo aparecer opções no menu, como "adicionar notícia", etc).

Dependendo do caso, pode ser automático (um sistema pode consultar o fechamento da bolsa de valores e já atualizar a página de notícias, por exemplo). O importante é que algo ou alguém tem a permissão de adicionar informações no banco de dados.

E depois isso fica visível pra todos: o sistema lê o que tem no banco de dados e mostra na tela.

Todo site com conteúdo dinâmico é assim. Alguns podem ser mais restritos: no seu exemplo, apenas o inspetor (e talvez um ou outro que ele designar) poderiam atualizar os resultados. Em um site de notícias, somente a equipe de jornalismo pode adicionar novas notícias. Já outros podem ter menos restrições: em uma rede social, por exemplo, todo mundo pode escrever.

Então não precisaria nem ter uma rota dentro do próprio site para alterar/incluir as informações, as vezes ele poderia estar consultando dados de um outro local (poderia ate ser outro site do inspetor), como por exempla o site "resultadosxadrez.com.br" e então pegar as infos e "repostar " no site "torneiodexadrez.com.br". Acho que compreendi!!

Tem várias formas de fazer, mas uma das mais comuns é exatamente isso que descreveu. Pode ser um CRUD completo e sofisticado, ou do mais simples que existe, até mesmo ser um CD, ou C, ou só U, depende do objetivo. Imagino que essa parte já entende. Geralmente fica em um pasta separada, mas não precisa.

Pode usar banco de dados ou arquivo(s) simples em formato específico ou praticamente sem formato.

Se não for muito importante, pode dar um nome esquisito para a pasta e nem senha exigir. Não é o mais seguro, mas é o suficiente para alguns casos (não estou recomendando). Na verdade se não fizer bem, pode ser arriscado até mesmo fazer o básico, hoje grande parte dos sites criados por programadores "experientes" são inseguros, muitas vezes por sofrerem de SQL Injection. Tem alguns prontos por aí que sofrem e as pessoas pegam e usam assim mesmo.

Pode ter um sistema mais completo de controle de usuários e permissões de uso, ou o mais simples, até mesmo sem usar banco de dados para isso.

Depois que tiver um dado atualizado pode só esperar alguma chamada para construir o HTML usando um template dele com os dados que vai consultar no lugar que armazenou. Ou assim que alguém mudar o conteúdo já gera um HTML estático e é ele que fica sendo servido, o que é mais rápido e eficiente, já que deve ter poucas atualizações e "muitos" acessos. Se fizer isso já fica melhor que muito site/blog por aí, até mesmo que o Wordpress sem plugins específicos, nesse ponto específico.

Claro que depois disso pode ir vendo a necessidade e ir sofisticando, conforme a necessidade.

Uma sofisticação seria transformar uma planilha Excel em algo formatado para postar. É mais complicado, pode não compensar, mas é uma ideia mais avançada. Poderia até mesmo fazer isso em conunto rodando no computador de inspetor para saber quando teve atualização no arquivo da planilha Só um exemplo, não estou sugerindo fazer. O CRUD poderia ser uma aplicação desktop/mobile com UI nativa que automaticamenet manda para o servidor o HTML ou informação que lá gera um novo HTML. Só ideias.

Ou pode só entregar um modelo de HTML para a pessoa que ela muda em algum editor, e talvez ter um script  que ele clica e manda subir para o servidor. Também funciona. Tem vantagens e desvantagens.

Para coisas simples e/ou se não tiver experiência, tem muita coisa pronta, desde os mais simples e eficientes, até o Worpress e outros mais sofisticaados. Precisa de alguma experiência para selecionar o mais adequado.

Perguntas simples também tem lugar ao sol. Algumas são melhores que outras complexas, e podem ajudar mais gente. Se tivesse sibperguntas mais específicas teria mais valor ainda.

Espero ter ajudado.

Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

Maniero, pelo que saquei é o famoso *depende*, né ? hahahaha No exemplo que dei uma planilha do excel como banco de dados poderia ser suficiente, mas se imaginarmos um "jornal estudantil" seria mais coerente de fato uma interface para cadastro do conteúdo e tudo mais em um banco de dados mais "profissional" . De modo geral tudo pode o que vai mandar mesmo é a necessidade / demanda de cada projeto, certo ?