Formation Architecture Logicielle
Concevez des applications qui répondent aux uses cases métiers
Informations générales
Objectifs
Après ce cours, vous serez capable de :
- Identifier le rôle d’architecte
- Concevoir une architecture durable et évolutive
- Avoir une vision claire des outils et méthodologies d’un architecte
Prérequis
Pour suivre ce cours, vous devez déjà posséder les connaissances suivantes :
- 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)
Public
Ce cours s'adresse avant tout aux personnes suivantes :
- Développeur.se.s expérimenté.e.s souhaitant monter en compétence sur l’architecture logicielle.
Programme de la formation
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.
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
- Présentation du case study de la journée (entreprise fictive, contexte, difficultés, mission)
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
- Etude de l’application existante
- Formalisation de la refonte de l’application:
Règles de conception
- Solid
- Design Patterns
- Clean Code
- Persistance
- Performance
- Observabilité
- Projet BadProject à améliorer sur Sonar ou en Mob.
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)
- Etude d’une usine logicielle standard
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
- Optionnel : archunit
Sécurité
- RGPD
- Authentification (basic, oauth, openID)
- Rate limiting
- RBAC : Limitation des accès
- Quizz RGPD
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)
- Atelier DocAsCode Antora.
Méthode pédagogique
Chaque participant travaille sur un poste informatique qui lui est dédié. Un support de cours lui est remis soit en début soit en fin de cours. La théorie est complétée par des cas pratiques ou exercices corrigés et discutés avec le formateur. Le formateur projette une présentation pour animer la formation et reste disponible pour répondre à toutes les questions.
Méthode d'évaluation
Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.
Suivre cette formation à distance
- Un ordinateur avec webcam, micro, haut-parleur et un navigateur (de préférence Chrome ou Firefox). Un casque n'est pas nécessaire suivant l'environnement.
- Une connexion Internet de type ADSL ou supérieure. Attention, une connexion Internet ne permettant pas, par exemple, de recevoir la télévision par Internet, ne sera pas suffisante, cela engendrera des déconnexions intempestives du stagiaire et dérangera toute la classe.
- Privilégier une connexion filaire plutôt que le Wifi.
- Avoir accès au poste depuis lequel vous suivrez le cours à distance au moins 2 jours avant la formation pour effectuer les tests de connexion préalables.
- Votre numéro de téléphone portable (pour l'envoi du mot de passe d'accès aux supports de cours et pour une messagerie instantanée autre que celle intégrée à la classe virtuelle).
- Selon la formation, une configuration spécifique de votre machine peut être attendue, merci de nous contacter.
- Pour les formations incluant le passage d'une certification la dernière journée, un voucher vous est fourni pour passer l'examen en ligne.
- Pour les formations logiciel (Adobe, Microsoft Office...), il est nécessaire d'avoir le logiciel installé sur votre machine, nous ne fournissons pas de licence ou de version test.
- Horaires identiques au présentiel.
Mis à jour le 23/01/2024