Formation

Architecture logicielle - de la conception à l'architecture

Paris - 18-19 mars

1 600€ HT / personne (1 920€ TTC)

2 jours

Lyon - 15-16 avril

1 600€ HT / personne (1 920€ TTC)

2 jours

Objectifs

Cette formation va vous permettre d’acquérir les fondamentaux de l’architecture logicielle dans un monde Agile, comprendre la différence entre le rôle d’architecte et l’activité d’architecture.

  • Disposer des compétences fondamentales de conception logicielle
  • Construire des architectures qui répondent aux enjeux métier, client et SI
  • Savoir qualifier une architecture logicielle
  • Disposer des outils pour documenter et partager son architecture
  • Comprendre les enjeux des débats actuels sur les choix d’architecture

Par alternance d'exposés théoriques et d'études de cas pratiques sur lesquels porteront des exercices de conception logicielle, cette formation vous invite à découvrir les activités, pratique et outils relevant de l'architecture logicielle et permettra aux participants d'affiner leur compréhension du rôle et des différentes postures d'architecte logiciel.

  • Théorie : 35%
  • Pratique : 45%
  • Échanges : 20%

Acquis à l'issue de la formation

A l’issue de cette formation, vous aurez des bases solides en Architecture Logicielle :

  • Comprendre l'importance de la démarche de construction d'une architecture logicielle
  • Disposer de la connaissance des principaux patterns d'une architecture moderne
  • Savoir analyser les besoins d'un client
  • Concevoir et mettre en oeuvre une architecture logicielle

Public concerné et pré-requis

Cette formation vise des profils avec background technique disposant déjà de quelques années d'expérience sur des projets de développement :

  • Développeur expérimenté
  • Architecte logiciel junior

Les participants devront être équipés d’un PC (non fourni).

Evaluation

En début de formation, une autoévaluation est effectuée pour évaluer le niveau, ainsi que les attentes de chaque participant. Ainsi nous pouvons organiser au mieux les différents groupes de travail.
Par la suite, le formateur effectue une évaluation continue à l'aide des nombreux exercices pratiques.
En fin de formation, la progression et les acquis sont autoévalués par chacun des participants. Le formateur fournit à chacun des participants une évaluation, ainsi que les axes d'amélioration.
En option, un accompagnement postformation peut être effectué. Cela fera l'objet d'un devis complémentaire.

Programme

  • 1ère demi-journée
    • Chapitre 1 : Démystification de l'architecture logicielle moderne
      • Au coeur de la transformation digitale
      • La compréhension de l’activité métier
      • Des architectures logicielles pour différents types d’applications : Web App, Web API, Mobile, Console, Service, Desktop
      • L’importance de la modélisation
      • Architecture & Agilité
      • Organisation des équipes: manoeuvre inversée de Conway & Team Topologies
    • Exercices pratiques : Customer Journey Map
    • Chapitre 2 : Démarche d’architecture et de conception
      • Enjeux d’un système
      • Conception collaborative
      • Méthodes d’analyse
      • Exigences fonctionnelles et non fonctionnelles (NFR)
      • Principaux attributs de qualité : Performance, Scalability, Tolérance aux pannes, Haute disponibilité et Sécurité
      • Documenter son architecture et les décisions d’architecture
      • Gestion des étapes d’évolution de l’architecture
    • Exercices pratiques : Sketching, DFD, ERD, ADR
  • 2ème demi-journée
    • Chapitre 3 : Styles et Patterns d'architecture logicielle
      • Component-based
      • Service-oriented (SOA)
      • Microservices
      • Microkernel
      • Client-server
      • Event-driven (EDA)
      • REST
      • CQRS
    • Exercices pratiques : System Design
    • Chapitre 4 : Architecture & Domain Driven Design (DDD)
      • Ubiquitous Language
      • Bounded Contexts et heuristiques d’identification
      • Classification des contextes pour aligner les investissements et les décisions
      • Context Mapping
    • Exercices pratiques : Event Storming, Core Domain Charts
  • 3ème demi-journée
    • Chapitre 5 : Principaux patterns de conception orientés Composant Objet
      • SOLID
      • KISS
      • DDD Building Blocks: Value Object, Entity, Repository, Domain Service, Application Service & Infrastructure Service
      • Command Query Separation (CQS)
      • Event
      • Aggregate
    • Exercices pratiques: Java OOP
    • Chapitre 6 : Au coeur de l'Hexagonal Architecture
      • Ports & Adapters
      • Couche applicative
      • Stratégies de mapping des données
      • Command Bus & Query Bus
    • Exercices pratiques : Cas réel en Java
  • 4ème demi-journée
    • Chapitre 7 : Architecture des données
      • La donnée au centre de l’architecture
      • Gestion de la persistance des données : ORM et Agrégats
      • Cas d’usage des bases de données NoSQL
      • ACID vs CAP
      • Event vs State : EventSourcing
      • Les données de référence
      • Intégration des données
      • Gestion de l’évolution du schéma des données
      • Traitements des données en masse
    • Exercices pratiques : Data Design
    • Chapitre 8 : Gestion de la sécurité
      • Modalité d’accès
      • Sécurisation des APIs Web
      • Sécurité de la donnée
      • Conformité RGPD
      • Principaux outils

Formateur / Formatrice

Grégory Boissinot
Grégory Boissinot

Grégory aime voir le domaine de l'informatique sous différents angles (conseil, génie logiciel, vision d'entreprise). Il intervient auprès des entreprises pour façonner l'architecture des produits et voir comment cela se concrétise.

Et il partage son savoir et son expérience en tant qu'enseignant dans des universités et écoles d'ingénieur.

Grégory a précédemment occupé les postes de consultant, de directeur technique de sociétés de conseil et de formateur sur des langages de programmation, des middlewares, l'univers DevOps, la conception logicielle et les architectures de données.

Témoignages

Excellente formation, que ce soit sur le fond ou la forme. Le formateur ainsi que l'équipe d'HackYourJob se sont montrés très réactifs et disponibles. Je ne peux que recommander !

Pierre S.