A l’issue de la formation, l’apprenant sera capable de :
– Améliorer la qualité de code d’un projet en équipe par de bonnes méthodologies et conventions.
– Simplifier la construction d’un projet par l’automatisation des « builds » et la mise en place de tests qualités.
– Augmenter la durée de vie d’un projet par la mise en place de normes à respecter.
- Développement
- Python
Formation intégration continue pour les applications Python
Objectifs
Prérequis
Bonnes connaissances en POO avec Python
Public
Développeurs
Dernière mise à jour
Bon à savoir
Evaluez votre niveau
Formations modulables
Travaux pratiques
A distance / Classe virtuelle
Un cadre Maîtrisé
Les Modules
de formation
Les outils
Les tests
Cycle en V
Méthodes Agiles
Le Software craftsmanship
Le métier de DevOps
La génération de rapports
Les outils d’analyse et de reporting (Sonar, PMD, Findbugs, Cobertura, Emma, Checkstyle…).
La publication des résultats
Le rôle du serveur d’intégration continue
Les grandes fonctionnalités
Les serveurs d’intégration continue (Hudson/Jenkins, CruiseControle, Bamboo…)
Les différents types de tests (tests unitaires, tests d’intégration, tests d’acceptation, tests de performance )
Les environnements de tests
Présentation de quelques outils de test
• Tests unitaires (pytest, …)
• Tests de charge (Gatling, JMeter, …)
• Test end2end (Selenium, …)
La mise en oeuvre de l’automatisation des tests
Bonnes pratiques du déploiement
Intégration et déploiement continus
Séparer les scripts de compilation à partir de votre IDE
• Créer une structure cohérente Directory
• Construire pour tout environnement
• Types, mécanismes de constructions et déclenchement des Builds
Les outils de Build (Gradle, Maven, Ant…).
Comprendre le build (privé, build d’intégration de jour/nuit)
Différents types de builds
Présentation de Git et Subversion
Les fonctionnalités
Le travail collaboratif
Les différents gestionnaires de sources
Versionning et migration de base de données (Flyway, Liquibase, etc)
Les freins à l’intégration continue
Risque: Logiciel de faible qualité
• Scénario: Incapacité à Visualiser Software
• Scénario: Avez-vous obtenu la note ?
Risque: manque de visibilité du projet
• Scénario: couverture de test
• Scénario: tests de régression
Risque : découverte tardive des bugs
• Scénario : synchronisation des bases de données
• Scénario : ça fonctionne sur ma machine
Risque : absence du déploiement
• Scénario: la norme de codage
• Scénario: le respect de l’architecture
• Scénario: la duplication du code
Définition, principes
Notion de génie logiciel
Bonnes pratiques
La chaîne de fabrication logicielle
L’intégration continue en trois étapes
Les freins à l’intégration continue
Avantages de l’intégration continue
Evolution de l’intégration continue
Difficultés de mise en place et interrogation