website view devel/forge.html @ rev 309

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