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>
|