Voir les autres formations

Formation TDD et Clean Architecture dans le monde Web avec Typescript React et Redux (en option)

Descriptif

React et autres bibliothèques/Frameworks, le coeur d'une application Web ?
Et bien, contrairement à la pratique de beaucoup de développeurs, cela ne doit clairement pas être le cas !

Une bonne architecture Frontend se doit de garantir un découplage maximum entre le code logique de l'application et toute notion de bibliothèques externes comme React.

Dans cette session de formation, vous allez d'abord prendre conscience de la profondeur des problématiques que vous rencontrez tous les jours en codant.
Ainsi, nous entrerons dans le monde des tests et des différentes approches associées pour finalement constater par vous-même que la discipline TDD dans le cadre des tests unitaires change radicalement la vie, amenant un large spectre de bénéfices !
Des exercices et live coding animés par Michaël AZERHAD seront au rendez-vous !

Dans un second temps, nous allons nous immerger dans le domaine de l'architecture logicielle.
De même que lors de la phase précédente, vous allez d'abord prendre conscience de la problématique sous-jacente, largement et malheureusement ignorée dans la communauté des développeurs.
Puis nous introduirons le concept de la "Clean Architecture", également appelée "Hexagonal Architecture" ou encore "Ports / Adapters Architecture".
Ce type d'architecture qui n'est rien d'autre qu'un jeu de bon sens amène énormément de bénéfices, aussi bien technologiquement que financièrement.
Des exemples et du live coding seront animés également par Michaël AZERHAD !

Une fois ces aspects théoriques et pratiques découverts, nous allons les mettre en valeur dans le monde du Web !

Des technologies comme TypeScript, React et Redux (en option) seront prises pour les exemples; mais sachez que d'autres technologies comme Javascript ou encore Angular peuvent être intégrées de la même manière.
Si vous choisissez l'option Redux, vous comprendrez alors ses avantages ; ce dernier étant par constat très mal maîtrisé dans la communauté.

Enfin, vous réaliserez les deux derniers jours une application Web de type entreprise "from scratch" afin de mettre à l'épreuve vos compétences et valider vos acquis.

À l'issue de cette formation, vous maîtriserez donc les fondamentaux permettant de réaliser des applications Web durables, évolutives, fiables, robustes et plaisantes à réaliser; et ainsi faire la différence au travail !

Programme et méthode pédagogique

Objectif du parcours pédagogique

  • Sensibilisation à la discipline TDD et à la Clean Architecture dans le monde Web avec Typescript, React et éventuellement (selon le choix majoritaire des stagiaires) Redux.
  • Montée en compétences au TDD et et à la Clean Architecture dans le monde Web avec Typescript, React et Redux (si choisi), à travers des exercices pratiques et un live coding approfondi d'une application from scratch.
  • Clarification de chacun des concepts maîtres et annexes à travers des séances de questions-réponses et autres démonstrations concrètes.

Durée

