Formation Usine Logicielle et Livraison Continue : Mise en oeuvre

Public admis

  • Salarié en Poste
  • Demandeur d'emploi
  • Entreprise
  • Etudiant

Financements

Eligible CPF Votre OPCO Financement personnel

Objectifs de la formation

Industrialiser la production logicielle, c’est définir précisément le cycle de vie d’un projet et les outils nécessaires à l’automatisation.
Le monde de l’Open Source s’est depuis longtemps équipé d’outils et de méthodes afin de fournir les logiciels de qualité que l’on voit se répandre dans nos entreprises.
Quels que soient les technologies, langages ou frameworks, les différentes étapes et les outils associés sont similaires :

  • Les outils de gestion des sources et de collaboration, directement intégrés dans les IDE, permettent la collaboration au sein des équipes de développement quelquefois géo-dispersées
  • Les outils de construction permettent d’automatiser et d’uniformiser le processus de fabrication à partir des sources du projet
  • Les outils de gestion de dépendances et d’artefacts permettent de contrôler le processus de release d’un logiciel.

La chaîne de production complète doit être testée en continu. C’est le principe de l’intégration continue qui, dans son essence, lance le processus de construction du logiciel à chaque ajout ou modification de code source effectué par un développeur.
Enfin, la qualité de la production doit également être évaluée en permanence. Les différents types de tests d’un logiciel doivent être automatisés et des outils d’analyse de code doivent extraire les métriques qualité du logiciel.

À la fin de la formation, les participants auront une vision claire du cycle de production du logiciel, des prérequis et outils nécessaires à l’automatisation de la production. Ils auront également eu une présentation et une première utilisation des outils Open Source les plus répandus, aussi bien dans le contexte de projet communautaire que de projet d’entreprise.
Le premier jour, les participants sont sensibilisés à la problématique d’industrialisation du développement logiciel. Les outils socles que sont les systèmes de gestion de version et les outils de construction sont présentés. Des ateliers sont effectués avec Git et Maven.
Le deuxième jour est consacré exclusivement aux tests. Les différents types de tests et leurs rôles dans les étapes de construction sont présentés. Des petits ateliers permettent aux participants d’appréhender les outils utilisés pour chaque type de test.
Le troisième jour est dédié à l’intégration continue et à la qualité, et plus particulièrement aux outils Open Source Jenkins et Sonar. Un pipeline de construction comprenant la compilation, les différents types de test et l’analyse qualité est mis en place avec Jenkins.
Le dernier jour se concentre sur le processus de release pour une première version ou une mise à jour de logiciel. Le pipeline précédent est complété par une phase de release incluant les interactions avec le dépôt Git, les sources gérées par Maven et un dépôt d’artefact géré par Nexus. Des ateliers / démonstrations sur les outils de gestion de bugs complètent la formation. Un workflow de traitement d’incident et de mise en production par le pipeline est joué intégralement.

À l'issue de cette formation les participants auront acquis :

  • Une vision claire de tous les outils prenant part à la mise en place d’une usine logicielle
  • Une connaissance approfondie des outils les plus utilisés pour les usines logicielles : Git, Maven, npm, JUnit, Jenkins
  • Une compréhension des différents types de tests appliqués aux logiciels, de leurs rôles et de leurs acteurs
  • Une compréhension des modèles qualité appliqués au logiciel et des métriques associées
  • Une bonne compréhension du processus de release d’un logiciel.

Un projet complet sert de fil conducteur pour illustrer le propos et pour alimenter les ateliers effectués par les participants.

PLB CONSULTANT


Informatique et Management
Voir la fiche entreprise

Tarif

A partir de 2 490,00 €

Durée 4 jours (28h)
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

PLB CONSULTANT


Informatique et Management
Voir la fiche

Tarif

A partir de 2 490,00 €

Durée 4 jours (28h)
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

Programme

Jour 1 : SCM et Outils de build

Introduction

Le concept de l’usine logicielle
Cycle de vie d’un projet : de la spécification à la production
Les principes et apports de l’intégration continue
Relations avec les méthodes agiles, avec DevOps

Particularités d’un projet Open Source

Principes des logiciels Open Source, mode de développement, types de licences
Facteurs de réussite d’un projet Open Source
Création de communautés, Outils de communication (blogs, Wikis, Tweets, SlideShare)
Importance de la documentation

Le socle transverse, l’outil de SCM

Les outils de gestion de sources : rôles et apports
La solution Git est ses particularités
Modèles de collaboration Gitflow et Fork. Leur contexte d’utilisation
Les outils les plus répandus : GitLab et GitHub

Atelier 1 :

Initialisation d’un dépôt
Création de branches de développement et de branches de features

Les outils de construction et les gestionnaires d’artefacts

Les phases classiques de la construction, compilation, test unitaires, packaging
Les phases annexes : génération de code, optimisation, documentation, tests d’intégration, analyse de code
Gestion des dépendances projet, gestionnaires d’artefacts, les dépôts publics et les dépôts d’entreprise
Modèle Maven et pom.xml ; Modèle npm et package.json
Les autres outils Ant, Gradle, Ivy, MSBuild, Composer, Yarn
Mise en place d’un dépôt d’entreprise avec Nexus

