Dimitri DUBOIS

Dimitri DUBOIS

Ingénieur de recherche CNRS
Docteur en Sciences Economiques
Centre d'Economie de l'Environnement - Montpellier (CEE-M)

LE2M

Numéro de dépôt: IDDN.fr.001.460038.000.S.C.2016.000.20600.

Logiciel pour les Expériences d'Economie de Montpellier

LE2M est développé en Python 2.7, avec des interfaces graphiques en QT. La couche réseau s'appuie sur la librairie Twisted. La persistence des données s'appuie sur une base de données SQLite, avec la librairie SQLAlchemy.
LE2M permet de développer tout type d'expérience: décisions individuelles, décisions avec des interactions stratégiques, marchés, chats, etc.
Les programmes des expériences sont créés facilement grâce à l'outil LE2M_Creator, qui écrit le squelette du programme pour chaque nouveau projet, en fonction de ses caractéristiques (nom, groupes ou non, répétitions ou non, etc.). Les interfaces graphiques sont créées indépendamment, avec Qt Designer.

LE2M est disponible sur github

Pré-requis

Sous Windows

Installer python-2.7 et PyQt4 (attention de bien sélectionner PyQt4 pour Python 2.7). Ensuite installer un compilateur Microsoft C++ pour Python 2.7 (utilisé par twisted, la librairie réseau). Ouvrir ensuite une console dos puis taper les lignes suivantes:

  • pip install twisted
  • pip install sqlalchemy
  • pip install numpy
  • pip install matplotlib
  • pip install pandas

Sous Linux (Debian, Ubuntu)

Dans une console, en root/sudo, taper apt-get install python2.7 python-qt4 python-twisted python-sqlalchemy python-numpy python-pandas python-matplotlib python-qt4-phonon.

 

Installation

En local, pour faire des tests, LE2M est prêt à fonctionner, il suffit de lancer le serveur avec serverrun.py (dans le2m), puis un client en cliquant sur clientrun.py. Pour lancer plusieurs clients il faut utiliser la console et taper python clientseveral.py X où X est le nombre de clients à lancer.

Dans une salle d'expérimentation, placer le dossier LE2M décompressé dans un dossier partagé du serveur. Editer ensuite le fichier le2m/configuration/configparams et changer l'IP du serveur. Pour les clients, créer un raccourci de clientrun.py. Editer les propriétés de ce raccourci pour qu'il pointe vers le fichier clientrun.py en utilisant l'adresse réseau (remplacer c:/ par //serveur ... ou /home/ par smb://serveur). Placer ce raccourci sur les postes clients. LE2M peut ensuite être lancé: pour la partie serveur, cliquer sur serverrun.py et pour la partie client sur le raccourci vers clientrun.py.

La documentation (liste des classes, attributs et méthodes) est dans le dossier apidoc.
Le logiciel est fournie avec des parties: dictateur, bien public, gneezy potter ... Pour charger une ou plusieurs parties lancer le serveur puis cliquer sur "charger une partie" dans le menu Fichier et cocher les parties correspondantes.