slitaz-doc-wiki-data view pages/fr/handbook/development.txt @ rev 4

Add pages/fr folder.
author Christopher Rogers <slaxemulator@gmail.com>
date Sat Feb 26 12:13:35 2011 +0000 (2011-02-26)
parents
children 7f77649ceb97
line source
1 ====== Développement ======
3 ===== À propos du développement =====
5 SliTaz fournit quelques outils de développement, conception de sites web, édition avancée de scripts, et de code source avec Beaver. Création d'interface graphique à vos scripts SHell avec 'dialog'.
7 Si vous cherchez des informations sur le développement de SliTaz, le [[fr:cookbook:start|cookbook]] (livre de cuisine) vous décrira toutes les étapes de construction du système. Sur le site web de SliTaz, la partie [[http://www.slitaz.org/fr/devel/|devel]] vous donnera des informations générales au sujet des développeurs et des possibilités de participation.
9 ===== Scripts SHell =====
11 L'écriture de scripts SHell est la manière la plus simple pour commencer à coder, ils permettent d'avoir rapidement un résultat et les seuls prérequis sont de savoir ouvrir un terminal et utiliser un éditeur de texte tels que Nano, LeafPad ou Beaver. Les scripts SHell permettent de faire énormément de choses sur un système GNU/Linux : initialiser le système, faire des sauvegardes, exécuter des tâches répétitives, afficher des informations sur l'état du système, créer ou modifier des fichier, etc. Dans un script SHell, vous pouvez aussi utiliser des variables, des fonctions ou encore des appels pour inclure un fichier. A noter que vous pouvez nommer vos scripts comme bon vous semble et que l'utilisation de l'extension //.sh// est largement répandue.
13 === Créer un script SHell ===
15 Avant de commencer un nouveau script SHell, vous devez faire attention à l'interprétateur utilisé. La plus part du temps les scripts SHell utilisent ''/bin/sh'', cela permet d'être plus portable. Il y a aussi des scripts qui appellent ''/bin/bash'', mais cela implique que Bash soit installé sur le système. Pour qu'un script SHell fonctionne il doit être exécutable par l'utilisateur courant, le changement des permissions sur un fichier peut se faire en ligne de commande via l'outil ''chmod''. Pour créer un //script.sh// et le rendre exécutable :
17 <code> $ touch script.sh
18 $ chmod +x script.sh
19 </code>
21 Maintenant que vous avez un nouveau fichier exécutable, vous allez pouvoir l'éditer. Vous pouvez continuer en restant dans le terminal et en utilisant l'éditeur Nano (Ctrl+X pour enregistrer) ou en ouvrant Beaver sur le fichier :
23 <code>
24 $ nano script.sh
25 Ou :
26 $ beaver script.sh &
27 </code>
29 Voici un script qui contient une variable ''NAME'' et qui en affiche la valeur avec la commande ''echo'' :
31 <code>
32 #!/bin/sh
34 NAME="kayam"
36 echo "$NAME est sympa."
37 </code>
39 Une fois que vous avez créé/modifié votre ''script.sh'', il suffit d'enregistrer et d'exécuter le script pour voir le résultat :
41 <code> $ ./script.sh </code>
43 Voilà pour cette brève introduction au scripts SHell. Pour aller plus loin, le web regorge d'informations à ce sujet et regarder ce qu'on fait les autres peut aussi aider.
45 ===== Dialog =====
47 Dialog permet de créer des interfaces graphique basées sur la console, telles que ''tazpkgbox''. Le fichier de configuration de dialog est ///etc/dialogrc//, et/ou //~/.dialogrc// pour chaque utilisateur. Voici un simple exemple d'utilisation de dialog via une console ou un terminal :
49 <code> $ dialog --title "Bonjour $USER" \
50 --msgbox "Message propulsé par Dialog." 5 54 </code>
52 Vous trouverez pleins d'exemples de scripts dans le répertoire ///sample// des sources de dialog, que vous pouvez télécharger depuis: http://invisible-island.net/dialog/dialog.html. Téléchargement des sources avec ''wget'' et décompression :
54 <code> $ wget ftp://invisible-island.net/dialog/dialog.tar.gz
55 $ tar xzf dialog.tar.gz
56 </code>
58 ===== Beaver =====
60 Beaver éditeur de code simple, léger, et rapide proposant la coloration syntaxique. Vous trouverez Beaver dans le menu -> Développement -> Éditeur de code Beaver. Un fois lancé pour la première fois, vous pouvez ajuster vos préférences via -> Editer -> Préférences. Vous pouvez aussi lancer Beaver via un terminal X et la commande :
62 <code> $ beaver & </code>
64 ===== Perl ou Microperl - Coder/utiliser des scripts Perl =====
66 Sur SliTaz vous pouvez coder et utiliser le puissant langage de scripts Perl via le binaire ''perl'' ou ''microperl''. Microperl est une version très allégée de Perl compilée à partir des sources officielles de Perl, les scripts fonctionnant avec microperl sont complètement compatible avec la version complète de Perl. C'est justement une des forces de Perl, il est portable et fonctionne sur tous les systèmes d'exploitations. Perl est un langage interprété cela veut dire que le code n'a pas besoin d'être compilé et qu'il peut être utilisé directement. A noter que sur SliTaz, ''perl'' et/ou ''microperl'' se sont pas installé par défaut sur le LiveCD, vous pouvez soit reconstruire votre propore ISO en incluant Perl ou installer via le gestionnaire de paquets. A noter que le paquet Microperl fait mois d'1 Mb et ne fournit aucun modules, juste le minimum :
68 <code>
69 # tazpkg install perl
70 Ou :
71 # tazpkg install microperl
72 </code>
74 === Hello world! ===
76 Le but de ce script est d'afficher //Hello World//. Vous pouvez commencer par créer le fichier et le rendre exécutable depuis la ligne de commandes et l'éditer ensuite graphiquement avec Beaver. A noter que nous nommons le scripts //hello.pl// mais que vous pouvez nommer un script Perl comme bon vous semble, avec ou sans l'extension //.pl// :
78 <code>
79 $ touch hello.pl
80 $ chmod +x hello.pl
81 $ beaver hello.pl &
82 </code>
84 La première ligne d'un scripts Perl commence par définir le chemin vers l'interprétateur Perl, généralement ''/usr/bin/perl'' et pour afficher du texte il suffit d'utiliser la commande ''print''. Code à copier/coller. A noter que le langage Perl est sensible à la casse et qu'une instruction devrait toujours se terminer par un point-virgule :
86 <code>
87 #!/usr/bin/perl
88 #
90 print "Hello World!\n";
92 </code>
93 Pour exécuter et tester le script :
95 <code> $ ./hello.pl </code>
97 === Scripts CGI et Perl ===
99 Les scripts CGI ont pour but d'afficher des pages web générées dynamiquement. Le langage Perl associé au serveur web LightTPD vous permet d'utiliser des scripts CGI via votre espace public ou via des hôtes virtuels. Perl est tout à fait adapté au web 2.0 et permet de générer rapidement des pages xHTML. Sur Slitaz, vous devez avoir installé Perl ou Microperl et configuré le serveur Web LightTPD avant de pouvoir utiliser des scripts CGI codés en Perl. A noter que par défaut vous pouvez utiliser des scripts SHell (.sh) et les placer dans /cgi-bin/.
101 Une fois le serveur bien configuré, vous pouvez directement placer des scripts CGI dans votre répertoire ''$HOME/Public/cgi-bin'' en utilisant l'extension //.pl// ou //.cgi// et les visualiser en local ou à distance. Exemple de script CGI utilisant Perl :
103 <code>
104 #!/usr/bin/perl
105 #
106 print "content-type : text/html\n\n";
108 print "Hello World!\n";
109 </code>
111 ===== Python =====
113 Le langage de programmation Python est disponible sous forme de paquet facilement installable. Une fois Python installé vous pouvez créer vos propre scripts/programmes et utiliser des applications CGI via le serveur Web LightTPD en prenant soin de configurer le serveur correctement. A noter que le dépôt Mercurial officiel de SliTaz fournit une interface Web CGI/Python. C'est une solution adaptée à la production, robuste et fiable. Pour installer le paquet python avec Tazpkg :
115 <code> # tazpkg get-install python </code>
117 ===== Ruby =====
119 Ruby est un langage de programmation interprété et orienté objet. Ruby est fourni avec irb, un interpréteur de commandes interactif pour tester en profondeur le fonctionnement du langage. Il existe même une version web d'irb pour tester Ruby dans un navigateur. Ruby fournit aussi un gestionnaire de paquet nommé //gem// et un //framework// pour créer des applications Web nommé //rails//. Pour installer Ruby sur SliTaz:
121 <code> # tazpkg get-install ruby </code>
123 ===== Toolchain - Bibliothèques, compilateur C et outils associés =====
125 Pour compiler des logiciels depuis les sources ou son propre code, vous avez au minimum, besoin de la chaîne d'outils de base (//toolchain//), composée des outils Binutils, de la bibliothèque Glibc , du compilateur GCC, des //headers// du noyau et de l'utilitaire Make. Cette chaîne d'outils peut être installée via le gestionnaire de paquets Tazpkg et une seule commande. A noter que cette //toolchain// est utilisée par les développeurs de SliTaz pour compiler le système entier depuis les sources. Pour installer les paquets via l'installation d'un meta paquet créant les dépendances qu'il faut :
127 <code> # tazpkg get-install slitaz-toolchain </code>
129 L'installation de la toolchain permet de compiler beaucoup d'applications de base et en mode texte. A noter que beaucoup de paquets compileront sans problème en utilisant le SHell Ash de Busybox, mais d'autres paquets ne compileront pas sans Bash. GNU bash est disponible sous forme de paquet ainsi que divers outils de développement de base tels que Flex, M4, Bison, ou encore Pkg-config. Si vous cherchez pkg-config par exemple :
131 <code> # tazpkg search pkg-config </code>
133 Si vous désirez compiler des applications utilsant les bibliothèques Ncurses, vous devez installer le paquet //ncurses-dev// complet (par défaut il n'y a que le paquet minimum installé). A noter que le paquet ncurses fournit aussi divers petits programmes tels que ''tic'' ou ''tack'' :
135 <code> $ tazpkg search ncurses </code>
137 Enfin, Slitaz supporte pleinement le format UTF-8 depuis la version 3.0. Une version de Ncurses avec le support de l'UTF-8 a été compilée sous le nom de ncursesw. Vous pouvez utiliser //ncursesw-dev// si vous souhaitez compiler des applications nécessitant à la fois ncurses et l'UTF-8.