Skip to content

dgombert/openfisca-france

 
 

Repository files navigation

OpenFisca-France

Build Status

[EN] Introduction

OpenFisca is a versatile microsimulation free software. This repository contains the OpenFisca model of the French tax and benefit system. Therefore, the working language here is French. You can however check the general OpenFisca documentation in English!

[FR] Introduction

OpenFisca est un logiciel libre de micro-simulation. Ce dépôt contient la modélisation du système social et fiscal français. Pour plus d'information sur les fonctionnalités et la manière d'utiliser OpenFisca, vous pouvez consulter la documentation générale.

Interroger OpenFisca-France (sans installation)

France met à disposition une API Web publique qui ne demande aucune installation. Utilisez l'API publique si vous souhaitez :

L'explorateur de législation contient la liste des paramètres et variables disponibles.

Installation

Ce paquet requiert Python 2.7 et pip.

Plateformes supportées :

  • distributions GNU/Linux (en particulier Debian and Ubuntu) ;
  • Mac OS X ;
  • Windows (nous recommandons d'utiliser ConEmu à la place de la console par défaut) ;

Pour les autres OS : si vous pouvez exécuter Python et Numpy, l'installation d'OpenFisca devrait fonctionner.

Installez un environnement virtuel avec Pew

Nous recommandons l'utilisation d'un environnement virtuel (virtualenv) avec un gestionnaire de virtualenv tel que Pew.

  • Un virtualenv crée un environnement pour les besoins spécifiques du projet sur lequel vous travaillez.
  • Un gestionnaire de virtualenv, tel que Pew, vous permet de facilement créer, supprimer et naviguer entre différents projets.

Pour installer Pew, lancez une fenêtre de terminal et suivez ces instructions :

python --version # Python 2.7.9 ou plus récent devrait être installé sur votre ordinateur.
# Si non, téléchargez-le sur http://www.python.org et téléchargez pip.
pip install --upgrade pip
pip install pew

Créez un nouveau virtualenv nommé openfisca et configurez-le avec python2.7 :

pew new openfisca --python=python2.7
# Si demandé, répondez "Y" à la question sur la modification du fichier de configuration de votre shell

Le  virtualenv  openfisca sera alors activé, c'est-à-dire que les commandes suivantes s'exécuteront directement dans l'environnement virtuel. Vous verrez dans votre terminal :

Installing setuptools, pip, wheel...done.
Launching subshell in virtual environment. Type 'exit' or 'Ctrl+D' to return.

Informations complémentaires :

  • sortez du virtualenv en tapant exit (or Ctrl-D) ;
  • re-rentrez en tapant pew workon openfisca dans votre terminal.

Bravo 🎉 Vous êtes prêt·e à installer OpenFisca-France !

Nous proposons deux procédures d'installation. Choisissez l'installation A ou B ci-dessous en fonction de l'usage que vous souhaitez faire d'OpenFisca-France.

A. Installation minimale (pip install)

Suivez cette installation si vous souhaitez :

  • procéder à des calculs sur une large population ;
  • créer des simulations fiscales ;
  • écrire une extension au-dessus de la législation française (exemple : les extensions de Paris et Rennes ;
  • servir OpenFisca-France avec l'API Web OpenFisca.

Pour pouvoir modifier OpenFisca-France, consultez l'Installation avancée.

Installer OpenFisca-France avec pip install

Dans votre virtualenv, vérifiez les pré-requis :

python --version  # Devrait afficher "Python 2.7.xx".
#Si non, vérifiez que vous passez --python=python2.7 lors de la création de votre environnement virtuel.
pip --version  # Devrait afficher au moins 9.0.x
#Si non, exécutez "pip install --upgrade pip".

Installez OpenFisca-France :

pip install openfisca-france

Félicitations 🎉 OpenFisca-France est prêt à être utilisé !

Prochaines étapes

  • Apprenez à utiliser OpenFisca avec nos tutoriels (en anglais).
  • Hébergez et servez votre instance d'OpenFisca-France avec l'API Web OpenFisca.

En fonction de vos projets, vous pourriez bénéficier de l'installation des paquets suivants dans votre virtualenv :

  • pour installer une extension ou écrire une législation au-dessus d'OpenFisca-France, consultez la documentation sur les extensions (en anglais) ;
  • pour représenter graphiquement vos résultats, essayez la bibliothèque matplotlib ;
  • pour gérer vos données, découvrez la bibliothèque pandas.

B. Installation avancée (Git Clone)

Suivez cette installation si vous souhaitez :

  • enrichir ou modifier la législation d'OpenFisca-France ;
  • contribuer au code source d'OpenFisca-France.

Cloner OpenFisca-France avec Git

Premièrement, assurez-vous que Git est bien installé sur votre machine.

Dans votre virtualenv, assurez-vous que vous êtes dans le répertoire où vous souhaitez cloner OpenFisca-France.

Vérifiez les pré-requis :

python --version  # Devrait afficher "Python 2.7.xx".
#Si non, vérifiez que vous passez --python=python2.7 lors de la création de votre environnement virtuel.
pip --version  # Devrait afficher au moins 9.0.
#Si non, exécutez "pip install --upgrade pip".

Clonez OpenFisca-France sur votre machine :

git clone https://github.com/openfisca/openfisca-france.git
cd openfisca-france
pip install -e .

Vous pouvez vous assurer que votre installation s'est bien passée en exécutant :

pip install -e ".[test]"
nosetests tests/test_basics.py # Ces test peuvent prendre jusqu'à 60 secondes.

🎉 OpenFisca-France est prêt à être utilisé !

Prochaines étapes

Servez OpenFisca-France avec l'API Web OpenFisca

Si vous développez une application web, vous pouvez brancher OpenFisca-France à l'API Web OpenFisca.

Pour ce faire, installez l'API Web OpenFisca :

  • si vous avez installé OpenFisca-France avec pip install :

    pip install 'openfisca-france[api]'
  • si vous avez installé OpenFisca-France avec git clone, dans le répertoire openfisca-france, exécutez la commande suivante :

    pip install -e '.[api]'

Puis servez l'API Web OpenFisca localement :

openfisca-serve --port 2000

Testez votre installation en requêtant la commande suivante :

curl "http://localhost:2000/api/2/formula/2017-02/cout_du_travail?salaire_de_base=2300"

Vous devriez avoir le resultat suivant :

{
    "values":{
        "cout_du_travail": 3078.4599609375
     },
     "params": {
        "salaire_de_base": 2300.0
        },
     "period": ["month", [2017, 2, 1], 1],
     "apiVersion": "2.1.0"
 }

🎉 Vous servez OpenFisca-France via l'API Web OpenFisca ! Pour en savoir plus, explorez OpenFisca Web API documentation (en anglais).

Stratégie de versionnement

Le code d'OpenFisca-France est déployé de manière continue et automatique. Ainsi, à chaque fois que le code de la législation évolue sur la branche principale master, une nouvelle version est publiée.

De nouvelles versions sont donc publiées très régulièrement. Cependant, la différence entre deux versions consécutives étant réduite, les efforts d'adaptation pour passer de l'une à l'autre sont en général très limités.

Par ailleurs, OpenFisca-France respecte les règles du versionnement sémantique. Tous les changements qui ne font pas l'objet d'une augmentation du numéro majeur de version sont donc garantis rétro-compatibles.

Par exemple, si mon application utilise la version 13.1.1, je sais qu'elle fonctionnera également avec la version 13.2.0. En revanche, il est possible qu'une adaptation soit nécessaire sur mon client pour pouvoir utiliser la version 14.0.0.

Enfin, les impacts et périmètres des évolutions sont tous documentés sur le CHANGELOG du package. Ce document permet aux contributeurs de suivre les évolutions et d'établir leur propre stratégie de mise à jour.

Contributeurs

Voir la liste des contributeurs.

About

French tax and benefit system for OpenFisca

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.4%
  • Other 0.6%