website diff devel/forge.html @ rev 18
Added Fonts to Handbook (en) and typos
author | Paul Issot <paul@slitaz.org> |
---|---|
date | Wed Apr 09 21:58:38 2008 +0000 (2008-04-09) |
parents | |
children | be880a5d53d3 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/devel/forge.html Wed Apr 09 21:58:38 2008 +0000 1.3 @@ -0,0 +1,278 @@ 1.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 1.5 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> 1.7 +<head> 1.8 + <title>SliTaz - Forge</title> 1.9 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 1.10 + <meta name="description" content="Développement de SliTaz GNU/Linux" /> 1.11 + <meta name="keywords" lang="fr" content="developpement slitaz developer GNU Linux" /> 1.12 + <meta name="robots" content="index, follow, all" /> 1.13 + <meta name="revisit-after" content="7 days" /> 1.14 + <meta name="expires" content="never" /> 1.15 + <meta name="modified" content="2008-01-30 11:00:00" /> 1.16 + <meta name="author" content="Christophe Lincoln"/> 1.17 + <meta name="publisher" content="www.slitaz.org" /> 1.18 + <link rel="shortcut icon" href="../favicon.ico" /> 1.19 + <link rel="stylesheet" type="text/css" href="../slitaz.css" /> 1.20 +</head> 1.21 +<body bgcolor="#ffffff"> 1.22 + 1.23 +<!-- Header --> 1.24 +<div id="header"> 1.25 + <a name="top"></a> 1.26 +<!-- Access --> 1.27 +<div id="access"> 1.28 + <a href="#content" title="Aller au contenu de la page">Contenu</a> | 1.29 + <a href="../en/" title="English Web site main page">English</a> 1.30 +</div> 1.31 + <a href="http://www.slitaz.org/"><img id="logo" 1.32 + src="../pics/website/logo.png" title="www.slitaz.org" alt="www.slitaz.org" 1.33 + style="border: 0px solid ; width: 200px; height: 74px;" /></a> 1.34 + <p id="titre">#!/GNU/Linux</p> 1.35 +</div> 1.36 + 1.37 +<!-- Navigation menu --> 1.38 +<div id="nav"> 1.39 +<div id="nav_top"></div> 1.40 + <ul> 1.41 + <li><a href="../about/" title="Informations au sujet du projet SliTaz">A propos du projet</a></li> 1.42 + <li><a href="../get/" title="Téléchargements - LiveCD et sous projets">Obtenir SliTaz</a></li> 1.43 + <li><a href="../doc/" title="Handbook, Cookbook et manuels">Documentation</a></li> 1.44 + <li><a href="../packages/" title="Paquets logiciels disponibles">Paquets</a></li> 1.45 + <li><a href="../mailing-list.html" title="Support, contact et collaboration">Liste de discussion</a></li> 1.46 + <li><a href="../devel/" title="Le coin du développeur">Développement</a></li> 1.47 + <li><a href="../artwork/" title="Artwork, couleurs et images">Art & graphisme</a></li> 1.48 + <li><a href="../search.html" title="Rechercher des infos et/ou de la doc">Recherche</a></li> 1.49 + <li><a href="../sitemap.html" title="Vue globale du site web">Plan du site</a></li> 1.50 + <li><a href="http://forum.slitaz.org/" title="Forum d'aide et support">Forum</a></li> 1.51 + </ul> 1.52 +<div id="nav_bottom"> 1.53 +<div id="nav_bottom_img"></div> 1.54 +</div> 1.55 +</div> 1.56 + 1.57 +<!-- Content top. --> 1.58 +<div id="content_top"> 1.59 +<div class="top_left"></div> 1.60 +<div class="top_right"></div> 1.61 +</div> 1.62 + 1.63 +<!-- Content --> 1.64 +<div id="content"> 1.65 +<a name="content"></a> 1.66 + 1.67 +<h1><font color="#3E1220">Forge</font></h1> 1.68 + 1.69 +<h2><font color="#DF8F06">Gestion collaborative du développement</font></h2> 1.70 + 1.71 +<ul> 1.72 + <li><a href="#repos">Dépôts Mercurial.</a></li> 1.73 + <li><a href="#pkgs">Paquets tazpkg.</a></li> 1.74 + <li><a href="#site">Gestion du site Web et des livres.</a></li> 1.75 + <li><a href="guidelines.html">Guidelines.</a></li> 1.76 +</ul> 1.77 + 1.78 +<p> 1.79 +Le projet SliTaz dispose de divers moyens pour gérer le travail des 1.80 +développeurs et collaborer. Un système de gestion de révision avec Mercurial 1.81 +(Hg), des modules de synchronisations avec Rsync, de la documentation, une 1.82 +<a href="../mailing-list.html">liste de discussion</a> et un canal IRC. Tous 1.83 +les développeurs sont inscrits sur la liste, c'est le moyen de collaboration 1.84 +principal et privilégié. 1.85 +</p> 1.86 + 1.87 +<a name="repos"></a> 1.88 +<h3>Dépôts Mercurial</h3> 1.89 +<p> 1.90 +Tous les sous projets tels que Tazpkg, Tazwok ou Tazlito ont leurs propres 1.91 +dépôts Hg sur le serveur du projet, tout comme le wok. Les développeurs ont 1.92 +un compte et des droits en écriture afin de pouvoir envoyer leurs recettes, 1.93 +mises à jour ou modifications. Il est bien sûr possible de demander la création 1.94 +d'un nouveau dépôt pour collaborer sur un nouveau sous projet lié à SliTaz. 1.95 +A noter qu'il y a 2 domaines : <a href="http://hg.slitaz.org/">hg.slitaz.org</a> 1.96 +est public et <code>repos.slitaz.org</code> nécessite authentification, c'est 1.97 +a dire que vous pouvez cloner hg.slitaz.org mais pas y pousser vos changements 1.98 +ou fichiers. 1.99 +</p> 1.100 +<h4>~/.hgrc</h4> 1.101 +<p> 1.102 +Mercurial utilise un fichier caché <code>~./hgrc</code> permettant de 1.103 +spécifier son nom d'utilisateur. Il faut mettre votre nom et adresse mail pour 1.104 +qu'on sache qui a modifié quoi. Et attention à ne pas être <em>root</em> pour 1.105 +pousser vos modifications. Exemple : 1.106 +</p> 1.107 +<pre class="script"> 1.108 +[ui] 1.109 +username = Prénom Nom <you@example.org> 1.110 +</pre> 1.111 +<h4>Cloner, modifier, commiter et pousser</h4> 1.112 +<p> 1.113 +Vous avez le choix de cloner anonymement via hg.slitaz.org ou directement avec 1.114 +votre login et mot de passe. Pour cloner un dépôt tel que le wok : 1.115 +</p> 1.116 +<pre> 1.117 + $ hg clone http://repos.slitaz.org/wok/ 1.118 +</pre> 1.119 +<p> 1.120 +Copier, créer, modifier des recettes ou des fichiers dans <code>stuff</code>. 1.121 +Avant de pouvoir pousser vos modifs il faut les additionner à votre dépôt 1.122 +local et les commiter. A noter que la commande <code>status</code> permet de 1.123 +savoir quels fichiers ont été modifiés : 1.124 +</p> 1.125 +<pre> 1.126 + $ cd wok 1.127 + $ hg status 1.128 + $ hg add 1.129 + $ hg commit 1.130 +</pre> 1.131 +<p> 1.132 +La commande commit va ouvrir l'éditeur de texte Nano pour écrire le message 1.133 +déstiné aux logs (Ctrl + X pour enregistrer et quitter). Vous pouvez éviter 1.134 +Nano en utilisant l'option : <code>-m "Meassage"</code>. And please, 1.135 +messages in English if possible : 1.136 +</p> 1.137 +<pre> 1.138 + $ hg commit -m "Message for Mercurial log" 1.139 +</pre> 1.140 +<p> 1.141 +Une fois que tout est prêt, vous pouvez encore utiliser la commande 1.142 +<code>log</code> pour voir ce qui va être affiché sur l'interface web. Pour 1.143 +pousser vos changements c'est <code>push</code> : 1.144 +</p> 1.145 +<pre> 1.146 + $ hg log 1.147 + $ hg push 1.148 +</pre> 1.149 +<p> 1.150 +Si vous avez cloné depuis hg.slitaz.org il faut alors pousser en spécifiant 1.151 +le bon URL : 1.152 +</p> 1.153 +<pre> 1.154 + $ hg push http://repos.slitaz.org/wok/ 1.155 +</pre> 1.156 +<h4>Mettre à jour un wok local</h4> 1.157 +<p> 1.158 +Pour mettre à jour votre wok local avec celui du serveur (<em>pull</em> pour 1.159 +tirer les changements) : 1.160 +</p> 1.161 +<pre> 1.162 + $ hg pull 1.163 + $ hg update 1.164 +</pre> 1.165 +<h4>Commande utiles</h4> 1.166 +<p> 1.167 +Des commandes hg qui peuvent servir. 1.168 +</p> 1.169 +<ul> 1.170 + <li><code>hg help</code> : Affiche la liste complète des commandes.</li> 1.171 + <li><code>hg rollback</code> : Annule la dernière action exécutée (commit, 1.172 + pull, push).</li> 1.173 + <li><code>hg log <paquet></code> : Affiche les log pour un paquet.</li> 1.174 + <li><code>hg head</code> : Affiche le dernier log.</li> 1.175 +</ul> 1.176 + 1.177 +<a name="pkgs"></a> 1.178 +<h3>Paquets tazpkg</h3> 1.179 +<p> 1.180 +Les paquets tazpkg de SliTaz sont créer automatiquement via Tazwok et les 1.181 +recettes contenues dans le wok, <a href="../doc/cookbook/">le Cookbook</a> 1.182 +décrit <a href="../doc/cookbook/wok-tools.html">l'utilisation des outils SliTaz</a> 1.183 +et le format des <a href="../doc/cookbook/receipts.html">recettes</a>, 1.184 +c'est sans doutes par un petit peu de lecture qu'il faut commencer. 1.185 +</p> 1.186 +<p> 1.187 +Au niveau du choix des paquets, l'idée est de proposer un paquet par tâche ou 1.188 +fonctionnalités, c'est à dire pas (trop) de doublons et de trouver 1.189 +l'application la plus légère dans son domaine. A noter que les paquets actuels 1.190 +ne sont pas figés, si vous trouvez une alternative à un paquet existant, étant 1.191 +plus légère, ayant plus de fonctionnalités ou soyant plus <em>sexy</em> pour 1.192 +quelques Ko supplémentaires, vous pouvez la proposer sur la liste. Une 1.193 +attention particulière est portée aux paquets destinés au LiveCD, strip, 1.194 +suppression de tout ce qui est inutile, dépendances et options de compilation. 1.195 +En général, les paquets candidats pour le corps du LiveCD sont discutés sur 1.196 +la liste. 1.197 +</p> 1.198 +<p> 1.199 +Avant de commencer à compiler et créer des paquets pour SliTaz assurez-vous 1.200 +qu'une recettes n'existe pas dans le wok indigest disponible sur le miroir 1.201 +principale de SliTaz. N'oubliez pas non plus que les membres de la liste sont 1.202 +là pour vous aider et que <a href="../doc/cookbook/wok-tools.html" 1.203 + >la documentation du wok et des outils</a> existe pour bien commencer. 1.204 +</p> 1.205 + 1.206 +<a name="site"></a> 1.207 +<h3>Gestion du site Web et des livres</h3> 1.208 +<p> 1.209 +La gestion du site et des livres (Handbook et Cookbook) est faites via un 1.210 +modules Rsync, diff et patch et la liste de discussion. Rsync est un outil de 1.211 +sauvegarde incrémentale, utilisant un algorithme ultra rapide. Il permet de 1.212 +transférer, synchroniser ou sauvegarder des données en local ou en réseau. 1.213 +L'utilitaire <code>diff</code> est utilisés pour envoyer sur la liste des 1.214 +fichiers contenant uniquement les modifications et <code>patch</code> pour 1.215 +appliquer les modifications au pages originales. 1.216 +</p> 1.217 +<p> 1.218 +Vous pouver synchroniser le site et les livres graphiquement avec Grsync ou via 1.219 +la ligne de commandes. Pour rapatrier une première fois ou synchroniser le site 1.220 +dans un répertoire <code>/home/hacker/Public/slitaz/site</code> et cela depuis 1.221 +<code>rsync://slitaz.org/site</code> : 1.222 +</p> 1.223 +<pre> 1.224 + $ rsync -r -t -p -v \ 1.225 + --progress --delete \ 1.226 + rsync://slitaz.org/site /home/hacker/Public/slitaz/site 1.227 +</pre> 1.228 +<h4>Diff et patch</h4> 1.229 +<p> 1.230 +Les utilitaires <code>diff</code> et <code>patch</code> sont des outils en 1.231 +ligne de commande permettant de créer et d'appliquer un fichier contenant 1.232 +les différences entre deux fichiers. Cette technique est souvent utilisée 1.233 +pour collaborer et permet d'extraire clairement les modifications apportée 1.234 +au fichier original. Pour créer un fichier <code>diff</code> lisible par 1.235 +les humains dans un simple éditeur de texte, il faut utiliser l'option 1.236 +<code>-u</code> en argument : 1.237 +</p> 1.238 +<pre> 1.239 + $ diff -u file.orig file.new > file.diff 1.240 +</pre> 1.241 +<p> 1.242 +Pour appliquer un patch : 1.243 +</p> 1.244 +<pre> 1.245 + $ patch file.orig file.diff 1.246 +</pre> 1.247 + 1.248 +<!-- End of content with round corner --> 1.249 +</div> 1.250 +<div id="content_bottom"> 1.251 +<div class="bottom_left"></div> 1.252 +<div class="bottom_right"></div> 1.253 +</div> 1.254 + 1.255 +<!-- Start of footer and copy notice --> 1.256 +<div id="copy"> 1.257 +<p> 1.258 +Dernière modification : 2008-01-01 12:00:00 - 1.259 +<a href="#top">Haut de la page</a> 1.260 +</p> 1.261 +<p> 1.262 +Copyright © 2008 <a href="http://www.slitaz.org/">SliTaz</a> - 1.263 +<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a> 1.264 +</p> 1.265 +<!-- End of copy --> 1.266 +</div> 1.267 + 1.268 +<!-- Bottom and logo's --> 1.269 +<div id="bottom"> 1.270 +<p> 1.271 +<a href="http://validator.w3.org/check?uri=referer"><img 1.272 + src="../pics/website/xhtml10.png" alt="Valid XHTML 1.0" 1.273 + title="Code validé XHTML 1.0" 1.274 + style="width: 80px; height: 15px;" /></a> 1.275 +</p> 1.276 +</div> 1.277 + 1.278 +</body> 1.279 +</html> 1.280 + 1.281 +