loader image

Gate Training

logo-png
Langages et Développement

Formation : Pragmatic Architecture

2 Jours

Dans le domaine de l’architecture logicielle, les défis sont nombreux et souvent complexes. Pour répondre efficacement aux problématiques des systèmes en entreprise, il est essentiel de combiner une expertise technique pointue avec une compréhension profonde des enjeux humains et organisationnels. 

Objectifs de la Formation

À l’issue de cette formation, vous serez capable de :

  • Maîtriser les principaux patterns et styles architecturaux, ainsi que l’état de l’art dans le domaine de l’architecture logicielle. 
  • Résoudre les problèmes courants rencontrés lors de la mise en production d’une architecture. 
  • Identifier et gérer les couplages entre composants, optimiser la modularité et garantir la scalabilité et la disponibilité des systèmes. 
  • Appliquer des stratégies d’architecture permettant une gestion efficace de la complexité et des contraintes techniques en entreprise. 
  • Avoir une vision globale du système logiciel, en intégrant les aspects techniques et humains. 

À qui s’adresse cette formation ?

Public Cible

Cette formation s’adresse à :

  • Développeurs expérimentés souhaitant évoluer vers des rôles d’architecte logiciel. 
  • Architectes confirmés ou en devenir, désireux d’acquérir une approche pragmatique et opérationnelle de l’architecture. 
  • Chefs de projet impliqués dans la gestion de l’architecture des systèmes d’information de leur entreprise.

Prérequis

Pour suivre cette formation, il est nécessaire d’avoir une connaissance préalable de plusieurs langages de programmation, en particulier dans le domaine de la programmation orientée objet et du design logiciel. Une expérience de développement logiciel est également requise pour comprendre les enjeux techniques abordés.

Contenu de la Formation

Introduction à l’Architecture Logicielle

  • Les multiples définitions de l’architecture technique 
    • La stabilité, l’échelle, le partage des connaissances et la prise de décisions irréversibles. 
    • L’architecture comme moyen d’alignement entre les objectifs de l’entreprise et ses systèmes d’information. 
  • Architecture : Styles d’implémentation et architecture globale vs locale 
    • Introduction aux diagrammes Umbrella, permettant de visualiser l’architecture à grande échelle. 
  • Aperçu des styles d’architecture 
    • Architecture hexagonale, Event-Driven Architecture, Pipeline, Microservices. 
    • Enterprise Integration Patterns (Gregor Hohpe) et Integration styles. 
    • PoEAA (Patterns of Enterprise Application Architecture de Fowler). 
    • Design d’API et architecture émergente. 

Architecture Technique et Pratiques Avancées

  • Architecture Technique 
    • Configuration et découverte des services, messagerie asynchrone, sécurité des services (A&A, OAuth2). 
    • Consistance des données : Golden Source, réplication, autonomie vs. autorité. 
    • Tolérance aux pannes et équilibrage de charge. 
    • Stateless vs stateful : Conséquences et gestion des sessions (stickiness, affinité). 
    • Logging, tracing et surveillance des systèmes : outils, alertes et bonnes pratiques. 
    • Reconciliation, migration des données et gestion des changements dans les systèmes. 
  • Test-Driven Architecture 
    • Utilisation de métriques et analyse statique pour la validation de l’architecture. 

Documentation et Communication en Architecture

  • L’importance de la documentation 
    • Techniques et astuces pour une documentation efficace. 
    • Living Documentation : Utilisation de l’Evergreen Overview Document et de la documentation interne avec annotations et conventions de codage. 
    • Diagrammes vivants générés à chaque build pour maintenir une documentation toujours à jour. 
  • Migration des systèmes existants 
    • Legacy Migration Patterns, extension par services fédérés, applications « strangler ». 
    • Lecture de modèle hérité et migration progressive vers une architecture plus moderne. 

Architecture et Domain-Driven Design (DDD)

  • Introduction aux concepts de DDD 
    • Aperçu des Bounded Contexts et du Context Mapping pour mieux comprendre les domaines d’application. 
    • Structures de DDD à grande échelle pour organiser et structurer les systèmes complexes. 

 

Méthodes Pédagogiques

Cette formation repose sur une approche mixte combinant théorie et pratique. Chaque session théorique est suivie d’exercices et d’études de cas pratiques qui permettent aux participants de mettre en œuvre immédiatement les concepts abordés. En outre, les outils et méthodes présentés sont directement applicables dans des environnements professionnels réels.

 

Pour plus d’informations ou pour vous inscrire, contactez Gate Training et lancez votre parcours vers l’excellence en architecture logicielle.

 

Réf:

015

Tarif:

600 Dt

Niveau:

Intermédiaire

Classe à distance:

Possible