/
Architecture logicielle

Architecture logicielle

Archi interne

Applications frontend sous React

Pour toute nouvelle appli, partir de GitHub - edificeio/edifice-react-boilerplate: Edifice React Frontend Application Boilerplate .

Pour migrer une appli existante, se baser sur TODOGuide de migration

Rappel de la pile technologique utilisée

Modèle de données

Le modèle des ressources produites par une appli (par exemple, les blogs ou les exercices) sera typé dans l’appli elle-même ou une lib JS bundlée en // de l’appli.
Une autre option serait de typer ces données dans ode-ts-client directement, mais cela parait trop compliqué à maintenir ensuite.

TODO Pointer un exemple ici

Application mono-page

  • TODORouteur de changement d'état

  • Routage :

    • Application Full React avec React Router

    • Routage entre Application React et AngularJS TODO

  • Cas de la migration d’appli AngularJS => React

Communication inter-composants

Chaque page de l’appli est un assemblage de composants. Comment partager les données de l’appli entre tous les composants ?

React propose pour cela un pattern simple :

  • le hook useReducer et le hook useContext

  • useReducer se base sur des “Actions” pour effectuer des modifications sur un state

Refacto propre à prévoir de Explorer dès qu’on aura avancé plus loin. Prévoir le refacto de ODE React Boilerplate pour ajouter un dossier reducer et/ou un dossier features + sous-dossier pour gérer reducer et context ensemble par “Feature”

Si on se rend compte qu’on a plus de complexité que prévu, on pourra, pourquoi pas, partir sur Redux Toolkit

Exemple simple avec useReducer: https://codesandbox.io/s/01-usereducer-counter-0msf43?file=/src/index.js

Exemple simple avec useContext: https://codesandbox.io/s/02-todo-context-hook-s6gs4h?file=/src/index.js

Exemple useReducer + useContext:

Related content

Connecteur - OAuth 2.0 - SSO et API
Connecteur - OAuth 2.0 - SSO et API
Read with this
Application React
Application React
More like this
Connecteur - CAS - SSO et SLO
Connecteur - CAS - SSO et SLO
Read with this
2023-07 : Guide de migration d'une application complète en React
2023-07 : Guide de migration d'une application complète en React
More like this
Guide de portage d'une application en Vertx 3
Guide de portage d'une application en Vertx 3
Read with this
2022-07 : Guide de migration du thème CSS historique
2022-07 : Guide de migration du thème CSS historique
More like this