website diff fr/devel/forge.php @ rev 1014
de: applied {header|nav|footer} templates
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Fri Mar 30 16:38:09 2012 +0300 (2012-03-30) |
parents | 2120105cc07b |
children | 175ff0253b7a |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/fr/devel/forge.php Fri Mar 30 16:38:09 2012 +0300 1.3 @@ -0,0 +1,372 @@ 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 (fr) - 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="modified" content="2011-03-26 23:15:00" /> 1.14 + <meta name="author" content="Christophe Lincoln"/> 1.15 + <link rel="shortcut icon" href="../../favicon.ico" /> 1.16 + <link rel="stylesheet" type="text/css" href="../../slitaz.css" /> 1.17 +</head> 1.18 +<body> 1.19 + 1.20 +<!-- Header --> 1.21 +<div id="header"> 1.22 + <div id="logo"></div> 1.23 + <div id="network"> 1.24 + <a href="http://www.slitaz.org/netmap.php"> 1.25 + <img src="../../images/network.png" alt="network.png" /></a> 1.26 + <a href="http://scn.slitaz.org/">Community</a> 1.27 + <a href="http://doc.slitaz.org/">Doc</a> 1.28 + <a href="http://forum.slitaz.org/">Forum</a> 1.29 + <a href="http://bugs.slitaz.org">Bugs</a> 1.30 + <a href="http://hg.slitaz.org/">Hg</a> 1.31 + </div> 1.32 + <h1><a href="http://www.slitaz.org/">SliTaz GNU/Linux</a></h1> 1.33 +</div> 1.34 + 1.35 +<!-- Block --> 1.36 +<div id="block"> 1.37 + <!-- Navigation --> 1.38 + <div id="block_nav"> 1.39 + <h4>Navigation</h4> 1.40 + <div class="right_box"> 1.41 + <ul> 1.42 + <li><a href="../mailing-list.php">Mailing List</a></li> 1.43 + <li><a href="../devel/">Développement</a></li> 1.44 + <li><a href="../packages/">Paquets</a></li> 1.45 + <li><a href="../artwork/">Artwork</a></li> 1.46 + <li><a href="../search.php">Recherche</a></li> 1.47 + </ul> 1.48 + </div> 1.49 + <div class="left_box"> 1.50 + <ul> 1.51 + <li><a href="../">Actualités</a></li> 1.52 + <li><a href="../about/">A propos</a></li> 1.53 + <li><a href="../get/">Téléchargement</a></li> 1.54 + <li><a href="../asso/">Association</a></li> 1.55 + <li><a href="../doc/">Documentation</a></li> 1.56 + </ul> 1.57 + </div> 1.58 + </div> 1.59 + <!-- Information/image --> 1.60 + <div id="block_info"> 1.61 + <h4>Forge</h4> 1.62 + <p> 1.63 + Les outils et services utilisés pour forger Slitaz :-) 1.64 + </p> 1.65 + <p> 1.66 + <img src="../../images/users.png" alt="users.png" /> 1.67 + <a href="http://scn.slitaz.org/">Rejoingez nous sur SCN</a> 1.68 + et la <a href="../mailing-list.php">mailing list</a> 1.69 + </p> 1.70 + </div> 1.71 +</div> 1.72 + 1.73 +<!-- Content --> 1.74 +<div id="content"> 1.75 + 1.76 +<h2>Gestion collaborative du développement</h2> 1.77 + 1.78 +<ul> 1.79 + <li><a href="#kiss">KISS et respect des standards.</a></li> 1.80 + <li><a href="#tank">Build host & home.</a></li> 1.81 + <li><a href="#repos">Dépôts Mercurial.</a></li> 1.82 + <li><a href="#iconv">Implémentation d'iconv().</a></li> 1.83 + <li><a href="#pkgs">Paquets tazpkg.</a></li> 1.84 + <li><a href="#pkgs-naming">Nommage des paquets.</a></li> 1.85 + <li><a href="#site">Gestion du site Web et des livres.</a></li> 1.86 + <li><a href="#xhtml">xHTML coding style.</a></li> 1.87 +</ul> 1.88 + 1.89 +<p> 1.90 +Le projet SliTaz dispose de divers moyens pour gérer le travail des 1.91 +développeurs et collaborer. Un système de gestion de révision avec Mercurial 1.92 +(Hg), des modules de synchronisation avec Rsync, de la documentation, une 1.93 +<a href="../mailing-list.php">liste de discussion</a> et un canal IRC. Tous 1.94 +les développeurs sont inscrits sur la liste, c'est le moyen de collaboration 1.95 +principal et privilégié. 1.96 +</p> 1.97 + 1.98 +<a name="kiss"></a> 1.99 +<h3>KISS et respect des standards</h3> 1.100 +<p> 1.101 +Rester simple, respecter au mieux les standards, réaliser un travail soigné, 1.102 +rédiger de la documentation de haute qualité, fournir un système stable et 1.103 +robuste et garder le <em>rootfs</em> du LiveCD standard assez léger pour que 1.104 +SliTaz tourne sur des machines ayant au minimum 128 Mb de RAM. Possibilité 1.105 +d'utiliser GTK+2, Dialog, Gtkdialog, des scripts SHell ou encore PHP pour 1.106 +coder des outils propres à la distribution. L'idée est aussi de ne pas faire 1.107 +de doublons et de penser mini... 1.108 +</p> 1.109 +<p> 1.110 +SliTaz se veut un projet proche et à l'écoute des ses utilisateurs. Il y a 1.111 +plusieurs développeurs actifs sur le <a href="http://forum.slitaz.org/">forum</a> 1.112 +et sur la <a href="../mailing-list.php">liste de discussion</a>. 1.113 +</p> 1.114 + 1.115 +<a name="tank"></a> 1.116 +<h3>Tank - Build host & home</h3> 1.117 +<p> 1.118 +Chaque contributeur peut avoir un compte sur le serveur principal du 1.119 +projet, avec un accès sécurisé, de l'espace disque, un répertoire public 1.120 +et tous les outils de développement. Les développeurs peuvent y compiler 1.121 +leurs paquets et les mainteneurs du miroir s'occupent de la synchronisation. 1.122 +Tank héberge aussi le site internet, le web boot et les dépôts Mercurial: 1.123 +<a href="http://tank.slitaz.org/">tank.slitaz.org</a> 1.124 +</p> 1.125 +<p> 1.126 +L'utilisation du build host est décrite dans le Cookbook: 1.127 +<a href="http://doc.slitaz.org/en:cookbook:buildhost">SliTaz Build Host (tank)</a>. 1.128 +</p> 1.129 + 1.130 +<a name="repos"></a> 1.131 +<h3>Dépôts Mercurial</h3> 1.132 +<p> 1.133 +Tous les sous-projets tels que Tazpkg, Tazwok ou Tazlito ont leurs propres 1.134 +dépôts Hg sur le serveur du projet, tout comme le wok. Les développeurs ont 1.135 +un compte et des droits en écriture afin de pouvoir envoyer leurs recettes, 1.136 +mises à jour ou modifications. Il est bien sûr possible de demander la création 1.137 +d'un nouveau dépôt pour collaborer sur un nouveau sous-projet lié à SliTaz. 1.138 +A noter qu'il y a 2 domaines : <a href="http://hg.slitaz.org/">hg.slitaz.org</a> 1.139 +est public et <code>repos.slitaz.org</code> nécessite une authentification, c'est-à-dire 1.140 +que vous pouvez cloner hg.slitaz.org mais pas y pousser vos changements ou fichiers. 1.141 +</p> 1.142 +<h4>~/.hgrc</h4> 1.143 +<p> 1.144 +Mercurial utilise un fichier caché <code>~./hgrc</code> permettant de 1.145 +spécifier son nom d'utilisateur. Il faut mettre votre nom et adresse mail pour 1.146 +qu'on sache qui a modifié quoi. Et attention à ne pas être <em>root</em> pour 1.147 +pousser vos modifications. Exemple : 1.148 +</p> 1.149 +<pre class="script"> 1.150 +[ui] 1.151 +username = Prénom Nom <you@example.org> 1.152 +</pre> 1.153 +<h4>Cloner, modifier, commiter et pousser</h4> 1.154 +<p> 1.155 +Vous avez le choix de cloner anonymement via hg.slitaz.org ou directement avec 1.156 +votre login et mot de passe. Pour cloner un dépôt tel que le wok : 1.157 +</p> 1.158 +<pre> 1.159 + $ hg clone http://repos.slitaz.org/wok/ 1.160 +</pre> 1.161 +<p> 1.162 +Copier, créer, modifier des recettes ou des fichiers dans <code>stuff</code>. 1.163 +Avant de pouvoir pousser vos modifs, il faut les additionner à votre dépôt 1.164 +local et les commiter. A noter que la commande <code>status</code> permet de 1.165 +savoir quels fichiers ont été modifiés : 1.166 +</p> 1.167 +<pre> 1.168 + $ cd wok 1.169 + $ hg status 1.170 + $ hg add 1.171 + $ hg commit 1.172 +</pre> 1.173 +<p> 1.174 +La commande <code>commit</code> va ouvrir l'éditeur de texte Nano pour écrire le message 1.175 +destiné aux logs (Ctrl + X pour enregistrer et quitter). Vous pouvez éviter 1.176 +Nano en utilisant l'option : <code>-m "Message"</code>. And please, 1.177 +messages in English if possible : 1.178 +</p> 1.179 +<pre> 1.180 + $ hg commit -m "Message for Mercurial log" 1.181 +</pre> 1.182 +<p> 1.183 +Une fois que tout est prêt, vous pouvez encore utiliser la commande 1.184 +<code>log</code> pour voir ce qui va être affiché sur l'interface web. Pour 1.185 +pousser vos changements c'est <code>push</code> : 1.186 +</p> 1.187 +<pre> 1.188 + $ hg log 1.189 + $ hg push 1.190 +</pre> 1.191 +<p> 1.192 +Si vous avez cloné depuis hg.slitaz.org, il faut alors pousser en spécifiant 1.193 +le bon URL : 1.194 +</p> 1.195 +<pre> 1.196 + $ hg push http://repos.slitaz.org/wok/ 1.197 +</pre> 1.198 +<h4>Mettre à jour un wok local</h4> 1.199 +<p> 1.200 +Pour mettre à jour votre wok local avec celui du serveur (<em>pull</em> pour 1.201 +tirer les changements) : 1.202 +</p> 1.203 +<pre> 1.204 + $ hg pull 1.205 + $ hg update 1.206 +</pre> 1.207 +<h4>Commandes utiles</h4> 1.208 +<p> 1.209 +Des commandes hg qui peuvent servir. 1.210 +</p> 1.211 +<ul> 1.212 + <li><code>hg help</code> : affiche la liste complète des commandes.</li> 1.213 + <li><code>hg rollback</code> : annule la dernière action exécutée (commit, 1.214 + pull, push).</li> 1.215 + <li><code>hg log <paquet></code> : affiche les logs pour un paquet.</li> 1.216 + <li><code>hg head</code> : affiche le dernier log.</li> 1.217 +</ul> 1.218 + 1.219 +<a name="iconv"></a> 1.220 +<h3>Implémentation d'iconv()</h3> 1.221 +<p> 1.222 +SliTaz utilise iconv() fourni par la GNU glibc, même si certain paquets 1.223 +proposent d'utiliser <code>libiconv</code> il faut utiliser la version de 1.224 +la glibc (paquet <code>glibc-locale</code>). Il n'y a donc pas de paquet 1.225 +libiconv (1,2 Mb) dans SliTaz. 1.226 +</p> 1.227 + 1.228 +<a name="pkgs"></a> 1.229 +<h3>Paquets tazpkg</h3> 1.230 +<p> 1.231 +Les paquets tazpkg de SliTaz sont créés automatiquement via Tazwok et les 1.232 +recettes contenues dans le wok, <a href="http://doc.slitaz.org/fr:cookbook:start">le Cookbook</a> 1.233 +décrit <a href="http://doc.slitaz.org/fr:cookbook:wok">l'utilisation des outils SliTaz</a> 1.234 +et le format des <a href="http://doc.slitaz.org/fr:cookbook:receipt">recettes</a>, 1.235 +c'est sans doute par un petit peu de lecture qu'il faut commencer. 1.236 +</p> 1.237 +<p> 1.238 +Concernant le choix des paquets, l'idée est de proposer un paquet par tâche ou 1.239 +fonctionnalité, c'est à dire pas (trop) de doublons et de trouver 1.240 +l'application la plus légère dans son domaine. A noter que les paquets actuels 1.241 +ne sont pas figés, si vous trouvez une alternative à un paquet existant, étant 1.242 +plus légère, ayant plus de fonctionnalités ou étant plus <em>sexy</em> pour 1.243 +quelques Ko supplémentaires, vous pouvez la proposer sur la liste. Une 1.244 +attention particulière est portée aux paquets destinés au LiveCD : strip, 1.245 +suppression de tout ce qui est inutile, dépendances et options de compilation. 1.246 +En général, les paquets candidats pour le corps du LiveCD sont discutés sur 1.247 +la liste. 1.248 +</p> 1.249 +<p> 1.250 +Avant de commencer à compiler et créer des paquets pour SliTaz, assurez-vous 1.251 +qu'une recette n'existe pas dans le wok undigest, disponible sur le miroir 1.252 +principal de SliTaz. N'oubliez pas non plus que les membres de la liste sont 1.253 +là pour vous aider et que pour bien commencer, <a href="http://doc.slitaz.org/fr:cookbook:wok" 1.254 +>la documentation du wok et des outils</a> existe. 1.255 +</p> 1.256 + 1.257 +<a name="pkgs-naming"></a> 1.258 +<h3>Nommage des paquets</h3> 1.259 +<p> 1.260 +Dans la majorité des cas le nom du paquet est celui des sources exception 1.261 +faite des modules Python, Perl, PHP, Ruby, Lua. Par example le paquet Kid 1.262 +fournissant un système de template XML et écrit en Python se nomme: 1.263 +<code>python-kid</code>. 1.264 +</p> 1.265 + 1.266 +<a name="site"></a> 1.267 +<h3>Gestion du site Web et des livres</h3> 1.268 +<p> 1.269 +La gestion du site et des livres (Handbook et Cookbook) est faite via un 1.270 +dépôt Mercurial, ce qui nous permet de traviller à plusieurs. Il faut 1.271 +juste installer <code>mercurail</code> sur SliTaz et connaître les commandes 1.272 +de base. Une fois le dépôt cloné vous avez une copie complète du site en 1.273 +local pour commencer à travailler. Pour cloner le site web : 1.274 +</p> 1.275 +<pre> 1.276 + $ hg clone http://hg.slitaz.org/website 1.277 +</pre> 1.278 +<p> 1.279 +Si vous avez les droits : 1.280 +</p> 1.281 +<pre> 1.282 + $ hg clone http://repos.slitaz.org/website 1.283 +</pre> 1.284 +<p> 1.285 +Sur SliTaz vous pouvez installer le serveur web Lighttpd et mettre le 1.286 +site dans votre répertoire ~/Public, cela permet de naviguer dans votre 1.287 +copie locale via localhost/~user. 1.288 +</p> 1.289 + 1.290 +<a name="xhtml"></a> 1.291 +<h3>xHTML coding style</h3> 1.292 +<p> 1.293 +Les pages du site et des différents <em>books</em> sont codés en xHTML 1.0 1.294 +Transitional, les couleurs pour le <code>body</code> et les titres sont 1.295 +directement mis dans la page, cela permet d'avoir une présentation plus soignée 1.296 +pour Links. Le titre de niveau 1 est utilisé une seule fois en haut de page, 1.297 +le titre 2 correspond au titre du document et les titres de niveau 3 et 4 sont 1.298 +ensuite utilisés pour les sous-titres. Si il y a lieu d'avoir une liste à puces 1.299 +avec des ancres, elle se met en haut juste après le titre de niveau 2. Les 1.300 +paragraphes sont contenus dans les balises <code><p></p></code>. 1.301 +Pour indenter, nous utilisons des tabulations, elles ont une raison d'être 1.302 +sémantique et prennent moins de place en terme d'octets. Pour mettre 1.303 +du code tel que le nom d'une commande dans un paragraphe, la balise 1.304 +<code><code></code> est recommandée. Pour afficher une ou des commandes 1.305 +à lancer dans un terminal, les pages du site utilisent la balise 1.306 +<code><pre></code> permettant d'afficher du texte préformaté. Exemple : 1.307 +</p> 1.308 +<pre> 1.309 + $ command 1.310 +</pre> 1.311 +<p> 1.312 +Pour afficher du texte à copier/coller tels que des scripts, des bouts de 1.313 +code, des exemples de fichiers de configuration, etc, c'est aussi la balise 1.314 +<code><pre></code> mais avec une classe CSS nommée "script". Exemple: 1.315 +</p> 1.316 +<pre class="script"> 1.317 +<pre class="script"> 1.318 + 1.319 +code... 1.320 + 1.321 +</pre> 1.322 +</pre> 1.323 +<p> 1.324 +Les mots en <em>English</em> se mettent dans la balise <code><em></code> 1.325 +et les liens internes sont relatifs. Penser à vérifier la validité du code via 1.326 +le <em>validator</em> en ligne du W3C. 1.327 +</p> 1.328 + 1.329 +<h3>Diff et patch</h3> 1.330 +<p> 1.331 +Les utilitaires <code>diff</code> et <code>patch</code> sont des outils en 1.332 +ligne de commande permettant de créer et d'appliquer un fichier contenant 1.333 +les différences entre deux fichiers. Cette technique est souvent utilisée 1.334 +pour collaborer et permet d'extraire clairement les modifications apportées 1.335 +au fichier original. Pour créer un fichier <code>diff</code> lisible par 1.336 +les humains dans un simple éditeur de texte, il faut utiliser l'option 1.337 +<code>-u</code> en argument : 1.338 +</p> 1.339 +<pre> 1.340 + $ diff -u file.orig file.new > file.diff 1.341 +</pre> 1.342 +<p> 1.343 +Pour appliquer un patch : 1.344 +</p> 1.345 +<pre> 1.346 + $ patch file.orig file.diff 1.347 +</pre> 1.348 + 1.349 +<!-- End of content --> 1.350 +</div> 1.351 + 1.352 +<!-- Footer --> 1.353 +<div id="footer"> 1.354 + Copyright © <span class="year"></span> 1.355 + <a href="http://www.slitaz.org/">SliTaz</a> - Network: 1.356 + <a href="http://scn.slitaz.org/">Community</a> 1.357 + <a href="http://doc.slitaz.org/">Doc</a> 1.358 + <a href="http://forum.slitaz.org/">Forum</a> 1.359 + <a href="http://pkgs.slitaz.org/">Packages</a> 1.360 + <a href="http://bugs.slitaz.org">Bugs</a> 1.361 + <a href="http://hg.slitaz.org/">Hg</a> 1.362 + <p> 1.363 + SliTaz @ 1.364 + <a href="http://twitter.com/slitaz">Twitter</a> 1.365 + <a href="http://www.facebook.com/slitaz">Facebook</a> 1.366 + <a href="http://distrowatch.com/slitaz">Distrowatch</a> 1.367 + <a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a> 1.368 + <a href="http://flattr.com/profile/slitaz">Flattr</a> 1.369 + </p> 1.370 +</div> 1.371 + 1.372 +</body> 1.373 +</html> 1.374 + 1.375 +