WIMS technical documentation

This document is currently under integral style. You may change it to indexed or folding style. There is also a general help and a paper on WIMS.

-- Table of Contents --

General documentation

  1. What is WIMS?
  2. Examples of what you can do with WIMS
  3. Comparison with other approaches
  4. Current features of WIMS
  5. Online development of activities

WIMS modules: technical reference

  1. Basic structure of WIMS
  2. Structure of a WIMS module
  3. Variables in a module
  4. Variables with special meanings
  5. Data structure
  6. List of commands
  7. List of inline mathematical symbols
  8. List of slib (library of scripts)
  9. Flydraw Documentation
  10. Canvasdraw Documentation
  11. Interfaces to external software packages
  12. Template files
  13. How to do an anstype

Development

  1. Structure of sub directories
  2. Themes
  3. Sheet/Exam/Freework/Document index formats
  4. Taxonomies
  5. Icones
  6. Help for script library
  7. Interoperability module
  8. Debugging methods
  9. Change log

What is WIMS?

WIMS (Www Interactive Multipurpose Server) is an internet server system designed for mathematical and other educational purposes.

The WIMS server is composed of a kernel program which is a cgi program (wims.cgi), plus various activity units called ``modules''.

The client browser accesses the server via a http request to wims.cgi, with parameters specifying the name of the module to request, the type of the request, and possibly parameters for the module ; wims.cgi processes the requested module, passing the user parameters to it, and sends the result returned by the module back to the client.

A module may consist of a number of script files grouped in one directory. These scripts are written in a special scripting language: the WIMS language.

The WIMS language contains commands which allow it to call external programs (especially various mathematical softwares) to make sophisticated computations. Such commands are processed by wims.cgi and sent through interface programs which filter the request, check for security breaches, and send back a filtered output.

Table of Contents


Examples of what you can do with WIMS

The current version 4.28 of wims has several applications which demonstrates (non-exhaustively) what one can do with a wims system.

Table of Contents


Comparison with other approaches

Advantage of WIMS versus locally installed softwares

  1. No need of software installation and/or update by users.

    All installation and/or update of background software is done on the server side, which can be anywhere on the internet. On the client machine, only a common web browser is required (which needs not to be very up to date).
  2. No need to learn the usage and the syntax of a particular software package.

    As WIMS uses the html standard for user interface, a user, in particular a student, has only to use his usual knowledge of html browsing (which is now a common knowledge), in order to work on WIMS applications.
    This is not the case for any of current mathematics softwares; all of them require a training period before the user can work on it. This training period may be more or less lengthy, but we remark that the knowledge of using a particular software is not a universal knowledge, and such a knowledge usually has a short lifespan. Moreover, teaching knowledge about a commercial software contradicts with the principle of commercial neutrality of a public education institution.
  3. It provides a means to collect the knowledge and experience of the whole educational community.

    WIMS is a modular system, where each application is a separated module whose links with other modules are done in the usual html way. This allows modules to be developped independently and remotely. It is our hope that as many educators as possible will add their knowledge and experience to the system by contributions in the form of new modules or improvements of existing ones.
  4. It allows student - teacher interactions in several ways.

    Organized under the structure of classes, a WIMS system allows teacher to assign works for his students, and get reliable informations about the progress (and/or difficulty) of the student in real time. This may allow the teacher to give more personalised guide to the student. The big advantage of such a system based on internet is that there is no site restriction: any work done from any site (local or remote) is valid, and is taken into account.
  5. It provides a dynamic interaction between different components, e.g. between exercises and computing tools.

    For example, practically no software dedicated to exercises can interface a computational tool as easily as WIMS does.
  6. It can be more powerful than any given software for certain works.

    Because WIMS can use different (dedicated) software as backend engine, even several softwares for one application or one request.

Disadvantage of WIMS versus locally installed softwares

  1. Low speed of reaction.

    Because usually every WIMS response has to travel through internet. This will improve when internet speed improves.
  2. Limited computational power and programming capability.

    If a user has a heavy computational job and/or has to design a complicated script to get his job done, he should work directly on the appropriate software. It is not at all the intention of WIMS to interface such activities.
  3. Limited capability of the graphical interface.

    The html graphical user interface is not very suited for interactive works.

Advantage of WIMS versus hand calculators

  1. Easier to use.

    A html page used by WIMS for user interface is much more comprehensible than any hand calculator.
  2. (Much) more powerful.

Disadvantage of WIMS versus hand calculators

  1. Non-portability.

    WIMS is accessible only to computers connected to internet.

Advantage of WIMS versus interactive web applications based only on java or javascript

  1. More powerful and more versatile.

    As WIMS can embed java or javascript programs in its applications, a wisely designed WIMS application just extends the capability of java or javascript.
    And WIMS can really do more: even if it is theoretically possible to develop java applications which has the same power as a software used as a backend engine for WIMS, it would take too much effort to develop (is it reasonable to re-write TeX in java?), and would be so big that it would take forever for an http query to load.
  2. Easier to develop.

    Because WIMS language is first based on html (easy to learn), with an extension specifically designed for this purpose.
  3. Allows student-supervisor interaction.

    The design of server-based interactivity for users allows the back-end communication with supervisors, and much more (performance analysis, automatic intervention from supervisors, etc).

Disadvantage of WIMS versus interactive web applications based on java or javascript

  1. Lower speed of reaction.

    Because usually every WIMS response has to travel through internet. This will improve when internet speed improves. One can also use embedded javascript or java in a WIMS application, in places where response speed is important.

Table of Contents


