Commit Graph

184 Commits (7dfb11066d1ad2aa3832ea06fa2917f0c8c422c0)

Author SHA1 Message Date
Johan Girod 7ccc4ce4e3 Revert "Revert "Refacto : séparation claire du moteur et de l'application 🔥""
This reverts commit 8c7ab52a4f.
2020-04-24 11:27:48 +02:00
Johan Girod 8c7ab52a4f
Revert "Refacto : séparation claire du moteur et de l'application 🔥" 2020-04-21 15:49:48 +02:00
Johan Girod 03128ccda4 ⚙️ Ajoute la possibilité de spécifier des unités dans les valeurs par défaut et dans la situation 2020-04-21 11:03:58 +02:00
Maxime Quandalle 6424f2e197
Déplace les règles vers source/rules 2020-04-06 00:50:32 +02:00
Johan Girod f9d4d3ef91 Définition de nouveaux types plus précis pour les règles et le moteur 2020-04-02 14:44:06 +02:00
Johan Girod 4020e49871 🔥 meilleure prise en charge de la traduction
- Les traductions sont désormais récupérées uniquement pour le site anglais
- Engine ne dépend plus des traductions
2020-03-31 17:30:05 +02:00
Johan Girod bf078b2938 🔥 change l'api du moteur 2020-03-31 17:30:05 +02:00
Maxime Quandalle 57bb595884
😷 Page Coronavirus et intégration du chômage partiel (#926)
Suite à la crise du coronavirus le gouvernement a élargi le dispositif
d'activité partielle et encouragé son recours massif.

Ce commit contient les modifications suivantes :

* Intégration de l'activité partielle sur le simulateur salarié ;
* Création d'une page /coronavirus incluant un simulateur spécifique pour le
  chômage partiel ainsi que des informations générale sur les dispositifs
  gouvernementaux. Référencement de cette page sur la page d'accueil et sur
  le simulateur salarié ;
* Grosse refacto du calcul de la CSG/CRDS pour y inclure le calcul des revenus
  de remplacement. Corrige aussi des erreurs pour la CSG des salariés
  bénéficiant de la DFS, et intègre l'exonération de CSG à Mayotte ;
* Légères modifications de la fenêtre « prochaines question » ;
* Affichage d'un placeholder sur les inputs des questions.

Co-authored-by: Johan Girod <johangirod@gmail.com>
2020-03-22 23:14:51 +01:00
Johan Girod 6faa912aa7 répare le changement de périodes 2020-03-18 15:47:39 +01:00
Johan Girod 8ca9f82a17 🔨 proposition pour le mécanisme de variable temporelle 2020-03-18 15:43:36 +01:00
Maxime Quandalle 2c4b8ea2d7
🐛 Corrige le hot-reload lors de l'édition des règles
Fix #912
2020-03-05 12:55:05 +01:00
Maxime Quandalle 2efdbad74d 🐛 Ne pas afficher la section explication en cas d'erreur inversion
Si l'erreur était bien capturée par React, l'affichage n'était pas
rétabli lorsqu'une nouvelle saisie était effectuée. Lorsque le moteur
n'arrive pas à exécuter une simulation il ne sert à rien d'essayer
d'afficher des explications et/ou contrôles.

Convertit Components/Controls vers les React hooks et TypeScript
2020-02-10 10:53:05 +01:00
Johan Girod 0c94d01543 🐛 corrige les problèmes d'inversion lorsque l'on saisi 0€
fix #835
2020-01-14 15:52:38 +01:00
Johan Girod c2358605ae prends en compte les informations de l'api entreprise dans les simulations 2020-01-07 15:53:33 +01:00
Johan Girod f5dbf1732f 🔨 Modifications suite aux retours ACOSS 2020-01-07 15:53:32 +01:00
Maxime Quandalle f613fbcc9f ⬆ MAJ des dépendances
A nécessité de modifier quelques types suite à la modification du typage
des dépendances
2019-12-27 15:39:10 +01:00
Maxime Quandalle 712f753d5d 🐛 Corrige la comparaison de régime
Fixes #813
Ajoute des types sur les règles et analysis pour éviter ce type d'erreurs
2019-12-20 12:49:49 +01:00
Maxime Quandalle ca5b7cc2df
Ajout des types null et undefined
Ajout des paramètres strictNullChecks et strictPropertyInitialization
dans la configuration TypeScript et correction des environ 70 erreurs
de typage résultantes.
2019-12-18 18:52:32 +01:00
Maxime Quandalle d89833502b
Meilleur typage des arguments des fonctions
Ajout du paramètre strictFunctionTypes dans la configuration TypeScript
voir https://www.stephanboyer.com/post/132/what-are-covariance-and-contravariance

Malheureusement a nécessité l'ajout de any a plusieurs endroits.
2019-12-18 18:47:54 +01:00
Maxime Quandalle 1b963b8bbe Ajout de l'option "allowJs" dans tsconfig.js
Cela permet l'inférence de type à partir des fichiers js qui ne sont pas
encore convertis en TypeScript.
Par ailleurs suppression des dernières traces de Flow.
Ajout d'options plus strictes pour dans la config tsconfig.js
2019-12-17 11:34:12 +01:00
Maxime Quandalle dff4236e0d Typage du nom des règles
Pour éviter de référencer des règles qui auraient été renommées.
À permis de détecter deux usages de règles "mortes".
2019-12-16 13:21:04 +01:00
Johan Girod 00b122fa97 ⚙️ ajoute la conversion d'unité
Gros changements en perspective :
- Supprime la notion de période, au bénéfice de celle d'unité
  (`période : mensuelle` devient `unité: €/mois`)
- Améliore les rapports d'erreur avec des messages plus clair
- Ajoute un avertissement lorsque des types ne sont pas compatible
- Ajoute la conversion automatique d'unité dans le moteur
- Ajoute une notion d'unité par défaut de la simulation,
  c'est l'unité vers laquelle les règles qui ne spécifient pas
  d'unité seront converties
- Ajoute une notion d'unité par défaut des règles, qui spécifie
  l'unité de la règle qui prévaut lorsque qu'il n'y a pas
  d'unité par défaut de la simulation (utile pour les question ou
  pour s'assurer du bon type d'une règle)
