Table of Contents
Développement
À propos du développement
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'.
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 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. À noter que vous pouvez nommer vos scripts comme bon vous semble et que l'utilisation de l'extension .sh est largement répandue.
Créer un script SHell
Avant de commencer un nouveau script SHell, vous devez faire attention à l'interprétateur utilisé. La plupart 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 :
$ 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 Beaver sur le fichier :
$ nano script.sh Ou : $ beaver 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'ont fait les autres peut aussi aider.
Dialog
Dialog permet de créer des interfaces graphiques 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 :
$ dialog --title "Bonjour $USER" \ --msgbox "Message propulsé par Dialog." 5 54
Vous trouverez de nombreux 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 :
$ wget ftp://invisible-island.net/dialog/dialog.tar.gz $ tar xzf dialog.tar.gz
Beaver
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. Une 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 :
$ beaver &
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 compatibles 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'exploitation. 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és par défaut sur le LiveCD, vous pouvez soit reconstruire votre propore ISO en incluant Perl ou installer via le gestionnaire de paquets. À noter que le paquet Microperl fait moins d'1 Mb et ne fournit aucun module, 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 Beaver. A noter que nous nommons le script 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 $ beaver hello.pl &
La première ligne d'un script 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 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 devrez avoir installé Perl ou Microperl et configuré le serveur Web LightTPD avant de pouvoir utiliser des scripts CGI codés en Perl. À noter que par défaut vous pouvez utiliser des scripts SHell (.sh) et les placer dans /cgi-bin/.
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 :
#!/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. Une fois Python installé, vous pouvez créer vos propres scripts/programmes et utiliser des applications CGI via le serveur Web LightTPD en prenant soin de configurer le serveur correctement. À 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 :
# 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 fournit 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
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. À 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. À 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 :
# 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é). À noter que le paquet ncurses fournit aussi divers petits programmes tels que tic ou tack :
$ tazpkg search ncurses
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.