Commit Graph

94 Commits (90e42a8b476418f7e647c116ea687d61d8cf19ad)

Author SHA1 Message Date
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
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 1559d6c44f Prépare la mise en prod de la branche indeps (avec la feature cachée) 2019-01-31 17:24:57 +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 b42d1d2d68 Répare le lien de retour à la simulation depuis les règles 2019-01-17 11:38:24 +01:00
Johan Girod 7cd961c181 Corrige la page blanche sur les simulations, améliore le rendu 2019-01-08 12:54:56 +01:00
Mael b6c912cd7b Stockage de la configuration de simulation dans le state 2019-01-08 10:33:05 +01:00
Mael 5174253625 Affichage de la bonne branche sur les pages règle 2019-01-07 11:35:11 +01:00
Johan Girod f8f6c5389f 🖋️ Ajoute la micro-entreprise en EIRL
- Ajoute la déclaration d'affectation du patrimoine pour l'eirl
- Refacto pour éviter le doublon status du guide / status de la crétion (ils sont les même dorénavant)
- Améliorations des affichages contextuels
- Bugs de traduction
2018-11-22 11:40:40 +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 56903fcfec Ajoute un test end to end pour la sauvegarde de la simulation 2018-10-18 17:36:51 +02:00
Johan Girod 24cfebb5d0 🐎 prerender les principales landing pages
Acceleration drastique des perfomances, la page est chargée immédiatement.

Limitations:
- La page embauche.beta.gouv.fr est prérendue en français. Le contenue saute si le navigateur est en anglais
- Les tests end to end ne sont pas encore branchés avec les pages prérendues. Voir https://github.com/zeit/serve-handler/issues/71
2018-10-18 16:36:45 +02:00
Johan Girod d18f4cff35 🐛 répare la récupération de la simulation précédente 2018-10-17 12:41:26 +02:00
Johan Girod fd3e277ad0 Reporte automatiquement les informations de l'entreprise
renseignée dans la simulation
2018-10-10 17:07:16 +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
Mael 758e5ec235 Evolution des contrôles pour gérer le SMIC
Atttention, 0 🎨 pour l'instant.
On garde les contrôles bloquants déjà implémentés.
On ajoute les contrôles de type avertissement qui peuvent faire appel à
des calculs.
2018-10-03 14:58:17 +00:00