Développement

À propos du dévelopement

SliTaz fournit quelques outils de développement, conception de sites web, édition avancée de scripts, et de code source avec l'IDE 'geany'. Création d'interface graphique à vos scripts SHell avec 'dialog'.

Si vous cherchez des informations sur le développement de SliTaz, le cookbook (livre de cuisine) vous décrira toutes les étapes de construction du système. Sur le site web de SliTaz, la partie devel vous donnera des informations générales au sujet des développeurs et des possibilités de participation.

Scripts SHell

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 Geany. Les scripts SHell permettent de faire énomérement 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 utilisée.

Créer un script SHell

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 appelent /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'outils chmod. Pour créer un script.sh et le rendre exécutable :

 $ touch script.sh
 $ chmod +x script.sh

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 l'IDE Geany sur le fichier :

 $ nano script.sh
 Ou :
 $ geany script.sh &

Voici un µscript qui contient une variable NAME et qui en affiche la valeur avec la commande echo :

#!/bin/sh

NAME="kayam"

echo "$NAME est sympa."

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 :

 $ ./script.sh

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.

Dialog

Dialog permet de créer des interfaces graphique basées sur la console, telles que 'tazkmap'. 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 :

 $ dialog --title "Hello $USER" \
   --msgbox "Message propulsé par dialog." 5 54

Vous trouverez pleins d'exemples de scripts dans le répertoire /sample des sources de dialog, que vous pouvez télécharger depuis: invisible-island.net/dialog/dialog.html. Download des sources avec 'wget' et décompression :

 $ wget ftp://invisible-island.net/dialog/dialog.tar.gz
 $ tar xzf dialog.tar.gz

Geany IDE

Geany est un IDE ou Environnement de Dévelopement Intégré, il est simple, léger, et rapide, proposant la coloration syntaxique, les onglets, pliage/dépliage du code, la complétion automatique, de l'aide à l'écriture. Vous avez une liste des symboles, fonctions, méthodes, variables très utiles, avec une petite flèche de signalisation. Et encore, sélecteur de couleurs intégré, fenêtre de messages, lancement du script courant via le bouton Exécuter, etc. C'est avec lui que nous avons créé cette page, la documentation, et presque tout le site web (un peu avec Nano aussi).

Lancer Geany

Vous trouverez Geany dans le menu de JWM --> Development --> Geany. Un fois lancé pour la première fois, vous pouvez ajuster vos préférences via --> Editer --> Préférences. Vous pouvez aussi lancer Geany via un terminal X et la commande :

 $ geany &

Note : Lors de la compilation des sources, le scripts ./configure propose l'option : --enable-the-force... Que l'on peut utiliser si l'on penser avoir la force et être Luc Skywalker!

Perl ou Microperl - Coder/utiliser des scripts Perl

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 toutes 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 :

 # tazpkg install perl
 Ou :
 # tazpkg install microperl

Hello world!

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 l'IDE Geany. 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 :

 $ touch hello.pl
 $ chmod +x hello.pl
 $ geany hello.pl &

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 :

#!/usr/bin/perl
#

print "Hello World!\n";

Pour exécuter et tester le script :

 $ ./hello.pl

Scripts CGI et Perl

Les scripts CGI ont pour but d'afficher des pages web générées dynamiquement. Le langage Perl assoicié 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é en Perl. A noter que par défaut vous pouvez utiliser des scripts SHell (.sh) et les placer dans /cgi-bin/).

Une fois le server 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 :

#!/usr/bin/perl
#
print "content-type : text/html\n\n";

print "Hello World!\n";

Python

Le langage de programmation Python est disponible sous forme de paquet facilement installable. Un 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 fourni une interface Web CGI/Python, c'est une solution adaptée à la production, robuste et fiable. Pour installer le paquet python avec Tazpkg :

 # tazpkg get-install python

Ruby

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 fourni aussi un gestionnaire de paquet nommé gem et un framework pour créer des applications Web nommé rails. Pour installer Ruby sur SliTaz:

 $ tazpkg get-install ruby

Le site oficell fourni toute la documentation utile à l'apprentissage du langage facilement et efficacement: www.ruby-lang.org

Toolchain - Bibliothèques, compilateur C et outils associés

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 :

 # tazpkg get-install slitaz-toolchain

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 disponnible 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 :

 $ tazpkg search pkg-config

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 :

 $ tazpkg search ncurses
Copyright © SliTaz - GNU General Public License;
Documentation publiées sous GNU Free Documentation License et codée en xHTML 1.0 valide.