Atelier 2 :

Adaptation d’un cycle de build (Maven ou Yarn)
Construction back-end Java ou front-end JavaScript
Commentaires des fichiers produits : classes compilées, résultats des tests
Publication des snapshots dans Nexus

Jour 2 : Les Tests Logiciels

Introduction

Typologie des tests, types de tests et phases de construction
Les méthodes centrées sur les tests. Principes de l’XP Programming

Les tests unitaires

Principes du test unitaire, Les outils xUnit
Assertions, Matchers
Données de test, méthodes de call-back setUp et tearDown
Isolation de classes, Mocking et Stub, Pattern IoC et injection de dépendances

Atelier 3 :

Écriture d’une classe de test
Exécution dans l’IDE (jUnit ou Karma/Jasmine) et exécution par l’outil de construction

Les tests d’intégration

Principes du test d’intégration
Les systèmes embarqués (bases de données et serveurs)
Problématique de déploiement, l’exemple d’Arquilian

Atelier 4 :

Écriture d’une classe de tests d’intégration et intégration dans le cycle de construction
Exécution par l’outil de construction

Les tests fonctionnels

L’approche boîte noire des tests fonctionnels
Clients Web et clients JavaScript
Exemple de Selenium, Protractor, JMeter

Atelier 5 :

Tests de l’API Rest via JMeter, Tests de l’interface par Protractor

Phase de recette et tests d’acceptance

Objectifs des tests d’acceptance, le BDD
Rôle du client dans les tests d’acceptance, tests d’acceptance et méthodes agiles
L’exemple de Cucumber

Atelier 6 :

Mise en place d’un test d’acceptance

Jour 3 : L’intégration continue

Introduction

Principes de l’intégration continue, le serveur d’intégration continue
Le serveur comme outil de communication
Les étapes de mise en place
Provisionnement de ressources et relation avec les outils DevOps
La référence Jenkins, les autres outils

Le serveur Jenkins

Principes de plugins
Intégration avec GitHub, GitLab
Répartition des responsabilités avec Nexus, SonarQube
Les différents types de jobs
Enchaînement des jobs, passages de paramètres, jobs multi-configuration, récupération d’artefacts
Architecture maître/esclave et distribution des jobs

Atelier 7 :

Configuration système Jenkins et outils associés, Création de jobs

Analyse continue de la qualité

Métriques internes / métriques externes
Facteurs de qualité et métriques standards
La plateforme SonarQube
Tests de performance avec JMeter
Intégration dans Jenkins

Atelier 8 :

Configuration Sonar, Intégration de l’analyse, Création de jobs

Jour 4 : La mise en production

Release d’un logiciel

Numérotation des versions, gestion des tags
Branche de préparation de release
Publication des artefacts
Automatisation des releases avec Git/Maven/Nexus

Atelier 9 :

Automatisation du processus de release

Pipeline de déploiement

Déploiement continu et approche DevOps
Les pipelines appliqués aux branches GitFlow
Phase de promotion manuelle dans les pipelines
Tests post-déploiement

Atelier 10 :

Pipeline complet de déploiement Jenkins avec promotion manuelle

Révision de produit

Outils de suivi des bugs (Bugzilla, Trac, Jira)
Workflows de traitement
Revue de code avec Git
Gestion de backlog et de milestones

Atelier/Démonstration :

Workflow de traitement d’un ticket

Retours utilisateurs

Outils de suivi des utilisateurs
Gestion des retours utilisateurs
Outils d’animation de communauté

Atelier/Démonstration :

Produits de suivi de communauté

Étude de cas

Un projet quasiment complet sert de support aux ateliers. À chaque atelier, il est demandé aux participants de comprendre le code fourni et de le compléter afin d’atteindre l’objectif de l’énoncé. Cette méthodologie favorise une compréhension en profondeur de l’implémentation fournie dans un délai relativement court.
À la fin de chaque atelier, la correction complète est commentée. Le projet corrigé dans son intégralité peut alors servir de référence lors du retour du stagiaire dans son contexte professionnel.
Fonctionnellement, le projet propose une plateforme d’échange de fichiers entre membres d’une communauté. Il est composé d’un back-end REST Java (SpringBoot) et d’un front-end JavaScript (Angular 4). Les participants peuvent alors choisir la technologie dans laquelle ils sont les plus à l’aise lors des ateliers.

Prérequis

Pour suivre ce cours, il est demandé d'avoir exercé une activité de développement, d’intégration ou d’exploitation dans un contexte de projet d’entreprise.

Public

Les profils visés pour cette formation sont les architectes, chefs de projets, développeurs.

Ces formations pourraient vous intéresser

Objectifs de la formation

Connaître l'architecture et les principes du serveur d'applications WebSphere. Savoir concevoir, développer, et déployer une application.

Tarif

Contacter l'organisme

Durée

5j / 35h

Modes
  • Centre
  • Entreprise
  • Distance

