La Gazette du Técleux - 1er avril 2008

 

Un mois d'activité Tcl en Francophonie.


Citations du Mois

 Non, ce n'etait pas un bug, c'etait un feature ...
 eTcl, la distribution qui vous empeche de vieillir.

Eric

(toutes les Citations du mois)


 Evénenement: La 7ième Conférence Européenne des Utilisateurs de Tcl/Tk se tiendra
 à Strasbourg du 6 au 7 juin 2008.
 Toutes les informations pratiques sont sur  http://www.eurotcl.org/

L'activité sur le groupe fr.comp.lang.tcl


 . Un problème d'encodage qui a plusieurs solutions sachant que l'utilisation de
   msgcat pour localiser son application reste quand même une solution fiable.

 Unicode
 http://groups.google.fr/group/fr.comp.lang.tcl/browse_frm/thread/22ffd750327813df
 . Comment sauver le contenu d'un widget canvas ? Il existe un code déjà prêt pour
   "sérialiser" le contenu de ce widget. L'auteur de la question en fait usage dans
   son logiciel Amusart (http://newmagic.progs.googlepages.com/amusart).

 dump d'un canvas ?
 http://groups.google.fr/group/fr.comp.lang.tcl/browse_frm/thread/f6e2ef469378d07e
 . Attention si vous trouvez que le temps d'ouverture d'un socket est un peu long,
   ce n'est pas forcément du ressort de Tcl. Regardez plutôt du côté des diverses
   barrières virtuelles qui protègent votre PC.

 Chargement lors de l'ouverture d'un socket
 http://groups.google.fr/group/fr.comp.lang.tcl/browse_frm/thread/6d843e86e378de6e

L'activité sur le Wiki tcl francophone


 . Kroc nous propose SerPort Chat est un petit script bien pratique pour dialoguer
   avec un port série. Il a été testé sous Windows, Linux et Mac OS X avec des
   vrais ports série mais également avec des convertisseurs usb / série (du genre
   Prolific PL2303).

   SerPort Chat
   http://wfr.tcl.tk/1592
 . Pour envoyer un courriel, vous avez la possibilité d'utiliser le package SMTP
   ou alors de faire plus sobre en ouvrant un socket sur le port 25.

   Envoyer un courrier
   http://wfr.tcl.tk/720
 . Voici edx (pour eTclkit developper extension) qui est destiné à être le pendant
   de sdx mais pour eTcl au lieu de tclkit. Il vous permettra de wrapper des etclkit
   et des etclpack.

   edx
   http://wfr.tcl.tk/1593
 . Voici une application intéressante qui permet de récupérer des SMS à partir d'un
   modem USB 3G sous Linux. Par rapport au mois dernier, le code a évolué.
   Qui sait faire du bon vin sait écrire du bon code ;-)

   sms2unicode.tcl
   http://wfr.tcl.tk/1581

L'activité sur le groupe comp.lang.tcl


