Génie Logiciel et Architecture Cloud Native
Description
Ce cours est articulé sur la compréhension en profondeur du processus de développement logiciel de façon qu'un auditeur puisse se couler sans difficulté dans les différentes techniques et méthodes qu'il rencontrera dans sa vie professionnelle.
Il couvre l’ensemble du cycle de vie d’un produit logiciel, depuis l’expression du besoin jusqu’à son exploitation en environnement Cloud, en intégrant les dimensions architecturales, organisationnelles et opérationnelles. L’objectif est de permettre aux étudiants de maîtriser les pratiques actuelles du génie logiciel.
Cette UE est organisée selon le cycle de vie d’un produit logiciel moderne :
- De l’idée au produit (Engineering & Pilotage) : Importance et rôle du génie logiciel dans l’industrie, les cycles de vie (cascade, V, itératif, agile), la gestion de projet IT, Scrum + Agilité à l’échelle
- Concevoir pour durer (Architecture & Design) : Architecture logicielle et conception orientée qualité dans les systèmes distribués modernes. Rôle et responsabilités de l’architecte logiciel. Styles architecturaux modernes, Architecture Cloud Native.
- Cloud Native Engineering : Approche, intérêt, Cloud privée, Cloud publique, Cloud hybride, modèles de déploiement IaaS, PaaS et SaaS, gouvernance, aspects financiers, move to cloud, sécurité, FinOps (coûts).
- Aspect technologique avec la virtualisation, l'approche conteneur avec Docker et leur orchestration avec Kubernetes ainsi que l'architecture sous-jacente, le Datacenter. Les différents notions, machine virtuelle, mise à l’échelle, Load Balancing, IoT seront présentées à travers le Cloud public Microsoft Azure.
- Travaux pratiques sur Docker et Kubernetes pour mettre en œuvre des conteneurs et orchestrer des applications.
- Construire et industrialiser (DevOps). La gestion de configuration/version avec Git/GitHub, l'approche CI/CD intégration continue / déploiement continue, les modèles de déploiement. Concepts de sécurité intégrée.
Il sera souligné l'importance de l'architecture et des concepts architecturaux. Une attention sera portée à la prise en compte des aspects non fonctionnels du logiciel dans leur développement.
A ces modules, pour compléter le panorama, s'ajoutent un module de sensibilisation : Exploiter et maintenir (Qualité & Observabilité), concernant l'assurance qualité logicielle. Concept transverse indispensable à prendre en compte dans tous les projets informatiques.
Finalité
Cette UE est destinée à donner un panorama complet des principales techniques et méthodes de base permettant de mettre en oeuvre et de déployer des logiciels dont le principe est qu'ils fonctionnent correctement conformément aux besoins de ses utilisateurs.
Compétences visées
Maîtriser le cycle de vie complet d’un logiciel et appliquer les bonnes pratiques du génie logiciel pour produire, déployer et maintenir des logiciels de qualité.
Description des modalités d'évaluation
Examen 3h.
Prérequis
Pour tirer le meilleur parti de ce cours il est souhaitable de connaître les connaissances de base en informatique, dispensées en L1, L2.
Une connaissance générale, acquise dans d'autres cours ou dans la pratique, de la programmation, des systèmes d'exploitation et de l'architecture sera un plus.
- Nombre d’ECTS
- 6
- Durée en nombre d'heures
- 60.00
- Type de notation
- Notation chiffrée (sur 20)
- Moyenne pour valider l'UE
- 10.00
- Modalité(s) d'évaluation
- Examen final
- Année de création
- 2017
- Date de début de validité
- Date de fin de validité
- Déployabilité
- Offre déployable dans le réseau en cas d'agrément
- Examen national
- Oui
Le certificateur est le Cnam
- Diplôme d'ingénieur Spécialité informatique parcours Architecture et ingénierie des systèmes et logiciels (AISL) (AISL)
- Diplôme d'ingénieur Spécialité informatique parcours Cybersécurité
- Diplôme d'ingénieur Spécialité informatique parcours Expérience interactive (EI)
- Diplôme d'ingénieur Spécialité informatique parcours Informatique, réseaux et systèmes mobiles
- Diplôme d'ingénieur Spécialité informatique parcours Intelligence Artificielle et Optimisation
- Diplôme d'ingénieur Spécialité informatique parcours Systèmes d'information et business Intelligence
- Licence professionnelle Métiers de l'informatique : conception, développement et test de logiciels parcours Chef de Projet Développement, Sécurité et Exploitation en HTT
- Licence Sciences technologies santé mention informatique parcours Informatique générale
- Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Cybersécurité
- Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes d'information
- Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes et réseaux
Cette unité fait partie du/des bloc(s) de compétences suivant(s).