-
Notifications
You must be signed in to change notification settings - Fork 33
Integrer une nouvelle aide dans mes aides : Aspects techniques
- Machine Unix de préférence (Mac ou Linux)
- Il est possible d'utiliser une machine virtuelle.
- D'expérience, le développement sous Windows peut poser un certain nombre de difficultés, qui, si elles ne sont pas insolubles en général, ralentissent significativement les développements.
-
Python 3.7
-
python3 --version
oupython3.7 --version
doit renvoyerPython 3.7.x
.
-
- Virtualenv, disponible dans le paquet
python3-virtualenv
-
virtualenv --version
doit renvoyerx.y.z
-
- Git
- Un compte GitHub
Un
virtualenv
est un outil permettant de créer un environnement python spécifique et compartimenté pour un projet. Il évite les incompatibilités entre différents projets, et simplifie la gestion des permissions lors de l'installation de packages.
Dans un dossier de travail, exécutez la commande suivante :
virtualenv .venv --python=python3.7
Chaque fois que vous souhaitez travailler sur Openfisca, exécutez au préalable, dans votre dossier de travail, la commande :
source .venv/bin/activate
Pour ne pas surcharger le dépôt
openfisca-france
, qui ne répertorie que les aides légales, les aides locales extra-légales sont intégrés à des extensions indépendantes qui peuvent être chargés au besoin dans une instance Openfisca.Nous avons commencé par créer une extension par partenaire mais cela s'est avérée peu pratique. Désormais nous avons regroupé les aides extra-légales dans une extension seule.
Exécutez les commandes suivantes dans votre répertoire de travail :
git clone [email protected]:openfisca/openfisca-france-local.git
cd openfisca-france-local
pip install --editable .
Ces commandes permettent d'installer l'extension. Une fois l'installation terminée, vous devriez pouvoir la tester avec les commandes suivantes :
openfisca test tests/test_dispositif.yml --country-package openfisca_france --extension openfisca_france_local
Le résultat de cette commande devrait ressembler à ça
libyaml is not installed in your environment. This can make OpenFisca slower to start. Once you have installed libyaml, run 'pip uninstall pyyaml && pip install pyyaml --no-cache-dir' so that it is used in your Python environment.
libyaml is not installed in your environment, this can make your test suite slower to run. Once you have installed libyaml, run `pip uninstall pyyaml && pip install pyyaml --no-cache-dir` so that it is used in your Python environment.
=================== test session starts ===================
platform linux -- Python 3.7.4, pytest-5.1.2, py-1.8.0, pluggy-0.12.0
rootdir: /home/thomas/test/openfisca-france-local
collected 1 item
tests/test_dispositif.yml .
==================== 1 passed in 0.01s ====================
Vous trouverez un exemple d'aide dans le fichier communes/alfortville/noel_enfants.py
, ainsi que le fichier de test associé, tests/communes/alfortville/noel_enfants.yml
. Les paramètres nécessaires au calcul se trouvent quant à eux dans le fichier openfisca_france_local/parameters/communes/alfortville.yml
.
Pour ajouter des formules et tests, créez simplement des fichiers .py
et .yaml
à l'intérieur du repertoire.