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
|
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY kseg "<application
>KSeg</application
>">
<!ENTITY cabri "<application
>Cabri</application
>">
<!ENTITY drgeo "<application
>Dr.Geo</application
>">
<!ENTITY package "tdeedu">
<!ENTITY kappname "&kig;">
<!ENTITY % addindex "IGNORE">
<!ENTITY % French "INCLUDE">
<!-- change language only here -->
]
>
<book lang="&language;">
<bookinfo>
<title
>Manuel de &kig;</title>
<authorgroup>
<author
><firstname
>Dominique</firstname
> <surname
>Devriese</surname
> <affiliation
> <address
><email
>devriese@kde.org</email
></address>
</affiliation>
</author>
&traducteurYvesGuillou; &traducteurCedricPasteur; &traducteurYohannHamon;
</authorgroup>
<copyright>
<year
>2002</year
><year
>2003</year
><year
>2004</year
> <holder
>Dominique Devriese</holder>
</copyright>
<legalnotice
>&FDLNotice;</legalnotice>
<date
>2005-08-20</date
> <releaseinfo
>0.10.5</releaseinfo>
<abstract>
<para
>&kig; est un programme &kde; de géométrie interactive. </para>
</abstract>
<keywordset>
<keyword
>KDE</keyword>
<keyword
>KDE-Édu</keyword>
<keyword
>Kig</keyword>
<keyword
>Géométrie interactive</keyword>
<keyword
>KGéo</keyword>
<keyword
>Cabri</keyword>
<keyword
>Dr. Geo</keyword>
<keyword
>KSeg</keyword>
</keywordset>
</bookinfo>
<chapter id="introduction">
<title
>Introduction</title>
<para
>&kig; est un programme de géométrie interactive. Il a deux objectifs : </para>
<itemizedlist>
<listitem
><para
>Permettre aux étudiants d'explorer de façon interactive des concepts et figures mathématiques en utilisant l'ordinateur. </para
></listitem>
<listitem
><para
>Servir d'outil <acronym
>WYSIWYG</acronym
> pour dessiner des figures, et les inclure dans d'autres documents.</para
></listitem>
</itemizedlist>
<para
>Vous pouvez rapporter les problèmes de &kig; en utilisant l'outil de rapport de bogue interne. (<menuchoice
><guimenu
>Aide</guimenu
><guimenuitem
>Rapport de bogue...</guimenuitem
></menuchoice
>), ou en me contactant à l'adresse <email
>toscano.pino@tiscali.it</email
>. </para>
<para
>Puisque &kig; supporte les macros et les lieux, il permet à des macros plus complexes d'être définies. Si vous avez créé une macro intéressante, que vous pensez utile pour d'autres, vous pouvez me la faire parvenir à <email
>toscano.pino@tiscali.it</email
> pour qu'elle soit incluse dans la distribution (dans ce cas, elle suivra les termes de la licence de &kig;, la licence <ulink url="http://www.gnu.org/licenses/licenses.html#GPL"
>GPL</ulink
>, et ainsi d'autres personnes pourront l'utiliser et l'adapter librement). </para>
</chapter>
<chapter id="using-kig-basic">
<title
>Utilisation de base</title>
<section id="constructing-objects">
<title
>Construction d'objets</title>
<section id="constructing-points">
<title
>Construction de points</title>
<para
>Vous pouvez créer des points de plusieurs façons :</para>
<itemizedlist>
<listitem>
<para
>Choisissez <menuchoice
><guimenu
>Objets</guimenu
> <guisubmenu
>Points</guisubmenu
><guimenuitem
>Point</guimenuitem
></menuchoice
> dans la barre de menu, ou appuyez sur le bouton approprié dans la barre d'outils. Vous pourrez alors créer un point en cliquant à la position voulue dans la fenêtre.</para
> <note
><para
>La méthode est la même pour construire d'autres objets : cliquez sur l'entrée désirée de la barre de menu, ou sur le bouton de la barre d'outils, et sélectionnez les éléments nécessaires pour construire l'objet.</para
></note>
</listitem>
<listitem>
<para
>Comme vous avez souvent besoin de construire des points, le simple fait de cliquer avec le &BCS; créera un point pour vous, sans avoir à passer par le menu ou par un bouton. </para>
</listitem>
<listitem>
<para
>Vous pouvez créer des points pendant que vous créez d'autres objets, puis éventuellement les sélectionner pour les objets en cours de création. Pour plus de détails, voir <xref linkend="constructing-other-objects"/>. </para>
</listitem>
</itemizedlist>
<screenshot>
<screeninfo
>Un point a été créé</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="constructed_a_point.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase
>Un point a été créé</phrase>
</textobject>
</mediaobject>
</screenshot>
</section>
<section id="constructing-other-objects">
<title
>Construction d'autres objets</title>
<para
>La construction des objets autres que les points est normalement réalisé en sélectionnant l'entrée appropriée dans le menu <guimenu
>Objets</guimenu
>, ou en cliquant sur l'un des boutons de la barre d'outils. </para>
<screenshot>
<screeninfo
>Construction d'un cercle</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="constructing_a_circle.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase
>Construction d'un cercle</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Ceci commencera la création du type d'objet choisi. Tous ces types d'objets nécessitent des arguments. Par exemple, si vous choisissez de construire un cercle par centre et point, vous aurez besoin de donner deux points : un point pour le centre, et un point sur le cercle. </para>
<para
>Ces arguments sont également des objets qui peuvent être sélectionnés en cliquant sur eux. Lorsque vous survolez un argument qui vous voulez utiliser pour construire un objet, un image préliminaire de l'objet sera montrée, ainsi vous saurez à quoi il ressemblera. Pour des objets nécessitant des points comme arguments, vous pouvez créer un nouveau point à la position courante de la souris et le sélectionner en cliquant sur le &BGS;. </para>
<para
>Vous pouvez abandonner à tout moment la construction du nouvel objet en pressant la touche &Echap;, ou en cliquant sur le bouton <guiicon
>Arrêt</guiicon
> (octogone rouge dans la barre d'outils). </para>
<screenshot>
<screeninfo
>Construction d'un cercle.</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="constructing_a_circle_2.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase
>Construction d'un cercle</phrase>
</textobject>
</mediaobject>
</screenshot>
</section>
</section>
<section id="selecting-objects">
<title
>Sélection d'objets</title>
<para
>La sélection d'objets peut être réalisée de deux façons : </para>
<itemizedlist>
<listitem>
<para
>Le fait de cliquer sur un objet provoque sa sélection, et annule la sélection actuelle. Si vous voulez sélectionner plusieurs objets simultanément, maintenez la touche &Ctrl; appuyée tandis que vous cliquez sur un objet. </para>
</listitem>
<listitem>
<para
>En cliquant et en déplaçant la souris (bouton appuyé), vous pouvez sélectionner tous les objets se trouvant dans le rectangle ainsi créé. Cette action annulera la sélection courante. Comme dans le cas précédent, maintenir la touche &Ctrl; enfoncée vous permettra de conserver en plus la sélection courante. </para>
</listitem>
</itemizedlist>
<para
>Lorsque vous avez plus d'un objet sous la souris, vous pouvez d'une manière simple choisir quel objet sera sélectionné ou ajouté à la sélection courante. Cliquez à l'aide du &BGS; tandis que vous maintenez la touche &Maj; pressée pour avoir une fenêtre surgissante contenant tous les objets sous la souris. Alors, vous pourrez sélectionner l'objet dont vous avez besoin. Comme dit plus tôt, le comportement de la touche &Ctrl; modifiera la sélection. </para>
<screenshot>
<screeninfo
>Sélection d'objets</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="selecting_objects.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Sélection d'objets</phrase>
</textobject>
</mediaobject>
</screenshot>
</section>
<section id="moving-objects">
<title
>Déplacement d'objets</title>
<para
>Pour déplacer des objets, vous devez d'abord les <link linkend="selecting-objects"
>sélectionner</link
> </para>
<para
>Lorsque les objets que vous voulez déplacer sont sélectionnés, vous pouvez les déplacer en pressant le &BGS;, en le maintenant enfoncé et en déplaçant la souris. Lorsque vous avez fini, relâchez simplement le &BGS;. </para>
<note
><para
>Pour certains types d'objets (notamment lorsqu'ils sont définis par des lieux compliqués), le déplacement peut être lent sur des machines anciennes. C'est malheureux mais inévitable du fait des calculs à réaliser. </para
></note
> <note
><para
>Si vous cliquez du &BDS; sur l'un des objets sélectionnés, et choisissez <guimenuitem
>Déplacer</guimenuitem
>, déplacer la souris déplacera l'objet. Quand l'objet se trouve à la position voulue, un nouveau clic du &BGS; arrêtera le déplacement.</para
></note>
</section>
<section id="deleting-objects">
<title
>Effacement d'objets</title>
<para
>L'effacement d'objets se fait, tout d'abord en les <link linkend="selecting-objects"
>sélectionnant</link
>, puis en réalisant l'une des actions suivantes : <itemizedlist>
<listitem>
<para
>Appuyer sur la touche <keycap
>Suppr</keycap
> du clavier. </para>
</listitem>
<listitem>
<para
>Appuyer sur le bouton <guiicon
>Supprimer</guiicon
> de la barre d'outils. </para>
</listitem>
<listitem>
<para
>Cliquez du &BDS; sur l'un des objets et choisissez l'option <guimenuitem
>Effacer</guimenuitem
> dans le <link linkend="objects-context-menus"
>menu contextuel</link
> qui apparaît. </para>
</listitem>
</itemizedlist>
</para>
</section>
<section id="showing-hiding-objects">
<title
>Montrer et cacher des objets</title>
<para
>Dans &kig;, les objets peuvent être cachés. Ceci est réalisé en sélectionnant les objets, en cliquant avec le &BDS; sur l'un d'entre eux, et en choisissant <guimenuitem
>Cacher</guimenuitem
> dans le <link linkend="objects-context-menus"
>menu contextuel</link
> qui apparaît. </para>
<para
>Pour rendre les objets à nouveau visibles, utilisez le menu <menuchoice
><guimenu
>Édition</guimenu
><guimenuitem
>Rendre tout visible</guimenuitem
></menuchoice
>. Ceci rendra visibles les objets actuellement cachés. </para>
<section id="night-vision">
<title
>Vision nocturne</title>
<para
>La vision nocturne est une façon spécial de travailler avec des objets cachés. Lorsque vous avez à déplacer ou changer quelque chose sur un ou plusieurs de vos objets sans faire réapparaître tous les objets cachés que vous avez, alors le mode de vision nocturne sera intéressant pour vous. </para>
<para
>À la baset, il vous permet de voir les objets cachés comme s'ils étaient visibles, donc vous pouvez les manipuler comme vous le faites normalement. Dans le mode de vision nocturne, les objets cachés seront visibles avec une couleur grise. </para>
<para
>Pour activer ou désactiver le mode de vision nocturne, utilisez <menuchoice
><guimenu
>Configuration</guimenu
><guimenuitem
>Porter des lunettes infrarouge</guimenuitem
></menuchoice
>. </para>
</section>
</section>
<section id="undo-redo">
<title
>Défaire / Refaire</title>
<para
>Dans &kig;, vous pouvez annuler presque toutes les modifications apportées à votre document. Utilisez simplement les boutons <guiicon
>Annuler</guiicon
> / <guiicon
>Refaire</guiicon
> de la barre d'outils, ou les raccourcis appropriés. </para>
</section>
<section id="full-screen-mode">
<title
>Mode plein écran</title>
<para
>&kig; a aussi un mode plein écran. Pour s'en servir, cliquez sur le bouton approprié dans la barre d'outils, ou sélectionnez <menuchoice
><guimenu
>Configuration</guimenu
><guimenuitem
>Mode plein écran</guimenuitem
></menuchoice
>. </para>
<para
>Pour quitter le mode plein écran, cliquez avec le &BDS; dans une zone où il n'y a pas d'objets, et sélectionnez <guimenuitem
>Sortir du mode plein écran</guimenuitem
>, ou appuyez sur la touche &Echap;. </para>
</section>
</chapter>
<chapter id="kig-object-types">
<title
>Les types d'objets de &kig;</title>
<para
>&kig;accepte un grand nombre de types d'objets. Notez que tous les types d'objets disponibles ne se trouvent pas dans la barre d'outils, et qu'il existe quelques objets que vous ne pouvez construire qu'à partir du menu <guimenu
>Objets</guimenu
> de la barre de menu. Bien sûr, comme avec toutes les applications &kde;, le contenu de la barre d'outils est configurable. Essayez l'option <menuchoice
><guimenu
>Configuration</guimenu
><guimenuitem
>Configurer les barres d'outils...</guimenuitem
></menuchoice
> si vous voulez le faire. </para>
</chapter>
<chapter id="using-advanced">
<title
>Utilisation avancée</title>
<section id="objects-context-menus">
<title
>Menus contextuels</title>
<para
>&kig; a des menus contextuels pour ses objets. Essayez de cliquer avec le &BDS; sur un objet pour voir un menu contextuel apparaître. Il comporte de nombreuses options : pour construire d'autres objets, définir les couleurs, et aussi cacher, déplacer ou effacer des objets. Certains objets ont leurs propres options (&pex; vous pouvez contraindre certains points à être sur une droite, alors que précédemment ils ne l'étaient pas, &etc;). Ces options devraient être facile à comprendre. </para>
</section>
<section id="document-context-menus">
<title
>Les menus contextuels du document</title>
<para
>Cliquer du &BDS; dans le document (&cad; pas sur un objet) fera apparaître un menu vous permettant de créer un nouvel objet, de changer le système de coordonnées utilisé, de montrer les objets cachés et même de zoomer en avant ou en arrière dans le document. </para>
</section>
<section id="defining-macros">
<title
>Création de macros</title>
<para
>Une des fonctionnalités les plus avancées de &kig; est l'utilisation des macros. Ceci vous permet de définir de nouveaux types d'objets à partir d'autres déjà définis. </para>
<para
>Par exemple, supposez que vous vouliez réaliser une macro pour construire un cercle passant par trois points. Vous placeriez trois points et devriez construire quelques perpendiculaires et points médians jusqu'à ce que vous trouviez le centre. Ensuite vous pourriez utiliser la commande existante <quote
>Cercle par centre et point</quote
> (Utilisez un des trois points comme point pour cette commande). L'image suivante devrait rendre cela un peu plus claire. </para>
<screenshot>
<screeninfo
>Un essai de réalisation de macros</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="test_run_macro.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Un essai de réalisation de macros</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Puis, il faut définir la macro. Sélectionnez <guimenuitem
>Nouvelle macro</guimenuitem
> à partir du menu <guimenu
>Type</guimenu
> ou cliquez sur le bouton de la barre d'outils. Un assistant apparaîtra et vous demandera de sélectionner les objets donnés. Dans notre exemple, ce sont les trois points. Sélectionnez les trois points (cliquez les pour les sélectionner, et cliquez à nouveau pour les désélectionner) puis pressez le bouton <guibutton
>Suivant</guibutton
> pour continuer. Pour finir, sélectionnez les derniers objets (dans notre exemple, seulement le cercle). </para>
<screenshot>
<screeninfo
>L'assistant macro</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="macro_wizard.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>L'assistant macro</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Une fois les étapes précédentes effectuées, pressez le bouton <guibutton
>Suivant</guibutton
> pour poursuivre. Saisissez un nom et éventuellement une description pour votre nouveau type d'objet, et pressez le bouton <guibutton
>Terminer</guibutton
>. Votre macro est maintenant terminée. </para>
<para
>Pour utiliser votre nouvelle macro, cliquez sur son bouton dans la barre d'outils ou utilisez le menu <guimenu
>Objets</guimenu
>. Construire un objet macro revient alors à construire n'importe quel autre objet. </para>
<screenshot>
<screeninfo
>Utilisation de votre nouveau type d'objet</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="macros_at_work.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Utilisation de votre nouveau type d'objet</phrase>
</textobject>
</mediaobject>
</screenshot>
</section>
<section id="working-with-types">
<title
>Travailler avec les types d'objet</title>
<para
>Comme vous l'avez vu dans le chapitre précédent, &kig; vous permet de créer vos propres objets. &kig; s'assure également qu'une fois que vous avez créé un objet, il sera enregistré lorsque vous quitterez le programme et sera chargé aux prochains démarrages. Vous n'avez pas à enregistrer ou charger manuellement les définitions de macro. En fait, &kig; vous permet d'en faire encore plus avec les macros. Si vous sélectionnez <menuchoice
><guimenu
>Types</guimenu
> <guimenuitem
>Gérer les types...</guimenuitem
> </menuchoice
> à partir du menu, vous verrez une boîte de dialogue dans laquelle vous pourrez éditer vos types. Cette boîte de dialogue vous permet de modifier les types existant, de supprimer les types qui ne sont plus utilisés, de les exporter dans un fichier, ou même d'en charger à partir d'un autre fichier. </para>
<screenshot>
<screeninfo
>Boite de dialogue d'édition de types</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="edit_types_dialog.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>La boîte de dialogue d'édition de types</phrase>
</textobject>
</mediaobject>
</screenshot>
</section>
<section id="text-labels">
<title
>Étiquettes</title>
<para
>&kig; vous permet d'ajouter des étiquettes à une construction. C'est très utile pour ajouter des noms, des explications ou d'autres textes dans des constructions. &kig; peut aussi afficher divers informations à propos des objets (aussi appelées <quote
>propriétés</quote
>). </para>
<para
>Pour créer une étiquette, actionnez simplement le bouton <guibutton
>Étiquette</guibutton
> dans la barre d'outils de &kig; ou sélectionnez <menuchoice
><guimenu
> Objets</guimenu
><guisubmenu
>Autres</guisubmenu
><guimenuitem
>Étiquette</guimenuitem
></menuchoice
> dans la barre de menu. </para>
<para
>Ensuite, vous devez choisir un emplacement pour l'étiquette. Vous pouvez soit choisir un emplacement quelconque sur l'écran, ou bien choisir de le <quote
>lier</quote
> à un objet. </para>
<screenshot>
<screeninfo
>Lier une étiquette à un cercle...</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="text_label_attaching.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Lier une étiquette à un cercle...</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Après que vous ayez sélectionné où mettre l'étiquette, la boîte de dialogue d'étiquette apparaît. Ici, vous pouvez saisir le texte que vous voulez dans la nouvelle étiquette et cliquer sur le bouton <guibutton
>Terminer</guibutton
>. Vous devriez maintenant voir l'étiquette dans votre document. </para>
<screenshot>
<screeninfo
>La boîte de dialogue d'étiquettes</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="text_label_wizard.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>La boîte de dialogue d'étiquettes</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>L'exemple précédent était simple, et limité à du texte uniquement. Cependant, il est aussi possible de montrer divers informations sur les objets dans une étiquette (&pex; vous pouvez créer une étiquette avec le texte <quote
>Ce segment a pour longueur %1 unités.</quote
> où <token
>%1</token
> serait dynamiquement remplacé par la longueur d'un segment spécifique). </para>
<para
>Pour faire cela, saisissez le texte en incluant un certain nombre de masques (<token
>%1</token
>, <token
>%2</token
> &etc;). Ensuite, pressez le bouton <guibutton
>Suivant</guibutton
> pour continuer. Si vous voulez changer le texte ou les variables plus tard, vous pouvez revenir en arrière en utilisant le bouton <guibutton
>Précédent</guibutton
>. </para>
<para
>L'assistant affiche maintenant le texte saisi, avec les masques remplacés par quelque chose du type <guilabel
>argument 1</guilabel
>. La sélection de la propriété associé à un argument est faite par un premier clic sur l'argument en question. Puis cliquer sur l'objet ayant une propriété dont vous avez besoin et sélectionnez la propriété elle-même dans le menu contextuel qui apparaît. Par exemple, dans l'exemple précédent, vous cliqueriez sur <guilabel
>argument 1</guilabel
>, puis sur le segment choisi dans la fenêtre principale de &kig; et sélectionneriez la propriété <guilabel
>Longueur</guilabel
>. Après quoi, vous pouvez compléter les autres parties variables, ou choisir une autre propriété pour l'une des parties variables si vous désirez la modifier. Lorsque vous êtes prêt, cliquez sur le bouton <guibutton
>Terminer</guibutton
> pour achever la construction de l'étiquette. </para>
<screenshot>
<screeninfo
>Choix d'une propriété pour un masque variable</screeninfo>
<mediaobject>
<imageobject>
<imagedata
fileref="text_label_wizard__select_property.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase
>Choix d'une propriété pour un masque variable</phrase>
</textobject>
</mediaobject>
</screenshot>
</section>
<section id="locuses">
<title
>Lieux</title>
<para
>&kig; supporte l'utilisation des lieux. Un lieu est mathématiquement défini comme l'ensemble des points ou des lignes qui satisfont et sont déterminé par une condition spécifique ; comme dans <quote
>le lieu des points équidistants d'un point donné est un cercle</quote
>. Regardons un exemple d'utilisation des lieux dans &kig;. </para>
<para
>Considérez la construction géométrique suivante. Nous dessinons un cercle, et un point qui peut ce déplacer uniquement ce cercle (construisez ce point en positionnant le curseur sur un cercle, et en cliquant avec le &BCS;. Si vous essayez de déplacer ce point, vous verrez que vous ne pourrez pas le faire quitter le cercle). Ensuite, nous dessinons un segment reliant ce point et le centre du cercle, puis le point médian de ce segment. </para>
<screenshot>
<screeninfo
>Une construction simple utilisant un lieu</screeninfo>
<mediaobject>
<imageobject>
<imagedata
fileref="simple_locus_construction.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase
>Une construction simple utilisant un lieu</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Si maintenant vous déplacez le point contraint sur le cercle, vous verrez que le second point bouge avec lui. Si vous teniez un crayon sur le second point, et que vous bougiez le premier point tout autour du cercle, un nouveau cercle deux fois plus petit que le premier serait dessiné. La trajectoire que suit le second point lorsque le premier fait le tour du cercle est sont lieu. </para>
<para
>Actuellement la construction du lieu d'un point est très facile. Cliquez sur le bouton <guiicon
>Lieux</guiicon
> de la barre d'outils, ou sélectionnez <menuchoice
><guimenu
>Objets</guimenu
> <guisubmenu
>Autres</guisubmenu
> <guimenuitem
>Lieux</guimenuitem
></menuchoice
> dans la barre de menu. Puis choisissez le point contraint comme point mobile (le texte <guilabel
>Point mobile</guilabel
> apparaîtra lorsque vous le survolerez avec la souris), et l'autre comme point dépendant. Le lieu du point dépendant sera alors dessiné. </para>
</section>
</chapter>
<chapter id="scripting">
<title
>Utilisation de script</title>
<para
>&kig; permet à l'utilisateur de créer des types personnalisés dans le langage de script Python. Ceci est une fonctionnalité très avancée, et je ne connais qu'un seul autre programme de géométrie interactive ayant une fonctionnalité similaire (le programme &drgeo; de <acronym
>GNOME</acronym
>). </para>
<para
>Les scripts en Python vous permettent typiquement de créer vos propres objets à partir de certains objets parents. Par exemple, si vous êtes un professeur de mathématiques, et que vous avez une manière originale de calculer un point intéressant d'une conique, alors au lieu de vous embêter avec des constructions complexes et des macros, vous pourriez simplement écrire en code Python la manière dont le point est calculé et &kig; vous le montrera. </para>
<para
>Supposez que vous n'étiez pas au courant du type <quote
>Milieu</quote
> inclus dans &kig;, et que vous vouliez montrer le milieu de deux points donnés. Vous cliqueriez alors sur le bouton <guibutton
>Script Python</guibutton
> dans la barre d'outils, ou choisiriez <menuchoice
> <guimenu
>Objets</guimenu
> <guisubmenu
>Autres</guisubmenu
> <guimenuitem
>Script Python</guimenuitem
></menuchoice
> dans la barre de menu. Un assistant vous sera alors présenté qui vous permettra de continuer. </para>
<screenshot>
<screeninfo
>L'assistant de script</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="script_wizard.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>L'assistant de script</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>La première chose que vous devez faire est choisir les arguments de votre script. Dans notre exemple, il s'agit des deux points dont nous voulons afficher le milieu. Choisissez les dans la fenêtre principale de &kig;, et cliquez sur <guibutton
>Suivant</guibutton
> pour continuer. </para>
<para
>Un petite boîte d'édition vous est alors présentée dans laquelle vous pouvez saisir le code pour votre objet script. Un modèle de code et des commentaires sont déjà présents. Il est important d'être sûr que votre code est bien du code Python valable. Les personnes familières avec Python noteront que nous définissons actuellement une fonction Python appelée <function
>calc</function
>. Il est en conséquence nécessaire d'utiliser les règles de définition d'une fonction Python. Par exemple, chaque ligne de la fonction devra commencer par une <keysym
>Tabulation</keysym
>. La première ligne ne commençant pas par une <keysym
>Tabulation</keysym
> termine la définition de la fonction. </para>
<para
>La fonction Python que nous voulons définir est appelée <function
>calc</function
>, et dans notre cas elle accepte deux arguments. Ce sont les objets que vous avez sélectionné comme arguments dans l'écran précédent. Vous avez besoin d'autant d'arguments que vous en avez ici. Ils sont appelés <parameter
>arg1</parameter
> et <parameter
>arg2</parameter
>, mais vous pouvez modifier leurs noms en quelque chose ayant plus de sens si vous le voulez. </para>
<para
>Dans la fonction, vous pouvez faire toutes sortes de calculs que vous jugez nécessaire, en utilisant les deux arguments si besoin. Vous devez retourner l'objet que vous voulez définir. Dans notre cas, c'est un objet <classname
>Point</classname
>. Les deux arguments sont aussi des objets <classname
>Point</classname
>, et nous pouvons utiliser la fonction <function
>Point.coordinate()</function
> pour obtenir les coordonnées des deux points. </para>
<para
>Le calcul nécessaire dans notre exemple est très simple, nous additionnons simplement les deux ensembles de coordonnées, puis divisons par deux le résultat. Nous construisons alors un nouveau point utilisant ces coordonnées. Le code Python nécessaire est :</para>
<programlisting
>def calc( a, b ):
m = ( a.coordinate() + b.coordinate() ) / 2;
return Point( m )
</programlisting>
<screenshot>
<screeninfo
>Saisie du code</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="script_wizard_entering_code.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Saisie du code pour le milieu dans l'assistant de script.</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Si vous cliquez maintenant sur le bouton <guibutton
>Terminer</guibutton
>, le nouvel objet apparaîtra dans le document &kig;. Si vous déplacez un des points, alors le point nouvellement créé l'accompagnera. Des objets bien plus puissant peuvent être construits de cette manière, vous êtes encouragés à essayer. </para>
<screenshot>
<screeninfo
>Un script a été créé</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="constructed_script_object.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Le script nouvellement créé. </phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Tous les objets dans &kig; peuvent être utilisés dans le code Python. Comme nous l'avons vu précédemment, les points sont de la classe <classname
>Point</classname
>, et vous pouvez utiliser &pex; la méthode <function
>Point.coordinate()</function
>. Vous pouvez aussi retourner toutes sortes d'objets, pas seulement un <classname
>Point</classname
>. Beaucoup plus de classes et de méthodes sont disponibles dans le code Phyton pour &kig;, et une référence plus complète est fourni sur le <ulink url="http://edu.kde.org/kig/manual/scripting-api/index.html"
>site internet de &kig;</ulink
>. </para>
</chapter>
<chapter id="kig-features">
<title
>Fonctionnalités de &kig;</title>
<itemizedlist>
<listitem>
<para
>&kig; est un programme open source. Cela signifie que vous êtes libre de l'utiliser et de le modifier comme bon vous semble. Redistribuer &kig; est sujet à quelques restrictions, entre autres que tout le monde dispose des mêmes droits d'utiliser une version de &kig; incluant vos modifications, comme vous et moi. </para>
<para
>Les logiciels libres sont développés dans un esprit très ouvert, et leurs développeurs sont habituellement très à l'écoute des suggestions des utilisateurs. Ainsi, si vous avez des questions, des critiques ou quoi que ce soit d'autre à propos de &kig;, informez en l'auteur à l'adresse <email
>toscano.pino@tiscali.it</email
>. </para>
</listitem>
<listitem>
<para
>&kig; est un programme KPart, ce qui signifie que vous pouvez l'inclure dans d'autres logiciels &kde;. Si vous ouvrez un fichier <literal role="extension"
>.kig</literal
> dans &konqueror;, il pourra être ouvert directement dans la fenêtre de &konqueror; sans avoir besoin d'ouvrir une autre application. </para>
</listitem>
<listitem>
<para
>Travailler avec &kig; est très aisé. La construction d'objets est facile et interactive, avec prévisualisation des résultats, &etc; Déplacer, sélectionner et construire, tout est accessible de la façon attendue. La fonction défaire est, elle aussi, intuitive. </para>
</listitem>
<listitem>
<para
>&kig; permet que les macros soit définies simplement. Ces objets sont présentés à l'utilisateur comme des objets classiques. Ils sont enregistrés en fin de session et chargés au démarrage de l'application, ainsi ils ne sont pas perdus d'une session à l'autre. Vous pouvez gérer ces objets dans la boîte de dialogue <guilabel
>Gérer les types de macro</guilabel
> (voir <xref linkend="working-with-types"/>). Vous pouvez les exporter vers un fichier, les importer depuis un fichier, les éditer et les effacer. </para>
</listitem>
<listitem>
<para
>&kig; enregistre ses données dans un format &XML; lisible. </para>
</listitem>
<listitem>
<para
>&kig; gère la construction de lieux. </para>
</listitem>
<listitem>
<para
>&kig; vous permet d'exporter un fichier &kig; vers quelques formats intéressants, comme des fichiers images, <application
>XFig</application
> et <application
>LaTeX</application
> ainsi que des images vectorielles <acronym
>SVG</acronym
>. Ceci est plutôt utile, car tous les programmes ne gèrent pas encore le format de fichier de &kig;. </para>
</listitem>
<listitem>
<para
>&kig; a un système de transformation très flexible. </para>
</listitem>
<listitem>
<para
>&kig; veut être compatible avec ses concurrents. C'est pourquoi il gère le format de fichier de &kgeo;, le format de fichier de &kseg; et partiellement les formats &drgeo; et &cabri; ; de plus, le support d'autres formats de fichier est prévu. </para>
</listitem>
</itemizedlist>
</chapter>
<chapter id="faq">
<title
>Questions et réponses</title>
&reporting.bugs; &updating.documentation; </chapter>
<chapter id="credits">
<title
>Remerciements et licence</title>
<para
>&kig; </para>
<para
>&kig; copyright 2002-2004 Dominique Devriese <email
>devriese@kde.org</email
> </para>
<para
>Documentation copyright 2002-2004 Dominique Devriese. <email
>devriese@kde.org</email
> </para>
<para
>Documentation copyright 2002-2005 Pino Toscano <email
>toscano.pino@tiscali.fr</email
> </para>
<para
>Relecture par &Philip.Rodrigues; &Philip.Rodrigues.mail; </para>
<para
>Traduction française par &YvesGuillou;, &CedricPasteur; et &YohannHamon;</para
>
&underFDL; &underGPL; </chapter>
<appendix id="installation">
<title
>Installation</title>
<sect1 id="getting-kig">
<title
>Comment obtenir &kig;</title>
&install.intro.documentation; </sect1>
<sect1 id="compilation">
<title
>Compilation et Installation</title>
&install.compile.documentation; </sect1>
</appendix>
<appendix id="contributing">
<title
>Participez</title>
<section id="kig-is-free">
<title
>Programme libre</title>
<para
>&kig; est un<ulink url="http://www.gnu.org/philosophy/philosophy.html#AboutFreeSoftware"
> Logiciel libre</ulink
>. Cela signifie que son code source est disponible sur Internet, et que tout le monde peut l'utiliser, le lire, le modifier et le distribuer. Je travaille sur ce projet pendant mes loisirs, et j'ai déjà appris beaucoup sur la programmation, le C++, &kde; / &Qt;, les mathématiques, la collaboration logicielle et les projets open source au cours de ce processus. </para>
</section>
<section id="contribute-to-kig">
<title
>Participez</title>
<para
>Dans ce chapitre, je veux vous montrer, à vous les utilisateurs, les droits que la licence de &kig; vous donne. Comme avec tous les logiciels libres, vous êtes autorisés (et encouragés) à résoudre les problèmes que vous rencontrez lors de son utilisation, à ajouter des fonctionnalités qui vous font défaut, à distribuer votre programme modifié et à m'envoyer ces modifications à <email
>toscano.pino@tiscali.it</email
>, afin que je puisse les intégrer dans les versions suivantes pour que les autres utilisateurs en profitent. Notez que je n'ai personnellement aucun intérêt financier quel qu'il soit dans ce projet. </para>
<para
>Si vous doutez de vos droits concernant l'utilisation de ce logiciel, ou de l'utilisation par des tierces personnes des modifications que vous avez faites au programme, &etc;, veuillez lire la licence. Vous pouvez la trouver dans le fichier <filename
>COPYING</filename
> situé dans l'arborescence des fichiers sources de &kig; ou dans l'onglet <guilabel
>licence</guilabel
> de la boîte de dialogue <guilabel
>À propos de Kig</guilabel
>. </para>
</section>
<section id="howto-contribute">
<title
>Comment contribuer ?</title>
<para
>Toutes les contributions sont les bienvenues. Si vous n'aimez pas les icônes, ou que vous pensez que ce manuel a besoin d'une mise à jour, ou bien si vous avez une macro vraiment super que vous voudriez partager avec le monde entier, n'hésitez pas à me les envoyer. Notez simplement que vos contributions seront distribuées selon les termes de la licence &GNU; <acronym
>GPL </acronym
> ; vous pouvez trouver les termes de cette licence dans le fichier <filename
>COPYING</filename
> situé dans l'arborescence des fichiers sources de &kig;, et dans le chapitre <link linkend="credits"
>Remerciements et licences</link
> de ce manuel. </para>
</section>
</appendix>
&documentation.index;
</book>
<!--
Local Variables:
mode: xml
End:
-->
|