Commit Graph

3066 Commits (c5a8f86c8df4839b396b00647abc0eea4a1c3f77)

Author SHA1 Message Date
Maxime Quandalle 9753db9bc5
Merge pull request #819 from betagouv/01-01-2020
Mises à jour législatives 1er janvier 2020
2020-01-02 11:20:19 +01:00
Maxime Quandalle c4f669ebeb
🔨 Ajout de la taxe forfaitaire sur les CDD d'usage 2020-01-02 11:02:31 +01:00
Maxime Quandalle 011db6b9f5
🔨 MAJ des taux AT/MP 2020 2020-01-02 10:40:12 +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 057706a6df
Corrige les tests unitaires
La mises à jour de valeurs précises calculées dans les tests unitaires
n'est pas une solution satisfaisante. Je le fait dans ce commit mais à
terme je pense qu'il faudra déléguer intégralité de ces tests sur des
valeurs précises aux tests de régressions `yarn run test-regressions`
qui peuvent être mis à jour facilement et conserver les tests unitaires
pour des cas où la valeur précise calculée n'importe pas.
2019-12-26 18:37:55 +01:00
Maxime Quandalle c5ec209020
🖊 Référencement du TESE et CEA
Dans la liste des formalités d'embauche pour clarifier que ces offres de
service gèrent la DSN.
2019-12-26 18:30:40 +01:00
Maxime Quandalle bf0231dde6
🔨 Rabotage de l’ACRE en 2020
Fixes #698
2019-12-26 18:01:09 +01:00
Maxime Quandalle c54dfd2033
🔨 Nouveaux seuils loi pacte
J'ai essayé de supprimer complétement la variable entreprise . effectif
(numérique) pour la remplacer par une variable seuil qui soit la "source
de vérité" utilisée dans les formules de calcul. Malheureusement il y a
quelques endroits où persistent des anciens seuil, et où la valeur
précise de l'effectif est utilisée (taxe sur les salaires par exemple,
bien que l'utilisation dans cette formule soit une approximation assez
grossière).

