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