This file is indexed.

/usr/share/doc/HOWTO/fr-html/TclTk-HOWTO.html is in doc-linux-fr-html 2013.01-3ubuntu1.

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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for HTML5 for Linux version 5.2.0">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.72">
<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é «&nbsp;printtool&nbsp;» ? (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
«&nbsp;colle&nbsp;» 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 «&nbsp;tutoriel de
programmation&nbsp;». J'insiste&nbsp;: 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&nbsp;:</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&nbsp;: <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&nbsp;: En France, vous pouvez utiliser le site suivant pour
le document original&nbsp;: <a href=
"ftp://ftp.lip6.fr/pub/linux/sunsite/docs/HOWTO/">Miroir de
Sunsite</a> ou, mieux, la version française&nbsp;:</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>&nbsp;: 28 Octobre 1998 - première
version&nbsp;;</li>
<li><b>Version 0.2</b>&nbsp;: 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&nbsp;: <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&nbsp;: bien sûr il est considéré sans garantie&nbsp;; sans
même la garantie sous-jacente de commercialisabilité ou
d'adéquation à un but particulier. Ce HOWTO est une documentation
libre&nbsp;; 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
«&nbsp;Oh'-stir-howt&nbsp;») alors qu'il enseignait à l'université
de Berkeley, en Californie. En fait, il a commencé à l'implémenter
à son retour à Berkeley au printemps 1988&nbsp;; 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&nbsp;:</b> premières diffusions externes de Tcl et
début de l'implémentation de Tk&nbsp;;</li>
<li><b>1991&nbsp;:</b> première version de Tk&nbsp;;</li>
<li><b>1994&nbsp;:</b> le Dr. Ousterhout est employé par Sun
Microsystems, Inc.&nbsp;: il se distingue comme ingénieur et dirige
le projet Tcl.</li>
<li><b>Avril/Mai 1997&nbsp;:</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&nbsp;: <a href=
"http://starbase.neosoft.com/%7Eclaird/comp.lang.tcl/">SunScript-Story</a>&nbsp;;</li>
<li><b>Août 1997&nbsp;:</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>&nbsp;;</li>
<li><b>Février 1998&nbsp;:</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=
"http://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&nbsp;:</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 «&nbsp;tickeul&nbsp;») est l'acronyme de "Tool
Command Language" (langage de commandes-outils). Tcl est en fait
divisé en deux parties&nbsp;: 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&nbsp;: 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&nbsp;:</p>
<ul>
<li>Tcl fournit une syntaxe standard&nbsp;: 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 «&nbsp;programmabilité&nbsp;». 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&nbsp;: 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 «&nbsp;Qu'est-ce que Tcl ?&nbsp;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&nbsp;:</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&nbsp;:</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)&nbsp;: fichier tar compressé
(environ 2.4 Mo). Sources de Tk (tk8.0.3.tar.Z)&nbsp;: fichier tar
compressé (environ 3.3 Mo).</p>
<p>Fichiers Tar gzippés</p>
<p>Sources de Tcl (tcl8.0.3.tar.gz)&nbsp;: fichier tar gzippé
(environ 1.5 Mo). Sources de Tk (tk8.0.3.tar.gz)&nbsp;: 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&nbsp;:</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&nbsp;; 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 «&nbsp;Tcl/Tk Core&nbsp;» 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&nbsp;: 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&nbsp;:</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&nbsp;: 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&nbsp;:</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&nbsp;:</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&nbsp;:</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&nbsp;: cliquer dessus ferme la fenêtre.</p>
<h2><a name="s6">6. Langage de script&nbsp;: 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&nbsp;; 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&nbsp;:
<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&nbsp;: <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 à&nbsp;:</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&nbsp;: 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&nbsp;: <a href="mailto:ouster@scriptics.com">John K.
Ousterhout</a></p>
<p>Information sur le WWW à propos de l'ouvrage&nbsp;: <a href=
"http://cseng.aw.com/bookdetail.qry?ISBN=0%2D201%2D63337%2DX&amp;ptype=0">
cseng.aw.com/bookdetail.qry?ISBN=0%2D201%2D63337%2DX&amp;ptype=0</a></p>
<p>Exemples du livre&nbsp;: <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&nbsp;: <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&nbsp;: <a href="mailto:welch@acm.org">Brent Welch</a></p>
<p>Information sur le WWW à propos de l'ouvrage&nbsp;: <a href=
"http://www.beedub.com/book/">http://www.beedub.com/book/</a></p>
<p>Table des matières&nbsp;: <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&nbsp;: <a href="mailto:marc@redhat.com">Marc Ewing</a>,
Erik Troan</p>
<p>Information sur le WWW à propos de l'ouvrage&nbsp;: <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&nbsp;: <a href="mailto:david@inforef.com">David
Young</a></p>
<p>Information sur le WWW à propos de l'ouvrage&nbsp;: <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&nbsp;: Matt Welsh et Lar Kaufman</p>
<p>Information sur le WWW à propos de l'ouvrage&nbsp;: <a href=
"http://www.ora.com/catalog/runux2/noframes.html">http://www.ora.com/catalog/runux2/noframes.html</a></p>
<p>(NdT&nbsp;: 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&nbsp;: Timothy Webster, with Alex Francis</p>
<p>Information sur le WWW à propos de l'ouvrage&nbsp;: <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&nbsp;: Michael Doyle, Hattie Schroeder</p>
<p>Information sur le WWW à propos de l'ouvrage&nbsp;: <a href=
"http://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=
"mailto: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&nbsp;: <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>&nbsp;: 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>&nbsp;: 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&nbsp;: <a href=
"http://www.sun.com/sunworldonline/swol-10-1997/swol-10-scripting.html">
article paru dans SunWorld</a>, par <a href=
"mailto: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&nbsp;: <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>&nbsp;: 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 &amp; Foires Aux
Questions</a></h2>
<p>Beaucoup de matière est disponible sur l'Internet&nbsp;: 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&nbsp;: 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>&nbsp;:
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
«&nbsp;TEL QUEL&nbsp;», LES AUTEURS ET DISTRIBUTEURS N'ONT AUCUNE
OBLIGATION DE MAINTENANCE, SUPPORT, MISE A JOUR, EXTENSIONS, OU
MODIFICATIONS.</b></p>
<p>UTILISATION GOUVERNEMENTALE&nbsp;: 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>