10 heures (pouvant aller jusqu'à 12 heures).

Date

À définir très prochainement

Lieu

En Zoom (Visio)

Public cible

Particuliers et professionnels :

  • Technical Leader
  • Développeur Frontend
  • Développeur Full Stack
  • Architecte technique

Pré-requis

  • Bonne maîtrise de Javascript et/ou Typescript
  • Bonne maîtrise d'un framework orienté composants comme React, Angular ou Vue.js
  • Bonnes connaissances en OOP et/ou Functional Programming
  • Notions de Redux sont un plus
  • Notions de RxJs sont un plus
  • Capacité à écrire un simple test unitaire avec Jest ou Mocha

Déroulement du parcours pédagogique

Jour 1

  • Introduction et cours théorique sur le TDD cassant les énormes quiproquos à son sujet
  • Exercices (Kata) de mise en pratiques de TDD avec Typescript et Jest
  • Introduction et cours théorique sur la Clean Architecture
  • Exercices de mise en pratique de la Clean Architecture avec Typescript
  • Si option Redux choisie, introduction à celui-ci et concepts des View Models avec les fameux selectors
  • Début d'écriture d'une application "from scratch" digne d'un cas réel d'entreprise en TDD tout en respectant la Clean Architecture avec Typescript, React, Redux et Jest
  • Séances de questions / réponses tout au long

Jour 2

  • Suite du live coding de l'application "from scratch" digne d'un cas réel d'entreprise
  • Séance de refactoring au fil de l'eau du code ET des tests de l'application exemple, rendu possible par TDD
  • Clarification de concepts subtils relatifs au TDD et à la Clean Architecture
  • Démonstration de la pratique efficace de TDD sur des composants React sous la forme de test "end-to-end InMemory"
  • Compréhension du concept de "test d'intégration"
  • Séance de questions / réponses tout au long

Capacités développées

  • Maîtrise de l'approche des problèmes algorithmiques avec le mindset TDD
  • Maîtrise de l'écriture des tests unitaires orientés comportements, de tests d'acceptation, de tests d'intégration et de tests end-to-end
  • Maîtrise du concept d'inversion de dépendances (DIP)
  • Maîtrise de la Clean Architecture (Hexagonale Architecture) et de l'arborescence de fichiers optimale
  • Si Redux a été choisi, bonnes connaissances de Redux, de Redux-Observable et d'RxJs / ou de Redux-Thunk (au choix également)
  • Maîtrise du concept de View Models avec éventuellement les selectors de Redux (et avec Reselect), facilitant grandement les tests et le découplage avec React
  • Capacité à refactorer des tests astucieusement (techniques de chapitrage / nommage / D.R.Y), essentielle pour évoluer sereinement en TDD

Démarche et méthodes proposées

La formation se présentera sous la forme d'une alternance entre découverte de concepts théoriques, annihilation d'idées reçues, questions / réponses, écriture de code, lecture de code et refactoring de code.

L'outil de communication requis pour cette formation est l'alternance entre l'oral, l'écrit, le partage d'écran si visio (audio/video) et la manipulation d'un éditeur de code.

Les moyens pédagogiques

  • Des apports théoriques sur le processus
  • Des exemples
  • Des démonstrations par le formateur
  • Mises en pratique de ces apports théoriques
  • Exercices en live coding visant à coder une application Frontend en Typescript avec React et Redux from scratch et digne d'un énoncé réel d'entreprise.
  • Challenges proposés de refactoring de code (modification de structure du code)
  • Mise en situation réelle par du coding à tour de rôle par chaque stagiaire et devant tous pour intensifier les échanges sur les prises de décisions quant à la modélisation des tests et du code.

Évaluation formative

Une feuille d'évaluation de compétences est remise à chaque stagiaire leur permettant d'évaluer leurs acquis.

Une deuxième évaluation permet d'évaluer les modalités pédagogiques et le contenu de la formation, de mesurer le degré de satisfaction à chaud du stagiaire pour adapter les formations suivantes aux besoins spécifiques des participants.

Documents et supports pour les stagiaires

À l’issue de cette session, il sera remis à chaque stagiaire le support de formation, le projet sur Git réalisé ensemble, ainsi qu’une certification de réalisation de l’action de formation.

Encadrement pédagogique

La formation sera assurée par Michaël AZERHAD - Profil et qualité : Président de WealCome et expert technique

ReactRedux

Prochaine session

À définir très prochainement



Formateur

Michaël AZERHAD





Lieu

Déroulement de cette session en présentiel ou à distance par le biais de Zoom (voir précision dans le contenu du programme).



Programme en version PDF



Tarif "entreprise et Freelance"

Au nom d'une entreprise (statuts Freelance et Auto-entrepreneur inclus)

1500 euros HT / personne

REMBOURSABLE

Notre formation est référencée au Datadock et Wealcome est certifié Qualiopi, ce qui vous permet de faire une demande de prise en charge par vos OPCO (Opco-Atlas, FIF PL, FNE etc.)

Qualiopi
Datadock


Tarif "particulier"

Sans passer par une entreprise, ni étant Freelance

400 euros TTC / personne

Sans remboursement dans ce cas-ci et impossibilité de financement par CPF



Règlement intérieur