Como o www.debian.org é feito

A “webtree” (árvore web) do Debian, uma coleção de diretórios e arquivos que compreendem nosso site, está localizada no diretório /org/www.debian.org/www em www-master.debian.org. A maioria das páginas são arquivos HTML normais e estáticos (não produzidos dinamicamente com CGI ou scripts PHP), para facilitar o espelhamento.

O site é gerado por três processos:

Uma atualização automática (dos repositórios CVS e outras fontes) é feita seis vezes por dia.

Se você gostaria de contribuir para o site, não adicione ou edite arquivos no diretório www/. Contate os webmasters primeiro.

Todos os arquivos e diretórios pertencem ao grupo debwww e podem ser escritos por este grupo, assim o time web pode modificar os arquivos. O modo 2775 nos diretórios significa que todos os arquivos criados naqueles diretórios vão herdar o grupo - neste caso debwww. Espera-se que todos no grupo debwww configurem `umask 002' de modo que os arquivos sejam criados com permissões de escrita de grupo.


Aparência & comportamento

Nós damos às páginas a mesma aparência e comportamento através do uso do WML para todos os detalhes de adição de cabeçalhos e rodapés. Embora uma página .wml possa parecer HTML a primeira vista, HTML é somente um dos tipos de informação extra que podem ser usados em .wml. Depois que o WML termina de rodar seus vários filtros sobre um arquivo, o produto final é HTML puro. Para dar uma idéia do poder do WML, você pode incluir código Perl em uma página para permitir-lhe fazer quase qualquer coisa.

Note no entanto que o WML checa (e corrige automagicamente algumas vezes) apenas a validade mais básica de seu código HTML. Você deve instalar weblint e/ou tidy para validar seu código HTML.

Nossas páginas web atualmente seguem o padrão HTML 4.01 Strict. Nós pretendemos, no entanto, mudar para XHTML. Assim sendo, todos os editores web são fortemente encorajados a escrever as tags HTML em minúsculas, colocar tags de fechamento onde for apropriado, etc., para tornar a transição tão suave quanto for possível.

Todos que estejam trabalhando muito nas páginas deveriam instalar o WML de modo que possam testar para se certificarem que o resultado é aquele que desejam. Se você está rodando Debian, pode instalar o pacote wml facilmente. Leia as páginas em usando WML para mais informações.

Fontes

Os arquivos fonte para as páginas web estão armazenadas em CVS. O CVS é um sistema de controle de versões que nos permite manter um log de o que, quem, quando, e porque alterações ocorreram. Ele também é um jeito seguro de controlar a edição concorrente de arquivos fonte por muitos autores, o que é crucial para nós porque o time web do Debian é grande em tamanho,

Se você não é familiar com este software provavelmente desejará ler as páginas usando CVS.

O primeiro diretório webwml no repositório CVS contem diretórios nomeados segundo os idiomas nos quais o site está disponível, dois makefiles e vários scripts. Os nomes dos diretórios de traduções devem estar em inglês e minúsculas (ou seja, "german" ao invés de "Deutsch").

O mais importante dos dois makefiles é o Makefile.common, que, como o nome diz, contem algumas regras comuns que são aplicadas incluindo este arquivo nos outros makefiles.

Cada um dos diretórios de idioma contem makefiles, arquivos fonte WML e subdiretórios. Os nomes de arquivos e diretórios não são alterados, mantendo os links corretos para todos os idiomas. Os diretórios também podem conter arquivos .wmlrc que contem informações úteis para o WML.

O diretório webwml/english/template contem arquivos WML especiais que nós chamamos de templates, porque ele podem ser referenciados por todos os outros arquivos usando o comando #use.

Para que as alterações nos templates se propaguem para os arquivos que os utilizam, os arquivos têm dependências via makefile. Uma vez que a grande maioria dos arquivos usa o template "template", tendo a linha "#use wml::debian::template" no topo, a dependência genérica (aquela para todos os arquivos) é essa template. Claro que há exceções para esta regra.

Scripts

Os scripts são escritos principalmente em shell ou Perl. Alguns deles são avulsos, e alguns estão integrados em arquivos fonte WML.

Os fontes para os principais scripts de reconstrução do www-master estão no módulo cron no CVS.

Os fontes para os scripts de reconstrução do packages.debian.org estão no módulo packages no CVS.

Como ajudar

Nós convidamos todos os interessados em nos ajudar a fazer o site do Debian tão bom quanto ele possa ser. Se você têm informações valiosas relacionadas ao Debian que você acredita que estão faltando nas nossas páginas, compartilhe-as conosco e nós iremos ver se elas serão incluídas.

Nós sempre precisamos de ajuda com o design das páginas (a respeito de gráficos e layouts), e para manter nosso HTML limpo, também. Nós rodamos os seguintes testes em todo o site regularmente:

Ajuda em ler os logs acima e corrigir os problemas é sempre bem vinda.

Os logs de construção do site podem ser encontrados em http://www-master.debian.org/build-logs/.

Se você é fluente em inglês, nós gostaríamos que você revisse as nossas páginas e nos enviasse todos os erros.

Se você fala outro idioma, você pode nos ajudar a traduzir as páginas para o seu idioma. Se alguma tradução já foi feita, mas tem algum problema, olhe a lista de coordenadores de tradução e fale com o líder do seu idioma sobre corrigi-lo. Se você gostaria de traduzir páginas, veja a página sobre este tópico para mais informações.

Há também um arquivo TODO, cheque-o.

Como não ajudar

[Q] Eu quero por recurso web extravagante em www.debian.org, eu posso?

[R] Não. Nós queremos que o www.debian.org seja tão acessível quanto possível, assim sendo:

[Q] Eu tenho esta idéia legal. Você pode habilitar FOO no HTTPD do www.debian.org, por favor?

[R] Não. Nós queremos fazer a vida dos administradores que espelham www.debian.org fácil, assim sendo sem recursos especiais do HTTPD. Não, nem mesmo SSI. Uma exceção foi feita para a negociação de conteúdo, porque ela é a única maneira robusta de servir múltiplos idiomas.