diff --git a/README.md b/README.md index 74a5d572b7105dd29fed3296ab26be0b6705b777..4152f210b1c40434c9d3e99a92a54ca583cd4aa8 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,7 @@ npm run start Le code source comprend les codes des applications `ir` et `dotations` ainsi que du portail en place jusqu'en 2021 et désormais remplacé en production par [leximpact-portail](https://git.leximpact.dev/leximpact/leximpact-portail). Le point d'entrée est situé à la racine du dépôt : `server.js` + Par ailleurs, les principaux répertoires sont : * `components/` les composants graphiques (structure, logique, style et test) * `pages/` les pages principales diff --git a/README_PLF.md b/README_PLF.md index 1be279904aaf544d280c63402e0f81574702360a..253d5c90134576e81cc779bfee6e2ed1101cf2ac 100644 --- a/README_PLF.md +++ b/README_PLF.md @@ -1,14 +1,30 @@ +# Activation & Désactivation du mode PLF + +Pour l'[application IR](http://leximpact.an.fr/ir) et l'[application dotations](http://leximpact.an.fr/dotations), il est possible d'activer un mode où, en plus de la loi en vigueur, un Projet de Loi de Finances (PLF) sert de base aux calculs d'amendements. + +Cette documentation présente les éléments à mettre à jour pour activer et désactiver le mode `PLF`. + +## Logique d'activation & désactivation du PLF + `leximpact-client` échange par API Web avec `leximpact-server`. -Les deux dépôts disposent d'éléments de configuration qui déterminent l'état initial de ces applications. -Néanmoins, pour le couple (`leximpact-client`, `leximpact-server`) la logique générale veut que ce soit le client qui sache si le PLF est activé. +Les deux dépôts `leximpact-client` et `leximpact-server` disposent d'éléments de configuration qui déterminent l'état initial de ces applications. + +Néanmoins, pour le couple `leximpact-client`+`leximpact-server` la logique générale veut que ce soit le client qui sache si le PLF est activé. + > Aux débuts de ces applications (pré-PLF 2021), l'activation du PLF était décidée par `leximpact-server`. +TODO Vérifier si le client détermine l'application du PLF d'après la première requête cas type ou si ce comportement est désactivé. + +## Contexte métier + `leximpact-client` connaît potentiellement 3 lois : * la loi en vigueur, dite `base` dans l'état de l'application, `avant` dans les requêtes à l'API Web, * la loi réformée par un usager de l'application, dite `amendement` dans l'état de l'application, `apres` dans les requêtes à l'API Web, * et, lorque le PLF est activé, la loi réformée par un PLF, dite `plf` dans l'état de l'application et les requêtes à l'API Web. +Pour l'[application IR](http://leximpact.an.fr/ir), nous effectuons des calculs sur cas type et population. + ### Calcul sur cas types Au démarrage de l'application, une requête http://localhost:5000/metadata/description_cas_types est transmise (`onInitializeCasTypes` redux state ? => SIMULATE_CAS_TYPES_REQUEST => SIMULATE_CAS_TYPES_FAILURE) @@ -81,6 +97,10 @@ Intervient dans components/common/articles-inputs/values/Values.tsx Lorsque le PLF est désactivé du côté de leximpact-server seulement alors, on passe de : `SimpleCardImpactImpots props {index: 5, amendement: 690, base: 756, isFetching: false, plf: 690, …}` à `SimpleCardImpactImpots props {index: 5, amendement: undefined, base: undefined, isFetching: true, plf: undefined, …}`. -Lié à la présence du PLF_PATH seulement. + +Lié à la présence du `PLF_PATH` seulement. Le client nécessiterait toujours la présence du PLF pour fonctionner (ou une modification de son code). Ceci est en partie apparu avec [cette PR](https://github.com/leximpact/leximpact-client/pull/104). +### Bug npm run dev + +Si une modification du code source n'entraîne pas de changement dans l'interface en mode développement, il s'agit d'une situation déjà rencontrée. Relancer le `npm run dev`.