website view devel/forge.html @ rev 153
en: Minor edits/typos
author | Paul Issott <paul@slitaz.org> |
---|---|
date | Sun Sep 07 20:08:14 2008 +0000 (2008-09-07) |
parents | 9db15af4ad78 |
children | 88d44d2671a9 |
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 <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 & 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="#repos">Dépôts Mercurial.</a></li>
76 <li><a href="#pkgs">Paquets tazpkg.</a></li>
77 <li><a href="#site">Gestion du site Web et des livres.</a></li>
78 <li><a href="guidelines.html">Guidelines.</a></li>
79 </ul>
81 <p>
82 Le projet SliTaz dispose de divers moyens pour gérer le travail des
83 développeurs et collaborer. Un système de gestion de révision avec Mercurial
84 (Hg), des modules de synchronisations avec Rsync, de la documentation, une
85 <a href="../mailing-list.html">liste de discussion</a> et un canal IRC. Tous
86 les développeurs sont inscrits sur la liste, c'est le moyen de collaboration
87 principal et privilégié.
88 </p>
90 <a name="repos"></a>
91 <h3>Dépôts Mercurial</h3>
92 <p>
93 Tous les sous projets tels que Tazpkg, Tazwok ou Tazlito ont leurs propres
94 dépôts Hg sur le serveur du projet, tout comme le wok. Les développeurs ont
95 un compte et des droits en écriture afin de pouvoir envoyer leurs recettes,
96 mises à jour ou modifications. Il est bien sûr possible de demander la création
97 d'un nouveau dépôt pour collaborer sur un nouveau sous projet lié à SliTaz.
98 A noter qu'il y a 2 domaines : <a href="http://hg.slitaz.org/">hg.slitaz.org</a>
99 est public et <code>repos.slitaz.org</code> nécessite authentification, c'est
100 a dire que vous pouvez cloner hg.slitaz.org mais pas y pousser vos changements
101 ou fichiers.
102 </p>
103 <h4>~/.hgrc</h4>
104 <p>
105 Mercurial utilise un fichier caché <code>~./hgrc</code> permettant de
106 spécifier son nom d'utilisateur. Il faut mettre votre nom et adresse mail pour
107 qu'on sache qui a modifié quoi. Et attention à ne pas être <em>root</em> pour
108 pousser vos modifications. Exemple :
109 </p>
110 <pre class="script">
111 [ui]
112 username = Prénom Nom <you@example.org>
113 </pre>
114 <h4>Cloner, modifier, commiter et pousser</h4>
115 <p>
116 Vous avez le choix de cloner anonymement via hg.slitaz.org ou directement avec
117 votre login et mot de passe. Pour cloner un dépôt tel que le wok :
118 </p>
119 <pre>
120 $ hg clone http://repos.slitaz.org/wok/
121 </pre>
122 <p>
123 Copier, créer, modifier des recettes ou des fichiers dans <code>stuff</code>.
124 Avant de pouvoir pousser vos modifs il faut les additionner à votre dépôt
125 local et les commiter. A noter que la commande <code>status</code> permet de
126 savoir quels fichiers ont été modifiés :
127 </p>
128 <pre>
129 $ cd wok
130 $ hg status
131 $ hg add
132 $ hg commit
133 </pre>
134 <p>
135 La commande commit va ouvrir l'éditeur de texte Nano pour écrire le message
136 déstiné aux logs (Ctrl + X pour enregistrer et quitter). Vous pouvez éviter
137 Nano en utilisant l'option : <code>-m "Meassage"</code>. And please,
138 messages in English if possible :
139 </p>
140 <pre>
141 $ hg commit -m "Message for Mercurial log"
142 </pre>
143 <p>
144 Une fois que tout est prêt, vous pouvez encore utiliser la commande
145 <code>log</code> pour voir ce qui va être affiché sur l'interface web. Pour
146 pousser vos changements c'est <code>push</code> :
147 </p>
148 <pre>
149 $ hg log
150 $ hg push
151 </pre>
152 <p>
153 Si vous avez cloné depuis hg.slitaz.org il faut alors pousser en spécifiant
154 le bon URL :
155 </p>
156 <pre>
157 $ hg push http://repos.slitaz.org/wok/
158 </pre>
159 <h4>Mettre à jour un wok local</h4>
160 <p>
161 Pour mettre à jour votre wok local avec celui du serveur (<em>pull</em> pour
162 tirer les changements) :
163 </p>
164 <pre>
165 $ hg pull
166 $ hg update
167 </pre>
168 <h4>Commande utiles</h4>
169 <p>
170 Des commandes hg qui peuvent servir.
171 </p>
172 <ul>
173 <li><code>hg help</code> : Affiche la liste complète des commandes.</li>
174 <li><code>hg rollback</code> : Annule la dernière action exécutée (commit,
175 pull, push).</li>
176 <li><code>hg log <paquet></code> : Affiche les log pour un paquet.</li>
177 <li><code>hg head</code> : Affiche le dernier log.</li>
178 </ul>
180 <a name="pkgs"></a>
181 <h3>Paquets tazpkg</h3>
182 <p>
183 Les paquets tazpkg de SliTaz sont créer automatiquement via Tazwok et les
184 recettes contenues dans le wok, <a href="../doc/cookbook/">le Cookbook</a>
185 décrit <a href="../doc/cookbook/wok-tools.html">l'utilisation des outils SliTaz</a>
186 et le format des <a href="../doc/cookbook/receipts.html">recettes</a>,
187 c'est sans doutes par un petit peu de lecture qu'il faut commencer.
188 </p>
189 <p>
190 Au niveau du choix des paquets, l'idée est de proposer un paquet par tâche ou
191 fonctionnalités, c'est à dire pas (trop) de doublons et de trouver
192 l'application la plus légère dans son domaine. A noter que les paquets actuels
193 ne sont pas figés, si vous trouvez une alternative à un paquet existant, étant
194 plus légère, ayant plus de fonctionnalités ou soyant plus <em>sexy</em> pour
195 quelques Ko supplémentaires, vous pouvez la proposer sur la liste. Une
196 attention particulière est portée aux paquets destinés au LiveCD, strip,
197 suppression de tout ce qui est inutile, dépendances et options de compilation.
198 En général, les paquets candidats pour le corps du LiveCD sont discutés sur
199 la liste.
200 </p>
201 <p>
202 Avant de commencer à compiler et créer des paquets pour SliTaz assurez-vous
203 qu'une recettes n'existe pas dans le wok indigest disponible sur le miroir
204 principale de SliTaz. N'oubliez pas non plus que les membres de la liste sont
205 là pour vous aider et que <a href="../doc/cookbook/wok-tools.html"
206 >la documentation du wok et des outils</a> existe pour bien commencer.
207 </p>
209 <a name="site"></a>
210 <h3>Gestion du site Web et des livres</h3>
211 <p>
212 La gestion du site et des livres (Handbook et Cookbook) est faites via un
213 modules Rsync, diff et patch et la liste de discussion. Rsync est un outil de
214 sauvegarde incrémentale, utilisant un algorithme ultra rapide. Il permet de
215 transférer, synchroniser ou sauvegarder des données en local ou en réseau.
216 L'utilitaire <code>diff</code> est utilisés pour envoyer sur la liste des
217 fichiers contenant uniquement les modifications et <code>patch</code> pour
218 appliquer les modifications au pages originales.
219 </p>
220 <p>
221 Vous pouver synchroniser le site et les livres graphiquement avec Grsync ou via
222 la ligne de commandes. Pour rapatrier une première fois ou synchroniser le site
223 dans un répertoire <code>/home/hacker/Public/slitaz/site</code> et cela depuis
224 <code>rsync://slitaz.org/site</code> :
225 </p>
226 <pre>
227 $ rsync -r -t -p -v \
228 --progress --delete \
229 rsync://slitaz.org/site /home/hacker/Public/slitaz/site
230 </pre>
231 <h4>Diff et patch</h4>
232 <p>
233 Les utilitaires <code>diff</code> et <code>patch</code> sont des outils en
234 ligne de commande permettant de créer et d'appliquer un fichier contenant
235 les différences entre deux fichiers. Cette technique est souvent utilisée
236 pour collaborer et permet d'extraire clairement les modifications apportée
237 au fichier original. Pour créer un fichier <code>diff</code> lisible par
238 les humains dans un simple éditeur de texte, il faut utiliser l'option
239 <code>-u</code> en argument :
240 </p>
241 <pre>
242 $ diff -u file.orig file.new > file.diff
243 </pre>
244 <p>
245 Pour appliquer un patch :
246 </p>
247 <pre>
248 $ patch file.orig file.diff
249 </pre>
251 <!-- End of content with round corner -->
252 </div>
253 <div id="content_bottom">
254 <div class="bottom_left"></div>
255 <div class="bottom_right"></div>
256 </div>
258 <!-- Start of footer and copy notice -->
259 <div id="copy">
260 <p>
261 Dernière modification : 2008-01-01 12:00:00 -
262 <a href="#top">Haut de la page</a>
263 </p>
264 <p>
265 Copyright © 2008 <a href="http://www.slitaz.org/">SliTaz</a> -
266 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>
267 </p>
268 <!-- End of copy -->
269 </div>
271 <!-- Bottom and logo's -->
272 <div id="bottom">
273 <p>
274 <a href="http://validator.w3.org/check?uri=referer"><img
275 src="../pics/website/xhtml10.png" alt="Valid XHTML 1.0"
276 title="Code validé XHTML 1.0"
277 style="width: 80px; height: 15px;" /></a>
278 </p>
279 </div>
281 </body>
282 </html>