Stratégie open source (OPEN SOURCE PROGRAMME OFFICE)
5-076
Besoin d’adapter cette formation à vos besoins ?
N’hésitez pas à nous contacter afin d’obtenir un devis sur mesure !
Formation créée le 09/12/2024. Dernière mise à jour le 07/03/2025.
Version du programme : 1
Programme de la formation Version PDF
Support aux équipes de développement, une usine logicielle rassemble les services : IDE, versioning, tests divers, déploiement, build. Cette formation présente la mise en œuvre d'une telle Usine à l'aide des logiciels Open Source les plus connus du domaine : GIT, JUnit, JMeter, Maven, Jenkins... Cette formation a pour but d'amener les apprenants à un niveau SAME "Maîtrise" et d'enrichir les compétences : * Gérer et développer les compétences des membres de l’équipe * Maîtriser le développement d’une solution informatique, répondant aux besoins du SI en faisant les choix adaptés des technologies, des matériels et des logiciels * Prendre en charge les recettes (fonctionnelle et technique) du projet * Formaliser une synthèse comprenant une analyse et une méthodologie et permettant les choix et le déploiement * Superviser les différents aspects (performances, coûts, délais, qualité, risques, sécurité) du Système d’information afin de garantir sa pérennité
Objectifs de la formation
- Savoir mettre en place une stratégie cohérente d’utilisation, de publication et de contribution à des projets libres.
Profil des bénéficiaires
- Développeurs
- Chefs de projet.
- Connaissances de base en développement logiciel.
- La connaissance de la plateforme Java EE et du langage Java sont un plus, mais non indispensable.
Contenu de la formation
-
Les fondamentaux
- Les étapes du cycle de vie du logiciel (Conception, développement, recettage, mise en production).
- Le modèle de développement logiciels : modèle en V, modèle incrémental et itératif.
- Usine logicielle, intégration continue.
- Les différents types d'environnements (développement, recette, production).
- L'usine au quotidien. Les principaux outils utilisés.
-
Gestion des versions
- Les fonctionnalités.
- Les différents gestionnaires de sources : centralisé ou distribué.
- Les problématiques d'intégration des changements.
- Le rôle des branches et tags.
-
Mise en place et automatisation du build
- Mise en place d'un serveur de build, les différents outils et types d'installation.
- Configuration : page principale de la configuration, configuration de GIT/SVN, serveur de mail.
- Jenkins et le build, les meilleures pratiques et méthodes recommandées.
- Stratégies et techniques de notification.
- Fixer les dépendances entre les travaux de build.
- Jenkins et Maven : rappel sur Maven, configuration du build Maven, déploiement dans un repository Maven.
-
Automatisation des tests
- Quels tests et pour faire quoi ?
- Les environnements de tests.
- Automatisation des tests unitaires et d'intégration. Les librairies PHPUnit, JUnit, ...
- Configuration des rapports.
- Mesurer la couverture de test.
- Automatisation des tests d'acceptation.
- Automatisation des tests de performance avec JMeter.
- Optimiser les temps d'exécution des tests.
-
Les tests de validation
- Les besoins en test de validation.
- Les référentiels de test et leur mise en œuvre.
- Les générateurs de données de test.
- Les fonctionnalités des robots de test.
- Les robots de test d'IHM.
- Les robots de test d'applications Web.
-
Automatisation du déploiement
- Mise en place du script de déploiement.
- Mise à jour des bases de données.
- Tests minimaux. Retour en arrière.
-
Les métriques
- La génération de rapports.
- Les outils d'analyse et de reporting (PMD, Findbugs, Cobertura, Emma, Checkstyle, Jira Software...).
- La publication des résultats.
-
Qualité
- Réduire les risques grâce à l'intégration continue.
- Appréhendez le travail collaboratif dans une équipe. La contribution des utilisateurs aux outils.
- Travailler avec les utilisateurs finaux.
- Interaction avec les outils de gestion des anomalies, Bugzilla, Mantis, Bug Tracking...
- Gérer un projet de migration à l'Open Source : étude des outils du marché, risque, avantage.
- Feuilles de présence.
- Exercices d'application.
- Formulaires d'évaluation de la formation.
- Certificat de réalisation de l’action de formation.
- Travaux pratiques :
- - Manipulation d'un dépôt GIT.
- - Création et configuration d'un Projet Maven Jenkins basé sur un référentiel (repository) GIT.
- - Adaptation du projet Jenkins pour inclure JUnit et suivi des tests de performance avec JMeter.
- - Mise en œuvre d'un référentiel de test, d'un générateur de données de test, de robots de test d'IHM, de robots de test d'applications Web.
- - Adaptation du projet Jenkins pour automatiser le déploiement.
- - Utilisation d'outils de gestion des anomalies.
- Certains exercices peuvent nécessiter des PCs