La Relation Client - Initiation

Proposé par GROUPE LEXOM

Objectifs de la formation

  • Mettre en oeuvre un climat de confiance
  • Développer l'écoute et la communication
  • Gérer les situations délicates
Tarif

A partir de 1 390,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

A l'issue de cette formation, vous serez capable de :

  • Mettre en oeuvre XPress
  • Paramétrer les documents
  • Gérer les blocs texte et image
  • Importer et modifier des images
  • Importer, cloner, formater et césurer le texte
  • Mettre en oeuvre les attributs graphiques et les impressions.
Tarif

Contacter l'organisme

Durée

5j / 35h

Modes
  • Centre
  • Distance

Langage SQL avancé

Proposé par M2I

Objectifs de la formation

A l'issue de cette formation, vous serez capable de :

  • Décrire de manière approfondie les techniques du langage SQL afin de mieux tirer profit des possibilités du langage
  • Expliquer le fonctionnement interne des requêtes
  • Gérer des requêtes imbriquées, et décrire les impacts
  • Prendre en main le tuning de requêtes existantes
  • Décrire les fonctions analytiques avancées, les agrégats, les fonctions cryptographiques...
  • Comparer avec une vision complète, les capacités et limites du SQL.
Tarif

A partir de 1 520,00 €

Durée

2j / 14h

Modes
  • Centre
  • Distance

Objectifs de la formation

  • Mettre en oeuvre un site web avec Wordpress
  • Identifier les impératifs liés à la sécurité
  • Faire vivre le site au quotidien
Tarif

A partir de 1 390,00 €

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

A l'issue de cette formation, vous serez capable de :

  • Décrire les principes et les bénéfices du mouvement DevOps
  • Reconnaître les enjeux du DevOps dans une organisation
  • Identifier les éléments constitutifs d'une usine logicielle DevOps
  • Enumérer les principaux outils de gestion de configuration
  • Identifier les étapes de mise en oeuvre de la démarche, incluant l'anticipation des risques.
Tarif

A partir de 1 720,00 €

Durée

2j / 14h

Modes
  • Centre
  • Distance

Objectifs de la formation

A l'issue de cette formation, vous serez capable de :

  • Analyser les enjeux de la prise de parole en public
  • Identifier les techniques de préparation mentale et physique pour transformer le trac en force
  • Planifier la préparation de votre intervention en déterminant vos objectifs et l'idée forte à transmettre
  • Adapter votre discours en fonction des attentes et du profil de l'auditoire pour orienter le sens de votre propos
  • Utiliser des exemples et des illustrations pertinents pour rendre votre propos visuel et concret
  • Développer vos compétences de storyteller pour captiver l'attention de l'auditoire
  • Tester de nouvelles manières de prendre la parole pour trouver votre profil d'orateur
  • Utiliser votre paraverbal et non-verbal pour convaincre et susciter l'intérêt
  • Gérer les situations délicates de communication en traitant et en utilisant les objections pour rebondir dessus
  • Développer votre pouvoir d'influence en utilisant des métaphores et en citant votre expérience personnelle aux moments opportuns.
Tarif

A partir de 1 380,00 €

Durée

2j / 14h

Modes
  • Centre
  • Distance

Objectifs de la formation

Concrètement, à l'issue de cette formation Administration Sharepoint 2019 vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Concevoir une architecture d'information pour un déploiement SharePoint
  • Comprendre l'architecture logique pour un déploiement SharePoint
  • Assimiler l'architecture physique pour un déploiement SharePoint
  • Installer et configurer SharePoint
  • Créer et configurer des applications Web et des collections de sites
  • Planifier et configurer les applications de service pour un déploiement SharePoint
  • Gérer les utilisateurs et les permissions, ainsi que sécuriser le contenu dans un déploiement SharePoint
  • Configurer l'authentification dans un déploiement SharePoint
  • Paramétrer la plateforme et la sécurité au niveau de la ferme dans un déploiement SharePoint
  • Gérer la taxonomie de l'information dans les applications Web SharePoint et les collections de sites
  • Configurer et gérer les profils d'utilisateurs et les audiences
  • Paramétrer et gérer l'expérience de recherche dans SharePoint
  • Surveiller, maintenir et dépanner un déploiement SharePoint
Tarif

A partir de 2 680,00 €

Durée

4j / 28h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Pendant la formation, le formateur évalue la progression pédagogique des participants via des QCM, des mises en situation et des travaux pratiques. Les participants passent un test de positionnement avant et après la formation pour valider leurs compétences acquises.
Tarif

Contacter l'organisme

Durée

2 jours (14 heures)

Modes
  • Entreprise
  • Distance
  • Centre

Objectifs de la formation

  • Pendant la formation, le formateur évalue la progression pédagogique des participants via des QCM, des mises en situation et des travaux pratiques. Les participants passent un test de positionnement avant et après la formation pour valider leurs compétences acquises.
Tarif

Contacter l'organisme

Durée

5 jours (35 heures)

Modes
  • Entreprise
  • Distance
  • Centre

Je cherche à faire...