0% ont trouvé ce document utile (0 vote)
66 vues5 pages

Annexe 1 Fiche Descriptive Architecture Hexagonale

Transféré par

Gnadjue Samuel
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
66 vues5 pages

Annexe 1 Fiche Descriptive Architecture Hexagonale

Transféré par

Gnadjue Samuel
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 5

+33 (0)1 48 10 09 46

[email protected]
140 Avenue Jean Lolive 93500 Pantin - France

Mis à jour le 25/10/2023

S'inscrire

Formation Architecture Hexagonale et TDD


3 jours (21 heures)

Présentation

L’Hexagonal Architecture n’est pas une architecture à proprement parler, mais des principes
d’architectures mis en avant par Alistair en 2005 mais aussi affinés par tout un tas d’autres
auteurs dont un principal : Robert C. Martin alias Uncle Bob en 2012.

Ce dernier a intitulé sa variante de l’hexagonale nommée « Clean Architecture » en apportant


pas mal de guidelines et de prévention.

Ces principes d’architecture permettent tout un tas de bénéfices :

● Découplage fort entre la partie métier de l’application et la partie infrastructure/technologique,


rendant la conception du cerveau de l’application bien plus facile
● Testabilité de la partie métier grandement améliorée ; le réel TDD rendu possible !
● Capacité à remettre à plus tard les choix technologiques d’infrastructure.
● Capacité à changer les technologies sans effort, évitant alors des refontes chronophages et
fastidieuses

À l'issue de cette formation Architecture Hexagonale, vous apprendrez à maîtriser les principes
essentiels, produire des logiciels organisés et créer des modèles de domaines performants.

Objectifs

● Maîtriser les principes de l’Hexa/Clean Architecture, tels que l’inversion de dépendances


● Savoir démarrer un projet from scratch pratiquant TDD et l’Hexa Architecture avec l’esprit
d’"émergence de design du code”
● Sensibilisation aux décisions cruciales d’architecture technique globale
● Savoir manier un TDD orienté comportement dans une Hexagonal Architecture pour une
productivité accrue et sans faille
● Savoir intégrer des composants d’infrastructure tels qu’une base de donnée PostgreSQL et des
API tierces partenaires sans toucher au coeur de l'appli
● Savoir dissocier la logique métier de l’application du framework Spring-Boot
● Connaître tous les pièges à éviter dans une Hexa/Clean Architecture
● Être pleinement conscient de la différence majeure entre TDD et le simple fait d’écrire des tests
● Savoir ordonner les actions à réaliser lors de l’élaboration d’une Hexagonal Architecture
● Toutes les questions répondues et quiproquos/déformations populaires au sujet des pratiques
révélés

Public visé

● Technical Leaders
● Développeurs Backend
● Développeurs Full Stack
● Architectes techniques

Pré-requis

● Maîtrise de Java ou tout autre langage orienté objet


● Notions des concepts principaux de la POO : Interfaces / Classes abstraites / Polymorphisme
● Notion d’écriture de tests avec JUnit 5 et AssertJ

Technologies utilisées

● Java 20
● Maven 3
● Spring-Boot / Rest APIs
● Hibernate/JPA
● PostgreSQL
● JUnit 5 / AssertJ
● TestContainers (Docker)

Programme de notre Formation Architecture hexagonale et


TDD

Jour 1 : Fondations et Pratiques

Analyse des architectures en couches classiques

● Introduction aux problèmes courants


● Démonstration par l'exemple des pièges et difficultés

Comprendre les limites actuelles pour aspirer à une meilleure approche


Plongée dans l'inversion de dépendances

● Magnificience du "D" de SOLID


● Application pratique pour optimiser un code

En utilisant l'inversion de dépendances, on crée un pont naturel vers l'Hexagonal Architecture

Transition vers l'Hexagonal Architecture

● Historique : origines et évolution


● Comparaison avec Clean Architecture et Onion Architecture
● Exploration des mécanismes clés

Une fois cette base solide établie, comment garantir une implémentation efficace ? Le TDD

Immersion dans le Test-Driven Development (TDD)

● Briser les idées reçues sur TDD et tests unitaires


● Challenges interactifs pour tester la compréhension
● Introduction aux différents types de doublures

Avec le TDD, nous pouvons pratiquer le codage de manière éclairée

Atelier de codage en direct

● Initiation au Behavior-Driven Development (BDD)


● Session de codage en Java 20
● Accent sur le refactoring guidé par les tests du TDD
● Astuces pour le refactoring des tests

Jour 2 : Infrastructure et Tests Avancés


Entrons dans l'aspect technologique du projet

Mise en place de l'infrastructure

● Création de contrôleurs avec Spring-Boot


● Configuration du Container IOC de Spring
● Intégration PostgreSQL avec Hibernate
● Utilisation de TestContainers pour la base de données

Avoir une bonne infrastructure est essentiel, mais savoir la tester est crucial

Panorama des différents types de tests

● Distinctions entre chaque type de test


Atelier Tests d'Intégration et End-to-End

● Écriture "test-first" avec outils/frameworks


● Développement de tests end-to-end et d’intégration

Intégrons des outils et services tiers tout en gardant un découplage cœur/outils

Exploitation de technologies complémentaires

● Intégration avec Google Maps API

Suite de l'atelier pratique

● Continuation du live coding

Jour 3 : Approfondissement et Extension


Consolidons nos bases et explorons des techniques collaboratives

Affinement des règles de gestion

● Atelier pour affiner les règles métier

Pénétrons dans les nuances avancées de l'Hexagonal Architecture

Exploration de la "Nested" Hexagonal Architecture

● Architecture Hexagonale dans un adaptateur

Atelier d'extension de l'application

● Challenge pour les participants


● Quiz d’évaluation en live

Session Questions/Réponses

● Discussion ouverte sur tous les concepts

Pour aller plus loin


Sociétés concernées
Cette formation s’adresse à la fois aux particuliers ainsi qu’aux entreprises, petites ou grandes,
souhaitant former ses équipes à une nouvelle technologie informatique avancée ou bien à
acquérir des connaissances métiers spécifiques ou des méthodes modernes.

Méthodes pédagogiques
Stage Pratique : 60% Pratique, 40% Théorie. Support de la formation distribué au format
numérique à tous les participants.

Organisation
Le cours alterne les apports théoriques du formateur soutenus par des exemples et des
séances de réflexions, et de travail en groupe.

Validation
À la fin de la session, un questionnaire à choix multiples permet de vérifier l’acquisition correcte
des compétences.

Sanction
Une attestation sera remise à chaque stagiaire qui aura suivi la totalité de la formation.

Page Web du Programme de Formation - Annexe 1 - Fiche formation


Organisme de formation enregistré sous le numéro 11 75 54743 75. Cet enregistrement ne vaut pas agrément de l’État.
© Ambient IT 2015-2023. Tous droits réservés. Paris, France - Suisse - Belgique - Luxembourg

Powered by TCPDF (www.tcpdf.org)

Vous aimerez peut-être aussi