![]() |
|
![]() |
Tcl/Tk en bref
Tcl (Tool Command Language, prononcez "tickeul") est un langage interprété,
disponible gratuitement (y compris si besoin les sources C) et qui fonctionne
sous de très nombreux systèmes d'exploitation : Linux©, Unix© bien sûr, mais aussi
Windows 95/98, NT, Mac/Os et même OS/400 . Tk (Toolkit, prononcez
"tikey") est l'extension de Tcl pour la gestion graphique.
Tcl et Tk ont été conçus vers 1988 par John
K. Ousterhout, de l'université de Berkeley et qui après avoir
travaillé chez Sun a créé sa startup : Scriptics est devenu ensuite Adjuba Solutions avant d'être racheté en octobre 2000 par
Interwoven. On espère cependant que Tcl continuera d'évoluer !
La dernière version de
Tcl est la 8.3.
Les avantages de Tcl/Tk sont très nombreux, en voici les principaux
:
A remarquer que bien qu'étant interprété, Tcl est plutôt rapide, car depuis la version 8.0, il intègre un compilateur "à la volée".
Les livres consacré à Tcl/Tk sont essentiellement en langue anglaise : on peut citer notamment
"Practical Programming in Tcl and Tk" (effectivement très pratique
et très à jour) par Brent B. Welch (sa page perso avec des extraits
de la 3è édition de son bouquin) ou encore "Tcl and the Tk toolkit" de John
OUSTERHOUT lui-même (un peu ancien), respectivement
environ 45 Euros (ISBN 0-13-022028-0 PRENTICE HALL) et 48 Euros (ISBN 0-20-163337-X ADDISON WESLEY) chez
Le Monde en Tique (achat en ligne possible).
On trouve aussi (enfin !) quelques livres en français : aux éditions O'Reilly, "Tcl/Tk, précis et concis" (1ère édition, avril 2000 ISBN : 2-84177-106-7, 98 pages, 8 Euros) ou encore aux éditions Vuibert, "
TCL/TK Apprentissage et référence" (novembre 2002, ISBN : 2-7117-8679-X, 464 pages pour 42 Euros).
Egalement en français, le très intéressant livre "Programmation Linux" aux
éditions Eyrolles (Janvier 2000 ISBN : 2-212-09129-x, 50 Euros) qui consacre aussi un gros chapître d'initiation à Tcl/Tk
Il est bien sûr possible d'écrire directement du Tcl/Tk avec
n'importe quel éditeur de texte. Mais il existe aussi des éditeurs spécialisés Tcl très
intéressants : voir en particulier
Ased (écrit tout en Tcl !).
Enfin, pour les rébarbatifs au mode caractère ;-) il existe également des éditeurs graphiques
"à la Visual Basic" comme par exemple
le générateur de code "Visual Tcl" (écrit lui-même en
Tcl/Tk et donc utilisable sur tous les systèmes mentionnés
ci-dessus !). Avec Visual Tcl, on clique et on sélectionne sur les objets graphiques que l'on souhaite
mettre dans son programme et l'outil génère automatiquement le code source correspondant ! Visual Tcl peut relire
n'importe quel source Tcl/Tk et sait également générer des "applets" pour vos pages HTML.
Pour voir à quoi ressemble l'interface de Visual Tcl cliquer ici .
On pourra télécharger cet outil intéressant (et gratuit !) sur
http://vtcl.sourceforge.net/
Un exemple de programme ? En voici un petit de 4 lignes seulement ! :
Dont voici le résultat sur différents plates-formes
Etonnant non ? Et bien entendu ce code fonctionne sur tous les systèmes décrits ci-dessus !
Pour vous donnez encore une idée des multiples capacités
de Tcl/Tk, si vous téléchargez le "plugin tcl" pour
Netscape Communicator ou Internet Explorer sur http://dev.scriptics.com/software/plugin/download.html
vous pourrez ensuite jouer au jeu Tétris en cliquant ici
!
Convaincu ? Alors téléchargez la dernière version de Tcl/Tk pour votre ordinateur préféré...
Sous Windows
Sous Gnu/Linux avec KDE
Sous HP-UX avec CDE
Sous Mac (merci Gwen !)
Tcl Developer Site !
http://www.tcl.tk : Plein d'informations pour les programmeur et un petit cours d'initiation à Tcl/Tk en ligne.
Sur http://stage.caldera.com/Technology/tcl/Tcl.html
vous trouverez tout, tout, tout sur Tcl/Tk !
Un lien incontournable pour les francophones, Le Portail de Tcl/Tk francophone http://www.larochelle-innovation.com/tcltk/
Excellent : http://www.neosoft.com/tcl/resource-tree/
(Site FTP :
ftp://ftp.neosoft.com/pub/tcl/sorted)
Forum : news://fr.comp.lang.tcl
Avant de se lancer dans la réalisation de programmes avec tout plein de fenêtres ;-) il faut tout d'abord apprendre la syntaxe du langage Tcl (Tk n'est qu'un sur ensemble de fonctions supplémentaires pour le graphique). Vous allez voir que c'est plutôt simple : en fait dans Tcl tout est chaîne de caractères et toutes les fonctions sont bâties de la même façon :
Pour essayer les exemples qui suivent, il faut d'abord avoir télécharger puis installer Tcl sur votre ordinateur et votre OS préféré ! Puis vous pouvez lancer la commande tclsh. Sous Windows par exemple, cliquez sur tclshxx (xx étant le numéro de version, 82 pour la version 8.2) et vous verrez apparaître la console suivante dans une boîte DOS (taper exit pour sortir) :

