Découvrir Tcl/Tk
par
popularité : 1%
Découvrir Tcl/Tk
Qu’est ce que << Tcl/Tk >> ?
Tcl est l’acronyme de Tool Command Language, et Tk une abréviation de Toolkit. À eux deux, ils constituent
un langage de programmation permettant la construction d’interfaces graphiques avec peu d’effort.
Concurrent direct de langages tels que Perl ou Python, Tcl/Tk n’a rien à leur envier. La simplicité du langage
et de sa syntaxe raviront les débutants, les nombreuses bibliothèques de fonctions combleront les
programmeurs plus expérimentés cherchant un outil simple et puissant. C’est aussi un langage orienté vers
l’Interne,t avec un plugin servant à faire tourner des applications sur votre navigateur et un langage orienté serveur. Ce dernier, à l’instar de php, permet d’élaborer des pages HTML dynamiques.
Bien sûr, Tcl/Tk est un langage interprété ("n’est qu’un" diront les mauvaises langues). Et certains diront qu’il
ne peut rivaliser avec la combinaison du langage C et d’une bibliothèque graphique comme gtk+. J’envisage le couple Tcl/Tk d’une toute autre manière :
je l’ai toujours vu comme une porte d’entrée vers la programmation informatique. Grâce à lui, on peut à partir de
rien et découvrir le B.A.-BA de la programmation. Il ravira les ultra-débutants en leur donnant les moyens de réaliser
en quelques lignes une application graphique.
Pour terminer, les programmeurs C pourront à leur guise embarquer un interpréteur Tcl dans leurs applications
pour éventuellement interfacer leur programme.
Évidemment Tcl/Tk est un langage libre (sous licence GPL modifiée).
Télécharger Tcl/Tk et l’installer
Les distributions GNU/Linux installent souvent par défaut le couple Tcl/Tk utilisé notamment pour l’interface
graphique de recompilation du noyau sous X. On préférera installer la distribution ActiveTcl plus complète et
intégrant de nombreuses bibliothèques.
On pourra, au choix, désinstaller les versions Tcl et Tk précédemment installées :
rpm -e tcl tk
(pour les utilisateurs des paquets rpm)
ou encore installer la distribution en doublon.
La distribution ActiveTcl est munie d’un script d’installation automatique.
Les interpréteurs
Tcl étant un langage interprété, c’est l’interpréteur tclsh qui fait tout. Si vous tapez tclsh
dans une console bash, vous accédez au mode interactif d’interprétation. Pour interpréter un programme, il
suffira de taper :
tclsh monprogramme.tcl
Tcl seul, ne contient pas la bibliothèque graphique, ainsi un deuxième interpréteur a été créé : wish.
Invoquer wish dans une console bash ouvre une session interactive avec l’interpréteur (comme tclsh) mais
crée une fenêtre mère appelée . que l’on peut manipuler à souhait avec les commandes idoines. Là encore,
un programme contenant des instructions graphiques sera interprété par :
wish monprogramme.tcl
Une revue très incomplète des principaux outils
La distribution ActiveTcl fournit l’application tkcon, il s’agit d’une console améliorée permettant
de tester les commandes du langage de manière interactive. Cette console est tout simplement
indispensable pour le débutant.
L’éditeur emacs offre un menu spécial permettant de tester les programmes et les deboguer. Ceux n’utilisant
pas cet outil choisiront sans doute editt. D’innombrables éditeurs plus ou moins spécialisés pour ce langage
existent.
Comme d’autres langages, Tcl/Tk possède un EDI ou Environnement de Développement Intégré, facilitant la manipulation graphique des widgets (abréviation
de "window gadget", c’est-à-dire toutes ces petites choses : bouton, étiquette de texte, zone de saisie, etc.). Il s’agit de vtcl. Je déconseille vivement au débutant cet outil qui comme nombre de ses confrères ajoute
beaucoup de lignes de code inutiles et souvent incompréhensibles pour le novice.
On peut transformer un script tcl en un auto-exécutable. Ce luxe est permis notamment grâce à l’utilitaire
freewrap. Celui-ci sert d’ailleurs à créer des exécutables windows sous Linux et vice-versa. Outil indispensable
pour porter son application sur une machine où l’interpréteur (le langage lui-même) n’est pas installé.
On trouvera aussi tuba, un dévermineur plus complexe d’approche et permettant de deboguer efficacement un programme.
Tous ces outils sont récupérables (ou au moins une documentation francophone) sur le portail francophone consacré à Tcl/Tk.
Un petit exemple
Voici une petite horloge commentée ligne par ligne
(toutes les lignes commençant par # sont des commentaires et seront ignorées par l’interpréteur) :
-------------------------------------------------------------------------
# définition de la procédure d'affichage de l'heure
proc ActualiseAffichage { } {
# on change l'heure de l'étiquette
.l configure -text [clock format [clock seconds] -format "%H:%M.%S"]
# on réitère la procédure 500ms = 0,5s plus tard
after 500 ActualiseAffichage
}
# création d'une étiquette de texte avec quelques attributs
label .l -width 8 -background white -font {Courier 32}
# positionnement de l'étiquette sur la fenêtre mère
pack .l
# la fenêtre mère ne sera pas redimensionnable
wm resizable . false false
# on pourra supprimer la fenêtre avec Control-q
bind . <Control-q> exit
# lancement de la procédure principale
ActualiseAffichage
-------------------------------------------------------------------------
Voilà, avouons que tout cela est fort simple !
On pourra tester notre horloge avec l’interpréteur wish, si on l’appelle
horloge.tcl, on invoquera :
wish horloge.tcl
On obtient alors la fenêtre suivante :
Bibliographie
" Précis et concis " ;
" Tcl/Tk : Apprentissage et référence ".
Lien interne
Le premier livre en français consacré à Tcl/Tk .
Netographie
la distribution ActiveTcl ;
le portail francophone ;
le site anglophone des développeurs ;
le wiki anglophone Tcl/Tk ;
un logiciel anglophone d’apprentissage du langage.
Commentaires