@@ -56,9 +56,9 @@ Le point d'entrée est situé à la racine du dépôt : `server.js`
...
@@ -56,9 +56,9 @@ Le point d'entrée est situé à la racine du dépôt : `server.js`
Par ailleurs, les principaux répertoires sont :
Par ailleurs, les principaux répertoires sont :
*`components/` les composants graphiques (structure, logique, style et test)
*`components/` les composants graphiques (structure, logique, style et test)
*`pages/` les pages principales
*`pages/` les pages principales (où `/home` comprend les éléments de la page d'accueil de l'année 2020)
*`public/` les données statiques
*`public/` les données statiques
*`redux/` les éléments de gestion des états Redux
*`redux/` les éléments de gestion des états Redux (pour en savoir plus, voici une documentation [Redux Fundamentals...: State, Actions, and Reducers](https://redux.js.org/tutorials/fundamentals/part-3-state-actions-reducers))
@@ -11,7 +11,6 @@ Cette documentation présente les éléments à mettre à jour pour activer et d
...
@@ -11,7 +11,6 @@ Cette documentation présente les éléments à mettre à jour pour activer et d
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.
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é.
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`.
> 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é.
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é.
...
@@ -70,28 +69,26 @@ Un principe directeur de l'application est que l'interface graphique affichée d
...
@@ -70,28 +69,26 @@ Un principe directeur de l'application est que l'interface graphique affichée d
Le RootState est l'interface de l'état global redux. Elle est déduite des réduceurs. De cette manière, on peut déduire des bugs en amont en l'utilisant à chaque fois dans les mapStateToProps. ([src](https://github.com/leximpact/leximpact-client/pull/46))
Le RootState est l'interface de l'état global redux. Elle est déduite des réduceurs. De cette manière, on peut déduire des bugs en amont en l'utilisant à chaque fois dans les mapStateToProps. ([src](https://github.com/leximpact/leximpact-client/pull/46))
Le root state est défini ici : redux/reducers/index.ts
Le root state est défini ici : redux/reducers/index.ts
L'état est construit ici : redux/make-application-state.ts
L'état est construit ici : redux/make-application-state.ts
Les interfaces des états redux se situent maintenant dans le dossier redux/reducers avec leur réduceur associé ([src](https://github.com/leximpact/leximpact-client/pull/46)). = Les interfaces d'action se situent maintenant conjointement avec leur fonction créatrice.
Les interfaces des états redux se situent maintenant dans le dossier `./redux/reducers/` avec leur réduceur associé ([src](https://github.com/leximpact/leximpact-client/pull/46)). = Les interfaces d'action se situent maintenant conjointement avec leur fonction créatrice.
Le format de ce state est défini ici (selon la partie gauche, la réforme paramétrique) : redux/reducers/parameters/interfaces/ir-state.ts
Le format de ce state est défini ici (selon la partie gauche, la réforme paramétrique) : redux/reducers/parameters/interfaces/ir-state.ts
L'arborescence des états de l'application est contenue dans un store ([en savoir plus sur un Redux store](https://redux.js.org/api/store))
L'arborescence des états de l'application est contenue dans un store ([en savoir plus sur un Redux store](https://redux.js.org/api/store))
Des outils de développement facilitent grandement le debug de l'application comme :
* React via React Developer Tools [plugin chrome](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi)
* React via React Developer Tools [plugin chrome](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi)
* Redux via Redux DevTools [plugin chrome](https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd?hl=fr) pour suivre l'évolution de l'état de l'application
* Redux via Redux DevTools [plugin chrome](https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd?hl=fr) pour suivre l'évolution de l'état de l'application
/pages : les principales pages de l'application (PureComponent React) qui regroupent des compsants
> Pour accéder aux calculs sur population, en local, prendre l'URL /connection/token et l'ajouter à [localhost](http://localhost:9001/) (sans `ir/`)
/components : les composants React (ou /home comprend les éléments de la page d'accueil de l'année 2020)
/public : les éléments statiques de l'application
/redux : la gestion de l'état de l'application ; pour en savoir plus [Redux Fundamentals...: State, Actions, and Reducers](https://redux.js.org/tutorials/fundamentals/part-3-state-actions-reducers)
> Population, en local, prendre l'URL /connection/token et l'ajouter à [localhost](http://localhost:9001/ir) sans ir/
### FAQ développement
### Bug des tirets
#### Bug des tirets - Sur les cas types, pourquoi les valeurs sont-elles remplacées par des tirets ?
Intervient dans components/common/articles-inputs/values/Values.tsx
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 :
Lorsque le PLF est désactivé du côté de leximpact-server seulement alors, on passe de :
...
@@ -101,6 +98,6 @@ Lorsque le PLF est désactivé du côté de leximpact-server seulement alors, on
...
@@ -101,6 +98,6 @@ Lorsque le PLF est désactivé du côté de leximpact-server seulement alors, on
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).
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
#### Bug npm run dev - En mode dev ma modification n'est pas visible, que faire ?
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`.
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`.