- Cours pratique
- FSE
- Informatique
Formation Usine Logicielle et Livraison Continue : Mise en oeuvre
Build, Tests, Intégration continue, Mise en production

- Durée
- 4 jours
- Niveau
- Intermédiaire
- Modalités
- Distanciel
Objectifs pédagogiques
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.
Programme
Contenu du cours, module par module
5 modules
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 :
Création de branches de développement et de branches de features
- 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 :
Construction back-end Java ou front-end JavaScript
Commentaires des fichiers produits : classes compilées, résultats des tests
Publication des snapshots dans Nexus
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
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
Les tests fonctionnels
- L’approche boîte noire des tests fonctionnels
- Clients Web et clients JavaScript
- Exemple de Selenium, Protractor, JMeter
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 3 :
Exécution dans l’IDE (jUnit ou Karma/Jasmine) et exécution par l’outil de construction
Atelier 4 :
Exécution par l’outil de construction
Atelier 5 :
Atelier 6 :
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
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 7 :
Atelier 8 :
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
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
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
Retours utilisateurs
- Outils de suivi des utilisateurs
- Gestion des retours utilisateurs
- Outils d’animation 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.
Atelier 9 :
Atelier 10 :
Atelier/Démonstration :
Atelier/Démonstration :
Travaux pratiques
Un projet quasiment complet sert de support aux ateliers. À chaque atelier, les participants doivent comprendre le code fourni et 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 participant dans son contexte professionnel.
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.
Programme mis à jour le 18/02/2026
Public concerné
Les profils visés pour cette formation sont les architectes, chefs de projets, développeurs.

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.
J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant le test de prérequis.
Faire le testFinancement
Cette formation peut être prise en charge par votre entreprise, seule ou avec l’appui de son opérateur de compétences. Nous fournissons le devis et les pièces attendues par l’OPCO.
4/5
3 avis
« Mon avis sur le formateur : "Taher est très méthodique et s'assure que nous suivons. On était comme en présentiel" Ce que j'ai le plus apprécié : "Le formateur se connecte souvent sur nos VM pour nous dépanner" Ce que j'ai le moins apprécié : "Quelques beugs avec la machine virtuelles guacamole" »
OUATTARA FousseniGIRC AGIRC ARRCO « Mon avis sur le contenu du stage : "RAS" Mon avis sur le formateur : "RAS" Ce que j'ai le plus apprécié : "Connaissances techniques du formateur." Ce que j'ai le moins apprécié : "RAS" »
BH
Les avis figurant ci-dessus sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.
Formations liées
- Développer des pipelines CI/CD avec Jenkins Réf. JENG3 joursIntermédiaireProchaine session : 26 oct.2 090 €
- Gérer vos tests logiciels avec XrayRéf. XRAY2 joursFondamentalProchaine session : 15 oct.1 590 €
- GIT : Fonctionnalités AvancéesRéf. GITA1 jourIntermédiaireProchaine session : 16 déc.950 €
- GIT : Gestion des sources avec GITRéf. OGIT2 joursFondamentalProchaine session : 15 oct.1 590 €