Description
Ce programme de formation vise à développer des compétences essentielles en écriture et maintenance de code, ainsi qu'en gestion de projets logiciels. Il aborde le cycle de vie des applications, les bonnes pratiques de codage, l'utilisation de Git pour la gestion des versions, et les outils de tests de performance et de charge. Les participants apprendront également à mettre en œuvre des pipelines d'intégration et de déploiement continus avec GitLab CI. Ce parcours s'adresse aux développeurs souhaitant améliorer la qualité de leur code et optimiser leur processus de développement.
Objectifs
- Décrire les bonnes pratiques d'écriture d'un code incluant la maintenance de l'applicationUtiliser GIT pour gérer les codes sources Identifier les outils nécessaires à la fabrique logicielle pour produire des livrables de qualitéIdentifier l'offre des outils de tests de performance et de charge Utiliser les méthodes puis outils pour les tests Appréhender les outils et phases de mise en oeuvre d'une intégration continue
Récapitulatif
Public
Architectes, développeurs, analystes, chefs de projets…
Prérequis
Niveau : Disposer d'une première expérience de développement et maîtriser un langage de programmation (C#, Java ou C++)
Techniques (formations en classe virtuelle) : Vous devez disposer d'un ordinateur connecté à internet, d'un micro et d'une caméra
Méthodes et modalités pédagogiques
Formation réalisée en Présentiel, Distanciel ou Dual-Learning selon la formule retenue.
Moyens et supports pédagogiques
Mise à disposition d'un poste de travail sur nos formations en Présentiel.
Mise à disposition de nos environnements de visio sur nos formations en Distanciel
Remise d'une documentation pédagogique numérique pendant la formation
La formation est constituée d'apports théoriques, d'exercices pratiques et de réflexions
Dans le cas d'une formation sur site Entreprise, le client s'engage à avoir toutes les ressources pédagogiques nécessaires (salle, équipements, accès internet, TV ou Paperboard...) au bon déroulement de l'action de formation conformément aux prérequis indiqués dans le programme de formation
Modalités de suivi et d'évaluations
Auto-positionnement des stagiaires avant la formation
Émargement des stagiaires et formateur par 1/2 journée
Exercices de mise en pratique ou quiz de connaissances tout au long de la formation permettant de mesurer la progression des stagiaires
Auto-évaluation des acquis de la formation par les stagiaires
Questionnaire de satisfaction à chaud et à froid à l'issue de la formation
Programme détaillé
Décrire les bonnes pratiques d'écriture d'un code incluant la maintenance de l'application
- Cycle de vie complet d'une application (ALM et principes DEVOPS avec CI/CD)
- Bonnes pratiques pour l'écriture et la structure d'un code source
- Méthodes et outils de Linting
- Méthodes et outils de documentation
- Méthodes et outils d'organisation du code (structurer ses dossiers, espaces de noms)
- Techniques de mutualisation de code
- Utiliser et créer des librairies
- Gestion des dépendances
- Origine des défauts logiciels
- Sensibilisation au coût d'un programme non testé Indicateur
Utiliser Git pour gérer les codes sources
- GIT pour gérer les codes sources
- Installation et configuration
- Principes de GIT
- Approche décentralisée
- Branches et commit
- Les états Clear/stage/commit
- Guide pratique de git
- Récupérer un projet
- Créer un commit
- Gestion des branches
- Branches locales et remotes
- Merge et rebase
- Flux de travail collaboratif avec Git (exemple du Gitflow workflow).
Identifier et utiliser les outils nécessaires à la fabrique logicielle pour produire des livrables de qualité
- Les outils des forges logicielles: ISSUES, WIKI, ETC.
- Flux de travail collaboratif avec Git (exemple du Gitflow worklow)
Identifier l'offre des outils de tests de performance et de charge
- Les tests en agile ou cycle en V (TDD, BDD, ATDD)
- Niveaux de tests : composants, intégration, système
- Cible des tests : fonctionnels / non fonctionnels, architecture logicielle, non régression
Utiliser les méthodes puis outils pour les tests unitaires, les tests qualité, les tests de performance et de charge
- Ecriture de tests unitaires dans un langage de programmation
- Présentation d'une librairie de tests
- Ecriture d'un ou plusieurs tests unitaires
- Utilisation de doublures (Mocks, Stubs, Spy, Fakes...)
- Exécution des tests et génération de rapports
- Tests qualités avec Sonar
- Présentation de Sonar (fonctionnement, règles qualités et profils qualités)
- Branchement d'un projet sur Sonar
- Exécution des tests Sonar
- Tests de performance et de charge avec Gatling
- Présentation de Gatling
- Branchement d'un projet sur Gatling
- Exécution des tests Gatling
- APPREHENDER LES OUTILS ET PHASES DE MISE EN œUVRE D'UNE INTEGRATION CONTINUE
- Introduction a la CI avec GITLAB CI
- Rappels sur les principes de CI/CD et Devops
- Intégration Continue avec Gitlab CI
- Configuration Gitlab CI/CD
- Pipelines de CI/CD
- Gestion des runners
- Déploiement continu et Gitlab Runner
- Mise en pratique des outils Gitlab ci
- Définition d'un Pipeline Gitlab CI
- Les tests dans la pipeline (Ajout des tests automatisés dans la pipeline)
- Outils externes qui peuvent compléter Gitlab (Tests qualité avec Sonar, etc.)
- Rappels sur les principes de CI/CD et Devops
- Déploiement Continu avec GitLab CI
- Dépôt de packages (Mise en place registre docker, déploiement d'image dans la pipeline)
- Déploiement d'une MR dans un environnement de recette, déploiement en staging
- Mise en pratique des outils gitlab ci
- Définition d'un Pipeline GitLab CI/CD
- Les déploiements dans la pipeline (Ajout d'un déploiement)
- Outils externes qui peuvent compléter GitLab (Aperçu de Ansible)