Un peu compliqué ce mois-ci de lire c.l.t entre les sacs Gucci et Vuiton ;-)

 . La compression de données permet de stocker beaucoup dans peu d'espace.
   Il semblerait que certains técleurs la pratique dans les files de discussion
   en évoquant plusieurs sujets à la fois. Cela commence par une question simple:
   comment gérer la compression gzip/zlib avec Tcl ? Et cela continue avec une
   discussion, au demeurant fort intéressante, sur les priorités des développements
   de Tcl-Tk.
   Sûrement le thread du mois ;-)

 gzip/zlib in tcl
 http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/2a9317f4aeb26920/
 . Quels sont les raisons et les avantages des commandes upvar et global.

 upvar vs fully qualified
 http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/b89c705621167ea4/
 . Un grand classique auquel chaque técleur a été confronté au moins une fois:
   comment rediriger la sortie d'un application dans un widget text.
   Donc du pipeline, du fileevent et du fconfigure.

 Putting output of a running command into a text widget on the fly
 http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/d2684f75b4243b80/
 . Quand on débute avec Tcl, il est important de lire le manuel car la richesse
   du langage réside dans les options des diverses commandes. Illustration simple,
   pourquoi vouloir utiliser la commande extérieure mkdir (création de répertoire
   sous DOS) alors qu'il suffit de faire "file mkdir ...." !

 problem with Dos mkdir
 http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/87a71954f5011651/
 . Quand on envisage d'utiliser un grande quantité de widgets (ici 400 checkbox)
   dans un canvas, cela demande un peu d'organisation pour le défilement.

 How to add a scrollbar to a 400 checkboxes???
 http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/fb0df7bcf3dacd7a/
 . Comment reproduire la fonction "chop" de Perl, qui enlève le dernier caractère
   d'une chaîne, avec Tcl ?

 tcl equivalent of perl "chop"
 http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/c4524124c7b7ef3b/
 . Vous voulez voir un atelier de travail sur l'amélioration de Tcl ? Alors lisez
   cette discussion sur la commande after. Arguments et code source à l'appuie.

 after ids
 http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/d406a9e139c9ee78/
 . Comment faire un outil de reconnaissance de chiffres. Après quelques explications
   sur la manière de procéder, on se rend compte que RS avait déjà fait une grande
   partie du travail :-)

 ISO an algorithm
 http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/eecaa86e9673bb7a/
 . A votre avis quel est le nombre maximum de menus utilisables sous Windows ?
   Il semble que cela soit un peu plus de 1000.

 wish application freezing windows when creating/destroying a large number of menus
 http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/acb726332cffa3b8/
 . Toujours dans les limites, faites attention quand vous utilisez des grands
   nombres hexadécimaux. Il y a à un moment ou un autre une limitation due à votre
   plate-forme.

 Problem using hexadecimal [format] on integers
 http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/7f2cd3adfed06e77/
 . Un intéressante discussion sur la manière de transmettre le contenu d'une variable
   d'une application Tcl à une autre permet de montrer le mécanisme de la gestion
   d'une licence logiciels.

 How to pass variables to another tcl script?
 http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/8ed80de24e2b2891/
 . Comment savoir si c'est l'interpréteur wish ou tclsh qui est en train de tourner ?
   On peut utiliser plusieurs solutions: package present, info nameofexecutable ou
   info commands winfo.

 Need to distinguish between if tcl or wish is running!!
 http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/a629fde57b40b50a/
 . Comment sérialiser une structure de données de type arbre pour le restituer plus
   tard ? On serait évidemment tenté d'utiliser une liste imbriquée. Cependant une
   solution à base de "tagged lists" (liste marquée ?) semble encore plus astucieuse.

 Tree as nested list
 http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/29ecbcda95dabcd2/
 . Un técleur fraichement débarqué propose de bannir toutes les extensions peu
   documentées de Tcl. Bon, c'est pas gagné d'avance :-)
   Dans cette discussion, on aura quand même appris que parmi les documentations,
   celle qui fait référence est écrite par Csaba Nemethi pour le package Tablelist
  (http://www.nemethi.de/tablelist/index.html).

 Documentation
 http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/b5d178c5b0325938/

L'activité sur le Wiki tcl international


 . Pour ceux qui conçoivent des jeux en Tcl-Tk, voici le package highscore qui
   gère le tableau d'honneur des meilleurs joueurs.

   High Score Package
   http://wiki.tcl.tk/21059
 . Keith Vetter vous propose un jeu appelé Tk Robots qui consiste à échapper à la
   poursuite de robots qui ne vous veulent pas que du bien.

   Tk Robots
   http://wiki.tcl.tk/21048
   Tk Robots 2
   http://wiki.tcl.tk/21060
 . Le projet NexTk pour une revitalisation de Tk poursuit ses progrès. Il utilise
   désormais OpenGL par défaut pour la couche de visualisation des widgets.

   NexTk
   http://wiki.tcl.tk/16320

Actualité des logiciels


   Sortie de Tcl-Tk 8.5.2. En dehors de corrections de bogues, cette release mineure
   apporte une nouvelle version du package http et une démo de plus pour Tk (Knight's tour).

   http://www.tcl.tk/software/tcltk/8.5.tml
   Voilà ! C'en est fini pour Tcl-Tk 8.4. C'est la dernière version de cette branche
   qui existait depuis septembre 2002.

   http://www.tcl.tk/software/tcltk/8.4.tml
   Tcl/Tk 8.4.19 RELEASED
   http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/5d929860e42e39ff/
   Sortie de eTcl 1.0-rc28.
   C'est une distribution de Tcl-Tk prête à l'emploi et sans installation
   pour les plates-formes MS Windows, linux-x86, linux-arm, linux-mipsel,
   linux-powerpc (incluant Linux sur Playstation 3), Windows Mobile (2003,
   2003SE, 5.0 et 6.0) pocketPC et smartphones et  Mac OS X.
   Parmi les nouveautés et améliorations: support de Tcl-Tk 8.5.2, VFS optimisé,
   de nouvelles commande pour Windows CE, mise à jour du package 3D Scene, de
   SQLite (3.5.7), de TLS (1.6) et de Pixane.

   http://www.evolane.com/software/etcl/index.html
   Codex programmandi computatorii (Tool Command Language).
   WISH Superscriptorium 2008 est un programme d'aide à la version latine en anglais.
   Il dispose de fichiers grammaticaux et de vocabulaire. Il tient compte des
   déclinaisons et des inflexions.
   Cela permet de rappeler que Tcl-Tk est très prisé pour les outils linguistiques
   où la combinaison d'un langage de script et d'une interface graphique intégrée fait
   des merveilles.

   http://www.geocities.com/pa_mcclamrock/superscrip.html
   Voici la seconde version de TclOO. Ce package devrait, dans l'avenir, servir de
   socle pour les autres extensions orientées objets afin d'être intégré à Tcl-Tk 8.6.
   C'est encore expérimental.

   ANNOUNCE: TclOO 0.2 Released
   http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/19c6d459f916cc38/
   TclRAL (Tcl Relational ALgebra) est une librairie écrite en C pour Tcl afin de
   manipuler l'algèbre relationelle. Il s'agit du concept mathématique utilisé pour
   gérer les données par exemple dans les Systèmes de Bases de Données. On peut donc
   appliquer les différentes opérations ensemblistes: union, intersection, différence,
   cardinalité, etc ....
   Des librairies précompilées pour Linux et Windows sont disponibles uniquement avec Tcl 8.5.

   http://tclral.sourceforge.net/
   FicEdit est un éditeur de texte écrit en tcl/tk et basé sur le widget text.
   Il sait ouvrir un fichier, annuler/refaire/enregistrer les modifications, etc ....
   Il propose également une coloration syntaxique selon l'extension du fichier et la
   liste des mots-clés associée (facilement modifiable) : c, cpp, css, html, java
   et tcl. Les options d'édition permettent d'annuler ou de rejouer les modifications,
   d'effectuer une recherche dans le texte (les occurences correspondantes seront alors
   surlignées), avec ou sans le respect de la casse. On peut aussi "Atteindre" un point
   précis du texte : début, fin, position du curseur ou même une ligne donnée. Un menu
   spécifique Code->Tcl permet d'ajouter rapidement du code Tcl au texte.
   Depuis la version 0.9, la coloration syntaxique s'effectue en temps réel (en cours
   de frappe) et l'indentation automatique est gérée.

   http://newmagic.progs.googlepages.com/ficedit
   Vous êtes un adepte du langage Forth (http://fr.wikipedia.org/wiki/Forth_%28langage%29)
   et de Tcl, alors HolonT est fait pour vous puisqu'il combine les deux sachant que le
   second a hérité de quelques particularités du premier. HolonT permet d'écrire un code
   en langage Forth et de l'exécuter dans un interpréteur Tcl.

   http://holonforth.com/new/tcl/holont.html
   http://wiki.tcl.tk/21022

Actualité des documents


 . Le site Ars Technica publie une interview de John K. Ousterhout en personne.
   Vous savez celui qui est à l'origine de Tcl-Tk et qui a fait partie des débuts
   de l'aventure de l'open-source :-)

   Open Source Decade: 10 years after the Free Software Summit
   http://arstechnica.com/articles/culture/free-software-summit-10th.ars/6
   Article: Ousterhout on open source, Tcl
   http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/e314095b62bd0941/
 . La 15ième Conférence Annuelle Tcl 2008 se profile déjà à l'horizon avec un appel
   à contribution. Elle aura lieu à Manassas (Etat de Virginie) du 20 au 24 octobre
   de cette année.

   15th Annual Tcl/Tk Conference
   http://www.tcl.tk/community/tcl2008/
   TCL 2008 First call for proposals/papers/participation
   http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/c6e1428efca84743/
 . Les projets retenus pour le Google Summer of Code 2008 dans la catégorie Tcl
   sont au nombre de 9. Vous noterez la présence salutaire d'un projet sur un
   support unifié de la gestion de l'impression.

   http://code.google.com/soc/2008/tcl/about.html
 . Dans cet article issu d'un blog, l'auteur nous raconte sa découverte de Tcl lors
   du déboguage d'une carte électronique. Il ne se contente pas de couvrir de louanges
   Tcl en disant que c'est simple, pratique et efficace. Il argumente son point de vue,
   avec ses mots à lui, en nous racontant tout une histoire. On en redemande :-)

   I can’t believe I’m praising Tcl
   http://www.yosefk.com/blog/i-cant-believe-im-praising-tcl.html
   Réactions sur Reddit
   http://reddit.com/r/programming/info/6gmgr/comments/
   Réactions sur comp.lang.tcl
   http://groups.google.fr/group/comp.lang.tcl/browse_frm/thread/dcaa71d52b9cef07/

Les références

    http://wfr.tcl.tk/fclt/
 ou
    http://groups.google.fr/group/fr.comp.lang.tcl/
    http://wfr.tcl.tk

En anglais (international) :

     http://groups.google.fr/group/comp.lang.tcl/
     http://wiki.tcl.tk