8510e93065 | ||
---|---|---|
source | ||
test | ||
.eslintrc.yaml | ||
.flowconfig | ||
.gitignore | ||
.prettierrc | ||
200.html | ||
CONTRIBUTION.md | ||
LICENSE | ||
Procfile | ||
README.md | ||
app.json | ||
circle.yml | ||
componentTestSetup.js | ||
couleur.html | ||
example-integration.html | ||
index.html | ||
manifest.webmanifest | ||
package.json | ||
postcss.config.js | ||
yarn.lock |
README.md
Ce dépôt contient les règles des prélèvements sur les rémunérations salariales en France, et les expose sous forme de simulateurs Web : calcul du salaire net à partir du brut, etc.
L'objectif à plus long terme est d'explorer comment des domaines legislatifs peuvent être encodés de façon interprétable (par un ordinateur) et lisible (par un humain).
Développé à l'incubateur des services numériques de l'État, beta.gouv.fr.
Lisez notre wiki pour plus d'informations.
Pour les développeurs
yarn install
yarn start
C'est une appli en React, Redux, ES6-ES7, Webpack, Ramda, qui exploite la loi codée en YAML. Les fichiers YAML sont principalement du code préfixé : opérateur puis liste ou objet d'opérandes, donc proches d'un AST. Les feuilles de cet arbre par contre sont en style infixe et parsées avec Nearley.js. Ce gros object est interprété par un moteur JS. Les mécanismes de calcul exposent une représentation JSX qui permet d'expliquer les calculs sur le Web.
Les fichiers YAML ainsi que le code du moteur ne sont aujourd'hui pas très bien ordonnés, et nous n'avons pas de documentation technique : mieux vaut nous contacter avant de faire un plongeon dans le code.
Note : vous ne trouverez pas de
const
dans l'appli, tous leslet
(sauf exception signalée) se comportant comme desconst
(ne sont pas réassignés), sauf pour les vraies constantes dansactions.js
.
Navigateurs supportés
Toutes les versions récentes de Firefox, Chrome, Edge et Safari sont parfaitement supportées. Le rendu n'est pas optimal sur IE 11, mais le site est fonctionnel.
Nous testons cette compatibilité grâce à BrowserStack qui s'engage pour les logiciels libres.