SFEIR InstituteARCHILOG

Architecture Logicielle

Concevez des applications qui répondent aux uses cases métiers

2 jours / 14h

Présentation du cours

Ce cours s’adresse aux développeurs seniors qui souhaitent évoluer vers un poste d’architecte logiciel.

Au travers de ce cours vous apprendrez ce que sont les différents rôles d’architecte en entreprise et nous nous intéresserons en particulier au rôle d’architecte applicatif.

Vous apprendrez en partant du besoin de vos métiers et utilisateurs comment concevoir une application qui répond aux différents cas d’usage en prenant en compte le contexte dans lequel vous évoluez.

Objectifs pédagogiques

  • Comprendre le rôle d’architecte
  • Concevoir une architecture durable et évolutive
  • Avoir une vision claire des outils et méthodologies d’un architecte

Public cible

  • Développeur.se.s expérimenté.e.s souhaitant monter en compétence sur l’architecture logicielle.

Prérequis

  • Avoir une expérience significative dans le développement logiciel
  • Maîtriser un langage de programmation et un framework majeur (Java pour les exemples)
  • Avoir une culture générale du développement (langages, middleware, BDD, CI/CD)

Programme

Module 1 : Introduction

  • Les différents architectes en entreprise (SI)
  • Pourquoi une Arch applicative est un plus (convaincre de l’utilité)
  • Définir et comprendre le rôle de l’architecte applicatif en contexte agile
  • Du développeur à l’architecte

Ateliers:

  • Présentation du case study de la journée (entreprise fictive, contexte, difficultés, mission)

Module 2 : Qu’est ce que l’architecture

  • Comprendre le besoin de l’application
  • Concevoir une solution qui répond au besoin en fonction du contexte
  • Définir la responsabilité de son application
  • Introduction au DDD (domaines et vocabulaire)
  • Anticiper le futur
  • Formaliser une architecture

Ateliers:

  • Etude de l’application existante
  • Formalisation de la refonte de l’application:

Module 3 : Règles de conception

  • Solid
  • Design Patterns
  • Clean Code
  • Persistance
  • Performance
  • Observabilité

Ateliers:

  • Projet BadProject à améliorer sur Sonar ou en Mob. 

Module 4 : Usine logicielle

  • Versions (cohabitation de versions et stratégie branching)
  • Déploiement (AB, canary)
  • Gestion des configurations et secrets  
  • CI/CD
  • Environnements (dev jusqu’à prod)

Ateliers:

  • Etude d’une usine logicielle standard

Module 5 : Qualité logicielle

  • Stratégie de tests (TDD, BDD)
  • TU/TI/E2E (Pyramide de test)
  • Revue de code
  • Documentation de l’application
  • Archunit : conservation du découpage sur long terme

Ateliers:

  • Optionnel : archunit

Module 6 : Sécurité

  • RGPD
  • Authentification (basic, oauth, openID)
  • Rate limiting
  • RBAC : Limitation des accès 

Ateliers:

  • Quizz RGPD

Module 7 : Documentation / process

  • Rituels et bonnes pratiques d’équipe (agilité, amélioration continue) 
  • Architecture Decision Record (ADR)
  • Partage de connaissances / communication (docAsCode, Jira, canaux de communication)

Ateliers:

  • Atelier DocAsCode Antora.

Nos sessions de formations

Lieu de formation :
Dates
18/11/24 Distanciel S'inscrire
16/12/24 Distanciel S'inscrire

Ce cours vous intéresse ?

Lieu de formation :
Dates
18/11/24
Distanciel S'inscrire
16/12/24
Distanciel S'inscrire
1
Inter : 1400 € HT / participant

Aide au financement

Organiser une session de Groupe
Demandez un devis
Organiser une session dédiée
à votre organisation
Votre société à besoin d'une offre
personnalisée ? Contactez-nous