Tester automatiquement la qualité et la sécurité logicielle
Cette formation de deux jours s'adresse aux développeurs, DevOps et ingénieurs qualité souhaitant approfondir les pratiques d’automatisation des tests de qualité et de sécurité logicielle. Le programme inclut l'analyse de qualité, les approches statiques (SCA et SAST) et dynamiques (DAST) de la sécurité, à la fois à travers les outils phares du marché comme Sonarqube et OWASP Zap, mais aussi avec des outils libres plus spécialisés.
Cette formation remet la personne développeuse et l'équipe au centre pour se responsabiliser et mettre en place des bonnes pratiques au plus tôt. Cette formation offre ainsi une approche complète et pragmatique pour renforcer la qualité et la sécurité des logiciels tout en automatisant les processus de vérification dans les cycles de développement, appliqué ici sur Gitlab CI/CD.
(14 heures)
6 mois d'expérience en Dev ou DevOps
Accessible aux personnes en situation de handicap
DélaiLe cours peut être organisé dans un délai d'un mois.
Objectifs
A l'issue du cours vous saurez :- Mettre en œuvre des analyses statiques et dynamiques, en intégrant ces contrôles dans des pipelines CI/CD automatisés;
- Comprendre et configurer Sonarqube pour assurer une surveillance continue de la qualité logicielle;
- Utiliser et distinguer les outils de tests de sécurité applicative en fonction de leur cible : SCA, SAST, DAST.
Prérequis
- Avoir une expérience de 6 mois en développement dans un des 3 langages Java, JavaScript ou Python;
- Avoir installé Docker localement sur l'ordinateur du stagiaire;
- La personne stagiaire peut se connecter sur Internet et a créé un compte sur gitlab.com.
Méthodes pédagogiques
- Explication, pour chaque concept, du problème qu'il prétend résoudre.
- Mise en pratique d'un concept immédiatement après qu'il ait été présenté.
- Exercices pratiques et études de cas pour illustrer les concepts abordés.
- Discussion ouverte sur les défis rencontrés et les solutions envisagées.
- QCM en fin de chapitre pour s'assurer de l'acquisition des connaissances.
Programme détaillé
Rappels des enjeux de la qualité et de la sécurité
- Définition et importance de la qualité logicielle.
- Les enjeux de la sécurité applicative.
- Approche statique vs approche dynamique.
Mise en pratique: exemples simples d'analyse statique et dynamique : Gitleaks et Mozilla Observatory.
Conventions de codage
- Harmonisation des conventions de codage en équipe.
- Le linter, l'outil de vérification de code.
- Automatisation des vérifications et correction.
Mise en pratique: configuration d'un linter et automatisation en local et dans un pipeline CI/CD.
Analyse statique de la qualité du code avec Sonarqube
- Présentation de Sonarqube et des concepts clés.
- Analyse des résultats et interprétation des métriques.
- Personnalisation des règles de qualité.
Mise en pratique: création projet Sonarsource, analyse d'un projet et interprétation des résultats.
Analyse de composition logicielle (SCA)
- Définition et importance de la SCA.
- Rappels sur les dépendances logicielles et le semantique versioning.
- Outils de SCA intégrés au langage et multi-langages.
Mise en pratique: utilisation de SCA en CI/CD Gitlab.
Tests de sécurité applicative statiques (SAST)
- Les règles SAST dans Sonarqube.
- Les analyses statiques dans le provisionnement d'infrastructure (IaC).
- Sécurisation du code source Git : les bonnes pratiques.
Mise en pratique: enrichissement du CI/CD avec des tâches SAST et interprétation des résultats Sonarqube.
Tests de sécurité applicative dynamiques (DAST)
- Présentation de OWASP ZAP.
- Utilisation d'outils annexes : Mozilla Observatory, Nmap, Wappalyzer.
- Intégration des tests DAST dans le pipeline CI/CD.
Mise en pratique: illustration de chaque outil par un exercice.
Prix et financements
2 12
Réduction de 50% pour les associations reconnues d'utilité publique.Sources de financements pour les organisations françaises:
- prise en charge tout ou partie du coût de la formation par votre opérateur de compétence (OPCO);
- Le dispositif FNE formation si votre organisation est éligible;
- Le plan de développement des compétences de votre entreprise (renseignez-vous auprès de votre service RH).