website diff doc/handbook-stable/development.html @ rev 280
fr: fix wrong copy...
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Fri Feb 06 23:20:14 2009 +0100 (2009-02-06) |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/doc/handbook-stable/development.html Fri Feb 06 23:20:14 2009 +0100 1.3 @@ -0,0 +1,332 @@ 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 Handbook - Developpement</title> 1.9 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 1.10 + <meta name="description" content="developpement sur Slitaz Geany scripts dialog toolchain gcc make" /> 1.11 + <meta name="expires" content="never" /> 1.12 + <meta name="modified" content="2007-12-03 12:30:00" /> 1.13 + <meta name="publisher" content="www.slitaz.org" /> 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="book.css" /> 1.17 +</head> 1.18 +<body bgcolor="#ffffff"> 1.19 + 1.20 +<!-- Header and quick navigation --> 1.21 +<div id="header"> 1.22 +<div align="right" id="quicknav"> 1.23 + <a name="top"></a> 1.24 + <a href="secure-shell.html">SHell sécurisé</a> | 1.25 + <a href="index.html">Table des matières</a> 1.26 +</div> 1.27 +<h1><font color="#3E1220">SliTaz Handbook</font></h1> 1.28 +</div> 1.29 + 1.30 +<!-- Content. --> 1.31 +<div id="content"> 1.32 +<div class="content-right"></div> 1.33 + 1.34 +<h2><font color="#DF8F06">Développement</font></h2> 1.35 + 1.36 +<ul> 1.37 + <li><a href="#about">À propos du développement</a> - Sur SliTaz 1.38 + et de SliTaz.</li> 1.39 + <li><a href="#shell-scripts">Scripts SHell</a> - #!/bin/sh</li> 1.40 + <li><a href="#dialog">Dialog</a> - Création d'interface graphique 1.41 + basée sur la console.</li> 1.42 + <li><a href="#geany">Geany</a> - IDE ou Environnement de Développement 1.43 + Intégré.</li> 1.44 + <li><a href="#perl">Perl ou Microperl</a> - Coder et utiliser des scripts 1.45 + Perl et/ou CGI propulsés par microperl.</li> 1.46 + <li><a href="#python">Python</a> - Le langage Python</li> 1.47 + <li><a href="#toolchain">Toolchain</a> - Bibliothèques, compilateur C 1.48 + et outils associés.</li> 1.49 +</ul> 1.50 + 1.51 +<a name="about"></a> 1.52 +<h3><font color="#6c0023">À propos du dévelopement</font></h3> 1.53 +<p> 1.54 +SliTaz fournit quelques outils de développement, conception de sites web, 1.55 +édition avancée de scripts, et de code source avec l'IDE 'geany'. Création 1.56 +d'interface graphique à vos scripts SHell avec 'dialog'. 1.57 +</p> 1.58 +<p> 1.59 +Si vous cherchez des informations sur le développement de SliTaz, 1.60 +le <a href="http://www.slitaz.org/doc/cookbook/">cookbook</a> (livre de 1.61 +cuisine) vous décrira toutes les étapes de construction du système. Sur le 1.62 +site web de SliTaz, la partie <a href="http://www.slitaz.org/devel/">devel</a> 1.63 +vous donnera des informations générales au sujet des développeurs et des 1.64 +possibilités de participation. 1.65 +</p> 1.66 +<a name="shell-scripts"></a> 1.67 +<h3><font color="#6c0023">Scripts SHell</font></h3> 1.68 +<p> 1.69 +L'écriture de scripts SHell est la manière la plus simple pour commencer à 1.70 +coder, ils permettent d'avoir rapidement un résultat et les seuls prérequis 1.71 +sont de savoir ouvrir un terminal et utiliser un éditeur de texte tels 1.72 +que Nano, LeafPad ou Geany. Les scripts SHell permettent de faire énomérement 1.73 +de choses sur un système GNU/Linux, initialiser le système, faire des 1.74 +sauvegardes, exécuter des tâches répétitives, afficher des informations sur 1.75 +l'état du système, créer ou modifier des fichier, etc. Dans un script SHell, 1.76 +vous pouvez aussi utiliser des variables, des fonctions ou encore des appels 1.77 +pour inclure un fichier. A noter que vous pouvez nommer vos scripts comme bon 1.78 +vous semble et que l'utilisation de l'extension <code>.sh</code> est largement 1.79 +utilisée. 1.80 +</p> 1.81 +<h4>Créer un script SHell</h4> 1.82 +<p> 1.83 +Avant de commencer un nouveau script SHell, vous devez faire attention 1.84 +à l'interprétateur utilisé. La plus part du temps les scripts SHell 1.85 +utilisent <code>/bin/sh</code>, cela permet d'être plus portable. 1.86 +Il y a aussi des scripts qui appelent <code>/bin/bash</code>, mais cela 1.87 +implique que Bash soit installé sur le système. Pour qu'un script SHell 1.88 +fonctionne il doit être exécutable par l'utilisateur courant, le changement 1.89 +des permissions sur un fichier peut se faire en ligne de commande via 1.90 +l'outils <code>chmod</code>. Pour créer un <code>script.sh</code> et le 1.91 +rendre exécutable : 1.92 +</p> 1.93 +<pre> 1.94 + $ touch script.sh 1.95 + $ chmod +x script.sh 1.96 +</pre> 1.97 +<p> 1.98 +Maintenant que vous avez un nouveau fichier exécutable, vous allez pouvoir 1.99 +l'éditer. Vous pouvez continuer en restant dans le terminal et en utilisant 1.100 +l'éditeur Nano (Ctrl+X pour enregistrer) ou en ouvrant l'IDE Geany sur le 1.101 +fichier : 1.102 +</p> 1.103 +<pre> 1.104 + $ nano script.sh 1.105 + Ou : 1.106 + $ geany script.sh & 1.107 +</pre> 1.108 +<p> 1.109 +Voici un µscript qui contient une variable <code>NAME</code> et qui en 1.110 +affiche la valeur avec la commande <code>echo</code> : 1.111 +</p> 1.112 +<pre class="script"> 1.113 +#!/bin/sh 1.114 + 1.115 +NAME="kayam" 1.116 + 1.117 +echo "$NAME est sympa." 1.118 + 1.119 +</pre> 1.120 +<p> 1.121 +Une fois que vous avez créé/modifié votre <code>script.sh</code>, il suffit 1.122 +d'enregistrer et d'exécuter le script pour voir le résultat : 1.123 +</p> 1.124 +<pre> 1.125 + $ ./script.sh 1.126 +</pre> 1.127 +<p> 1.128 +Voilà pour cette brève introduction au scripts SHell. Pour aller plus loin, le 1.129 +web regorge d'informations à ce sujet et regarder ce qu'on fait les autres 1.130 +peut aussi aider. 1.131 +</p> 1.132 +<a name="dialog"></a> 1.133 +<h3><font color="#6c0023">Dialog</font></h3> 1.134 +<p> 1.135 +Dialog permet de créer des interfaces graphique basées sur la console, telles 1.136 +que 'tazkmap'. Le fichier de configuration de dialog est /etc/dialogrc, et/ou 1.137 + ~/.dialogrc pour chaque utilisateur. Voici un simple exemple d'utilisation de 1.138 + dialog via une console ou un terminal : 1.139 +</p> 1.140 +<pre> 1.141 + $ dialog --title "Hello $USER" \ 1.142 + --msgbox "Message propulsé par dialog." 5 54 1.143 +</pre> 1.144 +<p> 1.145 +Vous trouverez pleins d'exemples de scripts dans le répertoire /sample des 1.146 +sources de dialog, que vous pouvez télécharger depuis: 1.147 +<a href="http://invisible-island.net/dialog/dialog.html" 1.148 + >invisible-island.net/dialog/dialog.html</a>. Download des sources avec 1.149 +'wget' et décompression : 1.150 +</p> 1.151 +<pre> 1.152 + $ wget ftp://invisible-island.net/dialog/dialog.tar.gz 1.153 + $ tar xzf dialog.tar.gz 1.154 +</pre> 1.155 +<a name="geany"></a> 1.156 +<h3><font color="#6c0023">Geany IDE</font></h3> 1.157 +<p> 1.158 +Geany est un IDE ou Environnement de Dévelopement Intégré, il est simple, 1.159 +léger, et rapide, proposant la coloration syntaxique, les onglets, 1.160 +pliage/dépliage du code, la complétion automatique, de l'aide à l'écriture. 1.161 +Vous avez une liste des symboles, fonctions, méthodes, variables très utiles, 1.162 +avec une petite flèche de signalisation. Et encore, sélecteur de couleurs 1.163 +intégré, fenêtre de messages, lancement du script courant via le bouton 1.164 +Exécuter, etc. C'est avec lui que nous avons créé cette page, 1.165 +la documentation, et presque tout le site web (un peu avec Nano aussi). 1.166 +</p> 1.167 +<h4>Lancer Geany</h4> 1.168 +<p> 1.169 +Vous trouverez Geany dans le menu de JWM --> Development --> Geany. 1.170 +Un fois lancé pour la première fois, vous pouvez ajuster vos préférences 1.171 +via --> Editer --> Préférences. Vous pouvez aussi lancer Geany via un 1.172 +terminal X et la commande : 1.173 +</p> 1.174 +<pre> 1.175 + $ geany & 1.176 +</pre> 1.177 +<p> 1.178 +Note : Lors de la compilation des sources, le scripts <code>./configure</code> 1.179 +propose l'option : <code>--enable-the-force</code>... Que l'on peut utiliser 1.180 +si l'on penser avoir la force et être Luc Skywalker! 1.181 +</p> 1.182 +<a name="perl"></a> 1.183 +<h3><font color="#6c0023">Perl ou Microperl - Coder/utiliser des scripts Perl</font></h3> 1.184 +<p> 1.185 +Sur SliTaz vous pouvez coder et utiliser le puissant langage de scripts Perl 1.186 +via le binaire <code>perl</code> ou <code>microperl</code>. Microperl est une 1.187 +version très allégée de Perl compilée à partir des sources officielles de Perl, 1.188 +les scripts fonctionnant avec microperl sont complètement compatible avec la 1.189 +version complète de Perl. C'est justement une des forces de Perl, il est portable 1.190 +et fonctionne sur toutes les systèmes d'exploitations. Perl est un langage 1.191 +interprété cela veut dire que le code n'a pas besoin d'être compilé et qu'il 1.192 +peut être utilisé directement. A noter que sur SliTaz, <code>perl</code> 1.193 +et/ou <code>microperl</code> se sont pas installé par défaut sur le LiveCD, vous 1.194 +pouvez soit reconstruire votre propore ISO en incluant Perl ou installer via 1.195 +le gestionnaire de paquets. A noter que le paquet Microperl fait mois d'1 Mb 1.196 +et ne fournit aucun modules, juste le minimum : 1.197 +</p> 1.198 +<pre> 1.199 + # tazpkg install perl 1.200 + Ou : 1.201 + # tazpkg install microperl 1.202 +</pre> 1.203 + 1.204 +<h4>Hello world!</h4> 1.205 +<p> 1.206 +Le but de ce µscript est d'afficher <em>Hello World</em>. Vous pouvez 1.207 +commencer par créer le fichier et le rendre exécutable depuis la ligne de 1.208 +commandes et l'éditer ensuite graphiquement avec l'IDE Geany. A noter que nous 1.209 +nommons le scripts <code>hello.pl</code> mais que vous pouvez nommer un 1.210 +script Perl comme bon vous semble, avec ou sans l'extension <code>.pl</code> : 1.211 +</p> 1.212 +<pre> 1.213 + $ touch hello.pl 1.214 + $ chmod +x hello.pl 1.215 + $ geany hello.pl & 1.216 +</pre> 1.217 +<p> 1.218 +La première ligne d'un scripts Perl commence par définir le chemin vers 1.219 +l'interprétateur Perl, généralement <code>/usr/bin/perl</code> et pour 1.220 +afficher du texte il suffit d'utiliser la commande <code>print</code>. 1.221 +Code à copier/coller. A noter que le langage Perl est sensible à la casse et 1.222 +qu'une instruction devrait toujours se terminer par un point-virgule : 1.223 +</p> 1.224 +<pre class="script"> 1.225 +#!/usr/bin/perl 1.226 +# 1.227 + 1.228 +print "Hello World!\n"; 1.229 + 1.230 +</pre> 1.231 +<p> 1.232 +Pour exécuter et tester le script : 1.233 +</p> 1.234 +<pre> 1.235 + $ ./hello.pl 1.236 +</pre> 1.237 + 1.238 +<h4>Scripts CGI et Perl</h4> 1.239 +<p> 1.240 +Les scripts CGI ont pour but d'afficher des pages web générées dynamiquement. 1.241 +Le langage Perl assoicié au serveur web LightTPD vous permet d'utiliser 1.242 +des scripts CGI via votre espace public ou via des hôtes virtuels. Perl est 1.243 +tout à fait adapté au web 2.0 et permet de générer rapidement des pages xHTML. 1.244 +Sur Slitaz, vous devez avoir installé Perl ou Microperl et 1.245 +<a href="web-server.html#cgi-perl">configuré le serveur Web LightTPD</a> avant 1.246 +de pouvoir utiliser des scripts CGI codé en Perl. A noter que par défaut vous 1.247 +pouvez utiliser des scripts SHell (.sh) et les placer dans /cgi-bin/). 1.248 +</p> 1.249 +<p> 1.250 +Une fois le server bien configuré, vous pouvez directement placer des scripts 1.251 +CGI dans votre répertoire <code>$HOME/Public/cgi-bin</code> en utilisant 1.252 +l'extension <code>.pl</code> ou <code>.cgi</code> et les visualiser en local 1.253 +ou à distance. Exemple de script CGI utilisant Perl : 1.254 +</p> 1.255 +<pre class="script"> 1.256 +#!/usr/bin/perl 1.257 +# 1.258 +print "content-type : text/html\n\n"; 1.259 + 1.260 +print "Hello World!\n"; 1.261 + 1.262 +</pre> 1.263 + 1.264 +<a name="python"></a> 1.265 +<h3><font color="#6c0023">Python</font></h3> 1.266 +<p> 1.267 +Le langage de programmation Python est disponible sous forme de paquet 1.268 +facilement installable. Un fois Python installé vous pouvez créer vos propre 1.269 +scripts/programmes et utiliser des applications CGI via le serveur Web LightTPD 1.270 +en prenant soin de <a href="web-server.html#cgi-python">configurer le serveur</a> 1.271 +correctement. A noter que le dépôt Mercurial officiel de SliTaz fourni une 1.272 +interface Web CGI/Python, c'est une solution adaptée à la production, robuste 1.273 +et fiable. Pour installer le paquet <code>python</code> avec Tazpkg : 1.274 +</p> 1.275 +<pre> 1.276 + # tazpkg get-install python 1.277 +</pre> 1.278 + 1.279 +<a name="toolchain"></a> 1.280 +<h3><font color="#6c0023">Toolchain - Bibliothèques, compilateur C et outils associés</font></h3> 1.281 +<p> 1.282 +Pour compiler des logiciels depuis les sources ou son propre code, vous avez 1.283 +au minimum, besoin de la chaîne d'outils de base (<em>toolchain</em>), 1.284 +composée des outils Binutils, de la bibliothèque Glibc , du compilateur 1.285 +GCC, des <em>headers</em> du noyau et de l'utilitaire Make. Cette chaîne 1.286 +d'outils peut être installée via le gestionnaire de paquets Tazpkg et une 1.287 +seule commande. A noter que cette <em>toolchain</em> est utilisée par les 1.288 +développeurs de SliTaz pour compiler le système entier depuis les sources. 1.289 +Pour installer les paquets via l'installation d'un meta paquet créant les 1.290 +dépendances qu'il faut : 1.291 +</p> 1.292 +<pre> 1.293 + # tazpkg get-install slitaz-toolchain 1.294 +</pre> 1.295 +<p> 1.296 +L'installation de la toolchain permet de compiler beaucoup d'applications 1.297 +de base et en mode texte. A noter que beaucoup de paquets compileront sans 1.298 +problème en utilisant le SHell Ash de Busybox, mais d'autres paquets ne 1.299 +compileront pas sans Bash. GNU bash est disponnible sous forme de paquet 1.300 +ainsi que divers outils de développement de base tels que Flex, M4, Bison, 1.301 +ou encore Pkg-config. Si vous cherchez pkg-config par exemple : 1.302 +</p> 1.303 +<pre> 1.304 + $ tazpkg search pkg-config 1.305 +</pre> 1.306 +<p> 1.307 +Si vous désirez compiler des applications utilsant les bibliothèques Ncurses, 1.308 +vous devez installer le paquet <code>ncurses-dev</code> complet (par défaut 1.309 +il n'y a que le paquet minimum installé). A noter que le paquet ncurses fournit 1.310 +aussi divers petits programmes tels que <code>tic</code> ou <code>tack</code> : 1.311 +</p> 1.312 +<pre> 1.313 + $ tazpkg search ncurses 1.314 +</pre> 1.315 + 1.316 +<!-- End of content --> 1.317 +</div> 1.318 + 1.319 +<!-- Footer. --> 1.320 +<div id="footer"> 1.321 + <div class="footer-right"></div> 1.322 + <a href="#top">Haut de la page</a> | 1.323 + <a href="index.html">Table des matières</a> 1.324 +</div> 1.325 + 1.326 +<div id="copy"> 1.327 + Copyright © 2007 <a href="http://www.slitaz.org/">SliTaz</a> - 1.328 + <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br /> 1.329 + Documentation publiées sous 1.330 + <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a> 1.331 + et codée en <a href="http://validator.w3.org/">xHTML 1.0 valide</a>. 1.332 +</div> 1.333 + 1.334 +</body> 1.335 +</html>