/usr/share/doc/HOWTO/fr-html/TclTk-HOWTO.html is in doc-linux-fr-html 2013.01-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.69">
<title>HOWTO Tcl et Tk sous Linux (Linux Tcl and Tk HOWTO)</title>
</head>
<body>
<h1>HOWTO Tcl et Tk sous Linux <em>(Linux Tcl and Tk
HOWTO)</em></h1>
<h2>Luca Rossetti <a href=
"mailto:lukaros@tin.it">lukaros@tin.it</a>, traduit par Carine
Bournez, <a href=
"mailto:cbournez@if.insa-lyon.fr">cbournez@if.insa-lyon.fr</a></h2>
v0.2, 07 November 1998
<hr>
<em>Ce document décrit l'approche de Linux à Tcl, un
langage de script. C'est un langage interprété,
facile à apprendre, qui utilise l'absence de typage pour
permettre un niveau de programmation plus élevé et le
développement rapide d'applications. La boîte à
outils Tk est un environnement de programmation pour créer
des interfaces graphiques (Graphical User Interfaces, GUI) sous le
système X-Window. Leurs fonctionnalités incluent la
possibilité d'extension et l'inclusion dans une autre
application, le développement rapide et la facilité
d'utilisation. Conjointement, Tcl et Tk apportent de grands
bénéfices à la fois au développeur et
à l'utilisateur. Les interfaces basées sur Tk ont
tendance à être plus personnalisables et dynamiques
que celles construites avec une boîte à outils
reposant sur du C ou C++. Tk reproduit l'allure et les sensations
de Motif. Un grand nombre d'applications intéressantes sous
X sont entièrement implémentées en Tk, sans
aucune nouvelle commande spécifique à l'application
elle-même.</em>
<hr>
<h2><a name="introduction"></a> <a name="s1">1.
Introduction</a></h2>
<p>Ceci est le Linux Tcl et Tk HOWTO. Il vise, en tant que
référence pour Linux, à couvrir tout ce qu'il
est nécessaire de connaître concernant l'installation,
la configuration, ainsi qu'une introduction au développement
sous Tcl et Tk. Il présente d'abord un historique, puis
aborde les avantages et inconvénients de Tcl et Tk sous
linux, et enfin des références à d'autres
sources d'information sur une large étendue de sujets
liés à ce langage de script simple mais puissant.</p>
<p>Si vous avez déjà recompilé votre noyau
Linux sous X en utilisant la commande</p>
<hr>
<pre>
make xconfig
</pre>
<hr>
<p>vous vous être certainement trouvé face à la
puissance de ce langage de script.</p>
<p>Après l'exécution de la première
étape de la recompilation du noyau, un script appelé
kconfig.tk est exécuté via wish
(l'interpréteur Tcl). La fenêtre de configuration du
noyau Linux apparaît. Au lieu de répondre à des
questions en série, cet utilitaire de configuration
basé sur X vous permet d'utiliser des cases à cocher
pour sélectionner les options du noyau que vous souhaitez
activer.</p>
<p>Le système conserve les options de votre dernière
configuration afin qu'à chaque nouvelle exécution
vous n'ayiez à ajouter/supprimer quelques sélections
au lieu de reprendre tout l'ensemble des options. De plus, vous
pouvez parcourir l'ensemble (ou seulement une partie) des options
du noyau dans l'ordre que vous préférez. Après
cette étape simplifiée, vous pouvez recompiler votre
noyau, en suivant la manière traditionnelle.</p>
<p>Il existe en fait un autre exemple bien connu. Avez-vous
déjà utilisé
« printtool » ? (Printer Config Tool (C)
Copyright 1994 by <a href="http://www.redhat.com">Red Hat
Software</a> - author: Michael Callahan). Si vous avez
installé une distribution Red Hat, vous avez
agréablement réussi à l'utiliser pour mettre
en place des services d'impression. Eh bien l'interface de
printtool est principalement un script Tcl/Tk.</p>
<p>Pour ceux qui ne connaissent pas Red Hat, laissez-moi vous dire
comment vous pouvez configurer facilement vos imprimantes, juste en
remplissant quelques champs de texte et en cochant quelques
cases.</p>
<p>Le programme lui-même se charge de mettre en place les
services en créant le répertoire de spool,
écrit le fichier /etc/printcap et le filtre de l'imprimante,
relance lpd et teste votre filtre avec des pages en ascii ou en
postscript. Il permet de manipuler les options de ghostscript
(c'est-à-dire choisir jusqu'à 8 pages par page en
sortie et régler les marges), propose une aide en ligne et
plein d'autres caractéristiques.</p>
<p>Quelle est la différence avec une autre
implémentation de service d'impression ?</p>
<p>Tout est réalisé en utilisant Tcl/Tk comme une
« colle » entre applications
consolidées et en opérant avec les fichiers de
configurations standards de Linux, dans un mode
fenêtré, visuel et interactif, sous X-Window. Aucune
nouvelle commande spécifique à l'application n'a
été écrite.</p>
<h2><a name="ss1.1">1.1 But de ce document</a></h2>
<p>Actuellement, le but de ce document est de fournir des
références de départ aux utilisateurs de Linux
; dans les versions futures, j'essaierai d'ajouter un petit
« tutoriel de programmation ».
J'insiste : ce n'est pas (et ne veut pas remplacer) un manuel
utilisateur complet ni une référence pour le
développement et la programmation en Tcl et Tk - c'est juste
un point de départ pour les utilisateurs de Linux.</p>
<p>La conception que l'auteur se fait d'un manuel de
référence coïncide avec la définition des
pages man et de nombreuses personnes apprennent Tcl/Tk à
partir de ces sources brutes d'information. Ces fichiers font
partie de la distribution du code source et sont installés
sur votre machine Linux. Vous pourrez accéder aux pages de
manuel de Tcl/Tk par la commande man.</p>
<p>Beaucoup de tutoriels de programmation complets et
structurés ont été écrits dans le but
de laisser l'utilisateur débutant trafiquer avec Tcl/Tk ;
des tonnes d'autres données sont disponibles sur Internet.
M'inspirant de la philosophie de Tcl/Tk, je ne vais pas
réinventer la roue, mais essayer de cimenter cette
énorme masse d'information déjà
disponible.</p>
<p>Je vous suggère de jeter un oeil aux autres documents
cités dans <a href="#references">la section
Références</a> pour savoir où trouver des
informations spécifiques à propos de Tcl/Tk.</p>
<h2><a name="ss1.2">1.2 Ce qu'il faut savoir avant de
poursuivre</a></h2>
<p>Pour comprendre le B.A.BA de Tcl/Tk, vous n'avez pas besoin
d'être un gourou de la programmation, la syntaxe des
commandes est très simple. Basiquement, vous avez besoin de
bien connaître :</p>
<ul>
<li>des concepts simples de programmation ;</li>
<li>l'utilisation de commandes et d'utilitaires très usuels
d'unix ;</li>
<li>l'accès à Internet ;</li>
<li>l'utilisation de ftp.</li>
</ul>
<h2><a name="ss1.3">1.3 Nouvelles versions de ce document</a></h2>
<p>Les versions plus récentes de ce document seront
téléchargées sur le site ftp : <a href=
"ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/">ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/</a>
et seront disponibles sur tous les autres miroirs.</p>
<p>Les versions hypertexte et autres de ceci, ainsi que les autres
HOWTOs de Linux sont principalement disponibles à <a href=
"http://sunsite.unc.edu/LDP/">http://sunsite.unc.edu/LDP/</a> et
<a href="http://www.linux-howto.com">http://www.linux-howto.com</a>
et sur beaucoup d'autres sites web miroirs.</p>
<p>(NDT : En France, vous pouvez utiliser le site suivant pour
le document original : <a href=
"ftp://ftp.lip6.fr/pub/linux/sunsite/docs/HOWTO/">Miroir de
Sunsite</a> ou, mieux, la version française :</p>
<p><a href="ftp://ftp.lip6.fr/pub/linux/french/HOWTO/">Archive des
HOWTO français sur LIP6</a></p>
<p><a href="http://www.freenix.org/unix/linux/HOWTO/">Archive des
HOWTO français chez Freenix</a>)</p>
<p>J'essaierai d'ajouter à <a href=
"http://space.tin.it/computer/tlqhr/">ma page Web</a> la version la
plus récente en html et en sgml. La plupart des
distributions de Linux sur CD-ROM incluent les HOWTOs, souvent dans
un sous-répertoire de /usr/doc/ et vous pouvez
également en acheter des copies imprimées chez
certains distributeurs.</p>
<p>Parfois, les HOWTOs disponibles sur les CD-ROMs, sites ftp ou en
copie imprimée ne sont plus d'actualité. Si la date y
figurant est dépassée de plus de 6 mois, il existe
probablement une version plus récente sur Internet.</p>
<p>Si vous faites une traduction de ce document dans une autre
langue, envoyez-moi un mot et j'en inclurai une
référence ici.</p>
<h2><a name="ss1.4">1.4 Historique des révisions</a></h2>
<ul>
<li><b>Version 0.1</b> : 28 Octobre 1998 - première
version ;</li>
<li><b>Version 0.2</b> : 07 Novembre 1998 - profonds
changements de style et rajeunissement.</li>
</ul>
<h2><a name="ss1.5">1.5 Retours et commentaires</a></h2>
<p>Je compte sur vous, lecteurs, pour rendre ce HOWTO utile. Si
vous avez des suggestions, corrections ou commentaires, s'il vous
plaît envoyez-les moi ( <a href="mailto:lukaros@tin.it">Luca
Rossetti</a>), et j'essaierai de les inclure dans la version
suivante.</p>
<p>Si des liens mentionnés dans ce document venaient
à être indisponibles ou déplacés, merci
de m'en informer tout de suite pour que je puisse mettre à
jour ou changer le lien.</p>
<p>J'ai la volonté de répondre aux questions d'ordre
général à propos de Tcl/Tk et de Linux du
mieux que je peux. Avant tout, lisez s'il vous plaît toutes
les informations contenues dans ce HOWTO, et envoyez-moi un message
détaillé sur le problème rencontré.</p>
<p>Si vous publiez ce document sur un CD-ROM ou sous forme papier,
j'apprécierais d'en avoir une copie. Envoyez-moi un e-mail
et je vous donnerai mon adresse postale.</p>
<p>Dans plusieurs sections je mentionne des sociétés
de publication ou des URLs de sites commerciaux. Je ne travaille
vraiment pas pour ces gens-là.</p>
<h2><a name="ss1.6">1.6 Crédits</a></h2>
<p>La plupart des informations de ce HOWTO proviennent du livre du
Dr. Ousterhout : <a href=
"http://www.scriptics.com">Scriptics</a> et de la <a href=
"http://www.tclfaq.wservice.com/tcl-faq/">FAQ de comp.lang.tcl</a>
de Larry W. Virden.</p>
<p>Je souhaiterais remercier le <a href=
"http://www.pluto.linux.it/">PLUTO</a>, Groupe Italien des
Utilisateurs de Linux, et l'ensemble des volontaires de l' <a href=
"http://www.pluto.linux.it/ildp/">ILDP</a> (Italian Linux
Documentation Project), spécialement Eugenia Franzoni et
Giovanni Bortolozzo pour leurs commentaires.</p>
<h2><a name="ss1.7">1.7 Politique de diffusion</a></h2>
<p>Ce document est Copyright 1998 par <a href=
"mailto:lukaros@tin.it">Luca Rossetti</a>.</p>
<p>Ce document est diffusé dans l'espoir qu'il soit utile au
lecteur : bien sûr il est considéré sans
garantie ; sans même la garantie sous-jacente de
commercialisabilité ou d'adéquation à un but
particulier. Ce HOWTO est une documentation libre ; vous
pouvez le redistribuer et/ou le modifier, selon les termes du
<a href="http://sunsite.unc.edu/LDP/LDP-COPYRIGHT.html">Copyright
LDP</a>. Veuillez lire le <a href=
"http://sunsite.unc.edu/LDP/LDP-Manifesto.html">Manifeste du
LDP</a> pour plus de détails.</p>
<h2><a name="s2">2. Histoire de Tcl/Tk</a></h2>
<p>Tcl/Tk a été créé par le <a href=
"mailto:ouster@scriptics.com">Dr. John Ousterhout</a> (prononcer
« Oh'-stir-howt ») alors qu'il enseignait
à l'université de Berkeley, en Californie. En fait,
il a commencé à l'implémenter à son
retour à Berkeley au printemps 1988 ; dès
l'été, il était utilisé dans quelques
applications internes, mais Tk n'existait pas encore. Lisez
l'histoire de Tcl/Tk écrite par son auteur à <a href=
"http://www.scriptics.com/scripting/tclHistory.html">http://www.scriptics.com/scripting/tclHistory.html</a>.</p>
<h2><a name="ss2.1">2.1 Chronologie</a></h2>
<ul>
<li><b>1989 :</b> premières diffusions externes de Tcl
et début de l'implémentation de Tk ;</li>
<li><b>1991 :</b> première version de Tk ;</li>
<li><b>1994 :</b> le Dr. Ousterhout est employé par Sun
Microsystems, Inc. : il se distingue comme ingénieur et
dirige le projet Tcl.</li>
<li><b>Avril/Mai 1997 :</b> Le groupe de recherche responsable
chez Sun du développement de Tcl est déplacé
dans une filiale de Sun appelée SunScript. Cependant les
choses ont changé à nouveau rapidement. Vous pouvez
lire les détails de cette évolution en choisissant
"SunScript_story" à l'URL : <a href=
"http://starbase.neosoft.com/%7Eclaird/comp.lang.tcl/">SunScript-Story</a> ;</li>
<li><b>Août 1997 :</b> un consortium Tcl est
créé. Vous pouvez en lire davantage, notamment
comment en faire partie, qui est actuellement dans le conseil
d'administration, etc. en visitant <a href=
"http://www.tclconsortium.org/">Tcl Consortium</a> ;</li>
<li><b>Février 1998 :</b> le Dr. Ousterhout quitte Sun
pour fonder <a href="http://www.scriptics.com/">Scriptics</a>, une
entreprise dédiée aux outils, applications et
services d'écriture de scripts. Selon <a href=
"%20http://www.scriptics.com/about/news/qa.html">http://www.scriptics.com/about/news/qa.html</a>,
le coeur de Tcl/Tk reste libre, avec l'équipe de Sun qui
continue actuellement son travail sur Tcl/Tk 8.1. Après la
prochaine version, il est prévu que ce travail sur la base
de Tcl/Tk migre de Sun à Scriptics, et que l'équipe
de Sun se concentre davantage sur les extensions et applications de
Tcl.</li>
<li><b>23 Avril 1998 :</b> L' <a href=
"http://www.acm.org/">ACM</a> (Association for Computing Machinery)
décerne le prix du logiciel 1997 (Software System Award)
à John Ousterhout et Scriptics ( <a href=
"http://www.acm.org/awards/">http://www.acm.org/awards/</a>). Cette
récompense est attribuée à une institution ou
une personne reconnue pour avoir développé un
logiciel qui a eu une influence durable, remarquée par des
contributions à des concepts ou par un plébiscite
commercial, ou les deux.</li>
</ul>
<h2><a name="s3">3. Qu'est-ce que Tcl/Tk ?</a></h2>
<h2><a name="ss3.1">3.1 Qu'est-ce que Tcl ?</a></h2>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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 :</p>
<ul>
<li>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.</li>
<li>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.</li>
<li>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.</li>
</ul>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>Une réponse à la question « Qu'est-ce
que Tcl ? raquo; se trouve à <a href=
"http://www.NeoSoft.com/tcl/whatistcl.html">http://www.NeoSoft.com/tcl/whatistcl.html</a>.</p>
<h2><a name="ss3.2">3.2 Qu'est-ce que Tk ?</a></h2>
<p>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.</p>
<p>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.</p>
<p>Jusqu'à présent, Tcl/Tk ne supporte pas de fontes
pour les langues japonaise, chinoise, coréenne,...</p>
<h2><a name="ss3.3">3.3 Extensions</a></h2>
<p>Comme Tcl est facile à étendre, beaucoup essaient
de partager des extensions, notamment le populaire itcl, <a href=
"http://www.tcltk.com/itcl/">[incr Tcl]</a>, ObjectTcl, TclX,
<a href="http://tix.mne.com/">Tix</a> , et <a href=
"http://www.tcltk.com/blt/">BLT</a>.</p>
<p>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.</p>
<p>Une des extensions les plus populaires est certainement <a href=
"http://expect.nist.gov">Expect</a>. Elle permet d'avoir une
interface sympathique pour la plupart des commandes UNIX basiques
en ligne, telles que ftp, telnet, rlogin, passwd, fsck, etc.</p>
<p>Une liste complète des extensions de Tcl/Tk peut
être trouvée à l'URL <a href=
"http://www.scriptics.com/resource/software/extensions/">http://www.scriptics.com/resource/software/extensions/</a>.</p>
<h2><a name="ss3.4">3.4 Plates-formes supportées</a></h2>
<p>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.</p>
<p>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.</p>
<p>Tcl 8.0 et Tk 8.0 fonctionnent sur la plupart des versions des
systèmes d'exploitation suivants :</p>
<ul>
<li>Windows 95</li>
<li>Windows NT</li>
<li>Solaris et SunOS</li>
<li>Linux</li>
<li>HP-UX</li>
<li>SGI</li>
<li>IRIX</li>
<li>Digital Unix</li>
<li>AIX</li>
<li>SCO Unix</li>
<li>La plupart des autres systèmes d'exploitation voisins
d'UNIX pour Macintosh (68K et Power Mac)</li>
<li>Des versions pré-compilées sont disponibles pour
diverses distributions de Linux.</li>
</ul>
<h2><a name="s4">4. Installation et prise en main de Tcl et
Tk</a></h2>
<p>Les distributions récentes incluent Tcl et Tk. Des
paquetages rpm et deb de binaires pré-compilés sont
disponibles pour les distributions Red Hat, SuSE et Debian (ce qui
facilite l'installation).</p>
<p>Une installation standard d'une distribution récente
inclura Tcl/Tk puisque c'est un prérequis de nombreux
utilitaires de configuration qui tournent principalement sous
X.</p>
<p>Tcl et Tk sont distribués librement sur Internet sous
forme de code source. Il n'y a pas de restrictions quant à
leur utilisation, ni de licence ou droits à payer (voir la
section <a href="#license">termes de la licence</a> pour
information complète).</p>
<p>Encore plus de scripts et d'extensions Tcl/Tk sont disponibles
librement également.</p>
<h2><a name="ss4.1">4.1 Télédéchargement des
distributions de base</a></h2>
<p>La base de Tcl/Tk se constitue des bibliothèques Tcl et
Tk, plus les applications wish et tclsh, la documentation
associée, des bibliothèques de scripts et des
applications de démonstration. Le site FTP primaire pour ces
données est <a href=
"ftp://ftp.scriptics.com/pub/tcl/">ftp://ftp.scriptics.com/pub/tcl/</a>.</p>
<p>Le site primaire en HTTP est <a href=
"http://www.scriptics.com/software/download.html">http://www.scriptics.com/software/download.html</a>.</p>
<h2><a name="ss4.2">4.2 Installation</a></h2>
<p>A moins qu'elle ne soit déjà disponible en
paquetages propriétaires pour votre distribution, vous
souhaiterez télédécharger le version code
source. Vous aurez besoin des sources de Tcl comme de Tk. La
procédure suivante se réfère à ce
second cas :</p>
<p>Choisissez entre le format tar et le format tar
gzippé.</p>
<p>Fichiers Tar compressés</p>
<p>Sources de Tcl (tcl8.0.3.tar.Z) : fichier tar
compressé (environ 2.4 Mo). Sources de Tk
(tk8.0.3.tar.Z) : fichier tar compressé (environ 3.3
Mo).</p>
<p>Fichiers Tar gzippés</p>
<p>Sources de Tcl (tcl8.0.3.tar.gz) : fichier tar
gzippé (environ 1.5 Mo). Sources de Tk
(tk8.0.3.tar.gz) : fichier tar gzippé (environ 2.1
Mo).</p>
<p>Quand vous récupérez ces fichiers, vous obtenez un
fichier compressé tar avec un nom comme tcl8.0.3.tar.gz ou
tcl8.0.3.tar.Z. Ces fichiers sont identiques, sauf par la technique
de compression (les fichiers .gz sont généralement
plus petits que les .Z).</p>
<p>Pour décompresser la distribution, lancez des commandes
shell comme celles-ci, selon la version que vous avez
récupérée :</p>
<hr>
<pre>
gunzip -c tcl8.0.3.tar.gz
</pre>
<hr>
ou
<hr>
<pre>
tar xf - zcat tcl8.0.3.tar.Z
</pre>
<hr>
ou
<hr>
<pre>
tar xf - unzip tcl80.3.zip
</pre>
<hr>
<p>Chacune de ces commandes crée un répertoire
appelé tcl8.0.3, qui contient les sources pour toutes les
plates-formes, la documentation, et les bibliothèques de
script pour Tcl 8.0. Pour compiler et installer la distribution,
suivez les instructions du fichier README dans le répertoire
de la distribution. Assurez-vous de compiler Tcl avant Tk, puisque
Tk dépend d'informations de Tcl.</p>
<h2><a name="ss4.3">4.3 L'archive de contributions</a></h2>
<p>Il existe beaucoup d'autres paquetages libres pour Tcl et Tk,
incluant des scripts écrits en Tcl et également des
extensions écrites en C ou C++. Ces paquetages comprennent
des applications de bases de données et d'accès
réseau, un constructeur d'interfaces graphiques utilisateur,
le programme expect, des widgets Tk supplémentaires, et des
dizaines d'autres choses.</p>
<p>Le site primaire pour l'archive Tcl/Tk est <a href=
"ftp://ftp.neosoft.com/pub/tcl">ftp://ftp.neosoft.com/pub/tcl</a>.</p>
<h2><a name="ss4.4">4.4 Sites miroirs</a></h2>
<p>Plusieurs autres sites dans le monde sont des miroirs de tout ou
partie des données du site de base et de l'archive de
contributions ; vous trouverez peut-être plus pratique
de prendre des données sur un miroir plus proche de
vous.</p>
<p>Le fichier ftp "0_mirror" à <a href=
"ftp://ftp.scriptics.com/pub/tcl/">ftp://ftp.scriptics.com/pub/tcl/</a>
donne une liste de miroirs dans votre pays.</p>
<h2><a name="ss4.5">4.5 Quelles versions utiliser ?</a></h2>
<p>Référez-vous toujours à la dernière
version recommandée dans la section « Tcl/Tk
Core » de <a href=
"http://www.scriptics.com/software/download.html">Scriptics
Software Central page</a>.</p>
<p>A l'heure où j'écris, les versions
recommandées sont les dernières (Tcl 8.0.3 et Tk
8.0.3), qui sont sorties en septembre 1998. Tcl 8.0 contient un
nouveau compilateur de pseudo-code qui accélère
l'exécution d'un facteur 2 à 10. Il fournit aussi des
contextes de dénomination (namespaces), des
entrées/sorties binaires et plusieurs nouvelles
caractéristiques.</p>
<p>Tk 8.0 est la première version qui fournit l'allure et
les impressions naturelles sur les Macintoshes et les PCs. Tk 8.0
supporte également l'encapsulation d'applications et propose
un nouveau mécanisme de fonte portable. Tcl 8.0 et Tk 8.0
offrent tous deux des fonctionnalités supplémentaires
au modèle de sécurité Safe-Tcl.</p>
<h2><a name="ss4.6">4.6 Où adresser des rapports de
problèmes, bugs, ou améliorations</a></h2>
<p>Utilisez <a href="news:comp.lang.tcl">news:comp.lang.tcl</a>
pour les communications publiques.</p>
<p>(NdT : le forum en langue française
équivalent est <a href=
"news:fr.comp.lang.tcl">news:fr.comp.lang.tcl</a>).</p>
<p>Une alternative consiste à envoyer problèmes,
suggestions, idées nouvelles, etc. directement à
l'auteur. Un email à <a href=
"mailto:ouster@scriptics.com">John Ousterhout</a> permet de le
contacter.</p>
<p>Lorsque vous rendez compte de problèmes ou de bugs,
veillez à mentionner tous les détails
nécessaires à un diagnostic correct. Basiquement,
vous devez décrire votre matériel, votre
système d'exploitation et la version de Tcl/Tk
utilisée, préciser si vous avez fait des
modifications ou des ajouts, et donner, si possible, soit un petit
bout de code, soit une URL vers du code mettant en évidence
le problème.</p>
<p>Si vous avez du logiciel dont vous pensez que la
communauté pourrait tirer parti (que ce soit un programme,
une fonction, une extension, ou un simple exemple), ou si vous avez
un document, un article de journal ou de magazine, une
thèse, un projet, ou même une annonce commerciale,
faites-le savoir aux personnes susceptibles d'être
intéressées.</p>
<p>Il y a des responsables de FAQ pour tous ces domaines, ainsi
qu'un forum Usenet <a href=
"news:comp.lang.tcl.announce">comp.lang.tcl.announce</a> que vous
pouvez utiliser.</p>
<p>Cela vaut toujours la peine de soumettre vos contributions
directement sur le site ftp afin que davantage de personnes puisse
dans le futur profiter de votre expérience.</p>
<p>Pour poster sur le forum <a href=
"news:comp.lang.tcl.announce">comp.lang.tcl.announce</a>, envoyez
un email détaillé à <a href=
"mailto:tcl-announce@mitchell.org">tcl-announce</a>.
N'hésitez pas à renvoyer les gens vers votre propre
site ftp ou WWW si vous en avez un.</p>
<h2><a name="s5">5. Un tout petit peu de programmation</a></h2>
<p>Comme Tcl est un langage interprété, pour
exécuter un programme Tcl (qu'on appelle également un
script) vous passez normalement le fichier à
l'interpréteur Tcl, wish, par exemple :</p>
<hr>
<pre>
wish hello.tcl
</pre>
<hr>
<p>Vous pouvez aussi utiliser wish en mode interactif et lui donner
des commandes à l'invite.</p>
<p>Il existe un autre interpréteur de Tcl en standard,
tclsh, qui comprend seulement le langage Tcl. Tclsh n'a aucune
commande de l'interface utilisateur de Tk, donc il n'est pas
possible de créer des programmes graphiques avec tclsh.</p>
<p>Certaines applications Tcl libres étendent le langage en
ajoutant de nouvelles commandes écrites sous la forme de
fonctions C. Dans ce cas, vous devez compiler l'application au lieu
de passer seulement son code Tcl à l'interpréteur
wish. Ce programme applicatif compilé est
véritablement, du point de vue de Tcl, une nouvelle version
de l'interpréteur wish, avec les nouvelles commandes en C
liées dedans. Bien sûr, le programme peut être
bien plus qu'un simple interpréteur Tcl. (Note : vous
pouvez aussi utiliser la capacité de chargement automatique
de Tcl sur les systèmes qui la supportent).</p>
<h2><a name="ss5.1">5.1 Programme-minute en Tcl</a></h2>
<p>Tcl a une structure simple. Chaque ligne commence par une
nouvelle commande, par exemple button et un certain nombre
d'arguments. Chaque commande est implémentée comme si
c'était une fonction C, qui prend en charge tous les
arguments.</p>
<p>Voici un exemple très bateau, le célèbre
Hello World écrit en Tcl/Tk :</p>
<hr>
<pre>
# Ceci est un commentaire
button .b -text "Hello World" -command exit
pack .b
</pre>
<hr>
<p>Dans cet exemple, vous devez taper les commandes de
manière interactive dans tclsh ou wish.</p>
<p>Vous pouvez aussi placer les commandes dans des fichiers de
script et les appeler tout comme des scripts shell. Pour reprendre
l'exemple précédent, le programme Hello World
s'écrirait :</p>
<hr>
<pre>
#! /usr/local/bin wish -f
button .b -text "Hello World" -command exit
pack .b
</pre>
<hr>
<p>Mettez ce texte dans un fichier appelé Hello et
assurez-vous que wish est installé dans /usr/local/bin (si
ce n'est pas le cas, corrigez le chemin d'accès).</p>
<p>Rendez le fichier Hello exécutable, par un :</p>
<hr>
<pre>
chmod 775 Hello
</pre>
<hr>
<p>et lancez-le sous X.</p>
<p>Vous allez voir un bouton marqué Hello World dans une
fenêtre : cliquer dessus ferme la fenêtre.</p>
<h2><a name="s6">6. Langage de script : avantages et
inconvénients</a></h2>
<p>Afin de comprendre l'importance de Tcl/Tk et son futur, je vous
recommande la visite de <a href=
"http://www.scriptics.com/people/john.ousterhout/">http://www.scriptics.com/people/john.ousterhout/</a>
par <a href="mailto:ouster@scriptics.com">John K. Ousterhout</a> .
Vous y trouverez des choses à lire sur l'importance des
scripts (écrits dans des langages tels que Tcl) et une
comparaison avec la programmation système (dans des langages
comme le C et le Java).</p>
<p>Pour une lecture à propos des comparaisons, voyez
<a href="#prosandcons">the comparison discussion</a>.</p>
<p>Voici un résumé des principaux avantages et
inconvénients de Tcl/Tk.</p>
<h2><a name="ss6.1">6.1 Reproches les plus courants à propos
de Tcl</a></h2>
<h3>Tcl est interprété</h3>
<p>Les données sont traitées de manière
primaire comme des chaînes de caractère, les
programmes écrits en Tcl sont lents. Tcl 8.0 essaie de
pallier ceci en compilant à un certain degré ainsi
qu'en autorisant différents types de variables.</p>
<h3>Plusieurs caractéristiques ne sont pas intuitives</h3>
<p>Les commentaires sont des commandes plutôt que de vrais
commentaires, les nombres commençant par 0 sont en octal,
l'utilisation correcte des guillemets, etc. Ces aspects sont
abordés dans les diverses FAQs.</p>
<h2><a name="ss6.2">6.2 Principaux avantages de Tcl</a></h2>
<h3>C'est un langage de script de haut niveau</h3>
<p>Vous avez besoin de beaucoup moins de code pour faire le
travail, surtout en comparaison avec des applications Motif ou
Win32. En général, le nombre de lignes de code (Line
Of Code, LOC) d'un projet logiciel est l'indice de
complexité le plus important.</p>
<h3>Tcl est libre</h3>
<p>Vouz pouvez vous procurer les sources gratuitement sur Internet
par la page Download de Scriptics ou par le site FTP pour Tcl.
<a href="http://www.scriptics.com/software/download.html">Le site
de base du logiciel</a> inclut la version code source, ainsi que
des versions binaires pour plates-formes Windows et
Macintosh ; ou bien vous pouvez trouver Tcl sur un bon nombre
de CD-ROMs pour un coût réduit.</p>
<p>Une lecture à propos de la base libre de Tcl et Tk :
<a href=
"http://www.scriptics.com/about/news/qa.html">www.scriptics.com/about/news/qa.html</a>
.</p>
<h3>Il fonctionne sur de nombreuses plates-formes</h3>
<p>Il existe des versions pour UNIX (Linux... bien sûr),
Windows et Macintosh. Exceptées quelques différences
entre plates-formes, vos scripts Tcl fonctionneront de la
même manière sur tous les systèmes.</p>
<h3>Il est interprété</h3>
<p>Vous pouvez exécuter directement votre code sans
compilation ni édition de liens (même si quelques
compilateurs de Tcl sont disponibles).</p>
<h3>Il est extensible</h3>
<p>Il est aisé d'ajouter vos propres commandes pour
étendre le langage Tcl. Vous pouvez les écrire en C
ou en Tcl.</p>
<h3>Il est encapsulable dans vos applications</h3>
<p>L'interpréteur Tcl est purement et simplement un ensemble
de fonctions C que vous appelez dans votre code. Cela signifie que
vous pouvez utiliser Tcl comme langage applicatif, tout comme un
langage de macro pour un tableur.</p>
<h3>Tcl/Tk est compatible An 2000</h3>
<p>Lisez ce que le créateur de la base Tcl et Tk dit
à ce sujet : <a href=
"http://www.scriptics.com/Y2K.html">www.scriptics.com/Y2K.html</a>
.</p>
<h2><a name="s7">7. Programmes les plus célèbres
utilisant Tcl/Tk</a></h2>
<p>A part les deux implémentations décrites dans
<a href="#introduction">l'Introduction</a>, de nombreuses
applications sont écrites en Tcl/Tk ou une combinaison de
Tcl et de C. Une liste complète de ces
implémentations figure à la <a href=
"http://www.tclfaq.wservice.com/tcl-faq/part4.html">partie 4</a> de
la Foire Aux Questions sur Tcl/Tk (FAQ). Je vous suggère de
visiter <a href=
"http://www.scriptics.com/resource/software/">Scriptics' Software
Central</a>.</p>
<p>Un autre bon point de départ est <a href=
"http://www.NeoSoft.com/tcl/">http://www.NeoSoft.com/tcl/</a>.</p>
<p>Une des meilleures applications Tcl tournant sous Linux
s'appelle <a href=
"http://people.mainz.netsurf.de/~bolik/tkdesk/">TkDesk</a>. C'est
un gestionnaire de fenêtres et un lanceur d'applications qui
fonctionne très bien.</p>
<p>Si vous êtes développeur en Tcl/Tk,
n'hésitez pas à <a href=
"mailto:lukaros@tin.it">m'envoyer</a> une URL (et une description
de votre travail) que je puisse ajouter ici.</p>
<h2><a name="references"></a> <a name="s8">8.
Références</a></h2>
<p>Pour de nombreuses raisons, les gens préfèrent
souvent avoir un manuel papier comme référence ou
aiment être aidés en ligne par d'autres personnes
connectées.</p>
<p>Vous pouvez trouver dans cette section une sélection de
livres de référence, de tutoriels, de sites www et
forums Usenet.</p>
<h2><a name="ss8.1">8.1 Livres</a></h2>
<p>Beaucoup de livres concernant Tcl/Tk ont été
écrits et vont être publiés. Je ne vais pas
essayer de tous les répertorier (<b>un autre howto n'y
suffirait pas</b> :) ). Vous trouverez davantage d'informations et
des notes complémentaires à :</p>
<ul>
<li><a href=
"http://www.tclconsortium.org/books/index.vet">www.tclconsortium.org/books/index.vet</a></li>
<li><a href=
"http://www.amazon.com/exec/obidos/subst/categories/computer-programming/tcl-tk-article/002-8989352-4516417">
www.amazon.com/exec/obidos/subst/categories/computer-programming/tcl-tk-article/002-8989352-4516417</a></li>
<li>Page : tcl_books.html à l'URL <a href=
"http://starbase.neosoft.com/%7Eclaird/comp.lang.tcl/">starbase-neosoft-tcl-books</a></li>
</ul>
<p>Je vais essayer ici de résumer en quelques lignes les
livres que je connais à ce sujet, qui sont tous d'un niveau
basique à moyen. Là encore, les gens qui connaissent
le sujet ont suffisamment d'informations pour savoir où
trouver des livres d'un niveau plus avancé.</p>
<h3>The Tcl and Tk Toolkit</h3>
<p>Auteur : <a href="mailto:ouster@scriptics.com">John K.
Ousterhout</a></p>
<p>Information sur le WWW à propos de l'ouvrage :
<a href=
"http://cseng.aw.com/bookdetail.qry?ISBN=0%2D201%2D63337%2DX&ptype=0">
cseng.aw.com/bookdetail.qry?ISBN=0%2D201%2D63337%2DX&ptype=0</a></p>
<p>Exemples du livre : <a href=
"ftp://ftp.scriptics.com/pub/tcl/doc/book.examples.Z">ftp://ftp.scriptics.com/pub/tcl/doc/book.examples.Z</a></p>
<p>Compléments au livre : <a href=
"http://www.scriptics.com/doc/tk4.0.ps">http://www.scriptics.com/doc/tk4.0.ps</a></p>
<p>Cet ouvrage couvre à l'origine Tcl 7.3 et Tk 3.6.</p>
<h3>Practical Programming in Tcl and Tk, deuxième
édition</h3>
<p>Auteur : <a href="mailto:welch@acm.org">Brent Welch</a></p>
<p>Information sur le WWW à propos de l'ouvrage :
<a href=
"http://www.beedub.com/book/">http://www.beedub.com/book/</a></p>
<p>Table des matières : <a href=
"http://www.beedub.com/book/">http://www.beedub.com/book/</a></p>
<p>Publicité du livre à la section_50000.html de
l'URL <a href=
"http://www.borders.com/sections/">http://www.borders.com/sections/</a></p>
<p>Cette édition révisée décrit Tcl/Tk
8.0 tel qu'il était dans sa période beta. Les ajouts
par rapport à la première édition concernent
les sockets, les paquetages, les contextes (namespaces), et une
longue section décrivant les changements dans Tcl 7.4, 7.5,
7.6 et 8.0 (et Tk également), Safe Tk, et le Plugin.</p>
<h3>Tcl and Tk Reference Manual</h3>
<p>Editeurs : <a href="mailto:marc@redhat.com">Marc Ewing</a>,
Erik Troan</p>
<p>Information sur le WWW à propos de l'ouvrage :
<a href=
"http://www.lsl.com/catalog/books/tcltk/">http://www.lsl.com/catalog/books/tcltk/</a></p>
<h3>The Visual TCL Handbook, 1/e</h3>
<p>Auteur : <a href="mailto:david@inforef.com">David
Young</a></p>
<p>Information sur le WWW à propos de l'ouvrage :
<a href=
"http://www.amazon.com/exec/obidos/ASIN/013461674X/qid%3D932034805/002-8225427-0056632">
http://www.amazon.com/exec/obidos/ASIN/013461674X/qid%3D932034805/002-8225427-0056632</a></p>
<p>Un guide complet sur Visual TCL. Ce livre mène le lecteur
des concepts de base du développement d'interfaces
graphiques utilisateur jusqu'à des développements
d'applications significatifs. Le livre se concentre sur les
extensions TCLX et VT, évoquant beaucoup de sujets
fondamentaux pour TCL. VT est une interface graphique basée
sur Motif, incompatible avec Tk. L'intégralité du
langage TCL est documentée dans une section Commands
séparée. Il inclut un CD-ROM avec les versions SGI,
Solaris, HP-UX, AIX et Unixware de Visual Tcl.</p>
<h3>Running Linux</h3>
<p>Auteur : Matt Welsh et Lar Kaufman</p>
<p>Information sur le WWW à propos de l'ouvrage :
<a href=
"http://www.ora.com/catalog/runux2/noframes.html">http://www.ora.com/catalog/runux2/noframes.html</a></p>
<p>(NdT : La version française de cet ouvrage est
intitulée "Le Système Linux", aux éditions
O'Reilly. Cette adaptation française de René Cougnenc
a été révisée, pour la deuxième
édition, par Manuel et Nat Makarévitch. Voir <a href=
"http://www.editions-oreilly.fr/sysad/runux2.html">http://www.editions-oreilly.fr/sysad/runux2.html</a>.</p>
<p>La 3ème édition originale doit sortir en
août 1999. Voir <a href=
"http://www.ora.com/catalog/runux3/noframes.html">http://www.ora.com/catalog/runux3/noframes.html</a>.
Il faudra attendre un peu pour la version française).</p>
<p>C'est un livre de base vraiment bien écrit. Il contient
un chapitre sur la programmation en Tcl/Tk (ainsi que Perl, C,
C++).</p>
<h3>Tcl/Tk for Dummies (Pour les Nuls)</h3>
<p>Auteur : Timothy Webster, with Alex Francis</p>
<p>Information sur le WWW à propos de l'ouvrage :
<a href="http://www.dummies.com/">http://www.dummies.com/</a></p>
<p>Un autre livre dans la série des livres de programmation.
Celui-ci se concentre sur le plugin Tcl comme environnement de
programmation.</p>
<h3>Interactive Web Applications With Tcl/Tk</h3>
<p>Auteurs : Michael Doyle, Hattie Schroeder</p>
<p>Information sur le WWW à propos de l'ouvrage :
<a href=
"%20http://www.eolas.com/tcl/">http://www.eolas.com/tcl/</a></p>
<p>C'est un livre d'apprentissage par l'exemple, pour les personnes
qui savent un peu programmer sans être experts. Il couvre le
développement d'applets comme applications autonomes et des
applications serveurs simples. Il est fourni avec la boîte
à outils Spynergy, qui ajoute diverses procédures en
pur Tcl/Tk pour le traitement distribué, la
récupération d'URL, la génération de
HTML, la gestion de bases de données et la gestion
transparente de fichiers quelle que soit la plate-forme, un
éditeur de Tcl, Ed, et un environnement de test, un outil de
conversion d'image, une démonstration des
fonctionnalités de Tk, une version client/serveur d'une
application rolodex, un serveur web en Tcl pur, une application de
push en client/serveur, un navigateur web en Tcl.</p>
<h2><a name="ss8.2">8.2 Manuels en ligne et tutoriels</a></h2>
<ul>
<li>John Ousterhout a écrit un guide dans un style
ingénierie, qui décrit le codage, la documentation et
les conventions de test en usage chez Sun pour le codage de la base
en C de Tcl, et l'a mis à disposition des autres
développeurs Tcl/Tk. Il se trouve à <a href=
"ftp://ftp.scriptics.com/pub/tcl/doc/engManual.tar.Z">ftp://ftp.scriptics.com/pub/tcl/doc/engManual.tar.Z</a></li>
<li>Un second guide, couvrant l'écriture de scripts Tcl,
peut être récupéré à <a href=
"ftp://ftp.scriptics.com/pub/tcl/doc/styleGuide.tar.gz">ftp://ftp.scriptics.com/pub/tcl/doc/styleGuide.tar.gz</a>.</li>
<li><a href=
"http://http2.brunel.ac.uk:8080/~csstddm/TCL2/TCL2.html">A brief
introduction to TCL/TK</a> par <a href=
"%20mailto:csstddm@brunel.ac.uk">David Martland</a> .</li>
<li>Un autre tutoriel intitulé <a href=
"http://www.scism.sbu.ac.uk/tkteach/">User interfaces with
Tcl/Tk</a> a été écrit par <a href=
"mailto:fintan@sbu.ac.uk">Fintan Culwin</a> .</li>
<li>Même si vous devriez avoir les pages de manuel de Tcl/Tk
sur votre système, voici un autre endroit où
chercher : <a href=
"http://cuiwww.unige.ch/eao/www/TclTkMan/Man.html">TCL Manual Pages
(from TCL7.4)-Tk Manual Pages (from TK4.0)</a>.</li>
<li><a href="http://www.itd.clrc.ac.uk/Activity/TclTk">The Tcl/Tk
Cookbook</a> fournit beaucoup d'informations pour
débuter.</li>
</ul>
<h2><a name="ss8.3">8.3 Sites World Wide Web</a></h2>
<p>Il existe de nombreuses ressources WWW qui offrent des
informations complémentaires sur beaucoup d'aspects de Tcl
et de ses extensions.</p>
<ul>
<li>Référez-vous à <a href=
"http://www.tclfaq.wservice.com/tcl-faq/part2.html">la FAQ-Tcl
(partie 2)</a> pour des liens en quantité vers de la
documentation Tcl/Tk et des sites web.</li>
<li>Lancez votre navigateur web sur <a href=
"http://www.tcltk.com">Tcl/Tk Information</a> : un site avec
beaucoup de liens vers des ressources Tcl/Tk sur le web
(informations, Extensions, Outils, Entraînement et
Evénements).</li>
<li>Jetez un oeil à <a href=
"http://www.tclconsortium.org/">Tcl-Consortium</a> : une
organisation à but non-lucratif pour promouvoir Tcl/Tk et
soutenir la communauté des développeurs.</li>
<li>Allez naviguer à <a href=
"http://www.NeoSoft.com/tcl/">l'Archive Officielle des Sources des
Contributions</a> pour le Tool Command Language (TCL) et la
boîte à outils Tk, hébergée par Neosoft,
Inc.</li>
<li><a name="prosandcons"></a> Pour une discussion à propos
du pour et du contre des principaux langages de script :
<a href=
"http://www.sun.com/sunworldonline/swol-10-1997/swol-10-scripting.html">
article paru dans SunWorld</a>, par <a href=
"%20mailto:claird@Starbase.NeoSoft.com">Cameron Laird</a></li>
<li>Une page web qui contient diverses comparaisons entre Tcl/Tk et
d'autres systèmes similaires. La plupart d'entre elles sont
tirées de "comp.lang.tcl", l'auteur serait heureux d'ajouter
tout article important que vous, oui vous !, voudrez lui
envoyer : <a href=
"http://icemcfd.com/tcl/comparison.html">Comparaison</a> par
<a href="mailto:wayne@icemcfd.com">Wayne Christopher</a>.</li>
<li><a href="http://herzberg.ca.sandia.gov/TclCourse/">Le cours de
Tcl/Tk de E.J. Friedman-Hill's</a> : ce document est
disponible seulement sous forme PowerPoint et en HTML de basse
qualité (en format HTML, toutes les figures et une partie du
texte sont manquantes).</li>
</ul>
<h2><a name="ss8.4">8.4 Autres documents & Foires Aux
Questions</a></h2>
<p>Beaucoup de matière est disponible sur l'Internet :
papiers introductifs, papiers blancs, tutoriels, transparents,
versions PostScript de brouillons d'ouvrages publiés, et
bien d'autres choses.</p>
<p>Pour une référence complète, veuillez s'il
vous plaît jeter un oeil à l'excellente <a href=
"http://www.tclfaq.wservice.com/tcl-faq/">FAQ Tcl</a> .</p>
<h2><a name="ss8.5">8.5 Forum Usenet</a></h2>
<p><a href="news:comp.lang.tcl">comp.lang.tcl</a> est un groupe de
discussion non modéré, créé pour les
échanges sur le langage de programmation Tcl et les outils
qui utilisent Tcl sous une forme quelconque, tels que la
boîte à outils Tk pour le système X Window, le
Tcl étendu, et expect.</p>
<p>(NdT : le forum équivalent dans la hiérarchie
francophone fr.* est <a href=
"news:fr.comp.lang.tcl">fr.comp.lang.tcl</a>).</p>
<p>Pour les annonces relatives à Tcl/Tk, regardez toujours
<a href=
"news:comp.lang.tcl.announce">comp.lang.tcl.announce</a> :
vous y trouverez les annonces de versions finales, de patchs, de
nouvelles applications, etc.</p>
<p>Je précise à nouveau que la FAQ se trouve à
<a href="http://www.tclfaq.wservice.com/tcl-faq/">FAQ Tcl</a>.</p>
<h2><a name="license"></a> <a name="s9">9. Termes de la licence de
Tcl/Tk</a></h2>
<p>Les termes suivants s'appliquent à toutes les versions
diffusées de la base de Tcl/Tk, au plug-in Tcl/Tk navigateur
version 2.0, et à TclBlend et Jacl version 1.0. Veuillez
noter que les outils TclPro sont sous une autre licence. La
présente licence est incluse dans les distributions standard
de Tcl/Tk en tant que fichier "licence.terms".</p>
<p>LICENCE DE TCL/TK</p>
<p>Ce logiciel est sous copyright des Régents de
l'Université de Californie, Sun Microsystems, Inc.,
Scriptics Corporation, et autres parties. Les termes suivants
s'appliquent à tous les fichiers associés au logiciel
à moins que ce ne soit explicitement mentionné dans
les fichiers individuellement.</p>
<p>Les auteurs accordent ici la permission d'utiliser, copier,
modifier, distribuer, et placer sous licence ce logiciel et sa
documentation dans n'importe quel but, pour autant que les notes de
copyright existantes soient conservées dans toutes les
copies et que la présente note soit incluse telle quelle
dans toute diffusion. Aucun accord écrit, licence ou droit
d'auteur n'est requis pour un usage autorisé. Les
modifications de ce logiciel devraient être placées
sous copyright par leurs auteurs et ne nécessitent pas de
suivre les termes de la licence décrits ici, pour autant que
les nouveaux termes soient clairement indiqués sur la
première page de chaque fichier sur lequel ils
s'appliquent.</p>
<p><b>EN AUCUN CAS LES AUTEURS OU DISTRIBUTEURS NE POURRONT ETRE
TENUS POUR RESPONSABLES DE DOMMAGES DIRECTS, INDIRECTS,
PARTICULIERS, ACCIDENTELS OU COLLATERAUX PROVOQUES PAR
L'UTILISATION DE CE LOGICIEL, DE SA DOCUMENTATION, OU QUELCONQUES
CONSEQUENCES DE CECI, MEME SI LES AUTEURS ONT ETE AVERTIS DE LA
POSSIBILITE DE CES DOMMAGES.</b></p>
<p><b>LES AUTEURS ET DISTRIBUTEURS SE DEGAGENT PRECISEMENT DE
TOUTES GARANTIES, INCLUANT, MAIS PAS EXCLUSIVEMENT, LA GARANTIE
IMPLICITE DE COMMERCIALISABILITE, L'ADEQUATION A UN BUT
PARTICULIER, ET LA NON-CONTREFACON. CE LOGICIEL EST FOURNI
« TEL QUEL », LES AUTEURS ET DISTRIBUTEURS
N'ONT AUCUNE OBLIGATION DE MAINTENANCE, SUPPORT, MISE A JOUR,
EXTENSIONS, OU MODIFICATIONS.</b></p>
<p>UTILISATION GOUVERNEMENTALE : Si vous acquérez ce
logiciel pour le compte du gouvernement américain, le
gouvernement n'aura que des droits restreints sur le logiciel et la
documentation associée, tel qu'il est défini dans les
lois fédérales sur l'acquisition (Federal Acquisition
Regulations - FARs) à la clause 52.227.19 (c) (2). Si vous
acquérez ce logiciel pour le compte du ministère de
la défense (Department of Defense, DoD), le logiciel sera
classé comme logiciel commercial (Commercial Computer
Software) et le gouvernement n'aura que des droits restreints, tel
que défini dans la clause 252.227-7013 (c) (1) des DFARs.
Nonobstant ce qui précède, les auteurs accordent au
gouvernement américain et aux personnes agissant en son nom
la permission d'utiliser et de distribuer le logiciel selon les
termes spécifiés dans la présente licence.</p>
</body>
</html>
|