Page suivante - Page précédente - Table des matières

3. Qu'est-ce que Tcl/Tk ?

3.1 Qu'est-ce que Tcl ?

Tcl (prononcer « tickeul ») est l'acronyme de "Tool Command Language" (langage de commandes-outils). Tcl est en fait divisé en deux parties : un langage et une bibliothèque.

Tcl est un langage de programmation simple, dont le but est de passer des commandes à des programmes interactifs tels que des éditeurs de texte, des débogueurs et des interpréteurs shell. Il possède une syntaxe simple et il est lui-même programmable : les utilisateurs de Tcl peuvent en effet écrire des procédures pour créer des commandes plus puissantes que celles que fournies par l'ensemble pré-construit.

D'autre part, Tcl est un paquetage bibliothèque intégrable dans des applications. La bibliothèque Tcl est constituée d'un analyseur syntaxique du langage Tcl, de routines implémentant les commandes pré-définies de Tcl, et de procédures permettant à chaque application d'ajouter à Tcl des commandes additionnelles qui lui sont spécifiques. Le programme applicatif génère des commandes Tcl et les passe à l'analyseur syntaxique de Tcl pour l'exécution.

Les commandes peuvent être générées en lisant des caractères sur une source en entrée ou bien en associant des chaînes de caractères avec des éléments de l'interface utilisateur de l'application, comme des boutons, des entrées de menus, ou d'autres widgets (NdT : widget = Window Gadget, élément de fenêtre). Lorsque la bibliothèque Tcl reçoit une commande, elle analyse les champs qui la composent et exécute directement les commandes pré-définies.

Pour les commandes implémentées par l'application, Tcl rappelle l'application pour exécuter les commandes. Dans bien des cas, les commandes lanceront des appels récursifs à l'interpréteur Tcl en passant des chaînes optionnelles à exécuter (en fait les procédures et commandes de bouclage conditionnel fonctionnent toutes de cette manière). Un programme d'application peut tirer de nombreux avantages de l'utilisation de Tcl comme langage de commande :

  • Tcl fournit une syntaxe standard : une fois que les utilisateurs connaissent Tcl, ils seront capables de passer facilement des commandes à n'importe quelle application basée sur Tcl.
  • Tcl parvient à une bonne « programmabilité ». Tout ce qu'une application nécessite est l'implémentation de quelques commandes spécifiques de bas niveau. Tcl fournit de nombreuses commandes utilitaires et une interface générique de programmation pour construire des procédures de commande complexes. En utilisant Tcl, les applications ne nécessitent pas de réimplémentation de ces caractéristiques.
  • Les extensions à Tcl, telles que la boîte à outils Tk, fournissent des mécanismes pour la communication entre applications, en envoyant des commandes Tcl dans un sens et dans l'autre. La structure commune du langage Tcl rend plus aisée la communication entre applications.

Il est important de noter que Tcl a été conçu en pensant que le programmeur devrait en fait utiliser deux langages ou plus lorsqu'il construit un système logiciel de taille conséquente : un pour manipuler des structures de données internes complexes, et là où la performance est cruciale, et un autre, comme Tcl, pour écrire de très courts scripts qui assemblent les autres morceaux, en fournissant des possibilités d'extensions à l'utilisateur.

Pour celui qui écrit des scripts Tcl, la facilité d'apprentissage, de programmation et d'assemblage, sont plus importantes que les performances ou les possibilités de structures de données complexes et d'algorithmes.

Tcl a été construit pour être aisément inclus dans un langage de plus bas niveau lorsqu'on rencontre des tâches pour lesquelles un langage de plus bas niveau est plus adéquat. Ainsi, les fonctionnalités de base peuvent rester petites et chacun a seulement besoin d'ajouter les morceaux qu'il veut ou doit avoir.

Une réponse à la question « Qu'est-ce que Tcl ? raquo; se trouve à http://www.NeoSoft.com/tcl/whatistcl.html.

3.2 Qu'est-ce que Tk ?

Tk (prononcer "Tiii-kay") est une extension de Tcl qui apporte au programmeur une interface avec le système de fenêtrage X11. Il est à noter que Tk a été compilé avec succès sous X11 R4, X11 R5, X11 R6, ainsi que les environnements NeWS/X11 de Sun.

De nombreux utilisateurs rencontreront Tcl/Tk à travers la commande "wish". Wish est un shell de fenêtrage simple qui permet à l'utilisateur d'écrire des applications Tcl/Tk dans un environnement de prototypage.

Jusqu'à présent, Tcl/Tk ne supporte pas de fontes pour les langues japonaise, chinoise, coréenne,...

3.3 Extensions

Comme Tcl est facile à étendre, beaucoup essaient de partager des extensions, notamment le populaire itcl, [incr Tcl], ObjectTcl, TclX, Tix , et BLT.

Ces extensions nécessitent bien évidemment un interpréteur Tcl étendu. De plus, de nombreuses applications Tcl libres nécessitent une extension particulière de Tcl pour fonctionner.

Une des extensions les plus populaires est certainement Expect. Elle permet d'avoir une interface sympathique pour la plupart des commandes UNIX basiques en ligne, telles que ftp, telnet, rlogin, passwd, fsck, etc.

Une liste complète des extensions de Tcl/Tk peut être trouvée à l'URL http://www.scriptics.com/resource/software/extensions/.

3.4 Plates-formes supportées

Cette section contient des informations à propos de Tcl 8.0 et Tk 8.0, versions les plus récentes de Tcl/Tk. Elles sont sorties le 18 août 1998 et le patch le plus récent (8.0.3) date du 3 septembre 1998.

Quand vous télédéchargez Tcl et Tk, vous récupérez deux programmes, wish et tclsh, les bibliothèques supportant les scripts, et la documentation en ligne. Ces programmes supportent des plates-formes génériques de développement d'applications en Tcl. Wish inclut la boîte à outils pour interface graphique utilisateur Tk. Les paquetages sont prêts à être utilisés après l'installation.

Tcl 8.0 et Tk 8.0 fonctionnent sur la plupart des versions des systèmes d'exploitation suivants :

  • Windows 95
  • Windows NT
  • Solaris et SunOS
  • Linux
  • HP-UX
  • SGI
  • IRIX
  • Digital Unix
  • AIX
  • SCO Unix
  • La plupart des autres systèmes d'exploitation voisins d'UNIX pour Macintosh (68K et Power Mac)
  • Des versions pré-compilées sont disponibles pour diverses distributions de Linux.


Page suivante - Page précédente - Table des matières