Objectifs
Objectifs visés:
- Communiquer avec des clients et comprendre les enjeux du projet
- Coordonner une équipe de développement
- Concevoir les différents éléments d’un système d’information
- Evaluer la portée d’un projet
- Analyser une architecture logicielle existante
- Valider de nouvelles solutions architecturales sécurisées et performantes
- Gérer l’implémentation et la livraison exploitable
Public visé
Titulaires de niveau 6 - BAC+4 en informatique ou personne en reconversion ayant une expérience équivalente.
Programme
ANALYSER ET MODELISER DES ARCHITECTURES LOGICIELLES
- Modéliser une architecture en se basant sur les designs patterns
- Savoir concevoir une architecture orientée domaine (Domain driven design)
- Mettre en œuvre des architectures multi-threadées ou asynchrone
- Savoir modéliser des architectures en microservices
- Comprendre les architectures CQRS, event-driven et réactives avec Kafka
- Savoir créer des applications en Clean Architecture et hexagonales
- Modéliser des architectures serverless
- Choisir les bases de données SQL ou NoSQL les plus adaptées
- Mettre en oeuvre des applications avec les protocoles HTTP2/HTTP3 ou gRPC
MODERNISER ET EXPLOITER UNE ARCHITECTURE EXISTANTE
- Analyser un système pour l’améliorer grâce à la supervision (Grafana/Elasticsearch, …)
- Faire évoluer les bases de données par la scalabilité horizontale et les nouveaux outils NoSQL et NewSQL
- Normaliser les échanges entre les applications grâce aux Gateways, services mesh et la centralisation de la sécurité
- Faire évoluer les applications vers des systèmes scalables, résilients et élastiques
- Mettre en place des outils Big Data pour les traitements complexes
- Intégrer des solutions IA
- Faire évoluer les applications vers des plateformes Cloud
METTRE EN OEUVRE LE TEST ET L’INTEGRATION CONTINUE : DEVOPS
- Savoir mettre en place les tests d’acceptation avec l’ATDD
- Automatiser les tests fonctionnels avec le behavior-driven development
- Améliorer la qualité du code avec le TDD (Chicago/London Style)
- Automatiser les livraisons avec Docker et/ou la virtualisation
- Automatiser les déploiements avec Openshift, Kubernetes, Vagrant, Ansible et Terraform
COMPETENCES TRANSVERSES
- Organiser sa veille et se former
- Conduire un projet informatique
- Manager, communiquer et collaborer