website view devel/forge.html @ rev 49

Add Security to Handbook (en)
author Paul Issott <paul@slitaz.org>
date Sun May 18 22:50:22 2008 +0000 (2008-05-18)
parents
children be880a5d53d3
line source
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
4 <head>
5 <title>SliTaz - Forge</title>
6 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
7 <meta name="description" content="Développement de SliTaz GNU/Linux" />
8 <meta name="keywords" lang="fr" content="developpement slitaz developer GNU Linux" />
9 <meta name="robots" content="index, follow, all" />
10 <meta name="revisit-after" content="7 days" />
11 <meta name="expires" content="never" />
12 <meta name="modified" content="2008-01-30 11:00:00" />
13 <meta name="author" content="Christophe Lincoln"/>
14 <meta name="publisher" content="www.slitaz.org" />
15 <link rel="shortcut icon" href="../favicon.ico" />
16 <link rel="stylesheet" type="text/css" href="../slitaz.css" />
17 </head>
18 <body bgcolor="#ffffff">
20 <!-- Header -->
21 <div id="header">
22 <a name="top"></a>
23 <!-- Access -->
24 <div id="access">
25 <a href="#content" title="Aller au contenu de la page">Contenu</a> |
26 <a href="../en/" title="English Web site main page">English</a>
27 </div>
28 <a href="http://www.slitaz.org/"><img id="logo"
29 src="../pics/website/logo.png" title="www.slitaz.org" alt="www.slitaz.org"
30 style="border: 0px solid ; width: 200px; height: 74px;" /></a>
31 <p id="titre">#!/GNU/Linux</p>
32 </div>
34 <!-- Navigation menu -->
35 <div id="nav">
36 <div id="nav_top"></div>
37 <ul>
38 <li><a href="../about/" title="Informations au sujet du projet SliTaz">A propos du projet</a></li>
39 <li><a href="../get/" title="Téléchargements - LiveCD et sous projets">Obtenir SliTaz</a></li>
40 <li><a href="../doc/" title="Handbook, Cookbook et manuels">Documentation</a></li>
41 <li><a href="../packages/" title="Paquets logiciels disponibles">Paquets</a></li>
42 <li><a href="../mailing-list.html" title="Support, contact et collaboration">Liste de discussion</a></li>
43 <li><a href="../devel/" title="Le coin du développeur">Développement</a></li>
44 <li><a href="../artwork/" title="Artwork, couleurs et images">Art &amp; graphisme</a></li>
45 <li><a href="../search.html" title="Rechercher des infos et/ou de la doc">Recherche</a></li>
46 <li><a href="../sitemap.html" title="Vue globale du site web">Plan du site</a></li>
47 <li><a href="http://forum.slitaz.org/" title="Forum d'aide et support">Forum</a></li>
48 </ul>
49 <div id="nav_bottom">
50 <div id="nav_bottom_img"></div>
51 </div>
52 </div>
54 <!-- Content top. -->
55 <div id="content_top">
56 <div class="top_left"></div>
57 <div class="top_right"></div>
58 </div>
60 <!-- Content -->
61 <div id="content">
62 <a name="content"></a>
64 <h1><font color="#3E1220">Forge</font></h1>
66 <h2><font color="#DF8F06">Gestion collaborative du développement</font></h2>
68 <ul>
69 <li><a href="#repos">Dépôts Mercurial.</a></li>
70 <li><a href="#pkgs">Paquets tazpkg.</a></li>
71 <li><a href="#site">Gestion du site Web et des livres.</a></li>
72 <li><a href="guidelines.html">Guidelines.</a></li>
73 </ul>
75 <p>
76 Le projet SliTaz dispose de divers moyens pour gérer le travail des
77 développeurs et collaborer. Un système de gestion de révision avec Mercurial
78 (Hg), des modules de synchronisations avec Rsync, de la documentation, une
79 <a href="../mailing-list.html">liste de discussion</a> et un canal IRC. Tous
80 les développeurs sont inscrits sur la liste, c'est le moyen de collaboration
81 principal et privilégié.
82 </p>
84 <a name="repos"></a>
85 <h3>Dépôts Mercurial</h3>
86 <p>
87 Tous les sous projets tels que Tazpkg, Tazwok ou Tazlito ont leurs propres
88 dépôts Hg sur le serveur du projet, tout comme le wok. Les développeurs ont
89 un compte et des droits en écriture afin de pouvoir envoyer leurs recettes,
90 mises à jour ou modifications. Il est bien sûr possible de demander la création
91 d'un nouveau dépôt pour collaborer sur un nouveau sous projet lié à SliTaz.
92 A noter qu'il y a 2 domaines : <a href="http://hg.slitaz.org/">hg.slitaz.org</a>
93 est public et <code>repos.slitaz.org</code> nécessite authentification, c'est
94 a dire que vous pouvez cloner hg.slitaz.org mais pas y pousser vos changements
95 ou fichiers.
96 </p>
97 <h4>~/.hgrc</h4>
98 <p>
99 Mercurial utilise un fichier caché <code>~./hgrc</code> permettant de
100 spécifier son nom d'utilisateur. Il faut mettre votre nom et adresse mail pour
101 qu'on sache qui a modifié quoi. Et attention à ne pas être <em>root</em> pour
102 pousser vos modifications. Exemple :
103 </p>
104 <pre class="script">
105 [ui]
106 username = Prénom Nom &lt;you@example.org&gt;
107 </pre>
108 <h4>Cloner, modifier, commiter et pousser</h4>
109 <p>
110 Vous avez le choix de cloner anonymement via hg.slitaz.org ou directement avec
111 votre login et mot de passe. Pour cloner un dépôt tel que le wok :
112 </p>
113 <pre>
114 $ hg clone http://repos.slitaz.org/wok/
115 </pre>
116 <p>
117 Copier, créer, modifier des recettes ou des fichiers dans <code>stuff</code>.
118 Avant de pouvoir pousser vos modifs il faut les additionner à votre dépôt
119 local et les commiter. A noter que la commande <code>status</code> permet de
120 savoir quels fichiers ont été modifiés :
121 </p>
122 <pre>
123 $ cd wok
124 $ hg status
125 $ hg add
126 $ hg commit
127 </pre>
128 <p>
129 La commande commit va ouvrir l'éditeur de texte Nano pour écrire le message
130 déstiné aux logs (Ctrl + X pour enregistrer et quitter). Vous pouvez éviter
131 Nano en utilisant l'option : <code>-m "Meassage"</code>. And please,
132 messages in English if possible :
133 </p>
134 <pre>
135 $ hg commit -m "Message for Mercurial log"
136 </pre>
137 <p>
138 Une fois que tout est prêt, vous pouvez encore utiliser la commande
139 <code>log</code> pour voir ce qui va être affiché sur l'interface web. Pour
140 pousser vos changements c'est <code>push</code> :
141 </p>
142 <pre>
143 $ hg log
144 $ hg push
145 </pre>
146 <p>
147 Si vous avez cloné depuis hg.slitaz.org il faut alors pousser en spécifiant
148 le bon URL :
149 </p>
150 <pre>
151 $ hg push http://repos.slitaz.org/wok/
152 </pre>
153 <h4>Mettre à jour un wok local</h4>
154 <p>
155 Pour mettre à jour votre wok local avec celui du serveur (<em>pull</em> pour
156 tirer les changements) :
157 </p>
158 <pre>
159 $ hg pull
160 $ hg update
161 </pre>
162 <h4>Commande utiles</h4>
163 <p>
164 Des commandes hg qui peuvent servir.
165 </p>
166 <ul>
167 <li><code>hg help</code> : Affiche la liste complète des commandes.</li>
168 <li><code>hg rollback</code> : Annule la dernière action exécutée (commit,
169 pull, push).</li>
170 <li><code>hg log &lt;paquet&gt;</code> : Affiche les log pour un paquet.</li>
171 <li><code>hg head</code> : Affiche le dernier log.</li>
172 </ul>
174 <a name="pkgs"></a>
175 <h3>Paquets tazpkg</h3>
176 <p>
177 Les paquets tazpkg de SliTaz sont créer automatiquement via Tazwok et les
178 recettes contenues dans le wok, <a href="../doc/cookbook/">le Cookbook</a>
179 décrit <a href="../doc/cookbook/wok-tools.html">l'utilisation des outils SliTaz</a>
180 et le format des <a href="../doc/cookbook/receipts.html">recettes</a>,
181 c'est sans doutes par un petit peu de lecture qu'il faut commencer.
182 </p>
183 <p>
184 Au niveau du choix des paquets, l'idée est de proposer un paquet par tâche ou
185 fonctionnalités, c'est à dire pas (trop) de doublons et de trouver
186 l'application la plus légère dans son domaine. A noter que les paquets actuels
187 ne sont pas figés, si vous trouvez une alternative à un paquet existant, étant
188 plus légère, ayant plus de fonctionnalités ou soyant plus <em>sexy</em> pour
189 quelques Ko supplémentaires, vous pouvez la proposer sur la liste. Une
190 attention particulière est portée aux paquets destinés au LiveCD, strip,
191 suppression de tout ce qui est inutile, dépendances et options de compilation.
192 En général, les paquets candidats pour le corps du LiveCD sont discutés sur
193 la liste.
194 </p>
195 <p>
196 Avant de commencer à compiler et créer des paquets pour SliTaz assurez-vous
197 qu'une recettes n'existe pas dans le wok indigest disponible sur le miroir
198 principale de SliTaz. N'oubliez pas non plus que les membres de la liste sont
199 là pour vous aider et que <a href="../doc/cookbook/wok-tools.html"
200 >la documentation du wok et des outils</a> existe pour bien commencer.
201 </p>
203 <a name="site"></a>
204 <h3>Gestion du site Web et des livres</h3>
205 <p>
206 La gestion du site et des livres (Handbook et Cookbook) est faites via un
207 modules Rsync, diff et patch et la liste de discussion. Rsync est un outil de
208 sauvegarde incrémentale, utilisant un algorithme ultra rapide. Il permet de
209 transférer, synchroniser ou sauvegarder des données en local ou en réseau.
210 L'utilitaire <code>diff</code> est utilisés pour envoyer sur la liste des
211 fichiers contenant uniquement les modifications et <code>patch</code> pour
212 appliquer les modifications au pages originales.
213 </p>
214 <p>
215 Vous pouver synchroniser le site et les livres graphiquement avec Grsync ou via
216 la ligne de commandes. Pour rapatrier une première fois ou synchroniser le site
217 dans un répertoire <code>/home/hacker/Public/slitaz/site</code> et cela depuis
218 <code>rsync://slitaz.org/site</code> :
219 </p>
220 <pre>
221 $ rsync -r -t -p -v \
222 --progress --delete \
223 rsync://slitaz.org/site /home/hacker/Public/slitaz/site
224 </pre>
225 <h4>Diff et patch</h4>
226 <p>
227 Les utilitaires <code>diff</code> et <code>patch</code> sont des outils en
228 ligne de commande permettant de créer et d'appliquer un fichier contenant
229 les différences entre deux fichiers. Cette technique est souvent utilisée
230 pour collaborer et permet d'extraire clairement les modifications apportée
231 au fichier original. Pour créer un fichier <code>diff</code> lisible par
232 les humains dans un simple éditeur de texte, il faut utiliser l'option
233 <code>-u</code> en argument :
234 </p>
235 <pre>
236 $ diff -u file.orig file.new > file.diff
237 </pre>
238 <p>
239 Pour appliquer un patch :
240 </p>
241 <pre>
242 $ patch file.orig file.diff
243 </pre>
245 <!-- End of content with round corner -->
246 </div>
247 <div id="content_bottom">
248 <div class="bottom_left"></div>
249 <div class="bottom_right"></div>
250 </div>
252 <!-- Start of footer and copy notice -->
253 <div id="copy">
254 <p>
255 Dernière modification : 2008-01-01 12:00:00 -
256 <a href="#top">Haut de la page</a>
257 </p>
258 <p>
259 Copyright &copy; 2008 <a href="http://www.slitaz.org/">SliTaz</a> -
260 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>
261 </p>
262 <!-- End of copy -->
263 </div>
265 <!-- Bottom and logo's -->
266 <div id="bottom">
267 <p>
268 <a href="http://validator.w3.org/check?uri=referer"><img
269 src="../pics/website/xhtml10.png" alt="Valid XHTML 1.0"
270 title="Code validé XHTML 1.0"
271 style="width: 80px; height: 15px;" /></a>
272 </p>
273 </div>
275 </body>
276 </html>