En attendant d'améliorer notre gestion des variables à l’échelle de
l'entreprise, l’implémentation retenue permet de simplifier la saisie
(on clique sur un seuil plutôt que de saisir une effectif précis à
l'unité près) sans cassé les formules existantes.
2019-12-26 17:42:50 +01:00
Maxime Quandalle 258eddf564
🔨 Revalorisation du SMIC janvier 2020 2019-12-22 21:13:38 +01:00
Maxime Quandalle c8344776ad
🔨 Plafonds de la sécurité sociale 2020 2019-12-22 21:02:23 +01:00
Maxime Quandalle 2c6f2b711d
🔨 Nouveau barème taux neutre IR 2020 2019-12-22 20:55:58 +01:00
Maxime Quandalle 9393db3ba4
🔨 Nouveau barème et décote IR 2020
Note: nous n'avions pas mis à jour la décote sur 2019, elle était donc
sous-estimée pendant cette année.
2019-12-22 20:31:44 +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 e5b42e2321
🔥 Supprime le HOC withColours
Renomme colour en color, pour-être cohérent avec le CSS
2019-12-18 23:06:46 +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
Johan Girod a1d1e7d0ef 🖋️ améliore les informations concernant la micro entreprise 2019-12-18 14:02:00 +01:00
Johan Girod c3f1db4483 🖋️ retour landing Agnès 2019-12-18 11:47:18 +01:00
Maxime Quandalle 45f65f17c6 🐛 Corrige le simulateur artiste-auteur
Prise en compte systématique de l'unité par défaut dans la config
2019-12-18 09:28:01 +01:00
Maxime Quandalle 2e164f47fa ⚙️ Support des expressions dans le résultat d'un barème linéaire 2019-12-17 11:34:28 +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
Johan Girod 34085d3b31 🐛 répare le warning lors des inversions 2019-12-16 15:30:31 +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 00b340fa5c 🐛 Corrige un bug sur le changement d'unité
Et enlève quelques console.log
2019-12-16 12:20:01 +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
Johan Girod 6b7f50fe4a ⚙️ ajoute la comparaison des dates 2019-12-16 11:33:38 +01:00
Johan Girod e798dd6d02 ⚙️ support les mois au lieu de date complète 2019-12-16 11:33:38 +01:00
Johan Girod a19843dc21 ⚙️ ajoute le parsing des dates 2019-12-16 11:33:38 +01:00
Maxime Quandalle 61acf1e67c
🐛 Correction du lien vers plafond auto-entrepreneur 2019-12-15 11:33:18 +01:00
Maxime Quandalle 006dc5bb03
🐛 Corrige un lien mort
Fixes #804
2019-12-13 12:13:11 +01:00
Maxime Quandalle 6f11f66d91 🐛🔨 Correction de la décote de l'IR
Le plafond utilisé dans le mécanisme décote n'était pas le bon. cc #805
Par ailleurs mise à jour du plafond avec la valeur de 2019.
2019-12-13 10:43:36 +01:00
Maxime Quandalle a45ea0c79e Mécanisme encadrement
Permet de définir un plafond et/ou un plancher sur une valeur
2019-12-12 10:45:56 +01:00
Maxime Quandalle 8044207d3d Améliorations simulateur artiste-auteur
Intégration des retours de l'URSSAF, ajout de l'option surcotisation
pour la retraite, changement de l'espace de nom de premier niveau.
2019-12-10 20:13:14 +01:00
Maxime Quandalle 206794e293 Ajoute des tests de régressions artiste-auteur 2019-12-10 20:13:14 +01:00
Maxime Quandalle 89bc732a0a Modifications artistes-auteurs 2019-12-10 20:13:14 +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
Maxime Quandalle f6daedc01c Ajoute un composant Toggle 2019-12-10 20:13:14 +01:00
Maxime Quandalle d73983e0b9 Nouveau simulateur artiste-auteur
On utilise pas tout à fait les même composants que sur les simulateurs
salarié et indépendants, mais il sera certainement possible de les faire
converger.
2019-12-10 20:13:14 +01:00
Maxime Quandalle c7dd411286 🔨 Ajout des règles des artistes-auteurs
cf. #720
2019-12-10 20:13:14 +01:00
Johan Girod 7a9429578c Corrige le lien vers le webinar pour les auto-entrepreneurs 2019-12-03 14:53:06 +01:00
Johan Girod 952db12c2d Ajoute un lien vers le webinar pour les auto-entrepreneurs 2019-12-03 13:12:40 +01:00
Johan Girod db1c3bfc65 🖋️ leger changement sur le titre de la page pour améliorer le CTR 2019-12-03 11:31:33 +01:00
Johan Girod 2929a0f64e 👽 traductions manquantes 2019-12-03 11:25:16 +01:00
Johan Girod 543c687b23 👽 traduction manquante 2019-12-03 10:49:54 +01:00
Johan Girod 740d6bfeb3 🐛 corrige le bouton continuer qui ne marche pas sur l'éco collab 2019-11-29 11:20:36 +01:00
Johan Girod 08c4ecdea4 👽 ajoute la traduction sur pas mal de choses 2019-11-21 17:08:05 +01:00
Johan Girod 2622ccbcde 🔨 ajoute un avertissement pour les conventions collectives 2019-11-21 15:27:12 +01:00
Johan Girod a5c70a35d1 🔨 🐛 corrige les heures sup sur les simulation annuelle 2019-11-21 11:10:50 +01:00
Johan Girod 30747e7462 🐛 répare page blanche sur le clic du logo 2019-11-14 19:51:20 +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
Johan Girod cb6d97e6de 💚 répare les test unitaires 2019-11-12 11:11:39 +01:00
Johan Girod 58531a5064 🔨 prends en compte les primes d'activité pour le calcul du taux horaire 2019-11-11 18:52:45 +01:00
Johan Girod f224272f5c 🔨⚙️🔥 refactore les règles pour une meilleure lisibilité
Et pour faire passer les tests jest au passage.
A noter : il faudra vraiment se pencher sur la notion d'applicable / non applicable
Une variable non applicable a une valeur '0' / 'false', mais une variable
à false n'est pas considérée comme non applicable. Je pense qu'il serait avantageux
de simplifier le modèle en introduisant une symetrie entre applicable si et la valeur
d'une variable.
2019-11-11 18:47:43 +01:00
Johan Girod 41d3e17ce2 wip 2019-11-11 18:47:43 +01:00
Johan Girod cb342ff7aa 🐛 corrections des bugs sur artiste et sportifs 2019-11-11 18:46:41 +01:00
Johan Girod 53f67bb329 🔨 debug les règles pour les sportifs 2019-11-11 18:46:41 +01:00
Johan Girod 66c09a8f64 ⚙️🔥 refactor parseReference pour moins de bugs
note: il y a encore du boulot, mais c'est mieux
2019-11-11 18:46:41 +01:00
Johan Girod 3bb5c1ec67 🔨 décommente les règles pour les sportifs 2019-11-11 18:45:54 +01:00
Johan Girod fa1614b5fe 🔨 ajoute la gestion des missings variables pour les remplacement 2019-11-11 18:45:54 +01:00
Johan Girod bfb09555dd 🐛 Corrige les erreurs de syntaxe du fichier de règles 2019-11-11 18:45:54 +01:00
Johan Girod 716d950733 ⚙️ ajoute la possibilité d'écrire des nombre dans les noms de variables 2019-11-11 18:45:54 +01:00
Johan Girod 5506d8f6c3 Proposition d'implémentation pour la convention collective du sport et des intermittents du spectacle 2019-11-11 18:45:54 +01:00
Johan Girod ccb8f47a83 ⚙️ ajoute la possibilité de desactiver une branche via un booléen 2019-11-11 18:45:11 +01:00
Johan Girod 3cbd9fc514 🔨 réecrit les règles de la convention HCR avec le mécanisme remplace 2019-11-11 18:45:11 +01:00
Johan Girod c0bd229cde ⚙️ supporte plusieurs remplacement d'un coup 2019-11-11 18:44:34 +01:00
Johan Girod a63d02601f ⚙️ ajoute la gestion des filtre pour les variables remplacée 2019-11-11 18:44:34 +01:00
Johan Girod bf9c8dd011 ⚙️ supporte les tableaux de contextes pour les remplacement 2019-11-11 18:44:34 +01:00
Johan Girod f52b6b9808 ⚙️ ajoute la possibilité de restreindre le remplacement à un contexte donné 2019-11-11 18:44:34 +01:00
Johan Girod 988597a792 ⚙️ emplèche les boucles infinies dans le remplacement lorsque c'est possible 2019-11-11 18:44:34 +01:00
Johan Girod db3b2a514c ⚙️ ajoute un mécanisme de remplacement de règle
Co-authored-by: Maxime Quandalle <maxime.quandalle@beta.gouv.fr>
2019-11-11 18:44:34 +01:00
Maxime Quandalle e1faea81e7
🐛 Ne pas afficher de bouton "imprimer" si ça n'est pas supporté par le navigateur 2019-11-11 17:45:29 +01:00
Maxime Quandalle 6f21c3cfa4
Merge pull request #782 from betagouv/cpf
1% CPF
2019-11-11 15:18:19 +01:00
Maxime Quandalle 4c7a1656bb
🔨 Renomme les variables des réductions LODEOM 2019-11-11 15:09:34 +01:00
Maël bffb6ca023
Ajout de tests pour la réduction LODEOM 2019-11-11 15:09:34 +01:00
Maël 82197d0344
En YAML prettier formatte différement les longues lignes
C'est perturbant, je le désactive
2019-11-11 15:09:33 +01:00
Maël 4e20a3e34a
Ajout des référence spour LODEOM zone 1 2019-11-11 15:09:33 +01:00
Maël 9f519a8410
Correction du barème 3 de la zone un de LODEOM
Son calcul a une exception entre la borne inférieure et une borne
intermédiaire
Et amélioration des descriptions.
2019-11-11 15:09:33 +01:00
Maël 8627830cae
Meilleure gestion des conditions d'éligibilité zone 1 2019-11-11 15:09:33 +01:00
Maxime Quandalle 0f7823ca19
🔨 Ré-introduction de la cotisation 1% CPF
Dans 16ae29bdc, j'avais supprimé la cotisation de 1% sur les CDD pour
financer le CIF. Cette cotisation n'avait en fait pas été supprimée mais
remplacée par une cotisation pour financer le CPF...

This reverts commit 16ae29bdcc.
2019-11-11 15:03:33 +01:00
Marc Pasteur 9ddb7e8412
Ajout des 3 barèmes 2019-11-11 12:39:04 +01:00
Marc Pasteur f82a6c4076
correction condition parametre T 2019-11-11 12:37:16 +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
Mael 57b5818b44
Console.log qui traîne 2019-11-06 17:08:08 +01:00
Mael 0954c8c3f7 Déplacement de getInputComponent 2019-11-05 18:45:18 +01:00
Mael fee3b3d6b6 🎨 Style de la sélection de commune 2019-11-05 18:20:32 +01:00
Mael 044aad7cfd Utilisation du fuzzy matching pour SelectTauxRisque
Pour que la recherche marche sans accents par exemple
2019-11-05 18:07:00 +01:00
Mael c3094019e4 🔥 React-Select ATMP et du coup 🔥 react-select partout 2019-11-05 18:06:56 +01:00
Mael fecdab29f8 🔥 React-select dans la sélection de la commune 2019-11-05 18:06:22 +01:00
Maël 5dbb93eeca 🔥 Plus de react-select pour la recherche de règles 2019-11-05 17:06:26 +01:00
Maël 50d691b4af Import de react-select css inutile 2019-11-05 17:06:26 +01:00
Maxime Quandalle 46f8329c93 Ajout des source maps en production
Les source maps étaient déjà générées par le configuration Webpack de
prod mais étaient bloquées par le service worker.

Fixes #684
2019-11-05 14:11:26 +01:00
Johan Girod 432044190f 🎨 uniformise le style de l'aide et des contrôles 2019-10-31 18:48:27 +01:00
Johan Girod bf0ef946c1 🐛 fix #755 2019-10-30 11:30:57 +01:00
Johan Girod 98fcb4a769 🐛 fix #756 2019-10-30 11:26:56 +01:00
Maxime Quandalle 6de970f0e3 🔥 Migration vers TypeScript
Outils
======

Ce commit retire le tooling de Flow, et ajoute le support de TypeScript
pour les fichiers .ts et .tsx. Il n'est pas nécessaire de tout migrer
d'un coup ce qui facilite la transition. On garde en effet le
compilateur Babel avec un preset TypeScript (ce qui permet donc de
retirer à la fois les types Flow et TypeScript) plutôt que d'utiliser le
compilateur standard pour la conversion du code. Cela permet aussi de
mieux s'intégrer avec d'autres outils, notamment les test-runners.

Ajout d'une nouvelle commande `yarn run type-check`, intégrée dans
CircleCI.

Par ailleurs ajout du support de l'opérateur ?? pour donner des valeurs
par défaut (nullish-coalescing-operator).

Typage des libraires tierces
============================

Les principales libraires que nous utilisons ont un typage TypeScript de
bon niveau, ce qui facilite l'intégration. J'ai mis à jour react-i18next
et i18next afin de corriger un problème de typage.

Typage du code
==============

Le typage est loin d'être complet dans ce commit, en particulier il
manque les types relatifs au state Redux, ainsi qu'au moteur (règle,
explication). Néanmoins le typage des contextes fonctionne, en
particulier sitePaths (avec un type récursif non trivial !) qui a déjà
permis de détecter un lien mort.

