Update README.md

pull/142/merge
Mael 2017-12-21 20:37:18 +01:00 committed by GitHub
parent fd1b23919a
commit 631ab94e27
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 20 deletions

View File

@ -1,37 +1,29 @@
# syso
Introduction
----------------------
![La loi papier sur la page de droite du dessin de l'énorme livre de droit, sera (page de droite) augmentée par du code interprếtable](https://github.com/laem/syso/blob/master/source/images/logo.png)
> Allez voir notre [wiki](https://github.com/sgmap/syso/wiki/Home/), tout y est !
L'idée, c'est d'augmenter les textes de loi avec des jeux de *donnée* qui décrivent l'architecture et les calculs de ses éléments, permettant par exemple à un citoyen ou une entreprise (deux entités différentes du système) de calculer ses obligations et ses droits ainsi que leur articulation (ex. comment je calcule la CSG sur mon salaire ? est-ce que j'appartiens au régime Alsace-Moselle ?).
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.
Des moteurs interprèteront ces données pour en faire des formulaires de simulation, des outils pédagogiques (par ex. augmenter la fiche de paie simplifiée avec des explications, vue alternatives...), voir de la transaction, et soyons fous, des outils politiques.
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).
Le premier moteur et produit utilisable concerne le sujet pratique du différentiel des cotisations et indemnités dues pour un CDD.
La suite sera l'intégration de toutes les cotisations d'un contrat CDI/CDD (sans le droit conventionnel).
Puis les principales réductions et aides à l'embauche.
Suivront peut-être les formes de travail différentes...
Développé à l'incubateur des services numériques de l'État, [beta.gouv.fr](http://beta.gouv.fr/).
Développé au [SGMAP](https://github.com/sgmap/) et encore très expérimental.
> Lisez notre [wiki](https://github.com/sgmap/syso/wiki/Home/) pour plus d'informations.
Pour les développeurs
--------------------------
```
npm install
yarn install
npm start
yarn start
```
C'est une appli en React, Redux, ES6-ES7, Webpack, qui exploite la loi codée en YAML.
Les fichiers YAML sont principalement du code préfixé : opérateur puis list ou objet d'opérandes. Les feuilles de cet arbre par contre sont en style infixe et parsées avec Nearley.js.
Ce gros AST est traversé, cela représente le moteur JS, qui utilise Ramda.
Des bouts de code marqués avec `TODO perf` peuvent être améliorés si l'appli devient lente.
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.
> Note : vous ne trouverez pas de `const` dans l'appli, tous les `let` se comportant comme des `const` (ne sont pas réassignés), sauf pour les vraies constantes dans `actions.js`.
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 les `let` (sauf exception signalée) se comportant comme des `const` (ne sont pas réassignés), sauf pour les vraies constantes dans `actions.js`.