website view doc/handbook/development.html @ rev 259

receipts: add tazwok generated variables
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Jan 25 11:45:39 2009 +0000 (2009-01-25)
parents
children a33277122930
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 Handbook - Developpement</title>
6 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
7 <meta name="description" content="developpement sur Slitaz Geany scripts dialog toolchain gcc make" />
8 <meta name="expires" content="never" />
9 <meta name="modified" content="2007-12-03 12:30:00" />
10 <meta name="publisher" content="www.slitaz.org" />
11 <meta name="author" content="Christophe Lincoln"/>
12 <link rel="shortcut icon" href="favicon.ico" />
13 <link rel="stylesheet" type="text/css" href="book.css" />
14 </head>
15 <body bgcolor="#ffffff">
17 <!-- Header and quick navigation -->
18 <div id="header">
19 <div align="right" id="quicknav">
20 <a name="top"></a>
21 <a href="secure-shell.html">SHell sécurisé</a> |
22 <a href="index.html">Table des matières</a>
23 </div>
24 <h1><font color="#3E1220">SliTaz Handbook</font></h1>
25 </div>
27 <!-- Content. -->
28 <div id="content">
29 <div class="content-right"></div>
31 <h2><font color="#DF8F06">Développement</font></h2>
33 <ul>
34 <li><a href="#about">&Agrave; propos du développement</a> - Sur SliTaz
35 et de SliTaz.</li>
36 <li><a href="#shell-scripts">Scripts SHell</a> - #!/bin/sh</li>
37 <li><a href="#dialog">Dialog</a> - Création d'interface graphique
38 basée sur la console.</li>
39 <li><a href="#geany">Geany</a> - IDE ou Environnement de Développement
40 Intégré.</li>
41 <li><a href="#perl">Perl ou Microperl</a> - Coder et utiliser des scripts
42 Perl et/ou CGI propulsés par microperl.</li>
43 <li><a href="#python">Python</a> - Le langage Python</li>
44 <li><a href="#toolchain">Toolchain</a> - Bibliothèques, compilateur C
45 et outils associés.</li>
46 </ul>
48 <a name="about"></a>
49 <h3><font color="#6c0023">&Agrave; propos du dévelopement</font></h3>
50 <p>
51 SliTaz fournit quelques outils de développement, conception de sites web,
52 édition avancée de scripts, et de code source avec l'IDE 'geany'. Création
53 d'interface graphique à vos scripts SHell avec 'dialog'.
54 </p>
55 <p>
56 Si vous cherchez des informations sur le développement de SliTaz,
57 le <a href="http://www.slitaz.org/doc/cookbook/">cookbook</a> (livre de
58 cuisine) vous décrira toutes les étapes de construction du système. Sur le
59 site web de SliTaz, la partie <a href="http://www.slitaz.org/devel/">devel</a>
60 vous donnera des informations générales au sujet des développeurs et des
61 possibilités de participation.
62 </p>
63 <a name="shell-scripts"></a>
64 <h3><font color="#6c0023">Scripts SHell</font></h3>
65 <p>
66 L'écriture de scripts SHell est la manière la plus simple pour commencer à
67 coder, ils permettent d'avoir rapidement un résultat et les seuls prérequis
68 sont de savoir ouvrir un terminal et utiliser un éditeur de texte tels
69 que Nano, LeafPad ou Geany. Les scripts SHell permettent de faire énomérement
70 de choses sur un système GNU/Linux, initialiser le système, faire des
71 sauvegardes, exécuter des tâches répétitives, afficher des informations sur
72 l'état du système, créer ou modifier des fichier, etc. Dans un script SHell,
73 vous pouvez aussi utiliser des variables, des fonctions ou encore des appels
74 pour inclure un fichier. A noter que vous pouvez nommer vos scripts comme bon
75 vous semble et que l'utilisation de l'extension <code>.sh</code> est largement
76 utilisée.
77 </p>
78 <h4>Créer un script SHell</h4>
79 <p>
80 Avant de commencer un nouveau script SHell, vous devez faire attention
81 à l'interprétateur utilisé. La plus part du temps les scripts SHell
82 utilisent <code>/bin/sh</code>, cela permet d'être plus portable.
83 Il y a aussi des scripts qui appelent <code>/bin/bash</code>, mais cela
84 implique que Bash soit installé sur le système. Pour qu'un script SHell
85 fonctionne il doit être exécutable par l'utilisateur courant, le changement
86 des permissions sur un fichier peut se faire en ligne de commande via
87 l'outils <code>chmod</code>. Pour créer un <code>script.sh</code> et le
88 rendre exécutable :
89 </p>
90 <pre>
91 $ touch script.sh
92 $ chmod +x script.sh
93 </pre>
94 <p>
95 Maintenant que vous avez un nouveau fichier exécutable, vous allez pouvoir
96 l'éditer. Vous pouvez continuer en restant dans le terminal et en utilisant
97 l'éditeur Nano (Ctrl+X pour enregistrer) ou en ouvrant l'IDE Geany sur le
98 fichier :
99 </p>
100 <pre>
101 $ nano script.sh
102 Ou :
103 $ geany script.sh &amp;
104 </pre>
105 <p>
106 Voici un &micro;script qui contient une variable <code>NAME</code> et qui en
107 affiche la valeur avec la commande <code>echo</code> :
108 </p>
109 <pre class="script">
110 #!/bin/sh
112 NAME="kayam"
114 echo "$NAME est sympa."
116 </pre>
117 <p>
118 Une fois que vous avez créé/modifié votre <code>script.sh</code>, il suffit
119 d'enregistrer et d'exécuter le script pour voir le résultat :
120 </p>
121 <pre>
122 $ ./script.sh
123 </pre>
124 <p>
125 Voilà pour cette brève introduction au scripts SHell. Pour aller plus loin, le
126 web regorge d'informations à ce sujet et regarder ce qu'on fait les autres
127 peut aussi aider.
128 </p>
129 <a name="dialog"></a>
130 <h3><font color="#6c0023">Dialog</font></h3>
131 <p>
132 Dialog permet de créer des interfaces graphique basées sur la console, telles
133 que 'tazkmap'. Le fichier de configuration de dialog est /etc/dialogrc, et/ou
134 ~/.dialogrc pour chaque utilisateur. Voici un simple exemple d'utilisation de
135 dialog via une console ou un terminal :
136 </p>
137 <pre>
138 $ dialog --title "Hello $USER" \
139 --msgbox "Message propulsé par dialog." 5 54
140 </pre>
141 <p>
142 Vous trouverez pleins d'exemples de scripts dans le répertoire /sample des
143 sources de dialog, que vous pouvez télécharger depuis:
144 <a href="http://invisible-island.net/dialog/dialog.html"
145 >invisible-island.net/dialog/dialog.html</a>. Download des sources avec
146 'wget' et décompression :
147 </p>
148 <pre>
149 $ wget ftp://invisible-island.net/dialog/dialog.tar.gz
150 $ tar xzf dialog.tar.gz
151 </pre>
152 <a name="geany"></a>
153 <h3><font color="#6c0023">Geany IDE</font></h3>
154 <p>
155 Geany est un IDE ou Environnement de Dévelopement Intégré, il est simple,
156 léger, et rapide, proposant la coloration syntaxique, les onglets,
157 pliage/dépliage du code, la complétion automatique, de l'aide à l'écriture.
158 Vous avez une liste des symboles, fonctions, méthodes, variables très utiles,
159 avec une petite flèche de signalisation. Et encore, sélecteur de couleurs
160 intégré, fenêtre de messages, lancement du script courant via le bouton
161 Exécuter, etc. C'est avec lui que nous avons créé cette page,
162 la documentation, et presque tout le site web (un peu avec Nano aussi).
163 </p>
164 <h4>Lancer Geany</h4>
165 <p>
166 Vous trouverez Geany dans le menu de JWM --&gt; Development --&gt; Geany.
167 Un fois lancé pour la première fois, vous pouvez ajuster vos préférences
168 via --&gt; Editer --&gt; Préférences. Vous pouvez aussi lancer Geany via un
169 terminal X et la commande :
170 </p>
171 <pre>
172 $ geany &amp;
173 </pre>
174 <p>
175 Note : Lors de la compilation des sources, le scripts <code>./configure</code>
176 propose l'option : <code>--enable-the-force</code>... Que l'on peut utiliser
177 si l'on penser avoir la force et être Luc Skywalker!
178 </p>
179 <a name="perl"></a>
180 <h3><font color="#6c0023">Perl ou Microperl - Coder/utiliser des scripts Perl</font></h3>
181 <p>
182 Sur SliTaz vous pouvez coder et utiliser le puissant langage de scripts Perl
183 via le binaire <code>perl</code> ou <code>microperl</code>. Microperl est une
184 version très allégée de Perl compilée à partir des sources officielles de Perl,
185 les scripts fonctionnant avec microperl sont complètement compatible avec la
186 version complète de Perl. C'est justement une des forces de Perl, il est portable
187 et fonctionne sur toutes les systèmes d'exploitations. Perl est un langage
188 interprété cela veut dire que le code n'a pas besoin d'être compilé et qu'il
189 peut être utilisé directement. A noter que sur SliTaz, <code>perl</code>
190 et/ou <code>microperl</code> se sont pas installé par défaut sur le LiveCD, vous
191 pouvez soit reconstruire votre propore ISO en incluant Perl ou installer via
192 le gestionnaire de paquets. A noter que le paquet Microperl fait mois d'1 Mb
193 et ne fournit aucun modules, juste le minimum :
194 </p>
195 <pre>
196 # tazpkg install perl
197 Ou :
198 # tazpkg install microperl
199 </pre>
201 <h4>Hello world!</h4>
202 <p>
203 Le but de ce &micro;script est d'afficher <em>Hello World</em>. Vous pouvez
204 commencer par créer le fichier et le rendre exécutable depuis la ligne de
205 commandes et l'éditer ensuite graphiquement avec l'IDE Geany. A noter que nous
206 nommons le scripts <code>hello.pl</code> mais que vous pouvez nommer un
207 script Perl comme bon vous semble, avec ou sans l'extension <code>.pl</code> :
208 </p>
209 <pre>
210 $ touch hello.pl
211 $ chmod +x hello.pl
212 $ geany hello.pl &amp;
213 </pre>
214 <p>
215 La première ligne d'un scripts Perl commence par définir le chemin vers
216 l'interprétateur Perl, généralement <code>/usr/bin/perl</code> et pour
217 afficher du texte il suffit d'utiliser la commande <code>print</code>.
218 Code à copier/coller. A noter que le langage Perl est sensible à la casse et
219 qu'une instruction devrait toujours se terminer par un point-virgule :
220 </p>
221 <pre class="script">
222 #!/usr/bin/perl
223 #
225 print "Hello World!\n";
227 </pre>
228 <p>
229 Pour exécuter et tester le script :
230 </p>
231 <pre>
232 $ ./hello.pl
233 </pre>
235 <h4>Scripts CGI et Perl</h4>
236 <p>
237 Les scripts CGI ont pour but d'afficher des pages web générées dynamiquement.
238 Le langage Perl assoicié au serveur web LightTPD vous permet d'utiliser
239 des scripts CGI via votre espace public ou via des hôtes virtuels. Perl est
240 tout à fait adapté au web 2.0 et permet de générer rapidement des pages xHTML.
241 Sur Slitaz, vous devez avoir installé Perl ou Microperl et
242 <a href="web-server.html#cgi-perl">configuré le serveur Web LightTPD</a> avant
243 de pouvoir utiliser des scripts CGI codé en Perl. A noter que par défaut vous
244 pouvez utiliser des scripts SHell (.sh) et les placer dans /cgi-bin/).
245 </p>
246 <p>
247 Une fois le server bien configuré, vous pouvez directement placer des scripts
248 CGI dans votre répertoire <code>$HOME/Public/cgi-bin</code> en utilisant
249 l'extension <code>.pl</code> ou <code>.cgi</code> et les visualiser en local
250 ou à distance. Exemple de script CGI utilisant Perl :
251 </p>
252 <pre class="script">
253 #!/usr/bin/perl
254 #
255 print "content-type : text/html\n\n";
257 print "Hello World!\n";
259 </pre>
261 <a name="python"></a>
262 <h3><font color="#6c0023">Python</font></h3>
263 <p>
264 Le langage de programmation Python est disponible sous forme de paquet
265 facilement installable. Un fois Python installé vous pouvez créer vos propre
266 scripts/programmes et utiliser des applications CGI via le serveur Web LightTPD
267 en prenant soin de <a href="web-server.html#cgi-python">configurer le serveur</a>
268 correctement. A noter que le dépôt Mercurial officiel de SliTaz fourni une
269 interface Web CGI/Python, c'est une solution adaptée à la production, robuste
270 et fiable. Pour installer le paquet <code>python</code> avec Tazpkg :
271 </p>
272 <pre>
273 # tazpkg get-install python
274 </pre>
276 <a name="toolchain"></a>
277 <h3><font color="#6c0023">Toolchain - Bibliothèques, compilateur C et outils associés</font></h3>
278 <p>
279 Pour compiler des logiciels depuis les sources ou son propre code, vous avez
280 au minimum, besoin de la chaîne d'outils de base (<em>toolchain</em>),
281 composée des outils Binutils, de la bibliothèque Glibc , du compilateur
282 GCC, des <em>headers</em> du noyau et de l'utilitaire Make. Cette chaîne
283 d'outils peut être installée via le gestionnaire de paquets Tazpkg et une
284 seule commande. A noter que cette <em>toolchain</em> est utilisée par les
285 développeurs de SliTaz pour compiler le système entier depuis les sources.
286 Pour installer les paquets via l'installation d'un meta paquet créant les
287 dépendances qu'il faut :
288 </p>
289 <pre>
290 # tazpkg get-install slitaz-toolchain
291 </pre>
292 <p>
293 L'installation de la toolchain permet de compiler beaucoup d'applications
294 de base et en mode texte. A noter que beaucoup de paquets compileront sans
295 problème en utilisant le SHell Ash de Busybox, mais d'autres paquets ne
296 compileront pas sans Bash. GNU bash est disponnible sous forme de paquet
297 ainsi que divers outils de développement de base tels que Flex, M4, Bison,
298 ou encore Pkg-config. Si vous cherchez pkg-config par exemple :
299 </p>
300 <pre>
301 $ tazpkg search pkg-config
302 </pre>
303 <p>
304 Si vous désirez compiler des applications utilsant les bibliothèques Ncurses,
305 vous devez installer le paquet <code>ncurses-dev</code> complet (par défaut
306 il n'y a que le paquet minimum installé). A noter que le paquet ncurses fournit
307 aussi divers petits programmes tels que <code>tic</code> ou <code>tack</code> :
308 </p>
309 <pre>
310 $ tazpkg search ncurses
311 </pre>
313 <!-- End of content -->
314 </div>
316 <!-- Footer. -->
317 <div id="footer">
318 <div class="footer-right"></div>
319 <a href="#top">Haut de la page</a> |
320 <a href="index.html">Table des matières</a>
321 </div>
323 <div id="copy">
324 Copyright © 2007 <a href="http://www.slitaz.org/">SliTaz</a> -
325 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
326 Documentation publiées sous
327 <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
328 et codée en <a href="http://validator.w3.org/">xHTML 1.0 valide</a>.
329 </div>
331 </body>
332 </html>