Le typage des "paths" (Components/, Règles/, etc.) fonctionne bien, y
compris avec l'auto-complétion automatique des import par Typescript.

TypeScript se révèle déjà bien agréable dans VSCode (auto-complétion,
refacto, etc.) ! Reste à migrer progressivement le reste du code !
2019-10-30 10:20:48 +01:00
Maxime Quandalle ac4e3cd615 ⚙️ Support des pluriels dans les unités en yaml
Support de l'écriture sous forme accordée (ie 3 semaines avec un “s”)
2019-10-29 11:40:16 +01:00
Maxime Quandalle 648fb249ed ⚙️ Meilleure grammaire pour les unités litérales
Deplacement de la détection de la règle "words" (ie une suite de mots)
du lexer/tokenizer vers le parser. Le lexer se contente de donner les
mots un à un, et une liste de "words" est détectée via une règle Nearley.

Cela permet de corriger l'ambiguité entre unités et noms de variables qui
est dépendante du contexte et ne peut donc pas être levée au niveau du lexer.
2019-10-29 11:40:16 +01:00
Maxime Quandalle 544ffbfd54 🖊 Corrections orthographiques de pluriels 2019-10-28 18:14:16 +01:00
Johan Girod 7a7e7f539f 🐛 remonte en haut de la page lorsque l'on navigue vers un simulateur
fix #748
2019-10-25 16:59:52 +02:00
Johan Girod 4545e4a011 🐛 répare la page blanche lors du parcours création
Fix #750
2019-10-25 16:56:38 +02:00
Johan Girod 58e13df9bb remove header from integrations 2019-10-24 15:51:07 +02:00
Johan Girod 7c7ae476fc 👽 traduit l'économie collaborative et réorganise la page des obligations 2019-10-24 12:10:36 +02:00
Johan Girod b63701b599 Plus de redirections intempestives 2019-10-23 18:18:43 +02:00
Johan Girod b5d6025c89 🎨 rends les animations plus discrète 2019-10-23 12:21:48 +02:00
Johan Girod 1593cdcd69 🎨 🖋️ prend en compte les modifications de la revue 2019-10-23 12:21:48 +02:00
Johan Girod f2ba57eca8 Ajoute les redirections coté front
Vu qu'on utilise un serviceworker, lorsque la requête ne passe pas jusqu'au serveur, la redirection n'est pas effective
On parse les règles de redirection netlify coté front et on les ajoute à l'app
2019-10-23 12:21:48 +02:00
Johan Girod f958e632d5 Ajoute des tests extensif pour tous les simulateurs 2019-10-23 12:21:48 +02:00
Johan Girod c40ae69660 👽 ajoute les traductions pour la nouvelle architecture 2019-10-23 12:21:48 +02:00
Johan Girod 9b80e87674 🐛 répare le guide du statut juridique 2019-10-23 12:21:48 +02:00
Johan Girod 2b271a903f 🐛 silent fail when state is corrupted 2019-10-23 12:21:48 +02:00
Johan Girod 8b7741ec7e Ajoute les ressources utiles 2019-10-23 12:21:48 +02:00
Johan Girod b27c9576fb Nouveau parcours de création 2019-10-23 12:21:48 +02:00
Johan Girod 45d73f1159 Ajoute une page qui liste les simulateurs 2019-10-23 12:21:48 +02:00
Johan Girod 1aa05d1d1b Nouvelle navigation avec boutons retours pour le parcours gérer 2019-10-23 12:21:48 +02:00
Johan Girod 70c4b488eb 🎨 🐛 taille du logo sur ie et safari 2019-10-23 12:21:48 +02:00
Johan Girod 044597132f 🎨 🐛 problème sur le prerender des styled component 2019-10-23 12:21:48 +02:00
Johan Girod c33248fd1e ajoute la description à la page de choix de statut 2019-10-23 12:21:48 +02:00
Johan Girod 60bc060c31 🎨 ajoute un header sur toutes les pages 2019-10-23 12:21:48 +02:00
Johan Girod d70c64d83f Ajoute la prise en compte du dirigeant majoritaire et un lien vers la page sécurité sociale 2019-10-23 12:21:48 +02:00
Johan Girod 73c79e4b81 ajoute un nouveau parcours gérer mon entreprise 2019-10-23 12:21:48 +02:00
Johan Girod 936d436f43 🔥 enlève les reducers inutiles 2019-10-23 12:21:48 +02:00
Johan Girod 0d482a0107 🎨 améliore l'animation de feedback sur le click des boutons 2019-10-23 12:21:48 +02:00
Johan Girod b87bd23ab5 🎨 accelère l'animation de checkbox 2019-10-23 12:21:48 +02:00
Johan Girod 2d0d443687 👽 ajoute les traductions manquantes 2019-10-23 12:21:48 +02:00
Johan Girod e684ddfc4e 🎨 redesign la landing
fix #621
2019-10-23 12:21:48 +02:00
Johan Girod 148ac62001 🎨 Améliore le contraste des couleurs pour l'accessibilité (AA) 2019-10-23 12:21:48 +02:00
Johan Girod 957242301a 🎨 uniformise les styles entre card et button-choice 2019-10-23 12:21:48 +02:00
Maxime Quandalle 5901f589d6
🔨 Réductions de cotisations avec heures supplémentaires
Le paramètre SMIC utilisé dans le calcul des réductions, en particulier
de la réduction générale, doit prendre en compte les heures supplémentaires.

