Plan du cours
1. Concepts et périmètre de l'analyse statique de code
- Définitions : analyse statique, SAST, catégories de règles et niveaux de gravité
- Périmètre de l'analyse statique dans un SDLC sécurisé et couverture des risques
- Comment SonarQube s'inscrit dans les contrôles de sécurité et les flux de travail des développeurs
2. Présentation de SonarQube : fonctionnalités et architecture
- Services principaux, base de données et composants de l'analyseur
- Portes de qualité (Quality Gates), profils de qualité (Quality Profiles) et bonnes pratiques
- Fonctionnalités liées à la sécurité : vulnérabilités, règles SAST et correspondance avec les CWE
3. Navigation et utilisation de l'interface utilisateur du serveur SonarQube
- Découverte de l'interface : projets, problèmes, règles, mesures et vues de gouvernance
- Interprétation des pages de problèmes, traçabilité et conseils de correction
- Génération et export des rapports
4. Configuration de SonarScanner avec les outils de build
- Mise en place de SonarScanner pour Maven, Gradle, Ant et MSBuild
- Meilleures pratiques pour les propriétés de l'analyseur, les exclusions et les projets multi-modules
- Génération des données de test et des rapports de couverture nécessaires pour une analyse précise
5. Intégration avec Azure DevOps
- Configuration des connexions de service SonarQube dans Azure DevOps
- Ajout de tâches SonarQube aux pipelines Azure et décoration des demandes de pull (PR)
- Importation des dépôts Azure Repos dans SonarQube et automatisation des analyses
6. Configuration du projet et analyseurs tiers
- Profils de qualité au niveau du projet et sélection de règles pour Java et Angular
- Utilisation des analyseurs tiers et cycle de vie des plugins
- Définition des paramètres d'analyse et héritage des paramètres
7. Rôles, responsabilités et revue de la méthodologie de développement sécurisé
- Segrégation des rôles : développeurs, réviseurs, DevOps, responsables de la sécurité
- Conception d'une matrice des rôles et responsabilités pour les processus CI/CD
- Revue et processus de recommandation pour une méthodologie de développement sécurisé existante
8. Niveau avancé : Ajout de règles, ajustements et amélioration des fonctionnalités globales de sécurité
- Utilisation de l'API Web SonarQube pour ajouter et gérer des règles personnalisées
- Ajustement des portes de qualité et application automatisée des politiques
- Renforcement de la sécurité du serveur SonarQube et meilleures pratiques de contrôle d'accès
9. Sessions de travaux pratiques (Application)
- Labo A : Configurer SonarScanner pour 5 dépôts Java (Quarkus si applicable) et analyser les résultats
- Labo B : Configurer l'analyse Sonar pour 1 front-end Angular et interpréter les résultats
- Labo C : Labo de pipeline complet — intégrer SonarQube à un pipeline Azure DevOps et activer la décoration des PR
10. Tests, dépannage et interprétation des rapports
- Stratégies de génération de données de test et de mesure de la couverture
- Problèmes courants et dépannage des erreurs d'analyseur, de pipeline et d'autorisations
- Comment lire et présenter les rapports SonarQube aux parties prenantes techniques et non techniques
11. Bonnes pratiques et recommandations
- Sélection des ensembles de règles et stratégies d'application progressive
- Recommandations de flux de travail pour les développeurs, les réviseurs et les pipelines de build
- Feuille de route pour déployer SonarQube dans des environnements d'entreprise
Synthèse et prochaines étapes
Pré requis
- Une compréhension du cycle de vie du développement logiciel (SDLC)
- Une expérience avec le contrôle des versions et les concepts de base du CI/CD
- Une familiarité avec les environnements de développement Java ou Angular
Public cible
- Développeurs (Java / Quarkus / Angular)
- Ingénieurs DevOps et CI/CD
- Ingénieurs de la sécurité et auditeurs de sécurité des applications
Nos clients témoignent (1)
Engageant et pratique approfondie.
Balavignesh Elumalai - Scottish Power
Formation - SonarQube for DevOps
Traduction automatique