Commit Graph

65 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 7b7dc15624 Ajoute des types TypeScript 2020-04-13 10:41:02 +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 c2358605ae prends en compte les informations de l'api entreprise dans les simulations 2020-01-07 15:53:33 +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 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
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 9b80e87674 🐛 répare le guide du statut juridique 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 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 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 ffd65ae613
Ajout d'un paramètre explicite "rules" au reducer 2019-09-23 12:20:37 +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
Mael f0dd2ca416 Passer donne la valeur par défaut, pas null
Fixes #610
2019-08-03 15:30:49 +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 0c0d4d5528 Ajoute la recherche par SIREN/SIRET dans le champs entreprise 2019-03-19 16:55:38 +01: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
Johan Girod 2a44e71437 🐛 répare la page blanche sur mycompanyinfrance.fr 2019-02-08 13:46:37 +01:00
Johan Girod de2f41ecd4 💚 Répare les tests unitaire, les erreurs flow et les erreurs eslint 2019-02-01 17:21:41 +01:00
Johan Girod aac32399d5 🐛 répare le changement de période mois/année 2019-01-31 16:18:14 +01:00
Johan Girod af7f05d858 :fountain-pen: Prends en compte les retours de l'ACOSS
Notament en remplacant micro-entreprise par auto-entrepreneur
2019-01-31 12:38:45 +01:00
Johan Girod 65a1adbd59 Ajoute la prise en compte du statut de l'entreprise existante
pour la rémunération du dirigeant
source/types/companyTypes.js
2019-01-24 19:13:03 +01:00
Johan Girod cd44b5229a Redessine le tag beta avec les hypothèses associées 2019-01-22 12:57:28 +01:00
Mael e22266e324 Fusion des composants de simulation 2019-01-21 16:41:41 +01:00
Johan Girod b42d1d2d68 Répare le lien de retour à la simulation depuis les règles 2019-01-17 11:38:24 +01:00
Johan Girod 6b995c2a1b Remet à zéro les valeurs renseignées lorsque l'on change de simulation config 2019-01-17 10:47:46 +01:00
Johan Girod aa66e4f6e7 Répare la navigation par branche des pages de documentation 2019-01-15 18:36:26 +01:00
Johan Girod 11ec962754 Change le chemin des règles vers "documentation" 2019-01-14 14:28:30 +01:00
Johan Girod 3c0ee5e732 Factorise les simulation et les target tant que faire se peut 2019-01-08 19:19:19 +01:00
Johan Girod b8041a1b09 Ajoute un bouton précédent pendant le guide du choix de status 2018-11-21 11:23:53 +01:00
Johan Girod 07c91a155b Améliore l'experience utilisateur du guide au status
- Lien de retour en arrière
- Les choix sont plus explicites
2018-11-21 11:23:29 +01:00
Johan Girod 0f2a2c01d4 👽 Ajoute la traduction de toutes les URLs 2018-11-09 17:59:56 +01:00
Johan Girod fd3e277ad0 Reporte automatiquement les informations de l'entreprise
renseignée dans la simulation
2018-10-10 17:07:16 +02:00
Johan Girod b5643fc504 🐛 répare la 404 lorsque l'on clique sur le warning 'est-ce un temps partiel' depuis la simulation 2018-10-09 11:22:08 +02:00
Johan Girod 776cbaf7d5 Ajoute le module de retour au simulateur et garde en memoire les
retours déjà effectués

starting
2018-10-05 10:50:56 +02:00
Mael 6e09444861 Possibilité de cacher les contrôles 2018-10-03 14:58:18 +00:00
Mael c75732fcfd 🐛 Raccourcis vers espaces de nom, pas une seule variable 2018-10-03 14:58:18 +00:00
Johan Girod cba61d3f7e 🐛 répare la supression de la sauvegarde 2018-10-03 11:28:18 +02:00