File: principles.xml

package info (click to toggle)
cameleon 1.9.13-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 3,224 kB
  • ctags: 4,677
  • sloc: ml: 34,648; xml: 2,826; sh: 1,409; makefile: 1,291; sql: 60; perl: 20
file content (343 lines) | stat: -rw-r--r-- 12,583 bytes parent folder | download
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
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<page name="principles">
<title><en>Principles</en><fr>Principes</fr></title>

<section name="principles:intro">
<title><en>Introduction</en><fr>Introduction</fr></title>
<p>
<en>In order to benefit from Cameleon2, one must know the
way it works.
</en>
<fr>Afin d'utiliser au mieux Cameleon2, il est impratif de
connatre les principes de son fonctionnement.
</fr>
</p>

<p>
<en>The goal of Cameleon2 is to offer tools to make
the development of OCaml (and eventually other languages)
applications easier. So Cameleon2 comes with:
</en>
<fr>Cameleon2 a pour but d'offrir des outils facilitant le
dveloppement de logiciels crits en OCaml (et ventuellement
d'autres langages). Il offre  ce titre:
</fr>
</p>
<ul>
<li>
<en>A mecanism of view on ressources. A ressource can be
a directory containing source files, for example. Then one can
see this directory from the version configuration management
point of view with the "CVS view", or from the dependencies-of-modules
point of view, through a dependency graph,
</en>
<fr>Un systme de vues sur des ressources. Une ressource peut-tre
un rpertoire contenant des fichiers sources par exemple. On peut
alors le voir d'un point de vue gestion de configuration avec une
"vue CVS", ou du point de vue des dpendances des modules OCaml 
travers un graphe,
</fr>
</li>
<li>
<en>Specific tools like an XML template designer (Report),
a tool to design a database schema and generate OCaml code to access
the database, a browser in OCaml modules documentation, a graphical
toplevel (Topcameleon).
</en>
<fr>Des outils spcifiques comme un diteur de templates XML (Report),
un outil de dfinition de schma de base de donnes et de gnration
du code OCaml pour y accder, un navigateur dans la documentation
de modules OCaml, un interprte ("toplevel") graphique (Topcameleon),
</fr>
</li>
<li>
<en>Various libraries used in Cameleon2: configuration files management,
creation of configuration windows, ...
</en>
<fr>Diverses bibliothques utilises dans Cameleon2: gestion de fichiers
de configuration, cration de fentres graphiques de paramtrage, ...
</fr>
</li>
<li>
<en>The ability to customize all menus, buttons bar and keyboard
shortcuts,
</en>
<fr>La possibilit de configurer tous les menus, barres de boutons
et raccourcis clavier,
</fr>
</li>
<li>
<en>The ability to add features with plugins.
</en>
<fr>La possibilit d'ajouter des fonctionnalits par l'intermdiaire
de greffons ("plugins").
</fr>
</li>
</ul>

<p>
<en>To open views or use other features, the user uses Cameleon2 "commands".
These commandes looks like simple shell script commands: a command name
followed eventually by arguments. These commands can be associated to menus,
buttons in the button bar and keyboard shortcuts. One can also launch a
command "by hand" by using the "eval" predefined command. More commands
can be defined by using plugins. The last way to launch a command is to
use the "-e" option of Cameleon2 from the shell:
</en>
<fr>Pour ouvrir les vues et utiliser les autres fonctionnalits,
l'utilisateur utilise des "commandes" Cameleon2. Ces commandes ressemblent
 des commandes simples de script shell: un nom de commande suivi d'arguments.
Elles peuvent tre associes aux menus, aux boutons de la barre de boutons
ou  des raccourcis clavier. Il est galement possible de lancer une commande
 la main en lanant la commande prdfinie "eval". Des commandes additionnelles peuvent
tre dfinies par les greffons. Enfin, une dernire faon de lancer une commande
est depuis la ligne de commande du shell, avec l'option "-e" de Cameleon2:
</fr>
</p>
<command-line>
cameleon2.{x,byte} -e "open_view /work/cameleon2 modules"
</command-line>
<p>
<en>
Then the command is launched, eventually by an already launched cameleon2 (see
</en>
<fr>La commande est alors excute au lancement, ventuellement par un cameleon2
dj lanc (cf.
</fr>
<local href="principles:server"><en>the server</en><fr>le serveur</fr></local>).
<en>For information, the above command opens a "modules" view on the directory
"/work/cameleon2".
</en>
<fr>
Pour information, la commande ci-dessus ouvre une vue "modules" sur le rpertoire
"/work/cameleon2".
</fr>
</p>
</section>

<section name="principles:views">
<title><en>Views</en><fr>Vues</fr></title>
<p>
<en>Various views are available by default. More can be added using plugins.
</en>
<fr>Diffrentes vues sont disponibles par dfaut. Il est possible d'en ajouter
par greffon.
</fr>
</p>

<p>
<en>The views are open with the command
</en>
<fr>Les vues disponibles sont accessibles par la commande
</fr>
</p>
<command-line>
open_view ressource_name view_name
</command-line>
<p>
<en>The view "view_name" is then open on the ressource "ressource_name".
If the view does not exist, an error message is display in the log window;
this log window is displayed with the command
</en>
<fr>La vue "view_name" est alors ouverte sur la ressource "ressource_name".
Si la vue n'existe pas, un message d'erreur est affich dans la fentre
de journal affiche par la commande
</fr>
</p>
<command-line>
log_window
</command-line>
<p>
<en>The following views are available:</en>
<fr>Les vues suivantes sont disponibles:</fr>
</p>
<ul>
<li><b>cvstree</b> (<en>on a directory</en><fr>sur un rpertoire</fr>):
<en>This view displays a directory tree with the given tree (the ressource) as root;
directories handled by CVS are in bold, and contextual popup menus (with right
button of the mouse) allow to launch CVS operations or open other views.
</en>
<fr>Cette vue affiche une arborescence de rpertoires  partir de celui
donn en paramtre (qui est la ressource). Les rpertoires grs sous CVS
sont affichs en gras et un menu contextuel (accessible par le bouton droit
de la souris) permet d'effectuer des oprations CVS ou d'ouvrir d'autres vues.
</fr>
</li>
<li><b>cvsfiles</b> (<en>on a directory</en><fr>sur un rpertoire</fr>):
<en>This view displays the list of files in the given directory which are
handled by CVS. One can use contextual menus to perform CVS operations on
the files.
</en>
<fr>Cette vue affiche la liste des fichiers du rpertoire donn qui sont grs
par CVS. On peut utiliser les menus contextuels pour effectuer des oprations
CVS sur les fichiers.
</fr>
</li>
<li><b>directory</b> (<en>on a directory</en><fr>sur un rpertoire</fr>):
<en>This view display a simple directory tree from the given tree. One can
use the contextual menu to open other views on a selected directory.
</en>
<fr>Cette vue affiche une simple arboresence de rpertoires depuis la racine
indique. Le menu contextuel permet d'ouvrir d'autres vues sur un rpertoire
slectionn.
</fr>
</li>
<li><b>filetypes</b> (<en>on a directory</en><fr>sur un rpertoire</fr>):
<en>This view display the files in the given directory, grouping them
by file type. File types are defined with the "configure_file_types_rules"
command et actions can be associated to each file type by the
"configure_file_types_handlers" command. In this view, the contextual
menu allows gives access to the various actions associated to the
selected file(s).
</en>
<fr>Cette vue affiche les fichiers du rpertoire donn, en les groupant
par type de fichier. Les types de fichier sont dfinis grce  la commande
"configure_file_types_rules" et les actions associes  ces types de fichiers
sont indiqus grce par la commande "configure_file_types_handlers".
Dans cette vue, le menu contextuel permet de lancer les commandes associs
 chaque type de fichier.
</fr>
</li>
<li><b>modules</b> (<en>on a directory</en><fr>sur un rpertoire</fr>):
<en>This view uses the </en>
<fr>Cette vue utilise le fichier de dump </fr>
<tt>dump.odoc</tt>
<en> file of the given directory to display the list of OCaml modules contained in it,
and each of their elements, in a tree-oriented way.
A contextual menu allows the edition of the selected element (module, type, ...).
The command used to edit the element is (by now) defined in the file
</en>
<fr> du rpertoire donn
pour afficher les informations sur les modules OCaml qu'il contient, ainsi
que les lments (types, fonctions, ...) de chaque module, le tout de faon
arborescente.
Un menu contextuel permet d'diter l'lment (module, type, ...) slectionn.
La commande pour raliser cette dition est (pour l'instant) dfinie dans le fichier
</fr>
<tt>~/.cameleon2/gui.ini</tt> (<tt>open_source_command = "...."</tt>).
<en>
The OCamldoc dump file is obtained with a command like
</en>
<fr>Le fichier de dump OCamldoc peut tre obtenu avec une command comme
</fr>
<command-line>
ocamldoc -dump dump.odoc -I ... module1.ml module2.mli module2.ml ...
</command-line>
<en>This kind of command can be put in a Makefile so that the dump file
can be easily generated.
</en>
<fr>Ce genre de commande peut tre mise dans un Makefile pour faciliter
la cration de ce fichier.
</fr>
</li>
<li><b>multiview</b>:
<en>This view is used to display various views in the same window,
with a "tab" per view. Here is an example of a commande to open such a view:
</en>
<fr>Cette vue permet d'afficher plusieurs vues dans une mme fentre,
chacune dans un onglet. Voici un exemple de commande d'ouverture de cette
vue:
</fr>
<command-line>
open_view my_view multiview /work/cameleon2 cvstree /work/caml-get modules
</command-line>
<en>This command opens a multiview on the ressource "my_view" (the name
is only used not to display to different windows simultaneously with
the same command; only one window can display a given view on a given ressource).
With this command, the multiview contains two views: a "cvstree" view
on the "/work/cameleon2" ressource and a "modules" view on the "/work/caml-get"
ressource. If you keep the window open and try to open the "modules" view
on "/work/caml-get", then the multiview window is raised, not to have
two windows with the same view.
</en>
<fr>Cette command ouvre une multivue sur la ressource "my_view" (le
nom sert  ne pas afficher simultanment des fentres diffrentes avec
la mme commande; seule une fentre peut afficher une vue donne
sur une ressource donne). Avec cette commande, la multivue contient deux vues:
une vue "cvstree" sur la ressource "/work/cameleon2" et une vue "modules"
sur la ressource "/work/caml-get". Si on garde cette fentre ouverte et que
l'on essaie d'ouvrir une vue "modules" sur "/work/caml-get", alors la fentre
de la multivue est affiche, pour ne pas avoir deux fentres sur la mme vue.
</fr>
</li>
</ul>

<p>
<todo><en>To complete...</en><fr>A complter</fr></todo>
</p>
</section>

<section name="principles:server">
<title><en>Server</en><fr>Serveur</fr></title>
<p>
<en>When a first Cameleon2 is launched on a given machine by a given user, it becomes
a server, by creating a communication file (named pipe). If other Cameleon2 are
launched on the same machine by the same user when the first Cameleon2 is still running,
they terminate immediately, so that we don't have various Cameleon2 running
simulaneously.
</en>
<fr>Lorsqu'un premier Cameleon2 est lanc sur une machine donne pour un utilisateur
donn, il devient serveur, en crant un fichier de communication (tube nomm). Si d'autres Cameleon2
sont lancs sur cette machine par le mme utilisateur alors que le premier n'est pas termin,
ils terminent aussitt pour ne pas avoir deux Cameleon2 s'excutant simultanmnt.
</fr>
</p>
<p>
<en>However, if the "-e" option is used on the command line of the following Cameleon2s,
then the indicated commands are sent to the server which evaluates them. This allows
a remote control of the first Cameleon2. This is very useful for example when one
configure keyboard shortcuts in his window manager to send commands to the server:
one can open views or launch other commandes by a simple keyboard shortcut.
</en>
<fr>Cependant, si l'option "-e" est
passe sur la ligne de commandes des Cameleon2 lancs aprs le premier, alors
les commandes indiques sont envoyes au serveur et sont values par ce dernier.
Cela permet de contrler le premier Cameleon2  distance. C'est trs utile par exemple
quand on paramtre des raccourcis clavier dans son gestionnaire de fentres et que
ces raccourcis envoient des commandes au serveur: on peut faire ouvrir des vues
ou excuter d'autres commandes avec juste un raccourci clavier.
</fr>
</p>
</section>


<section>
<p>
<en>
</en>
<fr>
</fr>
</p>
<p>
<en>
</en>
<fr>
</fr>
</p>
<p>
<en>
</en>
<fr>
</fr>
</p>
<p>
<en>
</en>
<fr>
</fr>
</p>
<p>
<en>
</en>
<fr>
</fr>
</p>
<p>
<en>
</en>
<fr>
</fr>
</p>
</section>

</page>