diff --git a/mon-entreprise/package.json b/mon-entreprise/package.json index f605435cc..28aa60047 100644 --- a/mon-entreprise/package.json +++ b/mon-entreprise/package.json @@ -36,7 +36,7 @@ "js-yaml": "^3.13.1", "moo": "^0.5.0", "nearley": "^2.19.0", - "publicodes": "^1.0.0-beta.1", + "publicodes": "^1.0.0-beta.2", "ramda": "^0.27.0", "react": "^16.13.1", "react-color": "^2.14.0", diff --git a/mon-entreprise/source/sites/mon-entreprise.fr/pages/integration/Library.tsx b/mon-entreprise/source/sites/mon-entreprise.fr/pages/integration/Library.tsx index ea60ddc8d..1e8dda926 100644 --- a/mon-entreprise/source/sites/mon-entreprise.fr/pages/integration/Library.tsx +++ b/mon-entreprise/source/sites/mon-entreprise.fr/pages/integration/Library.tsx @@ -13,96 +13,142 @@ export default function Library() { Si vous pensez que votre site ou service gagnerait à afficher des calculs de salaire, par exemple passer du salaire brut au salaire net, bonne nouvelle : tous les calculs de cotisations et impôts qui sont - derrière mon-entreprise.fr sont libres et{' '} - - intégrables sous forme d'une{' '} - - bibliothèque NPM - - + derrière mon-entreprise.fr sont libres et facilement réutilisable + grâce à la{' '} + + bibliothèque NPM publicodes + .
+- Dit plus simplement, les développeurs de votre équipe sont en mesure - d'intégrer le calcul dans votre interface en 5 minutes - {emoji('⌚')}, sans avoir à gérer la complexité de la paie et la mise - à jour régulière des règles de calcul. + Toutes nos règles de calculs sont écrite en `publicodes`, un language + déclaratif développé par beta.gouv.fr et l'Urssaf pour encoder des + algorithme d'intérêt public.{' '} + En savoir plus sur publicodes
- Cette bibliothèque est un commun numérique développé par l'Etat et - l'ACOSS. Elle repose sur un nouveau langage de programmation,{' '} - publicodes. + Pour effectuer vos propre calcul, il suffit donc d'installer + l'interpreteur publicode, de télécharger les règles de mon-entreprise, + et d'appeler la fonction d'évaluation.
-
+ $ npm install --save publicodes
+
+ - Les exemples suivants vous montrent comment utiliser la bibliothèque - sur un site ReactJs très simple. + Les règles de calculs de mon-entreprise ne sont pas (encore) + disponible sous forme de paquet npm. Il faudra donc les télécharger + manuellement.
-+ Pour le faire rapidement, vous pouvez copier coller la commande + suivante : +
+
+
+ wget
+ https://raw.githubusercontent.com/betagouv/mon-entreprise/master/mon-entreprise/source/rules/base.yaml
+ & wget
+ https://raw.githubusercontent.com/betagouv/mon-entreprise/master/mon-entreprise/source/rules/dirigeant.yaml
+ & wget
+ https://raw.githubusercontent.com/betagouv/mon-entreprise/master/mon-entreprise/source/rules/salarié.yaml
+ & wget
+ https://raw.githubusercontent.com/betagouv/mon-entreprise/master/mon-entreprise/source/rules/protection-sociale.yaml
+ & wget
+ https://raw.githubusercontent.com/betagouv/mon-entreprise/master/mon-entreprise/source/rules/entreprise-établissement.yaml
+ & wget
+ https://raw.githubusercontent.com/betagouv/mon-entreprise/master/mon-entreprise/source/rules/impôt.yaml
+ & wget
+ https://raw.githubusercontent.com/betagouv/mon-entreprise/master/mon-entreprise/source/rules/situation-personelle.yaml
+
+
+ + Attention : bien que les règles soient décomposées en + fichier séparé, les dépendances ne sont pas encore bien gérées avec + publicode. Il vous faudra donc veiller à bien télécharger et importer + les fichiers "socles" pour être sûr de ne pas avoir de dépendances non + satisfaite. +
++ Il ne vous reste plus qu'à paramètrer le moteur avec les règles + téléchargées et à appeler la fonction `evaluate` sur la règle que dont + vous souhaitez la valeur. Voici un exemple pour le calcul brut / net +
+Vous l'aurez constaté dans l'exemple précédent, la recette d'un calcul est simple : des variables d'entrée (le salaire brut), une ou plusieurs variables de sorties (le salaire net).
- Toutes ces variables sont listées et expliquées sur notre{' '} + Le calcul est cependant paramétrable avec toutes les possibilités + permise dans la legislation. +
++ Toutes ces variables sont listées et expliquées sur la{' '} documentation en ligne - . -
- -- Utilisez le moteur de recherche pour trouver la bonne variable, puis - cliquez sur "Voir le code source" pour obtenir l'ensemble de la - documentation : valeur par défaut, valeurs possibles quand c'est une - énumération de choix, unité quand c'est un nombre, description, - question utilisateur associée, etc. + . Cette documentation est auto-générée depuis les fichiers de règles + publicode, elle est donc constament à jour.
Lançons un calcul plus proche d'une fiche de paie : voici une description de la situation d'entrée annotée de liens vers les pages correspondantes de la documentation :
- -- {' '} - Un{' '} - - cadre - {' '} - gagnant{' '} - - 3 400€ bruts - {' '} - , qui bénéficie de l' - - indemnité kilométrique vélo - {' '} - et qui travaille dans une entreprise de{' '} - - 12 salariés - - . -
+++ {' '} + Un{' '} + + cadre + {' '} + gagnant{' '} + + 3 400€ bruts + {' '} + , qui bénéficie de{' '} + + titres-restaurant + {' '} + et qui travaille dans une entreprise de{' '} + + 22 salariés + + . +
+
Voici ce que donne le calcul pour cet exemple plus complet :
-@@ -140,23 +186,16 @@ export default function Library() { dit, les hauts salaires paient une partie des cotisations sociales des bas salaires.
-- {emoji('⚠️ ')}Attention, cet exemple fait pas mal de calculs d'un - coup, ce qui peut bloquer votre navigateur quelques secondes. Pour - palier à ce problème, il faudrait faire l'appel à la bibliothèque dans - un Web Worker, mais ça n'est pas possible{' '} - - pour l'instant - {' '} - dans ces démos. -
-