Formation Python

Contenu de la formation

Intégration continue pour les applications Python

L’intégration continue consiste en informatique à executer automatiquement les tests et les actions sur le projet en cours de développement. L’outil d’intégration continue va donc intervenir directement au près des développeurs informatique leur permettant d’automatiser des taches récurrentes et répétitives.
Bien configuré, cet outil vous permet de construire un projet et de mettre en place un environnement de pré-production.

Le programme de la formation

  1. Introduction - Les outils - Les tests - Cycle en V - Méthodes Agiles - Le Software craftsmanship - Le métier de DevOps
  2. L’intégration continue - 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
  3. Réduire les risques grâce à 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
  4. Le gestionnaire de contrôle de version - 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
  5. L’automatisation de la construction du logiciel (Build) - Comprendre le build (privé, build d’intégration de jour/nuit) - Différents types de builds
  6. Automatiser les builds 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…).
  7. Automatiser le déploiement du projet - Bonnes pratiques du déploiement - Intégration et déploiement continus
  8. L’automatisation des tests - Les différents types de tests - 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
  9. Le serveur d’intégration continue - Le rôle du serveur d’intégration continue - Les grandes fonctionnalités - Les serveurs d’intégration continue (Hudson/Jenkins, CruiseControle, Bamboo…)
  10. La mise en place de métriques - La génération de rapports - Les outils d’analyse et de reporting (Sonar, PMD, Findbugs, Cobertura, Emma, Checkstyle…). - La publication des résultats
  11. Conclusion - Avantages de l’intégration continue - Evolution de l’intégration continue - Difficultés de mise en place et interrogation

Modalités

Lieu : à définir

Horaires : De 9h à 12h et de 13h à 17h