Sous Unix ou Linux, seul l'affichage du signe % (pourcent) indique sur votre fenêtre terminal que vous êtes sous Tcl !
Après une phase d'apprentissage où il est intéressant de taper les commandes au fur et à mesure dans la console, vous pouvez
par la suite saisir vos programmes dans un éditeur de texte (notepad.exe sous Windows par exemple) puis de le lancer
(double-clic ou en tapant la commande source monpgm.tcl dans la console).
Sous Windows il est important que l'extension soit
bien ".tcl" afin que le lancement soit automatique via un double-clic. Sous Linux (ou Unix) il n'y a bien entendu pas ce problème. Par contre tclsh et wish sont parfois installés dans des répertoires qui changent selon les distributions (/opt ou /usr par exemple).
Afin de s'affranchir de ce petit problème, il est ainsi particulièrement intéressant de faire
commencer les scripts tcl ou tk par les lignes suivantes (l'exemple ci-dessous est valable pour wish, s'il s'agit d'un script
tcl il suffit de remplacer "wish" par "tclsh") :
#!/bin/sh
# lignes 2 et 3 sont des commentaires
pour tcl/tk mais ligne 3 est une commande pour le shell \
exec wish "$0" "$1" & exit 0
Arial">Voici donc quelques petits exemples à essayer :
Le programme Tcl qui suit permet d'afficher l'heure en cours. Il utilise 3 commandes Tcl : set, clock, et puts. La commande set permet d'affecter une valeur à une variable ( et du même coup de la déclarer !). La commande clock retourne l'heure en cours. La commande puts affiche le résultat à l'écran.
set secondes [clock seconds]
puts
"Il est actuellement [clock format $secondes]"
On pourra remarquer que le signe $ ne doit pas être utilisé lors de l'assignation d'une variable. On utilise le $ uniquement si l'on veut obtenir la valeur d'une variable. Cette variable secondes n'est d'ailleurs même pas obligatoire. On peut en effet obtenir le résultat attendu en une seule commande :
puts "Il est actuellement [clock format [clock seconds]]"
A noter que dans la console vous pouvez aussi taper directement une commande de votre OS préféré : essayez un petit dir sur win9x ou un petit ls sous Linux par exemple !
Par contre, si vous voulez essayer le petit programme graphique aperçu
plus haut, il faut lancer non pas tclsh mais... wish (qui est son pendant mais en mode graphique). Lorque vous appellerez wish,
2 fenêtres vont s'ouvrir : la première c'est la console (là ou vous tapez les commandes) et la seconde la fenêtre ou s'affiche
le résultat (si votre commande est valide ;-) Attention en particulier au . (point) et aux espaces !).
Toujours sous Windoze cela donne quelque chose comme ça :
Enfin, pour finir sur un exemple un peu plus conséquent, un petit utilitaire
de ma composition !
Console de commande

Fenêtre de résultat

pgftk : un Petit Gestionnaire de Fichier....
Pour continuer votre apprentissage... Quelques liens pratiques en français :
http://www.lisi.ensma.fr/members/grolleau/tcltk/
http://www.linuxfocus.org/Francais/September1999/article110.html
http://www-lipn.univ-paris13.fr/~hamon/SJ-TclTk/index.html
http://slwww.epfl.ch/SIC/SL/logiciels/TclTk/COURS/TclTk/TclTk_cours.html
(un cours un peu ancien mais intéressant).
Travaux pratiques (en anglais) : un programme très bien fait écrit lui-même tout en Tcl/Tk pour apprendre... Tcl/Tk :
http://www.msen.com/~clif/TclTutor.html. Pour voir un exemple d'une image écran de
TclTutor, cliquer ici.
| Claude Mahé - http://www.uppp.free.fr |