2019-12-16 11:34:04 +01:00
Maxime Quandalle 54fc7a6890 Ajout d'un graphique répartition pour les artistes-auteurs
implémentation est hacky et il faudrait faire une refacto du système
de distribution pour pouvoir l'intégrer correctement sur l'ensemble des
simulateurs.
2019-12-10 20:13:14 +01:00
Johan Girod f99d25974d 🐛 répare la page blanche lors d'un parcours en navigation privée
should fix #788
2019-11-14 18:56:58 +01:00
Maxime Quandalle 7e2a4085a7 Poursuite de la migration TypeScript
* Utilisation de la version stable de TypeScript 3.7

* Début de migration du State Redux. Plutôt que de redéfinir les types
  en doublon par rapport aux actions et reducers, on utilise les valeurs
  retournées par ces fonctions comme source pour les types globaux.

* Modification de tsconfig pour meilleur typage dans VS Code

* Meilleur typage de l'environnement : suppression de @types/node qui
  était trop large (contient tout l'environnement serveur), et
  remplacement par @types/webpack-env. Par ailleurs typage des variables
  d'environnement utilisées.

* Début de migration de l'économie collaborative

* Migration de nombreux composants UI

* Mise à jour de dépendances pour récupérer un meilleur typage

* Ajout d'un hook pour configurer les simulateurs

* Suppression du higher-order component "withSitePaths", on utilise
  systématiquement le hook useContext.

L'essentiel de l'application est maintenant migré, reste le moteur !
2019-11-11 11:33:38 +01:00
Johan Girod b27c9576fb Nouveau parcours de création 2019-10-23 12:21:48 +02:00
Johan Girod 57a7b30f14 🎨🔥 change la recherche d'entreprise
- On utilise un nouveau composant qui se base sur la dernière version de l'api SIRENE
- On sépare les données entre la simulation des cotisations et la création d'entreprise
- On gagne des lignes !
2019-10-07 11:06:05 +02:00
Maxime Quandalle fdb8ddc203
MAJ lors de la simulation ssi nouvelle saisie
Auparavant nous mettions à jour la "situation" de la simulation, dès le
changement de focus des champs "objectifs", bien que le changement de
focus dans l'interface ne change rien aux calculs. Nous attendons
maintenant que l'utilisateur fasse une nouvelle saisie.
2019-09-25 17:10:01 +02:00
Johan Girod d95a5b7a34
🐛 corrige l'affichage de la fiche de paie 2019-09-25 10:01:34 +02:00
Johan Girod d1f9ef383b
🎨 améliore l'affichage des valeurs négatives 2019-09-25 10:01:34 +02:00
Maxime Quandalle 0ddc2d0469
Ajout des règles dans le state Redux
Déplace la logique de changement de période d'un component vers un reducer
2019-09-18 14:10:10 +02:00
Maxime Quandalle 3fbd94bc65
🔥 Suppression de redux-form
Supprime aussi redux-batched-action. Le code résultant est plus concis
(alors que l'on supprime une dépendance !), et plus clair car il y a moins
d'indirections pour se conformer aux API de redux-form.
2019-09-17 12:54:18 +02:00
Maxime Quandalle 7a5beb96f6
Gestion de l'état "situation" avec nos propres actions
En vue de la suppression de Redux-form, ce commit crée deux nouvelles
actions : UPDATE_SITUATION et UPDATE_PERIOD qui permettent de gérer le
state de la situation, en retrouvant le même résulat qu'avec l'ancienne
implémentation au niveau du `formattedSituationSelector`
2019-09-17 11:44:05 +02:00
Maxime Quandalle bc1e185701 ⚙️ Ordre des questions pour les questions à choix multiples
Nécessaire pour la nouvelle question "contrat salarié" qui contient des
réponses comme "cdd" ou "apprentissage". Les questions similaires
arrivaient trop tard.
2019-09-09 11:33:47 +02:00
Maxime Quandalle a04a7de2ce 🔨 Support de l'apprentissage
Fixes #567
2019-09-09 11:33:47 +02:00
Johan Girod 6ba443ceea
🎨 remet les cotisations dans le bon ordre dans la fiche de paie 2019-09-06 15:31:19 +02:00
Johan Girod 44779fb14a
🐛 corrige l'ordre des question sur kiwi
fix #628
fix #614
2019-09-04 17:29:29 +02:00
Johan Girod d6b1f2808a
🔨 ajoute la défiscalisation des heures supplémentaires 2019-09-03 18:12:06 +02:00
Johan Girod 321ef03083
🔨 ajoute la deduction forfaitaire pour l'employeur 2019-09-03 18:11:41 +02:00
Johan Girod a247e5d57c
🔨 Ajoute la reduction de cotisations pour les heures supplémentaires
TODO: uniformiser la façon de gérer les réductions sur la fiche de paie, entre employeur et salarié
2019-09-03 18:11:41 +02:00
Mael d95c305c31 Aurevoir valueFormats, validators, .format, valueTypes 2019-07-12 10:33:02 +02:00
Mael 2834fbd053 Réparation et amélioration d'AnswerList
On affiche les prochaines questions. Super intéressant pour pouvoir
sauter directement à une question précise sans se taper toutes les
questions une par une.
2019-07-12 10:33:02 +02:00
Mael ab8c4b9b2c Déplacement de getRuleFromAnalysis dans le moteur 2019-07-12 10:33:02 +02:00
Mael 7cadc42349 Passage de SchemeComparison aux getRuleFromAnalysis et Value
Et enfin suppression de regleSelectors
2019-07-12 10:33:02 +02:00
Mael 99993af761 Finalisation de la refacto valeurs 2019-07-12 10:33:02 +02:00
Mael ed4d4a0d7a Mutualisation de <Value>
Remplacement de Montant par Value
Rétablissement des explications simu salarié
Possibilité de définir des objegtifs secondaires qui sont calculés mais
pas affichés par targetSelectuon
2019-07-12 10:33:02 +02:00
Mael 761fa8eb14 Réforme de la gestion des valeurs
Première version qui fonctionne...
... sans le composant PaySlip
2019-07-12 10:33:02 +02:00
Johan Girod e201bae422
améliore la config yaml des simulateurs
On a maintenant une seule clé : question, qui combine questions à l'affiche, questions moins prioritaire et questions en liste noire
2019-07-01 19:27:46 +02:00
Johan Girod 0314b83d98
⚙️ ajoute la possibilité de définir des questions moins prioritaires 2019-07-01 19:27:46 +02:00
Johan Girod 4523de1c0c
⚙️ change l'ordre d'apparition des questions
On privilégie les questions avec un namespace qui se rapproche de la dernière question posée
Par exemple, si on pose la question du CDD, on va épuiser les questions de ce namespace avant de passer à un autre
2019-07-01 19:27:45 +02:00