Commit Graph

112 Commits (6424f2e197db0f64a65e381c4b9f40daaae7c645)

Author SHA1 Message Date
Maxime Quandalle 6424f2e197
Déplace les règles vers source/rules 2020-04-06 00:50:32 +02:00
Maxime Quandalle 0a03b7550c
Ajoute des types TypeScript
Transforme quelques derniers composants class en fonctions
2020-04-06 00:40:41 +02:00
Mael ed5dc9958b 🐛 Page blanche publicodes 2020-04-03 10:52:33 +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
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
Johan Girod 8abc5b7fcb 🐛 répare le changement de période pour les charges 2020-03-18 15:43:36 +01:00
Mael 911c71aec2 Utilisation du moteur de calcul sur publi.codes, v0 2020-03-02 17:35:23 +01:00
Johan Girod 8c81b42a62 🐛 répare le changement de période pour les charges
fix #872
2020-02-06 13:45:01 +01:00
Johan Girod e718537a36 Enlève les messages d'erreur dans la console 2020-02-06 13:40:47 +01:00
Johan Girod be1891aecb Revert "Revert "Aide à la déclaration des indépendants""
This reverts commit b5b2e56bd0.
2020-01-26 11:55:54 +01:00
Johan Girod b5b2e56bd0
Revert "Aide à la déclaration des indépendants" 2020-01-24 18:06:05 +01:00
Johan Girod cde3a95308 Corrige le bug du préremplissage de la date de création 2020-01-23 14:56:45 +01:00
Johan Girod 5dc9f07db4 Ajoute des champs sur le formulaire DNRTI 2020-01-23 14:56:45 +01:00
Maxime Quandalle 877c4becf0
🐛 Changement de période de la complémentaire santé
Fixes #828
Cherry-picked from a140967
2020-01-16 18:58:51 +01:00
Johan Girod 4ad1474356 ajoute la notion de revenu disponible pour l'auto-entrepreneur 2020-01-14 15:14:24 +01:00
Johan Girod e5d84c4abf 🐛 corrige page blanche navigation vers le simulateur embauche via 'gérer' 2020-01-08 13:58:43 +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
Maxime Quandalle a8aae0e0c9 🐛 Corrige le changement de période
Fixes #828
2020-01-02 23:24:11 +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 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 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 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 7a9429578c Corrige le lien vers le webinar pour les auto-entrepreneurs 2019-12-03 14:53:06 +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
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
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 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 936d436f43 🔥 enlève les reducers inutiles 2019-10-23 12:21:48 +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 2e0db564ec
🐛 Utilise la société renseignée dans la simulation 2019-09-30 12:45:20 +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 ffd65ae613
Ajout d'un paramètre explicite "rules" au reducer 2019-09-23 12:20:37 +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
Johan Girod 4eb7b868e4
Remet les contrôles à zéro lorsque l'on recommence une nouvelle simulation 2019-07-02 17:07:19 +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
Johan Girod 85c3651f0c
⚙️ répare un bug dans le moteur pour les dépendance parentes
On ne les prenait pas en compte lorsque l'on utilisait treatVariable
D'où le gros besoin de fusionner une bonne fois pour toute treatVariable et treatRuleRoot
2019-07-01 19:27:45 +02:00
Johan Girod 64a3987ed0
Ajoute un bouton pour revenir à la question précédente 2019-06-05 17:04:54 +02:00
Johan Girod f11f0579fd
Affiche automatiquement la question après la première valeur rentrée
🔥 Et supprime le code gérant  dans le state
2019-06-05 15:16:46 +02:00
Johan Girod ccbc08ad5d Ajoute une page de choix de statut
Et plein d'autres quickfixs dans la navigation :
- Enlève la progression incomprehensible dans le header
- Ajoute la question auto-entrepreneur lors de la recherche d'une entrepriser existante
- On cache la partie embauche pour les autos
- On précise quel type de société à coté de l'estimation du dirigeant
- et des petits quickfix de style
2019-04-09 11:01:07 +02:00
Johan Girod 786ac1129d Change le guide pour une plus grande clarté
- Enlève le statut SNC
- Change la responsabilité par Société vs EI
- Répare un bug dans l'algo de choix de réponse qui retournait une question aboutissant à un choix null
2019-02-15 18:49:32 +01:00