rev |
line source |
paul@142
|
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
paul@142
|
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
paul@142
|
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt" lang="pt">
|
paul@142
|
4 <head>
|
paul@142
|
5 <title>SliTaz - Espaço dos Desenvolvedores</title>
|
paul@142
|
6 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
|
paul@142
|
7 <meta name="description" content="SliTaz GNU/Linux project information overview" />
|
paul@142
|
8 <meta name="keywords" lang="pt" content="about slitaz, gnu, linux, mini distro, livecd" />
|
paul@142
|
9 <meta name="robots" content="index, follow, all" />
|
paul@142
|
10 <meta name="revisit-after" content="7 days" />
|
paul@142
|
11 <meta name="expires" content="never" />
|
paul@142
|
12 <meta name="modified" content="2008-07-16 21:45:00" />
|
paul@142
|
13 <meta name="author" content="Christophe Lincoln"/>
|
paul@142
|
14 <meta name="publisher" content="www.slitaz.org" />
|
paul@142
|
15 <link rel="shortcut icon" href="../../favicon.ico" />
|
paul@142
|
16 <link rel="stylesheet" type="text/css" href="../../slitaz.css" />
|
paul@142
|
17 <link rel="Content" href="#content" />
|
paul@142
|
18 </head>
|
paul@142
|
19 <body bgcolor="#ffffff">
|
paul@142
|
20 <!-- Header -->
|
paul@142
|
21 <div id="header">
|
paul@142
|
22 <a name="top"></a>
|
paul@142
|
23 <!-- Access -->
|
paul@142
|
24 <div id="access">
|
paul@142
|
25 Language:
|
paul@142
|
26 <a href="../../en/devel/" title="Site em inglês">English</a> |
|
claudinei@254
|
27 <a href="../../de/devel/" title="Site em alemão">Deutsch</a> |
|
pankso@364
|
28 <a href="../../fr/devel/" title="Site em francês">Français</a>
|
paul@142
|
29 </div>
|
paul@142
|
30 <a href="http://www.slitaz.org/pt/"><img id="logo"
|
paul@142
|
31 src="../../pics/website/logo.png" title="www.slitaz.org/pt" alt="www.slitaz.org"
|
paul@142
|
32 style="border: 0px solid ; width: 200px; height: 74px;" /></a>
|
paul@142
|
33 <p id="titre">#!/GNU/Linux</p>
|
paul@142
|
34 </div>
|
paul@142
|
35 <div id="nav">
|
paul@142
|
36 <div id="nav_top"></div>
|
paul@142
|
37 <ul>
|
paul@142
|
38 <li><a href="../about/" title="Informações sobre o projeto">Sobre o projeto</a></li>
|
claudinei@429
|
39 <li><a href="../asso/" title="Associação sem fins lucrativos">Associação</a></li>
|
paul@142
|
40 <li><a href="../get/" title="Obtenha a ISO do LiveCD">Faça o download</a></li>
|
paul@142
|
41 <li><a href="../doc/" title="Utilização do LiveCD e howto">Documentação</a></li>
|
paul@142
|
42 <li><a href="../packages/" title="Pacotes (programas)">Pacotes</a></li>
|
paul@142
|
43 <li><a href="../devel/" title="Desenvolvedores">Desenvolvimento</a></li>
|
paul@142
|
44 <li><a href="../artwork/" title="Arte, cores e imagens">Artwork</a></li>
|
claudinei@429
|
45 </ul>
|
claudinei@429
|
46 <ul>
|
claudinei@429
|
47 <li><a href="http://forum.slitaz.org/#idx4" title="Fórum de Suporte">Fórum de suporte</a></li>
|
claudinei@429
|
48 <li><a href="../mailing-list.html" title="Suporte, contato, colaboração">Lista de discussão</a></li>
|
paul@142
|
49 <li><a href="../search.html" title="Buscar">Procurar</a></li>
|
paul@142
|
50 <li><a href="../sitemap.html" title="Mapa do Site">Mapa do site</a></li>
|
paul@142
|
51 </ul>
|
paul@142
|
52 <ul>
|
paul@142
|
53 <li><a href="http://wiki.slitaz.org/" title="Comunidades Wiki">Wiki - Recursos</a></li>
|
contato@353
|
54 <li><a href="http://labs.slitaz.org/" title="Gerenciamento do Projeto">SliTaz Labs</a></li>
|
contato@353
|
55 <li><a href="http://labs.slitaz.org/issues" title="Sistema de controle de Bugs">Reporte um bug</a></li>
|
paul@142
|
56 </ul>
|
paul@142
|
57 <div id="nav_bottom">
|
paul@142
|
58 <div id="nav_bottom_img"></div>
|
paul@142
|
59 </div>
|
paul@142
|
60 </div>
|
paul@142
|
61
|
paul@142
|
62 <!-- Content top. -->
|
paul@142
|
63 <div id="content_top">
|
paul@142
|
64 <div class="top_left"></div>
|
paul@142
|
65 <div class="top_right"></div>
|
paul@142
|
66 </div>
|
paul@142
|
67
|
paul@142
|
68 <!-- Content -->
|
paul@142
|
69 <div id="content">
|
paul@142
|
70 <a name="content"></a>
|
paul@142
|
71
|
paul@142
|
72 <h1><font color="#3e1220">Desenvolvimento</font></h1>
|
paul@142
|
73 <h2><font color="#df8f06">Espaço dos Desenvolvedores do SliTaz</font></h2>
|
paul@142
|
74
|
paul@142
|
75 <ul>
|
claudinei@516
|
76 <li><a href="#kiss">KISS e respeito aos padrões.</a></li>
|
claudinei@445
|
77 <li><a href="#tank">Build host & home.</a></li>
|
paul@142
|
78 <li><a href="#repos">Repositórios Mercurial.</a></li>
|
claudinei@516
|
79 <li><a href="#iconv">Implementação da função iconv().</a></li>
|
paul@142
|
80 <li><a href="#pkgs">Pacotes Tazpkg.</a></li>
|
claudinei@516
|
81 <li><a href="#pkgs-naming">Nomes de pacotes.</a></li>
|
paul@142
|
82 <li><a href="#website">Gerenciamento do Website.</a></li>
|
claudinei@516
|
83 <li><a href="#xhtml">Estilo para codificação de xHTML.</a></li>
|
paul@142
|
84 <li><a href="../mailing-list.html">Lista de Discussão.</a></li>
|
paul@142
|
85 <li><a href="../doc/cookbook/wok-tools.html">Wok & Ferramentas.</a></li>
|
pankso@343
|
86 <li>Mercurial Repositories: <a href="http://hg.slitaz.org" >hg.slitaz.org</a></li>
|
pankso@343
|
87 <li>SliTaz Laboratories: <a href="http://labs.slitaz.org/">labs.slitaz.org</a></li>
|
claudinei@516
|
88 <li><a href="http://labs.slitaz.org/wiki/distro">Wiki dos desenvolvedores</a></li>
|
paul@142
|
89 </ul>
|
paul@142
|
90
|
paul@142
|
91 <p>
|
paul@142
|
92 SliTaz é uma distribuição de código aberto mantida pela comunidade. Todos são
|
paul@142
|
93 convidados a se juntar a nós e a contribuir: usuários, hackers e desenvolvedores
|
paul@142
|
94 sempre podem fazer algo, isto é, revisar ou escrever documentação, informar bugs
|
paul@142
|
95 ou enviar patches pela lista de discussão, usando o wok e criando novos pacotes
|
paul@142
|
96 ou simplesmente ajudando os outros na lista de discussão ou no fórum. O SliTaz
|
paul@142
|
97 possui seus repositórios Mercurial hospedados num sistema rodando SliTaz,
|
paul@142
|
98 desenvolvedores podem requisitar um novo repositório se necessário e
|
paul@142
|
99 contribuintes tem acesso de escrita para corrigir erros, scripts, etc.
|
paul@142
|
100 </p>
|
paul@142
|
101 <p>
|
paul@142
|
102 SliTaz é uma pequena comunidade e ouve seus usuários. Há vários desenvolvedores
|
paul@142
|
103 ativos no <a href="http://forum.slitaz.org/">fórum</a> e na
|
paul@142
|
104 <a href="../mailing-list.html">lista de discussão</a>.
|
paul@142
|
105 </p>
|
claudinei@516
|
106 <p>
|
claudinei@516
|
107 Há um website dedicado exclusivamente à participação de artistas interessados
|
claudinei@516
|
108 em contribuir com o projeto - <a href="http://art.slitaz.org/">http://art.slitaz.org</a>.
|
claudinei@516
|
109 Mediante a criação de uma conta de usuário, pode-se postar gráficos ou
|
claudinei@516
|
110 figuras relacionadas ao SliTaz. O website é mantindo por uma comunidade
|
claudinei@516
|
111 de voluntários e se houver interesse em nos ajudar a gerenciá-lo, entre
|
claudinei@516
|
112 em contato via email ou pela lista de discussão.
|
claudinei@516
|
113 </p>
|
claudinei@516
|
114
|
claudinei@516
|
115 <a name="kiss"></a>
|
claudinei@516
|
116 <h3>KISS e respeito aos padrões</h3>
|
claudinei@516
|
117 <p>
|
claudinei@516
|
118 "Keep it Simple", ou seja, tentamos manter as coisas simples: respeito
|
claudinei@516
|
119 aos padrões, planejamento cuidadoso e documentação escrita de alta
|
claudinei@516
|
120 qualidade, fornecimento de um sistema robusto e estável e um sistema de
|
claudinei@516
|
121 arquivos (<em>rootfs</em>) no LiveCD leve o suficiente para ser executado
|
claudinei@516
|
122 em máquinas que tenham ao menos 128 mb de memória RAM. Também usamos
|
claudinei@516
|
123 aplicativos baseados em GTK+2, Dialog, scripts SHell ou PHP. A idéia
|
claudinei@516
|
124 é não nos repetirmos e deixar o sistema básico leve e pequeno.
|
claudinei@516
|
125 </p>
|
paul@142
|
126
|
claudinei@445
|
127 <a name="tank"></a>
|
claudinei@445
|
128 <h3>Tank - Build host & home</h3>
|
claudinei@445
|
129 <p>
|
claudinei@445
|
130 Cada participante do projeto pode obter uma conta no servidor do projeto
|
claudinei@445
|
131 com acesso seguro, espaço em disco, um diretório público e acesso a todas
|
claudinei@445
|
132 as ferramentas de desenvolvimento. Os desenvolvendores podem compilar
|
claudinei@445
|
133 pacotes e os mantenedores dos mirrors podem gerenciar as sincronizações.
|
claudinei@445
|
134 O Tank também hospeda o website, o boot via web e os repositórios
|
claudinei@445
|
135 mercurial:
|
claudinei@445
|
136 <a href="http://tank.slitaz.org/">tank.slitaz.org</a>
|
claudinei@445
|
137 </p>
|
claudinei@516
|
138 <p>
|
claudinei@516
|
139 Instruções para a utilização deste servidor estão descritas no "Livro de
|
claudinei@516
|
140 Receitas" (cookbook):
|
claudinei@516
|
141 <a href="../doc/cookbook/build-host.html">SliTaz Build Host (tank)</a>.
|
claudinei@516
|
142 </p>
|
claudinei@445
|
143
|
paul@142
|
144 <a name="repos"></a>
|
paul@142
|
145 <h3>Repositórios Mercurial</h3>
|
paul@142
|
146 <p>
|
paul@142
|
147 Os repositórios Mercurial ou Hg do SliTaz podem ser listados ou clonados por
|
paul@142
|
148 qualquer um na URL: <a href="http://hg.slitaz.org/">http://hg.slitaz.org/</a>.
|
paul@142
|
149 Pessoas com acesso de escrita podem acessar diretamente pelo endereço
|
paul@142
|
150 <code>repos.slitaz.org</code> que necessita de autenticação.
|
paul@142
|
151 O Mercurial usa Python e é instalável com o comando:
|
paul@142
|
152 <code>tazpkg get-install mercurial</code>
|
paul@142
|
153 </p>
|
paul@142
|
154 <h4>~/.hgrc</h4>
|
paul@142
|
155 <p>
|
paul@142
|
156 Antes de sua primeira transferência no servidor, assegure-se de que possui
|
paul@142
|
157 o arquivo de configuração do Hg correto com seu nome e endereço de e-mail
|
paul@142
|
158 e lembre-se de checar que você não está acessando como usuário root.
|
paul@142
|
159 Exemplo de arquivo ~/.hgrc:
|
paul@142
|
160 </p>
|
paul@142
|
161 <pre class="script">
|
paul@142
|
162 [ui]
|
paul@142
|
163 username = FirstName LastName <you@example.org>
|
paul@142
|
164 </pre>
|
paul@142
|
165 <h4>Clonar, modificar, transferir e finalizar</h4>
|
paul@142
|
166 <p>
|
paul@142
|
167 Clonar (clone) um repositório, exemplo para slitaz-doc:
|
paul@142
|
168 </p>
|
paul@142
|
169 <pre>
|
claudinei@445
|
170 $ hg clone http://repos.slitaz.org/wok
|
paul@142
|
171 </pre>
|
paul@142
|
172 <p>
|
paul@142
|
173 Mude de diretório para slitaz-doc, note que você deve estar no repositório
|
paul@142
|
174 para poder utilizar os comandos "hg". Para marcar todos os logs ou somente o
|
paul@142
|
175 último log:
|
paul@142
|
176 </p>
|
paul@142
|
177 <pre>
|
paul@142
|
178 $ hg log
|
paul@142
|
179 $ hg head
|
paul@142
|
180 </pre>
|
paul@142
|
181 <p>
|
paul@142
|
182 Modifique um ou mais arquivos e transfira (commit):
|
paul@142
|
183 </p>
|
paul@142
|
184 <pre>
|
claudinei@445
|
185 $ hg add
|
paul@142
|
186 $ hg status
|
paul@142
|
187 $ hg commit -m "Log message..."
|
paul@142
|
188 $ hg log
|
paul@142
|
189 </pre>
|
paul@142
|
190 <p>
|
paul@142
|
191 Note que você pode usar o comando <code>rollback</code> para desfazer a última
|
paul@142
|
192 transação. Antes de finalizar (push) as mudanças no servidor é seguro executar
|
paul@142
|
193 o comando pull ao menos uma vez:
|
paul@142
|
194 </p>
|
paul@142
|
195 <pre>
|
paul@142
|
196 $ hg pull
|
paul@142
|
197 $ hg push
|
paul@142
|
198 </pre>
|
paul@142
|
199 <p>
|
paul@142
|
200 Está feito, suas mudanças, código ou correções estão agora no servidor
|
paul@142
|
201 </p>
|
paul@142
|
202
|
claudinei@445
|
203 <h4>Comandos Úteis</h4>
|
claudinei@445
|
204 <p>
|
claudinei@445
|
205 Comandos do mercurial (hg) que podem ser usados.
|
claudinei@445
|
206 </p>
|
claudinei@445
|
207 <ul>
|
claudinei@445
|
208 <li><code>hg help</code> : Mostra uma lista completa dos comandos.</li>
|
claudinei@445
|
209 <li><code>hg rollback</code> : Desfaz a última ação (commit, pull,
|
claudinei@445
|
210 push).</li>
|
claudinei@445
|
211 <li><code>hg log <package></code> : Mostra o log de um pacote.</li>
|
claudinei@445
|
212 <li><code>hg head</code> : Mostra o último log.</li>
|
claudinei@445
|
213 </ul>
|
claudinei@445
|
214
|
claudinei@516
|
215 <a name="iconv"></a>
|
claudinei@516
|
216 <h3>Implementação da função iconv()</h3>
|
claudinei@516
|
217 <p>
|
claudinei@516
|
218 O SliTaz utiliza a função iconv() fornecida pela biblioteca glibc do
|
claudinei@516
|
219 projeto GNU - alguns pacotes que necessitam da função <code>libiconv</code>
|
claudinei@516
|
220 devem usar a versão fornecida pela glibc (<code>glibc-locale</code>). Note
|
claudinei@516
|
221 que já não há mais um pacote libiconv (1.2 MB) no SliTaz.
|
claudinei@516
|
222 </p>
|
claudinei@516
|
223
|
paul@142
|
224 <a name="pkgs"></a>
|
paul@142
|
225 <h3>Pacotes Tazpkg</h3>
|
paul@142
|
226 <p>
|
paul@142
|
227 Os pacotes tazpkg no SliTaz são automaticamente criados via Tazwok e receitas
|
paul@142
|
228 no wok. O Livro de Receitas descreve o
|
paul@142
|
229 <a href="../doc/cookbook/wok-tools.html">uso das ferramentas</a>
|
paul@142
|
230 e o formato das <a href="../doc/cookbook/receipts.html">receitas</a>.
|
paul@142
|
231 É necessário que estes dois textos sejam lidos antes de prosseguirmos.
|
paul@142
|
232 </p>
|
paul@142
|
233 <p>
|
paul@142
|
234 Em termos de escolha de pacote, a idéia é oferecer o pacote por tarefa ou
|
paul@142
|
235 funcionalidade, isto é, a mais leve aplicação em seu campo e sem duplicações.
|
paul@142
|
236 Note que a atual seleção de pacotes não é imutável, se você souber de uma
|
paul@142
|
237 alternativa mais leve, com mais funcionalidades ou mais <em>sexy</em> por apenas
|
paul@142
|
238 alguns KB a mais, sugira na lista de discussão. Atenção redobrada é prestada
|
paul@142
|
239 aos pacotes do LiveCD: eles devem ser "limpos", removendo-se dependências
|
paul@142
|
240 desnecessárias e opções do compilador. Em geral os pacotes candidatos a fazer
|
paul@142
|
241 parte do LiveCD são discutidos na lista.
|
paul@142
|
242 </p>
|
paul@142
|
243 <p>
|
paul@142
|
244 Antes de você começar a compilar e a criar pacotes para o SliTaz, certifique-se
|
paul@142
|
245 que o trabalho ainda não existe na relação do wok disponível no mirror principal
|
paul@142
|
246 do SliTaz. Não se esqueça que os membros da lista podem te ajudar e que a
|
paul@142
|
247 documentação do <a href="../doc/cookbook/wok-tools.html">wok e ferramentas</a>
|
paul@142
|
248 existe para te guiar nos primeiros passos.
|
paul@142
|
249 </p>
|
paul@142
|
250
|
claudinei@516
|
251 <a name="pkgs-naming"></a>
|
claudinei@516
|
252 <h3>Nomes de Pacotes</h3>
|
claudinei@516
|
253 <p>
|
claudinei@516
|
254 Na maioria dos casos o nome do pacote é o mesmo do código fonte, exceto
|
claudinei@516
|
255 para os módulos das linguagens Python, Perl, PHP, Ruby e Lua. Por exemplo,
|
claudinei@516
|
256 o pacote que fornece o sistema de templates Kid, escrito em Python e XML,
|
claudinei@516
|
257 é nomeado: <code>python-kid</code>.
|
claudinei@516
|
258 </p>
|
claudinei@516
|
259
|
paul@142
|
260 <a name="website"></a>
|
claudinei@445
|
261 <h3>Gerenciamento do website e manuais</h3>
|
paul@142
|
262 <p>
|
claudinei@445
|
263 O website e os manuais (Manual do SliTaz, Livro de Receitas) são
|
claudinei@445
|
264 gerenciados pelo repositório mercurial, podendo ser clonados da
|
claudinei@445
|
265 seguinte maneira:
|
paul@142
|
266 </p>
|
paul@142
|
267 <pre>
|
claudinei@445
|
268 $ hg clone http://hg.slitaz.org/website
|
claudinei@445
|
269 Ou, se você tiver as permissões necessárias:
|
claudinei@445
|
270 $ hg clone http://repos.slitaz.org/website
|
paul@142
|
271 </pre>
|
claudinei@516
|
272
|
claudinei@516
|
273 <a name="xhtml"></a>
|
claudinei@516
|
274 <h3>Estilo para codificação de xHTML</h3>
|
claudinei@516
|
275 <p>
|
claudinei@516
|
276 As páginas nos diferentes <em>manuais</em> são codificadas em xHTML 1.0
|
claudinei@516
|
277 transitional. As cores para o corpo da página (<code>body</code>) e para
|
claudinei@516
|
278 os títulos são definidas diretamente de forma a permitir que os links
|
claudinei@516
|
279 sejam facilmente identificáveis. Os títulos de primeiro nível são usados
|
claudinei@516
|
280 apenas uma vez, no topo da página, os de segundo nível são usados para
|
claudinei@516
|
281 nomear as seções e os de terceiro e quarto nível para as subseções. Se
|
claudinei@516
|
282 uma lista é usada para os tópicos, usando âncoras para as diferentes seções,
|
claudinei@516
|
283 é posta logo no início da página, após o título da mesma.
|
claudinei@516
|
284 Parágrafos são colocados dentro das tags <code><p></p></code>.
|
claudinei@516
|
285 Para indentação, usa-se tabulações (tabs), de forma a manter-se a semântica
|
claudinei@516
|
286 e para diminuir espaço em termos de octetos (bytes). Para mostrar trechos
|
claudinei@516
|
287 de código, como o nome de um comando dentro de um parágrafo,
|
claudinei@516
|
288 <code><code></code> é o método recomendado. Para mostrar a saida
|
claudinei@516
|
289 de comandos ou comandos a serem digitados em um terminal, usa-se
|
claudinei@516
|
290 <code><pre></code>. Exemplo:
|
claudinei@516
|
291 </p>
|
claudinei@516
|
292 <pre>
|
claudinei@516
|
293 $ comando
|
claudinei@516
|
294 </pre>
|
claudinei@516
|
295 <p>
|
claudinei@516
|
296 Para mostrar texto que pode ser copiado e colado, como scripts, peças de
|
claudinei@516
|
297 código, arquivos de configuração, etc, também se usa a tag
|
claudinei@516
|
298 <code><pre></code>, em conjunto com a classe CSS chamada "script".
|
claudinei@516
|
299 Exemplo:
|
claudinei@516
|
300 </p>
|
claudinei@516
|
301 <pre class="script">
|
claudinei@516
|
302 <pre class="script">
|
claudinei@516
|
303
|
claudinei@516
|
304 code...
|
claudinei@516
|
305
|
claudinei@516
|
306 </pre>
|
claudinei@516
|
307 </pre>
|
claudinei@516
|
308 <p>
|
claudinei@516
|
309 Texto <em>enfatizado</em> é colocado dentro da tag <code><em></code>
|
claudinei@516
|
310 e links internos são relativos. É recomendável checar a validade do código
|
claudinei@516
|
311 xHTML por meio do <em>validador</em> online da W3C.
|
claudinei@516
|
312 </p>
|
claudinei@516
|
313
|
claudinei@516
|
314 <h3>Diff e patch</h3>
|
paul@142
|
315 <p>
|
paul@142
|
316 As utilidades <code>diff</code> e <code>patch</code> são ferramentas de linha
|
paul@142
|
317 de comando para criação e implementação de diferenças entre dois arquivos. Esta
|
paul@142
|
318 técnica é freqüentemente usada para colaboração e as mudanças feitas no arquivo
|
paul@142
|
319 original podem ser extraídas facilmente. Para criar um arquivo <code>diff</code>
|
paul@142
|
320 legível aos humanos em um simples editor de textos, você deve fornecer a opção
|
paul@142
|
321 <code>-u</code> :
|
paul@142
|
322 </p>
|
paul@142
|
323 <pre>
|
paul@142
|
324 $ diff -u file.orig file.new > file.diff
|
paul@142
|
325 </pre>
|
paul@142
|
326 <p>
|
paul@142
|
327 Para aplicar um patch:
|
paul@142
|
328 </p>
|
paul@142
|
329 <pre>
|
paul@142
|
330 $ patch file.orig file.diff
|
paul@142
|
331 </pre>
|
paul@142
|
332
|
paul@142
|
333 <!-- End of content with round corner -->
|
paul@142
|
334 </div>
|
paul@142
|
335 <div id="content_bottom">
|
paul@142
|
336 <div class="bottom_left"></div>
|
paul@142
|
337 <div class="bottom_right"></div>
|
paul@142
|
338 </div>
|
paul@142
|
339
|
paul@142
|
340 <!-- Start of footer and copy notice -->
|
paul@142
|
341 <div id="copy">
|
paul@142
|
342 <p>
|
paul@142
|
343 Last modification : 2008-07-16 21:45:00 -
|
paul@142
|
344 <a href="#top">Topo da Página</a>
|
paul@142
|
345 </p>
|
paul@142
|
346 <p>
|
paul@142
|
347 Copyright © 2008 <a href="http://www.slitaz.org/">SliTaz</a> -
|
paul@142
|
348 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>
|
paul@142
|
349 </p>
|
paul@142
|
350 <!-- End of copy -->
|
paul@142
|
351 </div>
|
paul@142
|
352
|
paul@142
|
353 <!-- Bottom and logo's -->
|
paul@142
|
354 <div id="bottom">
|
paul@142
|
355 <p>
|
paul@142
|
356 <a href="http://validator.w3.org/check?uri=referer"><img
|
paul@142
|
357 src="../../pics/website/xhtml10.png" alt="Valid XHTML 1.0"
|
paul@142
|
358 title="Code validé XHTML 1.0"
|
paul@142
|
359 style="width: 80px; height: 15px;" /></a>
|
paul@142
|
360 </p>
|
paul@142
|
361 </div>
|
paul@142
|
362
|
paul@142
|
363 </body>
|
paul@142
|
364 </html>
|