Current features of WIMS

  1. Write html pages with a programmability extension: substitution of variables, conditional branching, etc.

    This wims programmability extension to html does not require any addon or plugin at the browser side, as all the wims commands are treated by the wims server before sending the result to the browser, which will be a standard html page.
    For example, this allows you to define style macros which can be dynamically changed.
    And this extension can cohabit with all the current (and hopefully future) html standards, including java applets, javascripts, embedded objects, dhtml... This is because the wims extension follows a strict line discipline (i.e. a wims command must start at the first word of a line), while html standard is not line-oriented.
    This means that you can even embed wims extensions into javascripts, applets, dhtml...
  2. Dynamic insertions of paints, plots and TeX formatted mathematical formulas into html pages.

    For example, you may insert the following line into your wims-extended html page. At the browser side, the visitor will see a TeX formatted matrix whose content varies with the value of the variable $matrix:
          !instex $$ \left( $matrix \right) $$
    Moreover, this implementation of dynamic insertions makes future updates possible without modification at module's level. (For example when a better way to render mathematical formula is available, a simple modification at server's level will immediately let all !instex lines take benefit of the new standard.)
  3. Insplot is now animated!

    Exemple: the tool Tracés Animés .
  4. Direct interfaces to powerful external software packages.

    For example, you may define a variable `factor' by the following line:
          factor=!exec pari print(factor($number))
    Upon execution of this line, the variable will be replaced by its current value, then the software package `PARI' will be called with the string `print(factor(<value of $number>))' as command to execute. The output of the program, with the overheads stripped, will be placed as the value of the variable `factor'.
    Interfaces provided in version 4.28 of wims: PARI, Maxima, MuPAD, Coq, Povray, gnuplot, PostgreSQL, Fly (gif drawing), CALC (by Keith Matthew).
  5. Simple and versatile language.

    The language used for wims modules is an extension of the existing and popular html language. This extension is designed to be simple, easy to use and close to natural language. Synonymes are accepted whenever necessary. For example, to include the content of another file, you don't have to remember whether the command is include as in C, or input as in TeX, because both are valid.
  6. Convenient directives for string manipulations:

    replace with regular expression capability, extraction of a subset from a list of items, shuffle, evaluation of mathematical expressions, etc.
  7. Easy inline mathematical symbols:

    simply type $m_pi for pi, $m_RR for RR, $m_le for le, $m_Rightarrow for Rightarrow, etc.
  8. Intelligent treatment of mathematical expressions:

    built-in translation routines to allow error-tolerant expressions like 2y (instead of 2*y) or (x+1)(x-1) (instead of (x+1)*(x-1)), and translations of raw mathematical expressions into beautified html sources (x^3-3*x^2+1*x-5 will become x3-3x2+x-5 , etc.), or TeX sources, etc.
  9. Powerful random capabilities:

    random permutation (shuffle), random record from a datafile, random filename, etc.

Table of Contents


Online development of activities

The system includes several facilities allowing you to create and develop WIMS activities directly online. To do so, you have only to click on the respective links from the home page of the server.

The easiest is the creation of simple interactive exercises which does not really require the knowledge about a computer language, but exercises that can be written in this way have limited power and versatility.

On the other hand, you can also develop full-power WIMS modules by working entirely on line. For obvious security reasons, you will need a login/password pair which you must ask the site manager to attribute to you. Once logged in, you can create and modify as many modules as you like, in a special development zone. When you have finished the development of a module, you can ask the site manager to move it to a public place.

Table of Contents


Basic structure of WIMS

The central piece of a WIMS server is a cgi program, usually in the name of wims.cgi. It takes all the http calls to the server, then does the following work:
  1. Call the module asked by the user, and process parameters and variables according to what is defined in the module.
  2. Session management.
  3. Send the result of the process to the user.
  4. Write to different log files.

Modules of WIMS

A WIMS server is a modular system, with different applications as modules. At each new call to WIMS, the user has to specify which module he wants to access.

A WIMS module may be an interactive course or interactive exercise (of any level), a computational tool, a dictionary, a mathematical game, a database, or a mixture of the above.

WIMS modules are independent from each other. Each module has its own directory, which serves as its address, and contains all the files of this module. Different modules have different authors and different maintainers, and may follow different copyright policies.

There is no relation between modules in a same WIMS site, except hypertext links which allows one module to access another in various ways.

How to access a WIMS server

WIMS is accessed by a request to the main cgi program, for example
https://wims.univ-cotedazur.fr/wims/wims.cgi

which usually should be followed by parameters. A call to the main wims.cgi program without parameter will bring up the WIMS homepage of the site.

Parameters of wims.cgi is a usual http name=value pair, where the name field may be one of the following:

Example:
https://wims.univ-cotedazur.fr/~wims/wims.cgi?cmd=new&+module=tool/algebra/factor.en
calls the WIMS server at wims.univ-cotedazur.fr, with `new' as the value of `cmd', `tool/algebra/factor.en' as the module name.

How to use the supervisor-side interface

Supervisors of registered classes can maintain their classes and consult results of students via the same web address (the main cgi program), just by logging in as supervisor. All the options are then available via html links and buttons.

Table of Contents


Structure of a WIMS module

Each WIMS module has a private home directory in which go all the files of this module.

A module must have at least the following files:

And it may often contain the following (optional) files too:

There may be any number of other files, like a README.md file, one or more help pages, an about page, one or more graphics files, files called by one of the above mandatory or optional files, etc.


Variable processing files

The files var.init and var.proc, as well as any files called by these two files, are variable processing files.

A variable processing file is divided into lines, separated by non-escaped new-line characters. A new-line character can be escaped by the character \, in which case it does not separate the two lines before and after it.

Every line of a variable processing file must be one of the following:
  1. A comment line, whose first non-space character is either the character #, or ! followed by another !.
  2. A variable definition line, in the form of name=value. The content of value may be a string (if this string contains a new-line character, it must be escaped by the character \), or a WIMS variable command (which must then start with the character !).
  3. A command line, whose first non-space character is the character !, followed by the command name and optional parameters.
    If the command produces an output string, this output will be ignored.
  4. A label line, whose first non-space character is the character :, followed by the name of the label. Anything following the label name will be considered as comment and ignored by the interpreter.
    Label is used in conjunction with the jumping command !goto.
    A label starting with the character '*' is catch-all, matching any !goto label.
  5. Any line not fitting into one of the above 4 will generate a WIMS error message.

Phtml files

The files main.phtml and intro.phtml, as well as any files called by these two files, are phtml files (programmable html).

A phtml file is an ordinary html file, except for lines whose first non-space character is a ! or a :.

Lines can be escaped by \, just as in the case of a variable processing file.

A line starting with : is a label line, as in the case of a variable processing file.

A line starting with ! is a command line, as in the case of a variable processing file. To the difference that if the command produces an output string, this output will be inserted into the html page, at the place of the line.

Lines not of the above two types will be sent to the http client, after substitution of variables.

Table of Contents


Variables in a module

Definition and substitution of variables

WIMS variables have only one type: they are all string variables. Numerical evaluation can be done on variables via the variable command !eval.

A variable may be defined or modified in a variable processing file, or by the commands !let and !default.

Variable names can contain any alphanumeric character, as well as the underscore character _. There is a limit to the length of variable names, and a limit to the length of values. (Limits depending on server configuration.)

Variable substitution can be done anywhere in a variable processing file or a phtml file (even in the name field of a variable definition line). A word preceeded by the character $ is considered to be a variable name, and will be replaced by its value when the line containing it is processed.

Special rules of variable substitution:


Reserved variable names

The following names are reserved for their special meanings. They should not be used for internal needs of any module.

Table of Contents


Variables with special meanings


Variables for general purposes by wims server
wims_exec_error is used to store error messages of the external program called by !exec. For this reason, this variable will be overwritten each time a !exec command is executed.
wims_module_log is used for individual module's log files: if this variable is non-empty, wims.cgi will put its content into the module's log file, at the end of the process of the user request.
wims_version has a value preset to the current version of the wims server.
wims_version_date has a value preset to the last compile date of the server program.
wims_site_manager contains the electronic address of the site manager, as defined in the configuration file wims.conf of the site. Modules should not modify this variable.
wims_print_precision defines the printing precision when a result of evaluation (via !eval or NaN) is converted to a character string. Default value: 8 (may be modified in wims.conf).
wims_warn_ ... is ...
wims_compare_precision is used to define error tolerance when wims compares two numerical values. Formula: !ifval a=b will return TRUE if

abs(a-b)*10000<abs(a+b)+1/10000.

Default value: 10000 (may be modified in wims.conf).
wims_texsize can be used to modify TeX sizes for the module. Default value is 0 (no change). Maybe 1,2,... (increase TeX size) or -1,-2... (decrease TeX size).
wims_homeref_parm is reserved for future use in the command !homeref.
wims_homeref_bgcolor is...
wims_rawmath_functions is used to tell rawmath routine that the words contained in the variable value should be treated as function names. These words can be separated either by white space or by comma.
wims_rawmath_variables is used to tell rawmath routine that the words contained in the variable value should be treated as math variable names. These words can be separated either by white space or by comma.
wims_ref_name gives the addess of the wims serveur (for this server, https://wims.math.cnrs.fr/wims/wims.cgi)
httpd_HTTP_HOST gives the name of the wims serveur (for this server, wims.math.cnrs.fr)
wims_protocol gives protocol used (http, https. for this connexion )
wims_ref_target defines the target of the command !href, !homeref, !form. Its value is not automatically reset to empty after the commands. (Defaults to empty string, meaning that the target is the current document.)
wims_ref_id defines the id in the command !href (<a ... id=" ">) and in the commands !formradio, !formcheckbox and !getfile. Its value is automatically reset to empty after the commands. (Defaults to empty string)
wims_ref_class defines the css class in the command !href (<a ... class=" ">) and in the commands !formradio, !formcheckbox and !getfile. Its value is automatically reset to empty after the command. (Defaults to empty string)
wims_ref_title defines the title in the commands !href and !getfile (<a ... title=" ">). Its value is automatically reset to empty after the command. (Defaults to empty string)
wims_html_mode can be used before a command as !formradio, !formcheckbox. It forces the results of the formradio to be inside the html mode. The value must be span, li, div. It could be td.
wims_getfile_fname can be used before the command !getfile to specify the value for the download attribute, which will be the new filename of the downloaded file.
wims_html_header is the standardised html header for all its modules' html outputs. Its value is defined in the file html/header.phtml. It is highly recommended that modules use this variable to define their html headers.
wims_expire is used to define expiration dates of the pages sent to clients. Don't touch it if you don't know what this means.
module_init_parm is...
wims_ins_alt if the value is the word empty, no automatic alt is inserted (should be put in ins_attr for example); if the value is the word none, some alt is inserted (generated by WIMS).
jquery_defined if the value is the word yes, one can use jquery script (some themes do not use it, so another solution must be found even if there is less functionnality as dragdrop).
freepar_ If a variable begins by this prefix, no check on parenthesis is done.
wims_writable
wims_prefix


Variables reserved for dynamic insertions
ins_align defines the manner in which the inline picture is aligned with respect to the line. Possible values: bottom, middle or top. Default is empty (which means bottom).
ins_attr is used to define miscallaneous attributes of a dynamic insertion. Examples:
  ins_attr = alt="meaning"
or
  ins_attr = align=middle
(aligns the middle of the image with the baseline for the current textline), or
  ins_attr = ismap
(coordinates of the click will be passed back to the server; if the link of the element is the wims server, the coordinates will be registered under the variable no_name.)
This variable is reset to empty after a dynamic insertion.
ins_border is used to define border width of the html element IMG resulted from the dynamic insertion. Its value should be a positive number.
This variable is reset to empty after a dynamic insertion.
ins_density is used to define the density of the dynamic insertions. Default value: 100x100 .
Avoid using this variable! We are planning to suppress it. Will be replaced by a server-managed variable.
ins_format can be used to determine the format of the graphics file of the dynamic insertion: its value should be either gif or jpg. The default value of this variable is gif (which can be changed by modifying the file wims.conf; but such change is not recommended).
Some types of dynamic insertions may not be affected by this variable.
ins_quality is used to define quality of the graphics convertion used in dynamic insertions. Its value should be between 0 and 100. Affects only dynamic insertions whose graphics format is jpg.
ins_tag is used for dynamic insertions within a form. In this case define
ins_tag=form name where name is the name of the html element IMG within the form (optional).
This variable is reset to empty after a dynamic insertion.
insdraw_size is the size in pixels for the dynamic insertion. ins_filename is the name of the graphics file of the dynamic insertion (generated by wims). It must be taken just after the command !insdraw
ins_url is the url of the graphics file of the dynamic insertion. It must be taken just after the command !insdraw
insplot_data is ...
insplot_font is ...
insplot_set is ...
insplot_split is ...
insplot_transparent is used to define transparent color for insertions. Default is empty (no transparency). Usual value: 255,255,255(white is transparent).


Variables reserved for software
wims_backslash_insmath if the value is yes, it is possible to use the notation \( \) to insert mathematical expressions.
force_mathml if the value is yes, force mathml output of tex formulas.
disable_mathml If the value is 1, disable mathml output of tex formulas. The variable disable_mathml has priority on force_mathml.
pari_precision give the pari precision of the computation with Pari/GP
print_precision give the precision of the computed number at the end of the computation.
maxima_precision give the maxima precision of the computation with Maxima.
wims_multiexec If the value is yes, allow the multiexecution of the mathematical software
use_comma If value is 1 moneyprint will use a decimal comma. Any other value or no value will use the decimal point notation. Only to be used for presentation purposes.

Table of Contents


Data structure

Arrays

There is no special syntax in wims language for arrays. However, it is possible to design array-like variable structures, with integer or even string subscripts. This can be done using nested variable substitutions. For example, ...

Fields in a string

WIMS variables are all string variables. There are three different ways to split a string into fields:

This section is not yet finished. Sorry.

Table of Contents


List of commands

WIMS commands can be used in variable processing files and phtml files. A command is a word preceeded by the character !.

Commands has two types:

Some commands can be used both as execution command and as variable command.

Commands may accept parameters which are words following it. Parameter fields are separated by white spaces or special words (depending on the command).


Here is the list of all commands.

Table of Contents


List of inline mathematical symbols

The symbol names are based on corresponding TeX names.


SymbolName tt
alpha, beta, gamma, ... pi, ... omega $m_alpha, $m_beta, $m_gamma, ... $m_pi, ... $m_omega
Gamma, Delta, Lambda, Phi, Psi, Pi, Sigma, Theta, Xi, Upsilon, Omega $m_Gamma, $m_Delta, $m_Lambda, $m_Phi, $m_Psi, $m_Pi, $m_Sigma, $m_Theta, $m_Upsilon, $m_Xi, $m_Omega
varepsilon, varphi, wp, ell, Re, Im $m_varepsilon, $m_varphi, $m_wp, $m_ell, $m_Re, $m_Im
aleph, infty, nabla, partial $m_aleph, $m_infty, $m_nabla, $m_partial
AA, CC, RR, QQ, ZZ ... $m_AA, $m_CC, $m_RR, $m_QQ, $m_ZZ ...
calA, calB,... calM,... calZ $m_calA, $m_calB,... $m_calM,... $m_calZ
eufA, eufB,... eufM,... eufZ $m_eufA, $m_eufB,... $m_eufM,... $m_eufZ
eufa, eufb,... eufm,... eufz $m_eufa, $m_eufb,... $m_eufm,... $m_eufz
le, ge, pm, times, div $m_le, $m_ge, $m_pm, $m_times, $m_div
neq, equiv, cong, approx $m_neq, $m_equiv, $m_cong, $m_approx
leftarrow, rightarrow, mapsto, Leftarrow, Rightarrow, Leftrightarrow $m_leftarrow, $m_rightarrow, $m_mapsto, $m_Leftarrow, $m_Rightarrow, $m_Leftrightarrow
exists, forall, in, emptyset $m_exists, $m_forall, $m_in, $m_emptyset
subset, supset, subseteq, supseteq, cap, cup, prec, succ $m_subset, $m_supset, $m_subseteq, $m_supseteq, $m_cap, $m_cup, $m_prec, $m_succ
sum, prod, coprod, surd $m_sum, $m_prod, $m_coprod, $m_surd
int, oint, Vert, oplus, otimes $m_int, $m_oint, $m_Vert, $m_oplus, $m_otimes
bigtriangleup, bigtriangledown, bigvee, bigwedge $m_bigtriangleup, $m_bigtriangledown, $m_bigvee, $m_bigwedge
Besides, large parentheses are available under the name of $m_leftpar2, $m_leftpar3,..., $m_leftpar10 and $m_rightpar2, $m_rightpar3,..., $m_rightpar10. They can be used to inclose matrices of 2,3,...,10 rows. Ditto for leftbrace and rightbrace.

Table of Contents


List of slib (library of scripts)

Les scripts de cette bibliothèque peuvent être appelés d'un module en utilisant la commande !read (ou !readproc à partir d'un fichier phtml). Par exemple, la ligne
 !read slib/matrix/random 3, 5, 10
permet de construire une matrice 3×5 avec des coefficients entiers aléatoires dans [-10, 10]. Le résultat est affecté à la variable slib_out. Pour appeler un script slib d'un exercice OEF, d'un document ou dans un message du forum, on utilise la fonction slib(). Par exemple \text{a=slib( ... ) }

Seules les variables préfixées par slib_ sont modifiées par ces scripts.

Liste de scripts disponibles


Tous
Résultat
algebra/partitionconjPartition conjuguée []
algebra/partitiondraw Dessiner des diagrammes de Young d'une partition []
algebra/partitionlexNouvelle partition pour l'ordre lexicographique décroissant []
algebra/slopedrawPolygone tracé à partir des pentes (dessin) []
analysis/inversedomainImage réciproque de régions []
analysis/odejsTracés de solutions d'un système différential (avec jsxgraph). []
analysis/odejs2Dessin de solutions d'un système différentiel, dans le plan (t, x/y) et dans le plan (x,y). []
analysis/odephasePortrait de phase d'un système différentiel autonome []
analysis/rungekuttaEquation différentielle (par Runge-Kutta) experimental en faire une liste sans dessin []
analysis/slopefieldChamp de direction (par exemple pour un système différentiel) []
chemistry/brut2htmlForme HTML de la formule d'une molécule []
chemistry/checkmolCheck Mol []
chemistry/chemeq_addCalcule une combinaison d'équations chimiques []
chemistry/chemeq_compareCompare des équations chimiques []
chemistry/chemeq_componentsComposants chimiques []
chemistry/chemeq_elRetourne le nombre d'électrons dans une réaction d'oxydoréduction []
chemistry/chemeq_equilibriumAnalyse de l'équilibre dans les formules chimiques []
chemistry/chemeq_massMasse molaire []
chemistry/chemeq_periodic_tableInsertion d'un tableau periodique de Mendeleiev dans la page []
chemistry/chemeq_revRenvoie une équation chimique inversée []
chemistry/chemeq_rqQuotients de réaction composée et lois de Nernst pour les équations chimiques []
chemistry/chemeq_stocoefficients stoechiométriques []
chemistry/chemeq_texComposés moléculaire et équations chimiques []
chemistry/chemformulaChem formula []
chemistry/chemshowDessin d'une molécule en 2D []
chemistry/cramReprésentation de Cram []
chemistry/jmolbuttonBouton dans Jmol. Doit apparaitre APRES l'applet Jmol. []
chemistry/jmolcheckboxBouton Checkbox (bouton carré de validation) dans Jmol []
chemistry/jmolradiogroupRadiobuttons (boutons ronds) dans Jmol []
chemistry/jmolshowApplet Jmol []
chemistry/leftindIndices et exposants à gauche et droite []
chemistry/molarmassMasse molaire []
chemistry/moldrawDessin en flydraw ou en canvasdraw de la molécule []
chemistry/moleculeTableau périodique []
chemistry/newmanProjection de Newman []
chemistry/reactiondrawDessin en canvasdraw d'une réaction []
circuits/complistList available circuit components []
circuits/compposComponent position information of a circuit type. []
circuits/drawDraw circuit scheme according a circuit type. []
circuits/drawcompDraw circuit components according to a circuit type. []
circuits/drawwireDraw the fixed circuit wiring of a given circuit type. []
circuits/rangeSize and range information of a circuit type. []
coding/editorWYSIWYG code editor []
coding/runcodeRun code []
data/columnsortSort data according to a column []
data/randlineTake a random line of a data file []
data/randomRandomly selects a number of (different) objects []
data/randrecTake a random field of a record file []
draw/balanceBalance (Roberval) []
draw/brokenlinegraphTrace une fonction affine par morceaux continue en connaissant les points de changement de pente []
draw/clockDessine une horloge réglée sur l'heure donnée []
draw/convpixelConversion de coordonnées [pixels] <-> [repère mathématique] []
draw/dominoDomino []
draw/drtgradueeDroite graduée []
draw/graphvizGraphviz []
draw/graphvizpointsCoordonnées des noeuds d'un graphe créé précédemment avec graphviz. []
draw/meterCompteur avec aiguille configurable. []
draw/polygonPolygone régulier []
draw/radar Radar []
draw/randpolygonPolygone quelconque []
draw/rangeProduit d'intervalles []
draw/repdroiteCalcule les coordonnées des deux points extrêmes pour tracer une droite dans un repère []
draw/repereTrace un repère []
draw/rosetteDessiner une rosette []
draw/thermometerThermomètre avec niveau configurable []
function/boundsLes bornes d'une fct réelle à une variable sur un intervalle [x1,x2] []
function/bounds2Des bornes d'une fonction réelle à deux variables dans un rectangle [x1,x2], [y1,y2] []
function/integrateIntégration définie ou non d'une fonction à une variable []
function/tabsignesTableau de signes d'une fonction numérique []
games/chessboardEchiquier []
games/chessimageÉchiquier (image) []
games/chessmvMouvement dans un jeu d'échecs []
geo2D/geogebraApplet GeoGebra (html5) []
geo2D/hyptilingPavage hyperbolique du disque de Poincaré par des triangles []
geo2D/jsxgraphPlugin pour JSXGraph adaptatif []
geo2D/offdrawConversion d'un dessin 2D codé dans la syntaxe off en canvasdraw []
geo2D/polynetDessin d'un patron aléatoire du polyèdre []
geo2D/squaretileRéseau de carrés []
geo3D/3Dviewer3D Viewer []
geo3D/drawPolyèdre avec flydraw []
geo3D/drawtileRéseaux de cubes []
geo3D/off2jmolConversion du format off en un script jmol []
geo3D/off2xyzConversion du format off au format xyz []
geo3D/polyhedraApplet de tracé de polyèdre []
geo3D/polyhedradualApplet de tracé de polyèdre et de son dual []
geo3D/polynetPatron d'un polyèdre en 3D []
graph/connexcomponentComposantes connexes d'un sommet dans un graphe []
graph/connexityComposantes connexes d'un graphe simple []
graph/distanceMatrice du diamètre d'un graphe []
graph/drawDessin de graphe []
graph/drawccDessin de graphe avec une composante connexe colorée []
graph/drawtreeDessin d'arbre []
graph/gptGraphe orienté sans circuit []
graph/graphvizGraphviz []
graph/pathChemins dans un graphe []
graph/randomconnexGraphe connexe aléatoire []
graph/randomeulerGraphe aléatoire ayant une chaine eulérienne []
graph/randtreeArbre aléatoire []
graph/shortpathPlus court chemin dans un graphe []
graphpaper/correct_milliGraphic paper sheet with red correct plot preloaded []
graphpaper/funcOne function plot, ready to append to a previously made graph paper []
graphpaper/func_milliGraphic paper sheet with function plot and red correct plot preloaded []
graphpaper/imgpointsUtility for a clickable graphic paper sheet []
graphpaper/millimetreGraphic paper sheet []
graphpaper/stringsPrepare strings to be written on a graphic paper sheet []
graphpaper/tographUtility for a clickable graphic paper sheet []
graphpaper/whereclickUtility for a clickable graphic paper sheet []
lang/enword2ipaIPA transcription of english words []
lang/epd2ipaIPA transcription according to epd ascii codage (for english) []
lang/fnamePrénoms au hasard []
lang/fraccordAccord of French adjectives and names []
lang/frapostropheApostrophe reduction of a French text []
lang/frartdefTransform a French noun into definite form []
lang/frcodcoiFind a random complement of a French verb []
lang/frverbconjThe conjugation of a French verb []
lang/imagesImages in some datamodule []
lang/itdetermartItalian "articolo determinativo" []
lang/randomwordOutput random words in the dictionary []
lang/sampa2ipaIPA transcription according to Sampa Ascii codage (for english) []
lang/swacInsertion d'une version audio des mots tapés en paramètre, à partir des bases de fichiers swac []
life/frcommodityGive a random commodity with given price, French []
list/selshufSelective shuffle []
matrix/concateconcatenation []
matrix/detThe determinant of a square matrix []
matrix/givenrankGenerates a random matrix of given rank []
matrix/inverseThe inverse of a square matrix []
matrix/invertibleGenerates a random invertible matrix []
matrix/itriangularGenerates a random invertible triangular matrix []
matrix/non0Matrice au hasard ayant des coefficients non nuls []
matrix/orthogonalGenerates a random orthogonal matrix []
matrix/randomGenerates a random matrix []
matrix/traceThe trace of a square matrix []
matrix/transposeThe transpose of a matrix []
matrix/triangularGenerates a random triangular matrix []
matrix/unimodularGenerates a random unimodular matrix []
media/audioInsertion d'un contenu sonore []
media/dewplayerAudio insertion with dewplayer []
media/playerAudio insertion with hbs_mp3_player []
media/player_mp3_multiAudio insertion with player_mp3_multi []
media/videoInsertion d'une vidéo []
nuclear/nucleideDonnées au sujet de nucléides, ou typographie LaTeX []
nuclear/reactionTypographie de réactions nucléaires à partir de formules en texte plat []
numeration/babylonienÉcriture Babylonienne d'un nombre entier []
numeration/baseblockBlocs de base en numération []
numeration/basepPassage de la base dix vers la base p. []
numeration/ecriturelettreÉcriture d'un nombre en lettres. []
numeration/ecriturenombreÉcriture d'un nombre avec regroupement des chiffres par trois. []
numeration/egyptienEcriture égyptienne d'un nombre entier []
numeration/rationalRepeating decimal of a rational []
numeration/romainNumération romaine []
oef/blankGestion des blancs []
oef/codelimOEF code length limit register []
oef/codenameRegister OEF code reply name allow/deny []
oef/envGet an OEF environment variable []
oef/insfilenameOutput the file name of the last insert []
oef/newfileSave a text in a file []
oef/postsrcOEF code input postpender []
oef/presrcOEF code input prepender []
oef/sortorderSort order []
polynomial/randomRandom polynomial []
set/subsetSous-ensembles d'un ensemble []
stat/1dComputes 1-dimensional statistical data []
stat/arithmeanArithmetic mean of statistical data []
stat/betaSimulation de réalisations d'une variable aléatoire suivant la loi beta []
stat/betacdfFonction de répartition de la loi Beta []
stat/betainvQuantile de la loi Beta []
stat/betapdfDensité de probabilité de la loi Beta []
stat/binomialSimulation de réalisations d'une variable aléatoire suivant la loi binomiale. []
stat/binomialcdfFonction de répartition de la loi binomiale []
stat/binomialinvQuantile de la loi binomiale []
stat/binomialpdfDensité de probabilité de la loi binomiale []
stat/boxplotBox plot []
stat/cauchySimulation de réalisations d'une variable aléatoire suivant la loi de Cauchy. []
stat/cauchycdfFonction de répartition de la loi de Cauchy []
stat/cauchyinvQuantile de la loi de Cauchy []
stat/cauchypdfDensité de probabilité de la loi de Cauchy []
stat/chi2Simulation de réalisations d'une variable aléatoire suivant la loi du chi-deux []
stat/chi2cdfFonction de répartition de la loi du chi-deux []
stat/chi2invQuantile de la loi du chi-deux []
stat/chi2pdf Densité de probabilité de la loi du chi-deux []
stat/correlationMatrix of correlation []
stat/covarianceMatrix of covariance []
stat/deviationDeviation of statistical data []
stat/discretelawGeneration of a discrete law with nonnegative coefficients []
stat/effectifEffectifs de la série statistique dans les classes []
stat/empiricSimulation de réalisations d'une variable aléatoire suivant la loi discrète []
stat/exponentialSimulation de réalisations d'une variable aléatoire suivant la loi exponentielle. []
stat/exponentialcdfFonction de répartition de la loi exponentielle []
stat/exponentialinvQuantile de la loi exponentielle []
stat/exponentialpdfDensité de probabilité de la loi exponentielle []
stat/fisherSimulation de réalisations d'une variable aléatoire suivant la loi de Fisher. []
stat/fishercdfFonction de répartition de la loi de Fisher []
stat/fisherinvQuantile de la loi de Fisher []
stat/fisherpdfDensité de probabilité de la loi de Fisher []
stat/freqFrequencies of statistical data []
stat/gammaSimulation de réalisations d'une variable aléatoire suivant la loi Gamma. []
stat/gammacdfFonction de répartition de la loi Gamma []
stat/gammainvQuantile de la loi Gamma []
stat/gammapdfDensité de probabilité de la loi Gamma []
stat/geomeanGeometric mean of data []
stat/geometricSimulation de réalisations d'une variable aléatoire suivant la loi géométrique sur N []
stat/geometric1Simulation de réalisations d'une variable aléatoire suivant la loi géométrique sur N* []
stat/geometric1cdfFonction de répartition de la loi géometrique sur N* []
stat/geometric1invQuantile de la loi géométrique sur N* []
stat/geometric1pdfDensité de probabilité de la loi géometrique sur N* []
stat/geometriccdfFonction de répartition de la loi géométrique sur N []
stat/geometricinvQuantile de la loi géométrique sur N []
stat/geometricpdfDensité de probabilité de la loi géometrique sur N []
stat/harmonicHarmonic mean of statistical data []
stat/histoHistogram []
stat/hypergeometricSimulation de réalisations d'une variable aléatoire suivant la loi hypergéométrique []
stat/hypergeometriccdfFonction de répartition de la loi hypergéométrique []
stat/hypergeometricinvQuantile de la loi hypergéométrique []
stat/hypergeometricpdfDensité de probabilité de la loi hypergéométrique []
stat/laplaceSimulation de réalisations d'une variable aléatoire suivant la loi de Laplace []
stat/laplacecdfFonction de répartition de la loi de Laplace []
stat/laplaceinvQuantile de la loi de Laplace []
stat/laplacepdfDensité de probabilité de la loi de Laplace []
stat/linearcongGeneration of linear congruential random integers []
stat/logisticSimulation de réalisations d'une variable aléatoire suivant la loi logistique []
stat/logisticcdfFonction de répartition de la loi logistique []
stat/logisticinvQuantile de la loi logistique []
stat/logisticpdfDensité de probabilité de la loi logistique []
stat/lognormalSimulation de réalisations d'une variable aléatoire de loi lognormale []
stat/lognormalcdfFonction de répartition de la loi log-normale []
stat/lognormalinvQuantile de la loi log-normale []
stat/lognormalpdfDensité de probabilité de la loi log-normale []
stat/medianMédiane []
stat/multinomialSimulation de réalisations d'une variable aléatoire suivant la loi multinomiale []
stat/nbinSimulation de réalisations d'une variable aléatoire suivant la loi binomiale négative []
stat/nbincdfFonction de répartition de la loi binomiale négative. []
stat/nbininvQuantile de la loi binomiale négative []
stat/nbinpdfDensité de probabilité de la loi binomiale négative. []
stat/normalSimulation de réalisations d'une variable aléatoire suivant la loi gaussienne []
stat/normalcdfFonction de répartition de la loi normale []
stat/normalinvQuantile de la loi normale []
stat/normalpdfDensité de probabilité de la loi normale []
stat/pascalSimulation de réalisations d'une variable aléatoire suivant la loi de Pascal []
stat/pascalcdfFonction de répartition de la loi de Pascal []
stat/pascalinvQuantile de la loi de Pascal []
stat/pascalpdfDensité de probabilité de la loi de Pascal []
stat/piechart Pie chart []
stat/poissonSimulation de réalisations d'une variable aléatoire suivant la loi de Poisson. []
stat/poissoncdfFonction de répartition de la loi de Poisson []
stat/poissoninvQuantile de la loi de Poisson []
stat/poissonpdfDensité de probabilité de la loi de Poisson []
stat/posdiscretelawGeneration of a discrete law with positive coefficients []
stat/prodProduct of data []
stat/quadraticQuadratic mean []
stat/quantileQuantile []
stat/randomGeneration of random numbers []
stat/rangeData range []
stat/studentSimulation de réalisations d'une variable aléatoire suivant une loi de Student. []
stat/studentcdfFonction de répartition de la loi de Student []
stat/studentinvQuantile de la loi de Student []
stat/studentpdfDensité de probabilité de la loi de Student []
stat/sumData sum []
stat/varianceVariance []
stat/weibullSimulation de réalisations d'une variable aléatoire suivant la loi de Weibull. []
stat/weibullcdfFonction de répartition de la loi de Weibull []
stat/weibullinvQuantile de la loi de Weibull []
stat/weibullpdfDensité de probabilité de la loi de Weibull []
text/approximationCalcul d'intervalle approché pour un réel donné []
text/balloonBulles de texte (façon cartoon) []
text/cdecommentExtract comment from a c source code. []
text/comblinSimplify a linear combination []
text/crosswordCrossword []
text/cutchoice2Cut out embedded choices for OEF []
text/cutchoicesCut out embedded choices for OEF []
text/markerrorFor marking words with mistake []
text/markgroupFor marking group of words with given explanation []
text/marktextTexte for use with type mark for OEF (word) []
text/marktextpartialFor marking some words with given explanation []
text/markwordFor use with type mark in OEF []
text/matrixhtmlTransforme une matrice en tableau HTML. []
text/matrixinsertInsert a coefficient in a matrix []
text/matrixtex Matrix in Latex []
text/maximamatrixTransform a matrix to maxima format []
text/octavematrixTransform an octave output matrix into standard format []
text/sigunitsMake a representation of a physical quantity with a given number of significative digits []
text/spiraleWrite on a spirale []
text/whitespaceReplace white spaces []
triplerelation/tabularDouble entry table for training to relations between three quantities []
utilities/dateDate []
utilities/mathcalcMathcalc []
utilities/nopasteNo copy-paste []
utilities/notepadNotepad []
utilities/tooltipTooltip containing an html text which appears when the mouse points on a word. []
utilities/trigo-calcInline Trigonometric calculator []


algebra
Résultat
algebra/partitionconjPartition conjuguée []
algebra/partitiondraw Dessiner des diagrammes de Young d'une partition []
algebra/partitionlexNouvelle partition pour l'ordre lexicographique décroissant []
algebra/slopedrawPolygone tracé à partir des pentes (dessin) []


analysis
Résultat
analysis/inversedomainImage réciproque de régions []
analysis/odejsTracés de solutions d'un système différential (avec jsxgraph). []
analysis/odejs2Dessin de solutions d'un système différentiel, dans le plan (t, x/y) et dans le plan (x,y). []
analysis/odephasePortrait de phase d'un système différentiel autonome []
analysis/rungekuttaEquation différentielle (par Runge-Kutta) experimental en faire une liste sans dessin []
analysis/slopefieldChamp de direction (par exemple pour un système différentiel) []


chemistry
Résultat
chemistry/brut2htmlForme HTML de la formule d'une molécule []
chemistry/checkmolCheck Mol []
chemistry/chemeq_addCalcule une combinaison d'équations chimiques []
chemistry/chemeq_compareCompare des équations chimiques []
chemistry/chemeq_componentsComposants chimiques []
chemistry/chemeq_elRetourne le nombre d'électrons dans une réaction d'oxydoréduction []
chemistry/chemeq_equilibriumAnalyse de l'équilibre dans les formules chimiques []
chemistry/chemeq_massMasse molaire []
chemistry/chemeq_periodic_tableInsertion d'un tableau periodique de Mendeleiev dans la page []
chemistry/chemeq_revRenvoie une équation chimique inversée []
chemistry/chemeq_rqQuotients de réaction composée et lois de Nernst pour les équations chimiques []
chemistry/chemeq_stocoefficients stoechiométriques []
chemistry/chemeq_texComposés moléculaire et équations chimiques []
chemistry/chemformulaChem formula []
chemistry/chemshowDessin d'une molécule en 2D []
chemistry/cramReprésentation de Cram []
chemistry/jmolbuttonBouton dans Jmol. Doit apparaitre APRES l'applet Jmol. []
chemistry/jmolcheckboxBouton Checkbox (bouton carré de validation) dans Jmol []
chemistry/jmolradiogroupRadiobuttons (boutons ronds) dans Jmol []
chemistry/jmolshowApplet Jmol []
chemistry/leftindIndices et exposants à gauche et droite []
chemistry/molarmassMasse molaire []
chemistry/moldrawDessin en flydraw ou en canvasdraw de la molécule []
chemistry/moleculeTableau périodique []
chemistry/newmanProjection de Newman []
chemistry/reactiondrawDessin en canvasdraw d'une réaction []


circuits
Résultat
circuits/complistList available circuit components []
circuits/compposComponent position information of a circuit type. []
circuits/drawDraw circuit scheme according a circuit type. []
circuits/drawcompDraw circuit components according to a circuit type. []
circuits/drawwireDraw the fixed circuit wiring of a given circuit type. []
circuits/rangeSize and range information of a circuit type. []


coding
Résultat
coding/editorWYSIWYG code editor []
coding/runcodeRun code []


data
Résultat
data/columnsortSort data according to a column []
data/randlineTake a random line of a data file []
data/randomRandomly selects a number of (different) objects []
data/randrecTake a random field of a record file []


draw
Résultat
draw/balanceBalance (Roberval) []
draw/brokenlinegraphTrace une fonction affine par morceaux continue en connaissant les points de changement de pente []
draw/clockDessine une horloge réglée sur l'heure donnée []
draw/convpixelConversion de coordonnées [pixels] <-> [repère mathématique] []
draw/dominoDomino []
draw/drtgradueeDroite graduée []
draw/graphvizGraphviz []
draw/graphvizpointsCoordonnées des noeuds d'un graphe créé précédemment avec graphviz. []
draw/meterCompteur avec aiguille configurable. []
draw/polygonPolygone régulier []
draw/radar Radar []
draw/randpolygonPolygone quelconque []
draw/rangeProduit d'intervalles []
draw/repdroiteCalcule les coordonnées des deux points extrêmes pour tracer une droite dans un repère []
draw/repereTrace un repère []
draw/rosetteDessiner une rosette []
draw/thermometerThermomètre avec niveau configurable []


function
Résultat
function/boundsLes bornes d'une fct réelle à une variable sur un intervalle [x1,x2] []
function/bounds2Des bornes d'une fonction réelle à deux variables dans un rectangle [x1,x2], [y1,y2] []
function/integrateIntégration définie ou non d'une fonction à une variable []
function/tabsignesTableau de signes d'une fonction numérique []


games
Résultat
games/chessboardEchiquier []
games/chessimageÉchiquier (image) []
games/chessmvMouvement dans un jeu d'échecs []


geo2D
Résultat
geo2D/geogebraApplet GeoGebra (html5) []
geo2D/hyptilingPavage hyperbolique du disque de Poincaré par des triangles []
geo2D/jsxgraphPlugin pour JSXGraph adaptatif []
geo2D/offdrawConversion d'un dessin 2D codé dans la syntaxe off en canvasdraw []
geo2D/polynetDessin d'un patron aléatoire du polyèdre []
geo2D/squaretileRéseau de carrés []


geo3D
Résultat
geo3D/3Dviewer3D Viewer []
geo3D/drawPolyèdre avec flydraw []
geo3D/drawtileRéseaux de cubes []
geo3D/off2jmolConversion du format off en un script jmol []
geo3D/off2xyzConversion du format off au format xyz []
geo3D/polyhedraApplet de tracé de polyèdre []
geo3D/polyhedradualApplet de tracé de polyèdre et de son dual []
geo3D/polynetPatron d'un polyèdre en 3D []


graph
Résultat
graph/connexcomponentComposantes connexes d'un sommet dans un graphe []
graph/connexityComposantes connexes d'un graphe simple []
graph/distanceMatrice du diamètre d'un graphe []
graph/drawDessin de graphe []
graph/drawccDessin de graphe avec une composante connexe colorée []
graph/drawtreeDessin d'arbre []
graph/gptGraphe orienté sans circuit []
graph/graphvizGraphviz []
graph/pathChemins dans un graphe []
graph/randomconnexGraphe connexe aléatoire []
graph/randomeulerGraphe aléatoire ayant une chaine eulérienne []
graph/randtreeArbre aléatoire []
graph/shortpathPlus court chemin dans un graphe []


graphpaper
Résultat
graphpaper/correct_milliGraphic paper sheet with red correct plot preloaded []
graphpaper/funcOne function plot, ready to append to a previously made graph paper []
graphpaper/func_milliGraphic paper sheet with function plot and red correct plot preloaded []
graphpaper/imgpointsUtility for a clickable graphic paper sheet []
graphpaper/millimetreGraphic paper sheet []
graphpaper/stringsPrepare strings to be written on a graphic paper sheet []
graphpaper/tographUtility for a clickable graphic paper sheet []
graphpaper/whereclickUtility for a clickable graphic paper sheet []


lang
Résultat
lang/enword2ipaIPA transcription of english words []
lang/epd2ipaIPA transcription according to epd ascii codage (for english) []
lang/fnamePrénoms au hasard []
lang/fraccordAccord of French adjectives and names []
lang/frapostropheApostrophe reduction of a French text []
lang/frartdefTransform a French noun into definite form []
lang/frcodcoiFind a random complement of a French verb []
lang/frverbconjThe conjugation of a French verb []
lang/imagesImages in some datamodule []
lang/itdetermartItalian "articolo determinativo" []
lang/randomwordOutput random words in the dictionary []
lang/sampa2ipaIPA transcription according to Sampa Ascii codage (for english) []
lang/swacInsertion d'une version audio des mots tapés en paramètre, à partir des bases de fichiers swac []


life
Résultat
life/frcommodityGive a random commodity with given price, French []


list
Résultat
list/selshufSelective shuffle []


matrix
Résultat
matrix/concateconcatenation []
matrix/detThe determinant of a square matrix []
matrix/givenrankGenerates a random matrix of given rank []
matrix/inverseThe inverse of a square matrix []
matrix/invertibleGenerates a random invertible matrix []
matrix/itriangularGenerates a random invertible triangular matrix []
matrix/non0Matrice au hasard ayant des coefficients non nuls []
matrix/orthogonalGenerates a random orthogonal matrix []
matrix/randomGenerates a random matrix []
matrix/traceThe trace of a square matrix []
matrix/transposeThe transpose of a matrix []
matrix/triangularGenerates a random triangular matrix []
matrix/unimodularGenerates a random unimodular matrix []


media
Résultat
media/audioInsertion d'un contenu sonore []
media/dewplayerAudio insertion with dewplayer []
media/playerAudio insertion with hbs_mp3_player []
media/player_mp3_multiAudio insertion with player_mp3_multi []
media/videoInsertion d'une vidéo []


nuclear
Résultat
nuclear/nucleideDonnées au sujet de nucléides, ou typographie LaTeX []
nuclear/reactionTypographie de réactions nucléaires à partir de formules en texte plat []


numeration
Résultat
numeration/babylonienÉcriture Babylonienne d'un nombre entier []
numeration/baseblockBlocs de base en numération []
numeration/basepPassage de la base dix vers la base p. []
numeration/ecriturelettreÉcriture d'un nombre en lettres. []
numeration/ecriturenombreÉcriture d'un nombre avec regroupement des chiffres par trois. []
numeration/egyptienEcriture égyptienne d'un nombre entier []
numeration/rationalRepeating decimal of a rational []
numeration/romainNumération romaine []


oef
Résultat
oef/blankGestion des blancs []
oef/codelimOEF code length limit register []
oef/codenameRegister OEF code reply name allow/deny []
oef/envGet an OEF environment variable []
oef/insfilenameOutput the file name of the last insert []
oef/newfileSave a text in a file []
oef/postsrcOEF code input postpender []
oef/presrcOEF code input prepender []
oef/sortorderSort order []


polynomial
Résultat
polynomial/randomRandom polynomial []


set
Résultat
set/subsetSous-ensembles d'un ensemble []


stat
Résultat
stat/1dComputes 1-dimensional statistical data []
stat/arithmeanArithmetic mean of statistical data []
stat/betaSimulation de réalisations d'une variable aléatoire suivant la loi beta []
stat/betacdfFonction de répartition de la loi Beta []
stat/betainvQuantile de la loi Beta []
stat/betapdfDensité de probabilité de la loi Beta []
stat/binomialSimulation de réalisations d'une variable aléatoire suivant la loi binomiale. []
stat/binomialcdfFonction de répartition de la loi binomiale []
stat/binomialinvQuantile de la loi binomiale []
stat/binomialpdfDensité de probabilité de la loi binomiale []
stat/boxplotBox plot []
stat/cauchySimulation de réalisations d'une variable aléatoire suivant la loi de Cauchy. []
stat/cauchycdfFonction de répartition de la loi de Cauchy []
stat/cauchyinvQuantile de la loi de Cauchy []
stat/cauchypdfDensité de probabilité de la loi de Cauchy []
stat/chi2Simulation de réalisations d'une variable aléatoire suivant la loi du chi-deux []
stat/chi2cdfFonction de répartition de la loi du chi-deux []
stat/chi2invQuantile de la loi du chi-deux []
stat/chi2pdf Densité de probabilité de la loi du chi-deux []
stat/correlationMatrix of correlation []
stat/covarianceMatrix of covariance []
stat/deviationDeviation of statistical data []
stat/discretelawGeneration of a discrete law with nonnegative coefficients []
stat/effectifEffectifs de la série statistique dans les classes []
stat/empiricSimulation de réalisations d'une variable aléatoire suivant la loi discrète []
stat/exponentialSimulation de réalisations d'une variable aléatoire suivant la loi exponentielle. []
stat/exponentialcdfFonction de répartition de la loi exponentielle []
stat/exponentialinvQuantile de la loi exponentielle []
stat/exponentialpdfDensité de probabilité de la loi exponentielle []
stat/fisherSimulation de réalisations d'une variable aléatoire suivant la loi de Fisher. []
stat/fishercdfFonction de répartition de la loi de Fisher []
stat/fisherinvQuantile de la loi de Fisher []
stat/fisherpdfDensité de probabilité de la loi de Fisher []
stat/freqFrequencies of statistical data []
stat/gammaSimulation de réalisations d'une variable aléatoire suivant la loi Gamma. []
stat/gammacdfFonction de répartition de la loi Gamma []
stat/gammainvQuantile de la loi Gamma []
stat/gammapdfDensité de probabilité de la loi Gamma []
stat/geomeanGeometric mean of data []
stat/geometricSimulation de réalisations d'une variable aléatoire suivant la loi géométrique sur N []
stat/geometric1Simulation de réalisations d'une variable aléatoire suivant la loi géométrique sur N* []
stat/geometric1cdfFonction de répartition de la loi géometrique sur N* []
stat/geometric1invQuantile de la loi géométrique sur N* []
stat/geometric1pdfDensité de probabilité de la loi géometrique sur N* []
stat/geometriccdfFonction de répartition de la loi géométrique sur N []
stat/geometricinvQuantile de la loi géométrique sur N []
stat/geometricpdfDensité de probabilité de la loi géometrique sur N []
stat/harmonicHarmonic mean of statistical data []
stat/histoHistogram []
stat/hypergeometricSimulation de réalisations d'une variable aléatoire suivant la loi hypergéométrique []
stat/hypergeometriccdfFonction de répartition de la loi hypergéométrique []
stat/hypergeometricinvQuantile de la loi hypergéométrique []
stat/hypergeometricpdfDensité de probabilité de la loi hypergéométrique []
stat/laplaceSimulation de réalisations d'une variable aléatoire suivant la loi de Laplace []
stat/laplacecdfFonction de répartition de la loi de Laplace []
stat/laplaceinvQuantile de la loi de Laplace []
stat/laplacepdfDensité de probabilité de la loi de Laplace []
stat/linearcongGeneration of linear congruential random integers []
stat/logisticSimulation de réalisations d'une variable aléatoire suivant la loi logistique []
stat/logisticcdfFonction de répartition de la loi logistique []
stat/logisticinvQuantile de la loi logistique []
stat/logisticpdfDensité de probabilité de la loi logistique []
stat/lognormalSimulation de réalisations d'une variable aléatoire de loi lognormale []
stat/lognormalcdfFonction de répartition de la loi log-normale []
stat/lognormalinvQuantile de la loi log-normale []
stat/lognormalpdfDensité de probabilité de la loi log-normale []
stat/medianMédiane []
stat/multinomialSimulation de réalisations d'une variable aléatoire suivant la loi multinomiale []
stat/nbinSimulation de réalisations d'une variable aléatoire suivant la loi binomiale négative []
stat/nbincdfFonction de répartition de la loi binomiale négative. []
stat/nbininvQuantile de la loi binomiale négative []
stat/nbinpdfDensité de probabilité de la loi binomiale négative. []
stat/normalSimulation de réalisations d'une variable aléatoire suivant la loi gaussienne []
stat/normalcdfFonction de répartition de la loi normale []
stat/normalinvQuantile de la loi normale []
stat/normalpdfDensité de probabilité de la loi normale []
stat/pascalSimulation de réalisations d'une variable aléatoire suivant la loi de Pascal []
stat/pascalcdfFonction de répartition de la loi de Pascal []
stat/pascalinvQuantile de la loi de Pascal []
stat/pascalpdfDensité de probabilité de la loi de Pascal []
stat/piechart Pie chart []
stat/poissonSimulation de réalisations d'une variable aléatoire suivant la loi de Poisson. []
stat/poissoncdfFonction de répartition de la loi de Poisson []
stat/poissoninvQuantile de la loi de Poisson []
stat/poissonpdfDensité de probabilité de la loi de Poisson []
stat/posdiscretelawGeneration of a discrete law with positive coefficients []
stat/prodProduct of data []
stat/quadraticQuadratic mean []
stat/quantileQuantile []
stat/randomGeneration of random numbers []
stat/rangeData range []
stat/studentSimulation de réalisations d'une variable aléatoire suivant une loi de Student. []
stat/studentcdfFonction de répartition de la loi de Student []
stat/studentinvQuantile de la loi de Student []
stat/studentpdfDensité de probabilité de la loi de Student []
stat/sumData sum []
stat/varianceVariance []
stat/weibullSimulation de réalisations d'une variable aléatoire suivant la loi de Weibull. []
stat/weibullcdfFonction de répartition de la loi de Weibull []
stat/weibullinvQuantile de la loi de Weibull []
stat/weibullpdfDensité de probabilité de la loi de Weibull []


text
Résultat
text/approximationCalcul d'intervalle approché pour un réel donné []
text/balloonBulles de texte (façon cartoon) []
text/cdecommentExtract comment from a c source code. []
text/comblinSimplify a linear combination []
text/crosswordCrossword []
text/cutchoice2Cut out embedded choices for OEF []
text/cutchoicesCut out embedded choices for OEF []
text/markerrorFor marking words with mistake []
text/markgroupFor marking group of words with given explanation []
text/marktextTexte for use with type mark for OEF (word) []
text/marktextpartialFor marking some words with given explanation []
text/markwordFor use with type mark in OEF []
text/matrixhtmlTransforme une matrice en tableau HTML. []
text/matrixinsertInsert a coefficient in a matrix []
text/matrixtex Matrix in Latex []
text/maximamatrixTransform a matrix to maxima format []
text/octavematrixTransform an octave output matrix into standard format []
text/sigunitsMake a representation of a physical quantity with a given number of significative digits []
text/spiraleWrite on a spirale []
text/whitespaceReplace white spaces []


triplerelation
Résultat
triplerelation/tabularDouble entry table for training to relations between three quantities []


utilities
Résultat
utilities/dateDate []
utilities/mathcalcMathcalc []
utilities/nopasteNo copy-paste []
utilities/notepadNotepad []
utilities/tooltipTooltip containing an html text which appears when the mouse points on a word. []
utilities/trigo-calcInline Trigonometric calculator []

Table of Contents


Flydraw Documentation

Chaque commande prend une ligne.

Dans la table suivante [color] peut être un nom de couleur ou 3 entiers 0 entre 255, séparés par des virgules, correspondant aux valeurs de rouge, vert, bleu.


Commandes
-
Synonymes
affine a,b,c,d,tx,ty
  Applique la transformation affine (x;y) -> [a,b;c,d](x;y)+(tx;ty) aux objets définis ultérieurement.
alt texte
  Cette commande est seulement valable pour les exercices OEF et les documents. Elle doit apparaître sur la première ligne de commande. L'image aura alors l'attribut alt="text"
animate fra,del,rep
  Cette commande est seulement valable pour les exercices OEF et les documents. Elle doit apparaître sur la première ligne de commande ou après la commande alt. Il s'agit d'une animation de l'image de fra plans, d'intervalle de del secondes, rep fois; si rep=0, répétition en boucle infinie.
animstep n
  Set up an integer which can be called in any evaluation. Used for animation. Direct use of this command must be avoided under WIMS.
arc x,y,w,h,a1,a2,[color]
  Arc de l'ellipse de largeur w et de hauteur h centrée en (x,y) (coordonnées mathématiques) de l'angle a1 vers l'angle a2 en degrés dans le sens trigonométrique. Il est conseillé de prendre a1<a2<a1+360 pour assurer la compatibilité avec canvasdraw.
arrow x1,y1,x2,y2,l,[color]
  Flèche allant du point (x1;y1) vers le point (x2;y2) et dont la tête est de longueur l pixels.
arrow2 x1,y1,x2,y2,l,[color]
  Flèches entre les points (x1;y1) et (x2;y2) ayant deux têtes de longueur l pixels.
arrows [color],l,x1,y1,x2,y2,x3,y3,x4,y4,...
  Flèches allant du point (x1;y1) vers le point (x2;y2), du point (x3;y3) vers le point (x4;y4) et dont la tête est de longueur l pixels.
arrows2 [color],l,x1,y1,x2,y2,x3,y3,x4,y4,...
  Flèches entre les points (x1;y1) et (x2;y2), (x3;y3) et (x4;y4) ayant deux têtes de longueur l pixels.
circle x,y,r,[color]
  Cercle de centre (x;y) et de rayon r pixels.
circles [color],x1,y1,r1,x2,y2,r2 ...
  Cercles de centre (x1;y1) et de rayon r1 (selon xrange)...
comment
  Ligne de commentaire.
copy x,y,x1,y1,x2,y2,[filename]
insert  Insère le rectangle de diagonale (x1;y1) et (x2;y2) (dans le repère en pixels) du fichier filename au point (x;y) : l'extrémité en haut à gauche de l'image est au point (x;y). Si x1=y1=x2=y2=-1, tout le fichier est copié. [filename] est l'adresse du fichier à partir du répertoire wims/public_html/gifs ou du répertoire indiqué dans common_images pour les modules OEF.
copyresized x1,y1,x2,y2,dx1,dy1,dx2,dy2,[filename]
  Insère le rectangle de diagonale (x1;y1) et (x2;y2) du fichier filename dans le rectangle de diagonale (dx1;dy1) et (dx2;dy2) (remise à la taille réalisée). si x1=y1=x2=y2=-1, tout le fichier filename est copié
crosshair x1,y1,[color]
  dessine une croix au point (x1,y1)
crosshairs [color], x1,y1,x2,y2,...
  dessine des croix aux points de coordonnées (x1,y1), (x2,y2), ...
crosshairsize w
  Règle la taille des croix à w (en pixels).
dashed
  Keyword: Indique que la commande suivante est en pointillés si cette possibilité existe pour cette commande.
dashhalfline x1,y1,x2,y2,[color]
  Dashed halfline from (x1;y1) through (x2;y2).
darrow x1,y1,x2,y2,l,[color]
dasharrow dashedarrow  Flèche en pointillés allant du point (x1;y1) vers le point (x2;y2) dont la tête est de longueur l pixels.
darrow2 x1,y1,x2,y2,l,[color]
dasharrow2 dashedarrow2  Flèche en pointillés entre les points (x1;y1) et (x2;y2) et à deux têtes de longueur l pixels.
darrows [color],l,x1,y1,x2,y2,x3,y3,x4,y4,...
  Flèches en pointillés allant du point (x1;y1) vers le point (x2;y2), du point (x3;y3) vers le point (x4;y4) et dont la tête est de longueur l pixels.
darrows2 [color],l,x1,y1,x2,y2,x3,y3,x4,y4,...
  Flèches en pointillés entre les points (x1;y1) et (x2;y2), (x3;y3) et (x4;y4) ayant deux têtes de longueur l pixels.
dashhalfline x1,y1,x2,y2,[color]
  Demi-droite en pointillés partant de (x1;y1) et passant par (x2;y2) de couleur color
dhline x,y,[color]
dashedhorizontalline dashhorizontalline hdline horizontaldashedline  Droite horizontale en pointillés passant par le point (x;y).
diamondfill x,y,nx,ny,[color]
diafill  Remplit la région contenant le point (x;y) avec des lignes de couleur color (quadrillage oblique). (nx;ny) est la distance verticale et horizontale (en pixels) entre deux lignes.
dline x1,y1,x2,y2,[color]
dashedline dashline  Droite en pointillés passant par les points de coordonnées (x1;y1) et (x2;y2).
dlines [color],x1,y1,x2,y2,x3,y3...
dashedlines dashlines  Droites en pointillés passant par les points de coordonnées (x1;y1) et (x2;y2), (x3;y3) et (x4;y4) etc.
dpolyline [color],x1,y1,x2,y2,x3,y3...
  Ligne polygonale en pointillés joignant les points (x1;y1), (x2;y2), (x3;y3) ...
dotfill x,y,nx,ny,[color]
pointfill diskfill  Remplit la région contenant le point (x;y) avec des gros points de couleur color. (nx;ny) est la distance verticale et horizontale entre deux points.
dsegment x1,y1,x2,y2,[color]
dashsegment  Segment en pointillés (x1,y1)---(x2,y2).
dvline x,y,[color]
dashedverticaline dashverticalline vdline verticaldashedline  Droite verticale en pointillés passant par le point (x;y).
ellipse x,y,w,h,[color]
  Ellipse de largeur w et de hauteur h centrée en (x,y).
ellipses [color],x1,y1,w1,h1,x2,y2,w2,h2,...
  Ellipse de largeur w1 et de hauteur h1 centrée en (x1,y1), etc.
fcircle x,y,d,[color]
ball disk filledcircle  Disque de centre (x;y) et de diamètre d pixels.
fcircles [color],x1,y1,r1,x2,y2,r2 ...
  Filled circles of center (x1;y1) and radius r1 (according to xrange) ...
fellipse x,y,w,h,[color]
filledellipse  Ellipse de largeur w et de hauteur h centrée en (x,y) et remplie avec la couleur color.
fhyptriangle x1,y1,x2,y2,x3,y3,[color]
  Triangle dans le disque de Poincaré de sommets (x1;y1), (x2;y2), (x3;y3) (géométrie hyperbolique) et rempli avec la couleur color.
fill x,y,[color]
flood floodfill  Colorie la région contenant le point (x;y) avec la couleur color
filled
  Keyword: indique que l'objet suivant sera colorié si pertinent
filltoborder x,y,[color1],[color2]
  Colorie avec la couleur color2 la région contenant (x;y) et délimitée par la couleur color1.
fpoly [color],x1,y1,x2,y2,x3,y3...
filledpoly filledpolygon fpolygon  Polygone de sommets (x1;y1), (x2;y2), (x3;y3) ... et rempli avec la couleur color
frect x1,y1,x2,y2,[color]
filledrect fillecrectangle frectangle  Rectangle de diagonale (x1;y1) et (x2;y2) et rempli avec la couleur color.
fsquare x,y,s,[color]
filledsquare  Carré de coin supérieur gauche (x;y) et de côté de longueur s, rempli avec la couleur color.
ftriangle x1,y1,x2,y2,x3,y3,[color]
filledtriangle  Triangle de sommets (x1;y1), (x2;y2), (x3;y3) et rempli avec la couleur color.
gridfill x,y,nx,ny,[color]
  Remplit la région contenant le point (x;y) avec des lignes de couleur color (quadrillage droit) . (nx;ny) est la distance verticale et horizontale entre deux lignes.
halfline x1,y1,x2,y2,[color]
  Demi-droite partant de (x1;y1) et passant par (x2;y2) de couleur color
hatchfill x,y,nx,ny,[color]
  Remplit la région contenant le point (x;y) avec des lignes (simples) de couleur color. (nx;ny) est la distance verticale et horizontale entre deux lignes.
hline x,y,[color]
horizontalline  Droite horizontale passant par le point (x;y).
hyplines [color],x1,y1,x2,y2,x3,y3,x4,y4, ...
  Géodésiques hyperboliques dans le disque de Poincaré passant par les points de coordonnées (x1;y1) et (x2;y2), (x3;y3) et (x4;y4), etc
hypsegments [color],x1,y1,x2,y2,x3,y3,x4,y4, ...
  Géodésiques hyperboliques dans le disque de Poincaré entre les points de coordonnées (x1;y1) et (x2;y2), (x3;y3) et (x4;y4), etc
hyptriangle x1,y1,x2,y2,x3,y3,[color]
  Triangle dans le disque de Poincaré de sommets (x1;y1), (x2;y2), (x3;y3) (géométrie hyperbolique)
interlace
  Set interlaced image
killaffine
  Réinitialise la transformation affine à l'identité.
killbrush
  Turns off brush selection for line drawing.
killlinear
killrotation killrotate  Réinitialise la transformation linéaire à l'identité.
killtile
  Désactive la sélection de pavage pour le remplissage.
killtranslation
killtranslate  Réinitialise la translation au vecteur nul.
lattice x0,y0,x1,y1,x2,y2,n1,n2,[color]
  Réseau de n1xn2 points partant de (x0,y0), avec n1 lignes dans la direction de (x1,y1) et n2 colonnes dans la direction de( x2,y2).
levelcurve [color],[expression],l1,l2,...
  Dessine des courbes de niveau de la surface décrite par une expression de niveaux l1, l2,...
levelstep n
  Règle le nombre d'étapes en pixels utilisé pour le dessin des courbes de niveaux. Entre 1 and 16, defaut : 4.
line x1,y1,x2,y2,[color]
  Droite passant par les points de coordonnées (x1;y1) et (x2;y2).
lines [color],x1,y1,x2,y2,x3,y3,x4,y4, ...
  Droites passant par les points de coordonnées (x1;y1) et (x2;y2), (x3;y3) et (x4;y4), etc
linear a,b,c,d
  Applique la transformation linéaire (x;y) -> [a,b;c,d](x;y) aux objets définis ultérieurement..
linewidth w
  Épaisseur des traits à w pixels.
multicopy n1,n2,...,nk, [filename]
  Copie l'image [filename] dans le parallélogramme donné par la commande setparallelogram et applique à l'image les transformations n1, ..., nk (au maximum 19). Si n1 ... ne sont pas donnés, toutes les transformations définies précédemment sont appliquées. Attention, setparallelogram et au moins un setvector ou setmatrix ou settransform doivent d'abord avoir été définis.
new x,y
  Fait une nouvelle image de taille x,y (en pixels).
noreset
  Keyword: if it is followed by dashed or filled, the following commands are dashed or filled, up to the command reset
output [filename]
  Sauve l'image dans le fichier [filename].
parallel x1,y1,x2,y2,xv,yv,n,[color]
  n segments parallèles partant du segment d'extrémités (x1;y1) et (x2;y2) avec le déplacement de vecteur (xv;yv).
pixels [color],x1,y1,x2,y2,...
  Points de diamètre 1 aux coordonnées (x1;y1), (x2;y2), ...
plot [color],[formula]
curve  Courbe représentative de formula qui peut être soit une fonction explicit en x, soit une paire de fonctions paramétriques en t.
plotjump j
  Saut de la courbe tracée si deux points consécutifs ont une distance de plus de j pixels. Utile afin d'éviter de dessiner des fonctions discontinues comme des fonctions continues. Valeur par défaut : 200.
plotstep n
plotsteps tstep tsteps  Nombre de points calculés dans le tracé de courbes. Valeur par défaut : 100.
point x,y,[color]
  Point de coordonnées (x;y) et de diamètre l'épaisseur de trait.
points [color],x1,y1,x2,y2,...
  Points de coordonnées (x1;y1), (x2;y2), ... et de diamètre l'épaisseur de trait.
polygon [color],x1,y1,x2,y2,x3,y3...
poly  Polygone de sommets (x1;y1), (x2;y2), (x3;y3)...
polyline [color],x1,y1,x2,y2,x3,y3...
brokenline  Ligne polygonale joignant les points (x1;y1), (x2;y2), (x3;y3) ...
range x1,x2,y1,y2
  Détermine les coordonnées des bords de l'image.
rays [color],x0,y0,x1,y1,x2,y2...
  Segments joignant (x0;y0) et (x1;y1), (x0;y0) et (x2;y2), ...
rect x1,y1,x2,y2,[color]
rectangle  Rectangle de diagonale (x1;y1) et (x2;y2).
reset
  Keyword: Réinitialise la commande "noreset"
resetmatrix n
  Réinitialise la n-ième transformation linéaire à l'identité.
resetparallelogram
  Réinitialise setparallelogram
resetvector n
  Réinitialise la n-ième translation à l'identité.
resettransform n
  Réinitialise la n-ième transformation linéaire ou affine ou la n-ième translation aux valeurs initiales (identité ou vector nul).
rotation d
rotate  Rotation des objets définis ultérieurement de d degrés dans le sens inverse des aiguilles d'une montre, de centre (0;0)
segment x1,y1,x2,y2,[color]
seg  Segment entre les points de coordonnées (x1;y1) et (x2;y2).
segments [color],x1,y1,x2,y2,x3,y3,x4,y4, ...
  Segments entre les points de coordonnées (x1;y1) et (x2;y2), (x3;y3) et (x4;y4), etc
setbrush [filename]
  Utilise l'image [filename] comme "brush" pour tous les dessins de ligne.
setmatrix n,a,b,c,d
  Définit la transformation linéaire pour les objets de multicopy (x;y) -> [a,b;c,d](x;y).
setparallelogram xs,ys,xu,yu,xv,yv
  Prépare l'endroit où l'image sera copiée par multicopy (coordonnées mathématiques) : xs,ys coordonnées mathématiques de l'origine, xu,yu coordonnées mathématique de la "ligne horizontale de l'image" à copier, xv,yv coordonnées mathématique de la "ligne verticale de l'image" à copier.
setpixel x,y,[color]
  Point de coordonnées (x;y) et de diamètre 1.
setstyle [color1],[color2],...
  Définit la couleur des lignes the line style comme color1,color2,...
settile [filename]
  Utilise l'image [filename] comme modèle pour toutes les commandes de remplissages.
settransform n,a,b,c,d,tx,ty
  Définit la n-ième transformation linéaire pour les objets de multicopy (x;y) -> [a,b;c,d](x;y) + (tx;ty).
setvector n,tx,ty
  Définit la n-ième translation transformation linéaire pour les objets de multicopy: (x;y) -> (tx,ty).
size x,y
  Set the image size to x pixels horizontally and y pixels vertically.
square x,y,s,[color]
  Carré de coin supérieur gauche (x;y) et de côté s (en pixels).
text [color],x,y,[font],[string]
print string write  Écrit string au point de coordonnées (x;y) avec la police font=small,medium,large ou giant.
textup [color],x,y,[font],[string]
stringup writeup  Écrit string de bas en haut au point de coordonnées (x;y) avec la police font=small,medium,large ou giant.
trange t1,t2
ranget  Intervalle du paramètre pour le tracé des courbes paramétriques (par défaut 0 et 1).
translation tx,ty
translate  Applique la translation (x;y) -> (x;y)+(tx;ty) aux objets définis ultérieurement.
transparent [color]
  Définit la couleur color comme transparente.
triangle x1,y1,x2,y2,x3,y3,[color]
  Triangle de sommets (x1;y1), (x2;y2), (x3;y3).
vimg n
  Active (1) ou désactive (0) la sortie en graphique vectorielle (défaut 0)
vimgfile [filename]
  Sortie en graphique vectorielle (pour l'instant seulement DXF) dans le fichier [filename].
vline x,y,[color]
verticalline  Droite verticale passant par le point (x;y).
xrange x1,x2
rangex  Détermine les coordonnées horizontales mathématiques des bords de l'image.
yrange y1,y2
rangey  Détermine les coordonnées verticales mathématiques des bords de l'image.

Table of Contents


Canvasdraw Documentation

Canvasdraw versus Flydraw

Implemented canvasdraw commands (08-08-2024)

canvasdraw

canvasdraw

affine

affine a,b,c,d,tx,ty

duplicates

duplicates || allowdups

angle

angle xc,yc,width,start_angle,end_angle,color

animate

animate

arc

arc xc,yc,x-width,y-height,start_angle,end_angle,color

arrowarc

arrowarc xc,yc,x-width,y-height,start_angle,end_angle,color,type

arrow

arrow x1,y1,x2,y2,h,color

arrows

arrows color,head (px),x1,y1,x2,y2...x_n,y_n

arrow2

arrow2 x1,y1,x2,y2,h,color

arrows2

arrows2 color,head (px),x1,y1,x2,y2...x_n,y_n

arrowhead

arrowhead int

audio

audio x,y,w,h,loop,visible,audiofile location

axisnumbering

axisnumbering

axis

axis

barchart

barchart x_1:y_1:color_1:x_2:y_2:color_2:...x_n:y_n:color_n

bezier

bezier color,x_start,y_start,x_first,y_first,x_second,y_second,x_end,y_end

bgcolor

bgcolor colorname or #hex

bgimage

bgimage image_location blink time(seconds)

boxplot

boxplot x_or_y,box-height_or_box-width,position,min,Q1,median,Q3,max

boxplotdata

boxplotdata some_data

canvastype

canvastype TYPE

centered

centered

centerstring

centerstring color,y-value,the text string

circle

circle xc,yc,width (2*r in pixels),color

circles

circles color,xc1,yc1,r1,xc2,yc2,r2...xc_n,yc_n,r_n

clearbutton

clearbutton value

clock

clock x,y,r(px),H,M,S,type hourglass,interactive [ ,H_color,M_color,S_color,background_color,foreground_color ]

colorpalette

colorpalette color_name_1,color_name_2,...,color_name_8

copy

copy x,y,x1,y1,x2,y2,[filename URL]

copyresized

copyresized x1,y2,x2,y2,dx1,dy1,dx2,dy2,image_file_url

crosshair

crosshair x,y,color

crosshairs

crosshairs color,x1,y1,x2,y2,...,x_n,y_n

crosshairsize

crosshairsize int

css

css css_class

cursor

cursor some CSS cursor_style

curve

curve color,formula(x)

curvedarrow

curvedarrow x1,y1,xc,yc,x2,y2,color

curvedarrow2

curvedarrow2 x1,y1,xc,yc,x2,y2,color

curvedarrows

curvedarrows color,x1,y1,xc,yc,x2,y2,...,x_(n-1),y_(n-1),xc,yc,x_n,y_n

curvedarrows2

curvedarrows2 color,x1,y1,xc,yc,x2,y2,...x_(n-1),y_(n-1),xc,yc,x_n,y_n

dashed

dashed

dashtype

dashtype line_width_px,space_width_px

diamondfill

diamondfill x0,y0,dx,dy,color

dotfill

dotfill x0,y0,dx,dy,color

drag

drag [x][y][xy]

ellipse

ellipse xc,yc,width_x,height_y,color

ellipses

ellipses color,xc1,yc1,width_x1,height_y1,xc2,yc2,width_x2,height_y2,xc3,yc3,width_x3,height_y3,...

fillall

fillall color,x1,y1,x2,y2...x_n,y_n

filled

filled

fillcolor

fillcolor colorname or #hex

fillpattern

fillpattern grid | hatch | diamond | dot | image_url

filltoborder

filltoborder x,y,bordercolor,color

floodfill

floodfill x,y,color

fontcolor

fontcolor color

fontfamily

fontfamily font_description

fontsize

fontsize font_size

functionlabel

functionlabel label_1:label_2:label_3...

grid

grid step_x,step_y,gridcolor

gridfill

gridfill x0,y0,dx,dy,color

group

group

demiline

demiline x1,y1,x2,y2,color

demilines

demilines color,x1,y1,x2,y2,....

hatchfill

hatchfill x0,y0,dx,dy,color

hline

hline x,y,color

hlines

hlines color,x1,y1,x2,y2,...

http

http x1,y1,x2,y2,http://some_adress.com

html

html x1,y1,html_string

imagefill

imagefill x,y,scaling to xsize × ysize?,image_url

imagepalette

imagepalette image1,image2,image3,...

input

input x,y,size,editable,value

intooltip

intooltip link_text

jscurve

jscurve color,formula1(x),formula2(x),formula3(x),...

jsmath

jsmath some_math_function

kill

kill arguments

killaffine

killaffine

killlinear

killlinear

killrotate

killrotate

killslider

killslider

killtranslation

killtranslation

latex

latex x,y,tex string

lattice

lattice x0,y0,xv1,yv1,xv2,yv2,n1,n2,color

linear

linear a,b,c,d

line

line x1,y1,x2,y2,color

lines

lines color,x1,y1,x2,y2...x_n-1,y_n-1,x_n,y_n

linewidth

linewidth int

levelcurve

levelcurve color,expression in x/y,l1,l2,...

legend

legend string1:string2:string3....string_n

legendcolors

legendcolors color1:color2:color3:...:color_n

linegraph

linegraph x1:y1:x2:y2...x_n:y_n

mathml

mathml x1,y1,mathml_string

mouse

mouse color,fontsize

mouse_degree

mouse_degree color,fontsize

display

display TYPE,color,fontsize

precision

precision int

mousex

mousex color,fontsize

mousey

mousey color,fontsize

multidash

multidash 0,1,1

multidraw

multidraw obj_type_1,obj_type_2...obj_type_11

multilabel

multilabel button_label_1,button_label_2,...,button_label_8,'stop drawing text'

multilinewidth

multilinewidth linewidth_1,linewidth_2,...,linewidth_8

multifill

multifill 0,0,1,0,1,0,0

multifillcolors

multifillcolors color_name_1,color_name_2,...,color_name_8

multifillopacity

multifillopacity fill_opacity_1,fill_opacity_2,...,fill_opacity_8

multisnaptogrid

multisnaptogrid 0,1,1

multistrokecolors

multistrokecolors color_name_1,color_name_2,...,color_name_8

multistrokeopacity

multistrokeopacity stroke_opacity_1,stroke_opacity_2,...,stroke_opacity_7

multiuserinput

multiuserinput 0,1,1,0

noreset

noreset

noxaxis

noxaxis

noyaxis

noyaxis

numberline

numberline x0,x1,xmajor,xminor,y0,y1

obabel

obabel x,y,type input,molecule smiles-code or file location, extra arguments,extra arguments,...

opacity

opacity [0-255],[0-255]

onclick

onclick

parallel

parallel x1,y1,x2,y2,dx,dy,n,[colorname or #hexcolor]

plotsteps

plotsteps a_number

point

point x,y,color

points

points color,x1,y1,x2,y2,...,x_n,y_n

poly

poly color,x1,y1,x2,y2...x_n,y_n

polyline

polyline color,x1,y1,x2,y2...x_n,y_n popup

protractor

protractor x,y,x_width,type,mode,use_a_scale

pixels

pixels color,x1,y1,x2,y2,x3,y3...

pixelsize

pixelsize int

piechart

piechart xc,yc,radius,'data+colorlist'

range

range xmin,xmax,ymin,ymax

rays

rays color,xc,yc,x1,y1,x2,y2,x3,y3...x_n,y_n

rect

rect x1,y1,x2,y2,color

rects

rects color,x1,y1,x2,y2,.....

replyformat

replyformat number

roundrect

roundrect x1,y1,x2,y2,radius in px,color

roundrects

roundrects color,radius in px,x1,y1,x2,y2,x3,y3,x4,y4,....

ruler

ruler x,y,x-width,y-height,mode

reset

reset

resetoffset

resetoffset

rotate

rotate rotation_angle

rotationcenter

rotationcenter x_center,y_center

size

size width,height

segment

segment x1,y1,x2,y2,color

segments

segments color,x1,y1,x2,y2,...,x_n,y_n

setlimits

setlimits

setpixel

setpixel x,y,color

slider

slider start_value,end_value,width px,height px,type,label

sgraph

sgraph xstart,ystart,xmajor,ymajor,xminor,yminor,majorgrid_color,minorgrid_color

snaptofunction

snaptofunction some_function_in_x,some_funtion_in_y

snaptopoints

snaptopoints x1,y1,x2,y2,x3,y3....

snaptogrid

snaptogrid

square

square x,y,side (px),color

status

status

string

string color,x,y,the text string

stringup

stringup color,x,y,rotation_degrees,the text string

highlight

highlight color,opacity,linewidth

strokecolor

strokecolor colorname or #hex

text

text fontcolor,x,y,font,text_string

textarea

textarea x,y,cols,rows,readonly,value

textfill

textfill x0,y0,color,some_text

textup

textup fontcolor,x,y,font,text_string

trace_jscurve

trace_jscurve some_math_function

trange

trange tmin,tmax

translation

translation tx,ty

triangle

triangle x1,y1,x2,y2,x3,y3,color

triangles

triangles color,x1,y1,x2,y2,x3,y3,...

userboxplot

userboxplot

userboxplotdata

userboxplotdata

userdraw

userdraw object_type,color

userinput

userinput function inputfield

userinput_xy

userinput_xy

userinput_function

userinput_function

vline

vline x,y,color

vlines

vlines color,x1,y1,x2,y2....

video

video x,y,w,h,videofile location

xaxis

xaxis num1:string1:num2:string2:num3:string3:num4:string4:....num_n:string_n

xaxisup

xaxisup num1:string1:num2:string2:num3:string3:num4:string4:....num_n:string_n

xerrorbars

xerrorbars color,E1,E2,x1,y1,x2,y2,...,x_n,y_n

newrange

newrange xmin,xmax,ymin,ymax

xrange

xrange xmin,xmax

xsnaptogrid

xsnaptogrid

xoffset

xoffset

xyoffset

xyoffset

xunit

xunit some_unit_for_x-values

xlabel

xlabel some_string

xlogbase

xlogbase number

xlogscale

xlogscale ymajor,yminor,majorcolor,minorcolor

xylogscale

xylogscale majorcolor,minorcolor

yaxis

yaxis num1:string1:num2:string2:num3:string3:num4:string4:....num_n:string_n

yerrorbars

yerrorbars color,E1,E2,x1,y1,x2,y2,...,x_n,y_n

yoffset

yoffset

yrange

yrange ymin,ymax

ysnaptogrid

ysnaptogrid

ylabel

ylabel some_string

ylogbase

ylogbase number

ylogscale

ylogscale xmajor,xminor,majorcolor,minorcolor

yunit

yunit some_unit_for_y-values

zoom

zoom button_color

Table of Contents


Interfaces to external software packages

This documentation is yet not finished ... WIMS provides interfaces for some software packages which must be installed independantly.
pari
the PARI group
http://pari.math.u-bordeaux1.fr/
Use PARI/GP est un système de calcul formel très répandu, conçu pour des calculs rapides en arithmétique (factorisations, théorie algébrique des nombres, courbes elliptiques...) mais contient aussi un grand nombre de fonctions pour le calcul matriciel, sur les développements limités, les nombres algébriques, etc. ainsi que de nombreuses fonctions transcendantes.


maxima
http://maxima.sourceforge.net/
Use Maxima is a system for the manipulation of symbolic and numerical expressions, including differentiation, integration, Taylor series, Laplace transforms, ordinary differential equations, systems of linear equations, polynomials, and sets, lists, vectors, matrices, and tensors. Maxima yields high precision numeric results by using exact fractions, arbitrary precision integers, and variable precision floating point numbers.


graphviz
Credits
http://www.graphviz.org/
Use Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks. Automatic graph drawing has many important applications in software engineering, database and web design, networking, and in visual interfaces for many other domains.


gap
The GAP Group
http://www.gap-system.org/
Use GAP is a system for computational discrete algebra, with particular emphasis on Computational Group Theory. GAP provides a programming language, a library of thousands of functions implementing algebraic algorithms written in the GAP language as well as large data libraries of algebraic objects. See also the overview and the description of the mathematical capabilities. GAP is used in research and teaching for studying groups and their representations, rings, vector spaces, algebras, combinatorial structures, and more.


float_calc,integer_calc
http://www.gnu.org/software/bc/
Use interface to bc ; bc -l


yacas
Credits
http://yacas.sourceforge.net/homepage.html
Use YACAS is an easy to use, general purpose Computer Algebra System, a program for symbolic manipulation of mathematical expressions. It uses its own programming language designed for symbolic as well as arbitrary-precision numerical computations. The system has a library of scripts that implement many of the symbolic algebra operations; new algorithms can be easily added to the library. YACAS comes with extensive documentation (hundreds of pages) covering the scripting language, the functionality that is already implemented in the system, and the algorithms we used.


jmol
Use


geogebra
Use

Logiciels internes à WIMS


checkmol
Norbert Haider, norbert.haider@univie.ac.at, modified by Ernst-Georg Schmid
Use
Input data
Output data
Example


curvecomp
Xiao Gang
Use Compare two curves
Input data Input parameters: environment.
w_curvecomp_1 and w_curvecomp_2: curves to compare, as lists of points.
w_curvecomp_xrange and w_curvecomp_yrange: list of 2 integers each.
w_curvecomp_tolerance: Maximal tolerance of distances.
Output data Output: 10 double numbers separated by white spaces.
- Average distance of curve 1 with respect to curve 2.
- Average distance of curve 2 with respect to curve 1.
- Maximal distance of curve 1 with respect to curve 2.
- Maximal distance of curve 2 with respect to curve 1.
- Proportion of curve 1 close to curve 2.
- Proportion of curve 2 close to curve 1.
- Maximal jump of curve 1.
- Maximal jump of curve 2.
- Ratio of repetitions found in curve 1.
Number 10: Ratio of repetitions found in curve 2.
Furthermore, words "fnofx" and/or "fnofy" will appear if curve 2 represents the graph of a function of x (and/or y).
Returns empty if one of the curves is degenerated.
Example
  curvecomp_1=0,92,1,92,2,92,3,92
  curvecomp_2=46,41,48,41,50,45
  curvecomp_tolerance=40
  curvecomp_xrange=11,208
  curvecomp_yrange=0,220
  curvecomp 

   


cyclicode
Xiao Gang
Use This program generates cyclic code from a polynomial defined over a prime field. It does not check whether the polynomial is primitive or irreducible.
Input data Accepted parameter: 3 words
Word 1: field characteristics, limited to 2,3,5,7
Word 2: The polynomial coefficients (except the leading one, from lower degree to higher).
Word 3: The starting status (starting from the first bit).
Output data
Example
  
  cyclicode 3 22 10

   


dicfind
Xiao Gang
Use for adm modules
Input data
Output data
Example


dicsort
Xiao Gang
Use Sort dictionary
Input data for adm modules
Output data
Example


huffman
Xiao Gang
Use This program computes an optimal coding of variable lengths on a given distribution of probabilities, using Huffman algorithm.
Input data Two environment variables
wims_exec_parm is a comma-separated list of probability distributions
Limited to MAX_ITEMS
The input data will be scaled to unit sum
w_huffman_radix is the encoding radix, between 2 and MAX_RADIX.
Output data two lines
Line 1: Entropy and Average code length, comma-separated
Line 2: comma-separated list of codes.
Example
  huffman_radix=4
  huffman 0.16, 0.39, 0.55

   


lceb
Lucas Nussbaum, lucas@lucas-nussbaum.net
Use jeu "le compte est bon"
Input data 7 integers
Output data How to obtain the first number from the six other ones by addition, multiplication, division, substraction
Example
  
  lceb 598 6 8 2 5 10 12

   


matchmol
Norbert Haider, norbert.haider@univie.ac.at, modified by Ernst-Georg Schmid
Use
Input data
Output data
Example


mathexp
Xiao Gang
Use Mathematical expression manipulations for WIMS
Input data For the moment, use only in deductio
Output data
Example


moneyprint
J.M. Evers
Use prints a number with fixed amount of decimal places
Input data Usage:!exec moneyprint number1,number2,number3,....number_n decimal_places
or !exec moneyprint number1,number2,number3;....number_n decimal_places
\text{A=wims(exec moneyprint number1,number2,number3....number_n decimal_places)}
default value "decimal_places = 2"
A=!exec moneyprint 123,43.5,23.45665
A=123.00,43.50,23.47
A=!exec moneyprint 1.000,6.234;8.4567
A=1.00,6.23;8.46
or specified a last "word"
A=!exec moneyprint 123,43.5,23.45665 3
A=123.000,43.500,23.457
Output data
Example


msg2wims
Xiao Gang
Use transforms a text in a file and save it in another file (administrative module). Transforms some commands of the form \ in wims equivalence. By default, the commands are \(\) (replace by !insmath) and translation in html of $, !, (to complete). More commands can be translated by the configuration of the variable msg2wims_primitives. Usage:!sh cd $wims_home; bin/msg2wims file_in > file_out
Input data name of a file
Output data modified text of the input file
Example


oncechar
Xiao Gang
Use This special program selects words composed by selected characters, each selected character being used at most once in the word. Used in the shell script public_html/bin/dicfind
Input data Selected characters are entered by the env var 'oncechar'. Words entered by stdin. Output to stdout.
Output data
Example


scienceprint
J.M. Evers
Use Prints a number in scientific notation.
Input data Usage: !exec scienceprint number,significant_digits,output_type
\text{A=wims(exec scienceprint number,significant_digits,output_type )}
output_type can be
  • 0 : calculating format : 1.234*10^-4
  • 1 : html format :1.234×10-4
  • 2 : latex format : 1.234\times10^{-4}
  • 3 : prefix format : 1.234×10-1 m
  • 4 : mathml format : 1.234×10-4
  • 5 : long prefix format : 1.234×10-1 milli
Output data
Example


shortpath
Xiao Gang
Use Finds the shortest paths linking given points
Input data wims_exec_parm is ... . w_shortpath_style : 0: loop to the start
1: arbitrary open path
2: open path with fixed start
3: open path with fixed end
4: open path with fixed start and end
Output data
Example
  shortpath_style=0
  shortpath 1,3
  5,1
  3,4
  1,1
  3,1
  4,5

   


translator
Xiao Gang
Use Versatile translation according to a dictionary
Input data for adm modules
Output data
Example


voronoi
Steve J. Fortune
Use compute Voronoi diagram or Delaunay triangulation. Voronoi reads the standard input for a set of points in the plane and writes either the Voronoi diagram or the Delaunay triangulation to the standard output.
Input data Each input line should consist of two real numbers, separated by white space.
Output data If option -t is present, the Delaunay triangulation is produced. Each output line is a triple i j k which are the indices of the three points in a Delaunay triangle.
Points are numbered starting at 0.
If this option is not present, the Voronoi diagram is produced.
There are four output record types.
s a b indicates that an input point at coordinates l a b c indicates a line with equation ax + by = c.
v a b indicates a vertex at a b.
e l v1 v2 indicates a Voronoi segment which is a subsegment of line number l; with endpoints numbered v1 and v2.
If v1 or v2 is -1, the line extends to infinity.
Example
  
  voronoi -t 5 7
  2 8
  7 6
  3 5
  1 2
  8 1
  4 3
  6 4

   

Table of Contents


Template files

Some files in the distribution are template. They can be changed and used for global configuration. They are local so will not be erased by WIMS update. Preliminary version
log/front.phtml.template replace template by the symbol of a language xx read this page instead of public_html/modules/home/front.phtml.xx so it changes the home page of WIMS for lang=xx
log/motd.phtml.template replace template by the symbol of a language xx General message in the front page of WIMS for lang=xx
log/manager_msg.phtml.template replace template by the symbol of a language for xx message in all classes seen only by class supervisors for lang=xx
log/wims.conf.access.template delete .template limits the access to some ressources for the whole site see public_html/scripts/help/xx/accessconf.phtml for example
themes/*/local.template replace template by the symbol of a language xx can modify the menu in home for lang=xx

Table of Contents


How to do an anstype

# How to add a new anstype (called here `_name`) Each anstype contains two files, `_name.input` is the input form element, and `_name` is the answer processing file. Specific anstypes need not be put into this directory. One can create a subdirectory "anstype" in the module, then put the files there. Any name will do, but we recommend that module-specific anstypes use a specific prefix for its names, like "mynumeric", "myfunction", ..., in order to avoid possible confusions. In an oef exercise, the anstype is called by the line `\answer{xxx}{yyy}{type=_name}{option=zzz}` see later for the intern variables corresponding to the values. The input file should contain the following two definitions: 1. define `anstype=yes`. Otherwise the OEF manager will not recognize the existence of the anstype. 2. define the form style using the variable `anstyle`. Here are the possible words to declare in this variable: * `mc`: multiple choice style. * `symtext`: allows symtext processing. * `numeric`: the data is numeric or with an input field * `dprompt`: correct answer prompt given under double-underlined variable (internal `reply__$i`); in this mode, the correct answer is not present by default. * `nogood`: never present correct answer (because there cannot be). * `noanswer`: never present the answer analysis (because there is no correct or wrong answer) These scripts accept the following input variables: * `i`: The number of the reply field. * `replyname$i`: The prompt of the form element. * `reply$i`: The answer given by the student. * `replygood$i`: The correct answer given by the author. so the value of the second field of `\answer{}{}`. * `replyoption$i`: Option words. Anstypes are more or less free to define their own recognized option words. In oef exercises, it correspond to the value `zzz` in `{option=zzz}` * `inputsize`: the second item of the field \embed{} (the first one is * `r$i` ou `reply$i`). In general, it contains the size of the form element. Moreover, if no comparison is wanted, the answer processing file can have a calling parameter "nocompare" (not useful in oef exercices). Output variables of the answer processing file: * `Test`: Put `bad $i` if the correct answer given by the author is not understandable. * `test`: Put `NaN` followed possibly by an error indicator, if the answer given by the student is not understandable. some available error indicators: * `badsize` (following by a number) * `badform` * `badform noreduced` * `nocompute` * `nocomputecomplex` * `notunit` * `bad_variable` * `unknownword` followed by some words * `chemdraw_empty_data` * `chemclick_empty_data` * `diareply$i`: Diagnostics result. Possible values: `good`, `bad`. * `precreply$i`: If the answer misses the correct result just by a problem of precision, put `yes` to this variable and put `bad` to `diareply$i`. In the computation of the score, a coefficient depending on the level is introduced. In thise case, one must not advance `freegot` at all. * `partialgood$i`: If the answer should be considered as partially correct, put `yes` to this variable and put `good` to `diareply$i`. It has no consequence on the calculation of the real score (use `freegot` for that). * `freegot`: This is a numerical variable. Its content is incremented by 1 if the answer is 100% OK, none if it is false, or anything between 0 and 1 for partially correct answer. It is not recommended to decrement this value, nor to increment it more than 1. The real score is computed using it. So, `partialgood$i=yes + diareply$i=good + freegot` advances of a number strictly between 0 and 1 or `!advance precgood + diareply$i=bad + fregot=0 + precreply$i=yes` There are also some optional output variables (they can be left empty). * `replyGood$i`: This variable can be defined for the correct answer shown to the students after replying to the exercise, It should be different than the real `replygood$i`. It is not shown in the analysis of the answer for false student answer if dprompt is declared in anstyle. * `m_reply$i`: This variable can be defined for the answer shown back in the oef variable `reply$i`, if it should be different than the real answer typed in. * `reply_$i`: The answer of the student shown in the html page in place of `\embed{}` or in the analysis zone (for oef exercises). * `reply__$i`: A special prompt in the analysis of the answer to show when `dprompt` is declared in anstyle. If it is empty, its value is the value of `reply_$i`. If the variable `noshow$i` is yes, the student reply is not shown in the answer analysis. * `m_sc_reply$i`: by default 0, 0.5 or 1 according to `diareply$i`, `partialgood$i` and `freegot`. Can be set to special values. Give the possibility to the developer of exercises to give feedbacks without testing again. There are also some variables which can be used (new/2009) * `oef_formnosubmit`: if `yes`, no "Send answer" button appear. * `oef_js_submit`: can be used to put javascript in the answer button, the line `onclick="javascript:$oef_js_submit;"` will be present in this button (in test). * `oef_anstype_css`: style css (what is inside ``) will be include at the end of the web page. If the following variables are defined in the file `_name.input`, they can be reused in the file `_name`: `oef_applet_option`,`oef_applet_command`,`oef_fill_option`,`oef_answer_option1`..., (for reuse applet options or embed options for example, if one wants to use the anstype several times in the same html page, it is recommanded to use `oef_answer_option$i` indexed by the answer's number). If you use an external software, use the variable `ans_require` (best if there is a version number). Add the help in `scripts/help/anstype` and `scripts/help/anstype.$lang` and in the list `help/$lang/reply.phtml`.
See the lists of the anstype in the OEF documentation even if they can be used in any pedagogical modules (with adaptation of the syntax).

Table of Contents


Structure of sub directories

Table of Contents


Themes

# To add a theme:

1. Decide on the name of the theme. If the theme is not intended for
   publication, please put it under the subdirectory "local":
   `local/1`, `local/YourName`, etc.

   Say the name is `local/1`.

2. Copy the content of `public_html/themes/standard` to
   `public_html/themes/local/1`, and modify.

- un fichier css global est créé par le script mkcss.pl dans themes.
   Ce script concatene et minimise les fichiers css dont la liste est dans le fichier `css.css.template` (respecter la syntaxe ...).
   Vous pouvez ainsi utiliser des fichiers css communs dans `themes/_css` des fichiers d'autres thèmes (à manier avec précaution) ou dans le répertoire `local/1/_css` de votre thème.

- Si vous désirez garder certains fichiers sans changement,
  il est conseillé de faire plutôt un changement de fichiers.
  Par exemple, si vous désirez conserver sans modification le fichier supervisor.phtml
   créez-le en écrivant simplement par exemple
  `!changeto themes/standard/supervisor.phtml`

- Le fichier `local.phtml.template` une fois changé en `local_phtml.fr`
   permet d'inclure des modules administratifs locaux dans les menus

- vous pouvez changer le "vocabulaire" dans la version de langue xx
  (par exemple xx=fr) de la manière suivante :
  créez un répertoire lang.
  Si vous désirez changer la définition des noms
  définis dans html, faites-le dans un fichier
  `lang/home_names.xx`.
  Si les définitions sont faites dans un module administratif,
  par exemple dans `modules/adm/class/exam/lang/names.phtml.xx`, faites-le dans un fichier de nom
  `adm_class_exam_lang_names.phtml.xx`

- il est possible d'utiliser les "widgets" du répertoire `themes/_widgets`

  widget front.phtml:
  `!read themes/_widgets/frontmsg.phtml local/data/news.fr blocnews blocexamples`
  argument: `nom_du_module` `nom_du_bloc_news` `nom_du_bloc_exemple`
    (le module doit être dans `local/data`)
  css nécessaires (à rajouter dans `css.css.template`)
  `_css/news.css _css/foundation_button.css _css/foundation_animation.css`

À faire :

- nettoyer un peu plus les fichiers pour n'avoir qu'une succession
de widgets.
- bientôt un appel du type
  `!read themes/_widgets/visitormenubox.phtml`
  lira s'il existe `themes/local/1/_widgets/visitormenubox.phtml` dans `themes/local/1/_widgets` et sinon dans `themes/_widgets`.

* wims_homeref_n0 = renouveler, aide, wims_menu_items (liens venant des modules)
* wims_homeref_n1 : lien sur feuille, séquence, aide, about, resume, divers ! print
* wims_homeref_n2 :
* wims_homeref_n3 : était prévu pour des tabs, ne contient rien à supprimer
* wims_homeref_n4 : contrôle des scores par l'élève
* wims_homeref_n5 contient pour l'instant uniquement l'aide feedback des exos
* wims_hm : lien du menu supérieur (headmenu)

Table of Contents


Sheet/Exam/Freework/Document index formats

See here

Table of Contents


Taxonomies

See here

Table of Contents


Icones

See here and See here

Table of Contents


Help for script library

# Model for an slib
The first part (before :proc) is for the documentation.

You can also put the documentation part (everything except slib_author)
in multiple files, one per lang in scripts/help/lang/slib/...
if you want it to be translated.
##############

!if $wims_read_parm!=slib_header
  !goto proc
!endif

slib_author=Firstname, Lastname
slib_parms=3\
default, explanation\
default, explanation\
default, explanation

slib_example=example1\
example2

slib_require=
slib_out= result of the slib
slib_comment= more explanation

!exit
:proc
proc

!distribute items $wims_read_parm into slib_xx, slib_yy, slib_zz, and so on

...

calculation

slib_out=


##############

The result must be in the variable slib_out.

Please prefix all the variables names by slib_.

Table of Contents


Interoperability module

Table of Contents


Debugging methods

We list here some debugging methods of an administrative module.

Table of Contents


Change log

See here

Table of Contents


Cette page n'est pas dans son apparence habituelle parce que WIMS n'a pas pu reconnaître votre navigateur web.
Afin de tester le navigateur que vous utilisez, veuillez taper le mot wims ici : puis appuyez sur ``Entrer''.

Veuillez noter que les pages WIMS sont générées interactivement; elles ne sont pas des fichiers HTML ordinaires. Elles doivent être utilisées interactivement EN LIGNE. Il est inutile pour vous de les ramasser par un programme robot.