Cette non prise en compte nous conduisait à sur-estimer le montant des
cotisations sociales sur les heures supplémentaires.
2019-10-22 13:31:08 +02:00
Maxime Quandalle 1e7730dd25
Snapshot testing
Ajout de tests de non-regressions des calculs afin d'éviter de déployer
silencieusement des effets de bord non-désirés dans les règles de calculs.

J'ai ajouté Jest pour sa fonction de snapshot testing qui est
particulièrement adaptée pour ce type de cas (voir #717). J'ai essayé
avec mocha-snapshot sans succès.

J'ai eu un petit peu de mal à configurer Jest, car il n'est pas possible
de ré-utiliser la configuration Webpack, qu'il faut alors dupliquer. C'est
pourquoi j'ai limité l'utilisation de Jest aux seuls tests de snapshot.
À voir s'il y a un intérêt à migrer les tests Mocha vers Jest ultérieurement.

Fixes #717
2019-10-22 10:35:31 +02:00
Maxime Quandalle 3017c81f33
🐛 Correction pluralisation d'une unité 2019-10-17 18:10:16 +02:00
Mael 5707034a36 Typo titre du site publi.codes 2019-10-17 16:49:22 +02:00
Maxime Quandalle 9be4ff0ca3
⚙️ Support des unités dans les formules litérales
Implémentation de #730
2019-10-17 15:04:06 +02:00
Maxime Quandalle f67098a29b
🐛 Serialisation d'une unité nulle
Corrige #737
2019-10-17 09:33:00 +02:00
Maxime Quandalle 6440b3fad4
Test de la traduction et pluralisation des unités
Implémentés dans 139ca46
2019-10-17 09:33:00 +02:00
Maxime Quandalle bcb251923c
🎨 Meilleur affichage des multiplicateurs
Affichage des multiplicateurs directement au niveau des tranches et
supprime l'affichage du label "multiplicateur" qui était difficile à
comprendre.

Ajout d'un attribut de règle "acronyme", utilisé pour afficher un nom de
règle plus court au niveau des tranches d'un barème.
2019-10-17 09:33:00 +02:00
Maxime Quandalle dccf41e31b
🎨 Meilleur affichage du taux moyen
Affichage du "%" dans l'unité calculée et renomme "taux final" en "taux moyen"
2019-10-17 09:32:15 +02:00
Maxime Quandalle 5e026abe66
🐛 Utilise un try-catch pour lire sessionStorage 2019-10-16 19:24:47 +02:00
Maxime Quandalle 479bdb8979
🐛 Encode le # de l'URL dans le paramètre couleur
Le parseur standard implémenté dans 41e4448 ne fonctionnait pas car une
partie des paramètres "search" était interprétés comme un hash de l'URL
2019-10-16 19:07:29 +02:00
Maxime Quandalle c8c003b59c
🔥 Suppression des pages de disambiguation 2019-10-16 13:08:30 +02:00
Maxime Quandalle c088d4c5df
🐛 Ré-affiche le fil d'ariane sur la documentation
Corrige une régression de 1ccaf94
2019-10-16 12:12:10 +02:00
Maxime Quandalle af79eb01fd
🐛 Coquille orthographique 2019-10-16 12:05:01 +02:00
Maxime Quandalle e0199d674d
🐛 Correction d'un bug sur la période d'un minimum 2019-10-13 20:36:24 +02:00
Maxime Quandalle 139ca46ad1
⚙️ Traduction des unités
Gestion du pluriel (1 jour, 2 jours) et de la traduction (3 days).

Fixes #729
2019-10-13 20:36:22 +02:00
Maxime Quandalle 41e44482b8
🔥 Supprime des fonctions "utils" inutiles
Ces fonctions n'étaient utilisées qu'une fois ou deux et constituent des
indirections inutiles : getIframeOption, parseDataAttributes,
setToSessionStorage, getFromSessionStorage et isNumeric.

Préférer les fonctions de la "bibliothèque standard": sessionStorage et
URLSearchParams.
2019-10-13 20:36:21 +02:00
Maxime Quandalle 7a9f2d606f
🐛 Supprime une fausse erreur i18n au démarrage
Ce faux positif apparaissait systématiquement au démarrage du site, ainsi
que lors de l'import de la lib NPM "mon-entreprise".
2019-10-13 20:36:20 +02:00
Maxime Quandalle def1bec06f
Coquille orthographique 2019-10-13 20:36:19 +02:00
Maxime Quandalle db803585d5
🔥 Utilise URLSearchParams
Utilise la fonction standard URLSearchParams à la place de la dépendance
NPM `query-string`.
2019-10-13 20:36:18 +02:00
Maxime Quandalle 16ae29bdcc
📆 Suppression du CIF
Cette cotisation a été supprimée au 1er janvier 2019
2019-10-13 20:36:16 +02:00
Maxime Quandalle 7ea385cb80
🐛 Corrige l'affichage de l'image des références
Regression de 6ea5dd087
2019-10-13 20:15:53 +02:00
Maxime Quandalle 5bf2621aac
🔨 Corrections d'unités
https://github.com/betagouv/mon-entreprise/pull/719#issuecomment-541113404
2019-10-13 11:46:30 +02:00
Maxime Quandalle 1ccaf94a1c
⚙️ Nouvelle syntaxe de définition publicodes
* Définition à partir du nom complet en notation pointée (plutôt que
  comme deux attributs indépendants "name" et "espace")
* Structure de données de premier niveau "dictionnaire" plutôt que liste,
  s'aligne mieux avec notre contrainte d'unicité des noms
* Possibilité de définir les règles à partir d'une liste dans les tests,
  dans ce cas il ne faut plus utiliser l'attribut "espace" mais renseigner
  directement la notation pointée dans le "nom".
2019-10-13 11:46:29 +02:00
Mael 3613fc0c24 Bibliothèque pas librairie 2019-10-10 15:55:07 +02:00
Maxime Quandalle de3d42d188 Ajout de tests unitaires sur le formatage des valeurs 2019-10-10 14:38:44 +02:00
Maxime Quandalle c3b465bdef Améliore le formatage des montants en euro
Fixes #725
2019-10-10 14:38:44 +02:00
Maxime Quandalle 545e1cef69
Merge pull request #724 from betagouv/smallthings-max
Lien vers les releases et formatage des constantes dans la documentation
2019-10-10 13:26:39 +02:00
Maxime Quandalle b58c98d2df
Merge pull request #706 from betagouv/graphique-repartition
Ajout d'un graphique repartiton
2019-10-10 13:26:26 +02:00
Maxime Quandalle 3c5f94dcfb
Merge pull request #699 from betagouv/libpage
mon-entreprise/dev : bibliothèque de calcul et interface
2019-10-10 13:26:10 +02:00
Maxime Quandalle 416fa57cd6
🎨 Déviation d'une palette de couleurs 2019-10-10 12:07:40 +02:00
Maxime Quandalle 30020bdd26
🎨 Ajout d'animations sur la répartition 2019-10-10 12:07:34 +02:00
Maxime Quandalle d2098c3d0c
Refacto de du composant Distribution
⬆ MAJ de react-spring vers version 8
Quelques changements d'API. Par ailleurs la version 8 exporte deux modules
l'un avec les "render-props" et l'autres avec les "hooks"

🔥 Suppression de @researchgate/react-intersection-observer
Remplacement par un custom hook
2019-10-10 12:06:57 +02:00
Maxime Quandalle 33c1a06b6c
🔥 Suppression d'une prop morte 2019-10-10 12:06:56 +02:00
Maxime Quandalle 031128034a
🎨 Ajout d'un diagramme en bâtons pour la répartiton du revenu total
Permet d'avoir une visualisation utilisable dans nos différents
simulateurs (salarié et les 3 simulateurs indépendants)
2019-10-10 12:06:55 +02:00
Maxime Quandalle e0e1e97de9
Ne pas arrondir les constantes dans la documentation
C'était perturbant d'afficher un taux à 0,03% alors que la valeur utilisée
est 0,024%
2019-10-10 11:58:31 +02:00
Maxime Quandalle 39c2885ec8
Ajout d'un lien vers les release GitHub dans le footer 2019-10-10 11:14:44 +02:00
Maxime Quandalle 52a924519a
🖊 Coquille orthographique
Légère reformulations
2019-10-10 10:20:36 +02:00
Mael 2b0b10841c Ajout d'un lien vers publi.codes 2019-10-09 12:00:03 +02:00
Mael 7ca7ebb102 Page librairie : ajout d'une note sur notre utilisation d'API externes 2019-10-09 11:52:21 +02:00
Maël 3149a4a67a Dernier example pour la lib : graphiques 2019-10-08 12:40:30 +02:00
Maxime Quandalle d459d3b829
🐛 Corrige intégration des taux AT/MP
Bug introduit dans #715
2019-10-08 10:59:42 +02:00
Maxime Quandalle 544a3f4a53
Merge pull request #715 from betagouv/taux-atmp-2019
MAJ des taux AT/MP 2019
2019-10-08 10:46:49 +02:00
Johan Girod ef80210928
🖋️ Corrige maladresse de formulation pour l'ACRE 2019-10-08 10:21:31 +02:00
Maël fdca66ac65 Lien vers la lib de calcul 2019-10-07 16:38:29 +02:00
Maël d22800af10 Lien vers la documentation mise à jour 2019-10-07 16:38:29 +02:00
Mael e05845bc4e Version 2 du site publicodes 2019-10-07 16:38:29 +02:00
Mael d76a2060b3 Version 0 du site publi.codes
Développé dans le repo mon-entreprise.fr mais publié sur
https://publi.codes

1ère version : afficher un extrait de code des deux applications
d'exemple

Faire un lien vers le wiki, nettoyé.

2ème version : rendre éditable ce code, avec un widget à côté qui est
mis à jour automatiquement quand on change un taux, une formule. C'est
le côté "publi" et moderne de la plateforme.
2019-10-07 16:38:29 +02:00
Mael 0eba339309 La librairie prend la notation pointée en entrée 2019-10-07 16:38:29 +02:00
Mael 7676707e6f Titre du dernier exemple 2019-10-07 16:38:29 +02:00
Mael 82a806b2aa Examples de code plus larges 2019-10-07 16:38:29 +02:00
Mael 24dc404867 Nouvelle page à part entière 'integration' 2019-10-07 16:38:29 +02:00
Mael 6d32acccec 2ème example codesandbox pour la librairie 2019-10-07 16:38:29 +02:00
Mael 28e97c708a Première démo simple de la bibliothèque de calcul 2019-10-07 16:38:29 +02:00
Mael 421c46af48 Choix d'intégration dans le pied de page: bibliothèque de calcul ou interface 2019-10-07 16:38:29 +02:00
Maxime Quandalle d46272cf26
🔨 MAJ des taux AT/MP 2019 2019-10-07 16:20:53 +02:00
Maxime Quandalle 204f87a29d
🐛 Nouvelle version de l'état persisté
Bug introduit dans #705
2019-10-07 16:10:05 +02:00
Johan Girod 08a1dc9776 Enlève le bouton j'ai déjà déclarer mon entreprise 2019-10-07 11:06:05 +02:00
Johan Girod 09fd2a71a2 Ajoute une question pour les auto-entrepreneurs 2019-10-07 11:06:05 +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 6028dec3d1
🐛 Pas d'abattement contrat court pour les indépendants
Fixes #710
2019-10-02 21:32:54 +02:00
Maxime Quandalle a389fc91a8
🐛 Correction période IR au taux neutre
Fixes #710
2019-10-02 21:30:29 +02:00
Maxime Quandalle 76fe012949
Afficher l'inscription à la newsletter seulement sur la version française 2019-10-02 17:50:08 +02:00
Maxime Quandalle 18ef20f7eb
Ajout de l'inscription newsletter sur les intégrations 2019-10-02 17:50:00 +02:00
Maxime Quandalle e428286c2d
Extraction du composant "inscription à la newsletter" 2019-10-02 17:49:59 +02:00
Maxime Quandalle ba0a1cc667
Lien direct vers l'aide active
Remplace #668
2019-10-02 14:18:22 +02:00
Maxime Quandalle 1b4837540d
Merge pull request #703 from betagouv/medecine-travail
Medecine du travail sur la fiche de paie
2019-10-02 14:17:36 +02:00
Maxime Quandalle 944cddd337
🔨 Renomme coût du travail en prix du travail
Et ajout d'une explication dans la description

Co-authored-by: Johan Girod <johan.girod@beta.gouv.fr>
2019-10-02 13:51:17 +02:00
Maxime Quandalle 8c328099ec
🔨 Ré-intégration de la médecine du travail
Supprimée au niveau des cotisations patronales dans fb54d4c, ce commit
ré-intégre ce coût au niveau d'une nouvelle variable "coût du travail"
qui inclut également les aides différées.

Note: une variable "coût d'embauche" existait précédemment mais n'était
plus utilisée 4784bcd2
2019-10-01 18:28:33 +02:00
Maxime Quandalle 88437db8e4
Merge pull request #702 from betagouv/react-router-5.1
⬆ MAJ React router
2019-10-01 15:19:58 +02:00
Maxime Quandalle fb54d4cb90
🔨 La medecine du travail n'est pas une cotisation patronale 2019-10-01 14:01:03 +02:00
Maxime Quandalle d6b603ea32
Merge pull request #685 from betagouv/abattement-pas
Abattement prélèvement à la source pour les contrats courts
2019-10-01 13:58:12 +02:00
Maxime Quandalle b87916e25a
Fin du drapeau en berne
This reverts commit 96df1c988b.
This reverts commit 2259edfd4d.
2019-10-01 10:33:51 +02:00
Maxime Quandalle 9576309c69
💚 Suppression de types non utilisés 2019-09-30 14:36:56 +02:00
Maxime Quandalle f51066b908
Utilisation des hooks React-Router
Sur les 9 utilisations de withRouter :
- suppression de 6 occurrences inutilisées
- migration d'1 occurrence vers le hook useLocation
- maintien de 2 occurrences inchangées car utilisées par des composants "class"
2019-09-30 13:01:19 +02:00
Maxime Quandalle 2e0db564ec
🐛 Utilise la société renseignée dans la simulation 2019-09-30 12:45:20 +02:00
Maxime Quandalle 74c5abbfa3
Désactive l'auto-complétion des input
Cette auto-complétion était gênante sur Chrome notamment
2019-09-30 12:41:05 +02:00
Mael 3739957039
Merge pull request #697 from betagouv/renommage
Renommage de syso à mon-entreprise
2019-09-30 11:44:47 +02:00
Maxime Quandalle 96df1c988b
Ajout du drapeau en berne sur l'intégration iframe
Cf. 2259edf
2019-09-29 19:43:49 +02:00
Maxime Quandalle 2259edfd4d
Logo Marianne en berne
Les différents sites de l'administration affichent un bandeau noir sur
le logo Marianne en raison du deuil national. Référence vers la version
numerique.gouv.fr qui intégre ce bandeau.
2019-09-29 19:38:24 +02:00
Maxime Quandalle 941ba4072a
🔨 Ajout de l'abattement PAS contrats courts
Fixes #604
2019-09-27 17:37:20 +02:00
Maxime Quandalle 079134e5a1
🔨 Réorganisation des méthodes de calcul de l'IR 2019-09-27 17:04:30 +02:00
Maxime Quandalle fa5157d6ba
Ajout d'une option pour retourner seulement le taux d'un barème linéaire
Option analogue à celle déjà disponible sur "barème continu"
2019-09-27 17:04:30 +02:00
Marc Pasteur 728cfad31b
🔨 MAJ de la réduction Fillon - octobre 2019
Closes #435 #570
2019-09-27 12:48:08 +02:00
Maxime Quandalle 4e562f5b00
🔨 Suppression de la majoration chômage
Cette majoration ne s'applique plus depuis le 1er avril 2019
https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/lassurance-chomage-et-lags/la-majoration-de-la-contribution.html
2019-09-27 12:36:38 +02:00
Maxime Quandalle ffc108b797
🔨 Précision des calculs 4.33 -> 4.3333
Permet de calculer un temps de travail mensuel de 151,67h (vs 151,55h avant)
cf. https://travail-emploi.gouv.fr/droit-du-travail/la-remuneration/article/la-mensualisation

Corrige l'inférence d'unite sur la page "quotité de travail"
2019-09-27 12:30:18 +02:00
Maxime Quandalle 37c403b08a
🔨 Le contrat d'apprentissage est à contrat à temps plein 2019-09-27 12:30:18 +02:00
Maxime Quandalle f465261317
🔨 Pas d'AGS pour les stagiaires 2019-09-27 12:30:17 +02:00
Maxime Quandalle 6172b4c833
🔨 Pas de taux réduit pour les stages et statut JEI
Ce commit corrige cette règle qui était imparfaitement appliquée :
- oubli de l'exclusion de taux réduit maladie pour les stagiaires
- oubli de l'exclusion de taux réduit allocations familiales pour les
  statut JEI (sans conséquence toutefois, cette allocation étant effacée
  par l'exonération JEI)
2019-09-27 12:30:17 +02:00
Maxime Quandalle 8daa80974c
🐛 Corrige l'unité affichée dans le résultat des barèmes 2019-09-27 12:30:17 +02:00
Maxime Quandalle 8b0fb8f988
🎨 Correction d'une marge sur l'affichage des aides à l'embauche 2019-09-27 12:30:17 +02:00
Maxime Quandalle 5e5933d35d
Simplification de Engine/format
getFormatersFromUnit n'est plus utilisé depuis 5879c9bc
2019-09-27 11:36:15 +02:00
Johan Girod 9c625a642b
🖋️ retours Agnès 2019-09-26 10:10:56 +02:00
Johan Girod 4cc8ab629e
🔨 ajoute la CRDS et les avantages sociaux pour le calcul de la prime d'impatriation 2019-09-26 10:10:56 +02:00
Maxime Quandalle f0f2123924
Revert "Simplification de Engine/format"
This reverts commit 3971496e28.
2019-09-26 10:06:46 +02:00
Maxime Quandalle 3971496e28
Simplification de Engine/format
getFormatersFromUnit n'est plus utilisé depuis 5879c9bc
2019-09-26 09:58:14 +02:00
Maxime Quandalle 4b1462a333
Merge pull request #693 from betagouv/normalize-format
Meilleur formatage des valeurs
2019-09-25 18:19:38 +02:00
Mael d80588bf97 Renommage de syso en mon-entreprise 2019-09-25 17:53:55 +02:00
Maxime Quandalle 5879c9bcf5
Utilise NumberFormat pour les Input des questions
Meilleure gestion du formatage (séparateur des milliers et décimal) et
début de convergence entre Input.js et CurrencyInput.js
2019-09-25 17:29:02 +02:00
Mael 5175540097 🐛 Correction de la lib
Problèmes de window et document undefined
2019-09-25 17:23:37 +02:00
Maxime Quandalle 0fcade76e1
Formatage des nombres dans les réponses aux questions
Fixes #683
2019-09-25 17:10:02 +02:00
Maxime Quandalle 38d2e12b64
Meileur gestion du focus des objectifs
Fonctionne avec la navigation au clavier
Fonctionne quand on clique à coté de l'input (exemple sur le symbole €)
2019-09-25 17:10:01 +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
Maxime Quandalle 76d2101d87
Ne pas afficher l'animatedValue en cas de changement de période 2019-09-25 17:10:01 +02:00
Maxime Quandalle cbcbcd5139
Objectifs sous forme de nombre plutôt que "string"
Les valeurs saisies et calculées des objectifs de la simulation étaient
préceddement sauvegardées dans Redux, puis traités dans le code sous forme
de string. Vu qu'il s'agit de valeurs numérique, il est plus logique de les
manipuler sous forme de nombre.

Fixes #553
2019-09-25 17:10:00 +02:00
Maxime Quandalle 579a385b41
Regroupe les fonctions de formatage
Par ailleurs ce commit formate les taux les tableaux des barèmes linéaires
2019-09-25 17:09:59 +02:00
Maxime Quandalle c418a63d06
🎨 Change le symbole de la multiplication 2019-09-25 15:00:03 +02:00
Johan Girod 3ace16f689
🔨 modifications suites aux retours de la revue de code 2019-09-25 10:23:35 +02:00
Johan Girod 77549017df
🔨 utilise le mécanisme d'allègement pour éviter des valeurs négatives 2019-09-25 10:01:35 +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
Johan Girod 0cf3cb276b
🔨 réecrit la réduction heure sup avec une négation 2019-09-25 10:01:34 +02:00
Johan Girod 33cc92a397
⚙️ ajoute l'opération unaire de négation à la grammaire 2019-09-25 10:01:33 +02:00
Maxime Quandalle 6c8dbd0004
🐛 Lien cassé vers le guide création URSSAF 2019-09-24 22:24:41 +02:00
Maxime Quandalle f3e79f4251
Merge pull request #671 from betagouv/remove-redux-form
Suppression de redux-form
2019-09-23 12:47:32 +02:00
Maxime Quandalle 4784bcd281 🔨 Suppression d'une règle redondante
`coût d'embauche` était égal à `rémunération . total` et n'était plus utilisé
2019-09-23 12:46:36 +02:00
Maxime Quandalle 0f983c974e 🎨 Meilleur arrondi pour le sélecteur de période 2019-09-23 12:46:36 +02:00
Maxime Quandalle ffd65ae613
Ajout d'un paramètre explicite "rules" au reducer 2019-09-23 12:20:37 +02:00
Maxime Quandalle 7a965e6d99
🐛 Correction formatage de l'AnimatedValue
Suppression de l'AnimatedValue pour l'objectif courant
Simplification du code de TargetSelection
Corrections CSS
2019-09-18 18:12:30 +02:00
Johan Girod 1530b107d0
🐛 corrige les redirections 2019-09-18 17:50:45 +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 8c9a4015c4
Input permanent pour les objectifs du simulateur
Nous alternions avant entre un <span /> et un <input /> selon le contexte

Fixes #558
2019-09-17 12:54:57 +02:00
Maxime Quandalle dbbb67ee7f
Ajout du lint pour les hooks React
Comme recommandé dans la documentation des hooks React, ajout des deux
linters suivants : react-hooks/rules-of-hooks et react-hooks/exhaustive-deps

Mise à jour des composants, en particulier les useEffect pour y spécifier
toutes les dépendances.
2019-09-17 12:54:54 +02:00