Package Python/fr

pyvle, ''Python-Package for VLE

= Description =

pyvle est un paquet ("package" en Python) pour l'utilisation de l'environnement VLE depuis le langage Python. Ce paquet fournit la possibilité de lire des fichiers vpz, d'affecter des conditions initiales aux modèles, de simuler les modèles avec ces conditions et de récupérer des résultats de simulations. Il permet aussi de manipuler l'ensemble des informations sur une expérience : durée, graines des générateurs, ... et d'obtenir des informations sur les modèles et les vues.

pyvle est disponible sous forme de dépôt Git, sur vle-project.org.

= Utilisation =

Téléchargement de la version de développement
Deprecated part

Pyvle n'est disponible qu'en version de développement pour l'instant.

Si vous voulez accéder à la version en cours de développement du paquet pyvle, utilisez Git. Les lignes suivantes sont suffisantes pour récupérer les dernières versions des logiciels sur Debian ou Ubuntu :

Installation
Deprecated part

Par défaut, les packages Python s'installent dans le répertoire /usr/lib/pythonX.X si vous voulez installer les nouveaux packages dans votre compte (par exemple, $HOME/usr) alors il faut déclarer une variable d'environnement PYTHONPATH=$HOME/usr/lib/python:$HOME/usr/lib/python/lib-dynload.

Mis à part Python, il est nécessaire d'installer un paquet boost pour l'encapsulation Python de code C++.

Une fois le paquet téléchargé et décompressé, vous disposez d'un répertoire racine du paquet .../pyvle.

L'installation débute par la compilation, tapez les commandes suivantes sous un shell :

Attention, par défaut, il fait une installation dans $HOME/usr/python sans mention de la version du Python installé sur votre système. Si vous voulez faire une installation dans votre système (/usr/lib au lieu de $HOME/usr/lib), il faut modifier le fichier CMakeLists.txt du répertoire src de pyvle :
 * en remplaçant python par python2.5 ou python 2.6 dans les lignes suivantes :

Usage
Le package est maintenant installé. Vous pouvez l'utiliser en le chargeant : ou

Le package est principalement organisé autour d'une classe Vle, pour accéder à la liste des méthodes :

Premier cas
Dans ce premier cas, un fichier vpz est chargé, on fixe quelques conditions initiales et on exécute la simulation. Les sorties se font a priori dans un fichier.

Pour tester la bibliothèque rvle, voici un petit script R :

Remarques :
 * si le fichier vpz fait parti d'un projet (ou paquet), il faut spécifier le paquet lors de la création d'un objet Vle :

Deuxième cas
On peut avoir envie de récupérer l'ensemble ou une partie des sorties de la simulation directement dans des variables Python de type tuple. Il est impératif d'utiliser le type storage pour sa sortie et il faut une sortie de ce type par vue. Du côté du code Python, il suffit d'utiliser la fonction run, runMatrix ou runManagerMatrix dans le cas de l'exécution d'un plan simple.

En voici un exemple :

L'accès aux données est alors possible via la variable result qui est une liste de dictionnaires de tuples. Pour accéder à une donnée liée à un observable sur un modèle donné à une date donnée d'un replicat donné, il faut faire :

Par exemple, la valeur de l'observable a du modèle m:A à la date 0 pour le replicat 0 :

Troisième cas
L'une des utilisations possibles de pyvle est la création d'applications Web à l'aide de frameworks Web Python. Nous avons choisi Pylons pour proposer une solution pour les développeurs Python : vle-web.

Voici aussi une procédure de création d'une application Web très simple à partir de Pylons.

Les formats de sortie des simulations
L'exécution des simulations peut être réalisée selon deux grandes familles :
 * une seule simulation ;
 * un plan : un ensemble de simulations.

Dans le premier cas, la méthode à utiliser est run qui retourne un dictionnaire de dictionnaires de tuples. L'illustration proposée est basée sur un vpz appartenant à un paquet. Le modèle est stochastique et certains paramètres possèdent plusieurs valeurs.

L'utilisation de la méthode run provoque l'exécution de la simulation avec pour valeur des paramètres, la première rencontrée dans le fichier vpz.

Le nom du modèle utilisé comme clé de deuxième niveau de dictionnaire est composé du chemin (le modèle couplé dans lequel il est défini) et du modèle du modèle atomique. Par exemple, si le modèle atomique observé est M et qui fait parti du modèle couple C1 et que C1 fait lui-même parti de C0 alors l'identifiant sera C0:C1:M.port. Il existe une clé particulière pour le temps (time) puisque les résultats sont sous forme de série temporelle.

Le deuxième cas, les plans, conduit à l'exécution d'un ensemble de simulations. Une simulation est à la fois une combinaison des valeurs des paramètres multivalués et d'une série de nombres aléatoires. Dans le cas de plan où le nombre de réplicats est fixé à 1, la série de nombres aléatoires est ignorée. L'exécution est accessible via la méthode runManager.

Il est possible de connaître la correspondance entre combinaison_index et les valeurs des paramètres utilisés pour la simulation.

= Historique =
 * septembre 2009, les noms des commandes du paquet pyvle font l'objet d'un processus de normalisation. Rvle et Pyvle utilisent les mêmes noms et la même convention.
 * 6 juin 2006, première version béta du paquet avec la possibilité de charger un fichier vpz, de modifier ses conditions initiales et de lancer une simulation.

= Références =

http://www.python.org/