Recherche avancée
Par formation
Par date
Par ville
logo HUB Formation
Organisme de Formation
aux Technologies et métiers de L'informatique
La pédagogie au service de la technologie
Accueil > Domaines > Automatisation > Mise en oeuvre de l'Usine Logicielle (Cas PHP et Java)

Mise en oeuvre de l'Usine Logicielle (Cas PHP et Java)

php

L'intégration continue (ou Usine Logicielle) est un ensemble de pratiques issues du génie logiciel qui participent à l'industrialisation des développements. Ces pratiques doivent être appliquées par l'ensemble des membres de l'équipe d'un projet informatique. Néanmoins, le développeur est considéré comme l'acteur principal. A chaque modification du code source, le développeur doit s'assurer que ces modifications n'ont pas introduit de régression afin de limiter les coûts de correction. C'est ainsi que l'intégration continue vise à garantir la qualité et la fluidité du cycle de développement à travers un ensemble d'outils constituant l'usine logicielle.

Objectifs

  • Comprendre et maîtriser les principes de l'Intégration Continue
  • Comprendre la notion de build et l'utilité de gestionnaire de contrôle des versions
  • Savoir automatiser la production logicielle
  • Mette en place un serveur d'Intégration Continue
  • Configurer un projet sur un serveur d'intégration continue

Public

  • Chef de projet, Développeurs, DSI

Prérequis

  • Connaissance en cycle de développement et la gestion de version
  • Avoir une bonne connaissance en Java ou PHP est un plus.

Programme de la formation

Introduction

  • Les étapes du cycle de vie logiciel
  • Les types de test dans un Projet de développement
  • Les principes de l'intégration continue
  • Les prérequis
  • Les différents outils de l'intégration continue
  • Mise en place de l'environnement d'intégration continue

Le gestionnaire de contrôle de version

  • Les fonctionnalités
  • Les différents gestionnaires de sources. (SVN, Github)
  • Les problématiques d'intégration des changements

L'automatisation des builds

  • Qu'est-ce que la construction d'un logiciel
  • Différents types de builds
  • Travis, Jenkins et Maven

Gestion des livrables avec archiva

  • Stratégie de mise à disposition du résultat construit
  • Notion de dépôt d'artefacts
  • Les principaux outils de gestion de dépôt d'artefacts: Nexus, Artifactory et Archiva
  • Problématique de traçabilité du résultat et des informations de build

L'automatisation des tests

  • Les différents types de tests (tests unitaires, tests d'intégration, tests d'acceptation, tests de performance)
  • Les outils de test (PHPUnit, Junit, Jmeter, Selenium …)
  • Automatisation des tests
  • Configuration des rapports
  • Les environnements de tests
  • La mise en œuvre de l'automatisation des tests

Le serveur d'intégration continue JENKINS

  • Le rôle du serveur d'intégration continue.
  • Les grandes fonctionnalités.
  • Les plugins les plus utilisés
  • Gestion des autorisations et des rôles
  • Gestion de l'espace disque
  • Monitoring

Gestion de la qualité du code avec SonarQube : la mise en place des métriques

  • Les outils d'analyse et de reporting (Checkstyle, Findbugs, PMD…)
  • La génération de rapports d'analyse
  • Configuration de SonarQube
  • La publication des résultats dans SonarQube
  • La publication des résultats dans Jenkins

Communication

  • Indicateurs de visibilité du résultat construit
  • Statut, Santé et tendance
  • Savoir réagir
  • Communication avec des outils externes
  • Notification par email et flux RSS