Qu’y a-t-il dans SonarQube pour les développeurs et les responsables R&D ?

SonarQube est un outil d’analyse de code statique qui aide les développeurs à améliorer la qualité de leur base de code en détectant les problèmes potentiels, les odeurs de code, les vulnérabilités de sécurité et la dette technique.

sonarqube developers

 

On nous  demande fréquemment comment SonarQube aide les développeurs et les responsables R&D dans leurs tâches quotidiennes, j’ai donc décidé d’écrire un article qui résume tous les points et avantages.

Tout d’abord, je vais expliquer le problème à un niveau élevé, puis inclure des détails (séparés par différentes éditions SonarQube).

Notez également que nous avons une fiche détaillée avec toutes les fonctionnalités de SonarQube (séparées par éditions et filtrables + triables)  vous pouvez télécharger ici.

Comment SonarQube aide les développeurs – à un niveau élevé :

SonarQube aide les développeurs dans plusieurs aspects de leur travail :

  • Code Quality:
    SonarQube agit comme un coach de code, analysant le travail des développeurs à la recherche de bogues, de vulnérabilités de sécurité potentielles (dans les éditions commerciales) et de domaines qui pourraient être écrits plus efficacement. Cela aide les développeurs à détecter les problèmes plus tôt et à écrire un code plus propre et plus maintenable.

  • Improved Efficiency: En identifiant les problèmes à un stade précoce, SonarQube fait gagner du temps aux développeurs en leur évitant de passer des heures à déboguer des problèmes complexes plus tard dans le cycle de développement.

  • Skill Development: Les commentaires de SonarQube aident les développeurs de tous niveaux à comprendre les meilleures pratiques et à prendre de meilleures décisions de codage. Il responsabilise les développeurs et peut constituer un outil précieux pour l’apprentissage continu.

  • Teamwork: SonarQube aide à appliquer des normes de codage cohérentes au sein d’une équipe. Cela rend le code plus facile à comprendre pour tout le monde et réduit le temps passé à déchiffrer le travail de quelqu’un d’autre.

 

Comment SonarQube aide les développeurs – en détails :

SonarQube est proposé en 4 éditions différentes, tandis que les développeurs et responsables R&D peuvent profiter de toutes les fonctionnalités à partir de l’édition Enterprise (la 3ème édition sur 4).

Voyons les principales fonctionnalités proposées dans chaque édition :

Que contient la Community Edition pour les développeurs ?

Cette édition est open source gratuite et offre les éléments suivants :

1. Noyau de SonarQube

et plus de 60 plugins.
Vous disposez d’une variété de plugins conçus pour SonarQube (certains sont gratuits tandis que d’autres doivent être payants). Vous pouvez également créer vos propres plugins (et nous pouvons le créer pour vous).

 
2. Langages de Scanning Code (analyse de code statique)

L’édition communautaire prend en charge une analyse de base de 16 langues :
Java, JavaScript, C#, Terraform, TypeScript, Kotlin, Ruby, Go, Scala, Flex, Python, PHP, HTML, CSS, XML, VB.NET

3. Analyse de la branche principale (principale) uniquement

Scannez la branche git principale (principale).

Notez que vous ne pouvez pas analyser d’autres branches (par exemple, les branches de fonctionnalités) à l’aide de l’édition communautaire, vous ne pouvez donc pas appliquer la méthodologie « Shift Left » avec cette édition.

4. SonarLint (bases)

SonarLint vous aide à recevoir des notifications sur les problèmes de code et les bogues, en temps réel, dans l’IDE des développeurs (par exemple IntelliJ / VS Code) – ce qui les aide à développer davantage de « code propre ».
Regardez une démo rapide :


Remarque : SonarLint ne peut pas être configuré dans cette version (vous pouvez le faire dans Developer Edition comme expliqué ci-dessous)

Que contient SonarQube Developer Edition pour les développeurs ?

Developer Edition offre tout dans l’édition Community PLUS :

  1. Branch Analysis

Vous pouvez analyser toutes les branches de votre choix – par ex. branches de tâches ou de fonctionnalités (plutôt que la branche principale [maître] uniquement), afin que vous puissiez détecter les problèmes beaucoup plus tôt – avant même que le code ne soit fusionné en amont avec les branches principales

  1. Pull Request Decoration & Analysis

Cela vous permet d’intégrer SonarQube à vos outils de contrôle de version et d’ajouter l’analyse SonarQube et un Quality Gate à vos demandes d’extraction (ou demandes de fusion) dans l’interface de votre fournisseur ALM/DevOps, notamment GitLab, GitHub, Bitbucket et Azure DevOps.
Il vous aide à obtenir un retour rapide (des résultats de l’analyse) dans le tableau de bord.

pull merge request decoration sonarqube gitlab
Illustration: Pull (Merge) request decoration with SonarQube and GitLab. Click to enlarge
  1. Code Security Analysis / Capabilities

Analyse de sécurité avec diverses règles pour chaque langage de code – par ex. détection des défauts d’injection
(notre feuille de calcul [télécharger ici]  spécifie le nombre de règles dont vous disposez pour chaque langue)

Remarque : l’édition Community (gratuite) ne recherche pas les failles de sécurité.

  1. Capacités SonarLint supplémentaires (par exemple, notifications intelligentes)

Dans cette version, il est possible de configurer et de recevoir des Smart Notifications (non disponibles dans l’édition gratuite Community),
donc si vous (en tant que développeur) utilisez SonarLint via votre IDE, vous pouvez configurer et recevoir des notifications.
Par exemple : Vous pouvez recevoir un message si vous n’avez pas franchi les Quality Gates.

Remarque : SonarLint dans l’édition Community (gratuite) n’analyse pas les langages qui ne sont pas pris en charge dans la version gratuite (par exemple C, C++ et autres comme détaillé ci-dessous)

  1. Prise en charge de plus de langues :

Developer Edition analyse également les langages de code suivants :

  1. C
  2. C++
  3. Objective-C
  4. PL/SQL
  5. ABAP
  6. TSQL
  7. Swift

 
Developer Edition prend en charge 24 langages de code au total.

Que contient SonarQube Enterprise Edition pour les développeurs et les responsables R&D ?

L’édition Enterprise offre tout ce qui est dans l’édition Developer PLUS :

    1. Prise en charge de plus de langues :

Enterprise Edition analyse également les langages de code suivants :

  1. Apex (of Salesforce)
  2. Cobol
  3. PL/1
  4. RPG
  5. VB 6 (Visual Basic)

SonarQube Enterprise Edition prend en charge 29 langages de code au total.

2. Portefeuille et rapports

Cette fonctionnalité est utile lorsque vous avez de nombreux projets. Il vous montre l’état des projets à haut niveau (ce qui est souvent nécessaire aux responsables de développement, aux chefs d’équipe, aux CTO, etc.).

Cela vous permet également de regrouper les projets par groupes afin de pouvoir visualiser les informations et de les rendre beaucoup plus claires et lisibles.

Fonctionnalités pertinentes ici :

  • Agrégation de projets. Par exemple, vous pouvez décider quoi regrouper en fonction de critères que vous décidez, par ex. langage de code commun ; projets hérités; groupes ; équipes etc
  • Vous pouvez automatiser le rapport et l’envoyer par email (sous forme de rapport PDF)
Regarder une démo (2 min) :

3. Rapports de sécurité

Les rapports de sécurité sont disponibles uniquement dans l’édition Enterprise.
Ces rapports vous aident à obtenir des retours plus rapides et à corriger les failles de sécurité beaucoup plus rapidement.
SonarQube vous aide à évaluer votre niveau de sécurité selon les normes OWASP Top 10 et CWE Top 25.

Par exemple:

sonarqube security reports
Security Reports (click to enlarge) 

4.Hotspot de sécurité + vulnérabilités de sécurité

Les points d’accès de sécurité sont des zones de code dans lesquelles SonarQube met en évidence les extraits de code suspects que les développeurs doivent vérifier (car il pourrait y avoir des vulnérabilités).

Voir un exemple (cliquez pour agrandir) :

sonarqube security hotspot
Security Hotspot (Hashing data is security-sensitive)

Cette fonctionnalité contribue également à améliorer les compétences de développement des développeurs et à leur donner les moyens d’agir : à mesure qu’ils écrivent du code et découvrent les points chauds, ils découvrent les risques de sécurité et les meilleures pratiques pour les prévenir.

Les vulnérabilités de sécurité nécessitent une attention immédiate. SonarQube fournit une description détaillée et met en évidence le code pertinent, ce qui aide à comprendre quel est le risque dans le code donné.
Par exemple (cliquez pour agrandir) :

sonarqube security vulnerabilities
Identify the problematic code and provide a solution on how to solve it (in this case: use a key length that provides enough entropy against brute-force attacks. For the RSA algorithm it should be at least 2048 bits long)

5.Traitement parallèle des rapports d’analyse

Vous permet de gérer des analyses et des rapports en parallèle. Ceci est utile si vous devez exécuter de nombreuses analyses et rapports.
Vous pouvez exécuter jusqu’à 10 travailleurs en parallèle.

 

FAQ (Foire aux questions) :

    • Q : Quel est le prix de SonarQube ?
      R : La tarification de SonarQube dépend de plusieurs paramètres :
      Type d’édition (comme expliqué ci-dessus dans l’article) ;
      Le nombre de lignes de code dont vous disposez
      Que vous preniez le support client
      Contactez-nous pour obtenir des prix et des devis exacts : sonarqube@almtoolbox.com ou appelez-nous
  • Q : J’utilise un langage de code pris en charge par l’édition Community (gratuite) (par exemple Java ou C#).
    Cela signifie-t-il que je bénéficie de toutes les fonctionnalités de SonarQube ?
    R : Non. Si vous utilisez l’édition gratuite, vous avez accès aux fonctionnalités disponibles uniquement dans l’édition Free Community.
    Par exemple : si vous utilisez Java (disponible en édition gratuite), vous n’obtiendrez pas de règles de sécurité ; Aucune analyse de branche ; Aucun rapport, etc.

ALM-Toolbox est un distributeur officiel de SonarQube et fournit des services de conseil, des licences SonarQube et SonarCloud, une mise en œuvre, une formation, des services gérés et aide les clients à intégrer SonarQube aux flux commerciaux et aux pipelines CI/CD.
Contactez-nous pour toute question, y compris les prix et les devis : sonarqube@almtoolbox.com ou appelez-nous : 866-503-1471 (États-Unis/Canada) ou +33 1 84 17 53 28

Liens utiles :

Qu’est-ce que l’assistance commerciale Sonar ?

Si vous avez besoin d’aide pour implémenter SonarQube ou SonarCloud,
un services d’assistance commerciale est disponible (en nous contactant sonar@almtoolbox.com) pour vous aider à en savoir plus sur les produits Sonar.
et vous fournir  les conseils dont vous avez besoin pour tirer le meilleur parti de la solution Sonar (SonarQube, SonarCloud et SonarLint).

sonar support

Qu’est-ce que l’assistance commerciale Sonar ?

Sonar Commercial Support est un canal de communication privé entre vous et l’équipe   d’experts en produits Sonar hautement qualifiés. Ce service dédié aide à résoudre les problèmes avancés et fournit les conseils dont vous avez besoin pour mettre en œuvre les produits dans des environnements d’entreprise complexes.
La confidentialité de ce canal facilite également la résolution de problèmes nécessitant le partage d’informations sensibles.

Ce que vous obtenez avec le support commercial Sonar :

  • Assistance à la configuration initiale
  • Meilleures pratiques de mise en œuvre et stratégies pour parvenir à une plus grande adoption des le début
  • Consultation sur vos pratiques CI/CD pour maximiser votre investissement avec les dernières fonctionnalités
  • Réponse sous 24 heures pendant les heures de bureau de Sonar pour résoudre les problèmes, répondre questions (c.-à-d. intégration et utilisation) et atténuation des risques
  • Conseils pour planifier une mise à niveau, planifier une nouvelle fonctionnalité à utiliser et intégrer
    integrer une nouvelle équipe
  • Aide à l’amélioration des performances et de l’utilisation des produits Sonar et de la vitesse de Analyse sonar
  • Dépanner et résoudre les événements critiques ou bloquants en temps opportun
  • Poussex  vos idées pour améliorer les produits Sonar

 

Sonar Commercial Support commence par le portail Service Desk qui
est une connexion directe avec l’équipe d’assistance.
Vous aurez accès à l’équipe, rationaliserez votre processus d’assistance et aurez un aperçu de l’activité sur tous vos tickets.

Réponse dans la journee  selon les heures d’ouverture des bureaux : de 9h00 à 17h00 CET et de 9h00 à 17h00.  CST.

Pour plus d’informations sur nos SLA et nos tarifs, contactez-nous : sonar@almtoolbox.com ou appelez-nous :
866-503-1471 (États-Unis et Canada) ou Europe+33 1 84 17 53 28 

Case Study: ThalesRaytheonSystems

Lisez sur l’ implémentation réussie de SonarQube en tant que processus de qualité logicielle de bout en bout chez  Thales RaytheonSystem

 

ThalesRaytheonSystems

Industrie : AÉRONAUTIQUE ET DÉFENSELangages de code : C, C++

“La solution SonarQube est très facile à utiliser, et elle est intégrée à Jenkins pour gérer les travaux. Cela correspond aux besoins de ThalesRaytheonSystems, car nous avons de nombreux composants, et de nombreux lots de travaux, dans différents langages, et la notion de « vues » est essentielle. »
Josiane Denis @ ThalesRaytheonSystems

Légende:

Le  challenge

Avant le déploiement de SonarQube, ThalesRaytheonSystems a évalué plusieurs outils de qualité logicielle, mais aucun ne correspondait à la facture. Certains n’étaient pas intégrés à l’environnement de développement, certains présentaient des problèmes de licence et d’autres encore manquaient en termes de technologies couvertes et de fonctionnalités disponibles. En conséquence, seuls quelques composants et projets étaient analysés et les résultats n’étaient pas exploités. Peu d’amélioration de la qualité a été constatée en raison de la nature manuelle et “lourde” du processus, ce qui pose un véritable défi à la durabilité et à la maintenabilité à long terme du portefeuille d’applications de ThalesRaytheonSystems.

ThalesRaytheonSystems passe à l’intégration continue et inclut l’analyse de la qualité des logiciels dans le processus. Compte tenu de la complexité de l’environnement, ThalesRaytheonSystems avait besoin d’une solution qui s’intégrerait bien à son infrastructure existante et serait suffisamment flexible pour être utilisée dans l’ensemble de son portefeuille de logiciels, qui comprend plusieurs technologies et une large gamme d’applications.

La solution

ThalesRaytheonSystems a choisi SonarQube et a demandé une session de formation administrative à SonarSource afin d’accélérer le processus d’adoption et d’intégration. Josiane Denis se souvient de ses premières impressions : « La solution SonarQube est très simple d’utilisation, et elle est intégrée à Jenkins pour gérer les jobs. Cela correspond aux besoins de ThalesRaytheonSystems, car nous avons de nombreux composants, et de nombreux lots de travaux, dans différents langages, et la notion de « vues » est essentielle. »

Suite à la formation initiale et à la démonstration, ThalesRaytheonSystems a comparé sa méthode précédente d’utilisation d’une collection d’outils (à la fois gratuits et commerciaux avec des licences par utilisateur) par rapport à la combinaison de produits SonarSource gratuits et commerciaux qu’il utilise : C/C++, Portfolio Management (Views ) et calcul de la dette technique (SQALE). “Cela a montré un gain significatif à la fois sur le temps nécessaire à la mise en œuvre de la solution et sur le coût, car les modèles de licence sont plus adaptés à nos besoins”, a déclaré Denis. Il est rapidement devenu clair que les solutions SonarSource offraient un bien meilleur retour sur investissement pour ThalesRaytheonSystems, compte tenu de ses capacités, de sa couverture technologique et de son modèle de licence.

Denis a également salué le support et la réactivité de l’équipe SonarSource dans l’intégration des règles de ThalesRaytheonSystems  avec le langage C/C++, qui étaient applicables à la communauté C++ au sens large, dans l’analyseur C/C++. Une autre caractéristique intéressante pour ThalesRaytheonSystems était l’intégration de la méthode SQALE dans SonarQube, permettant à l’organisation de suivre avec précision le coût de remédiation de sa dette technique.

Les résultats

Maintenant que SonarQube est totalement intégré à l’environnement et à la culture de ThalesRaytheonSystems, les équipes de développement examinent régulièrement les résultats de la qualité logicielle et prennent des mesures concrètes pour améliorer le niveau de qualité du code en fonction des jalons et des coûts. Les fonctionnalités de gestion de portefeuille permettent aux gestionnaires de configuration logicielle d’obtenir des résultats sur des projets globaux et sur l’ensemble du portefeuille logiciel.

À l’avenir, ThalesRaytheonSystems a de nouveaux plans pour améliorer ses processus de qualité logicielle. Il ajoutera des contrôles de tests unitaires et de tests d’intégration à son analyse. Il prévoit également de déployer le plugin SonarLint Eclipse afin de permettre aux développeurs de détecter et de corriger les problèmes localement, directement dans l’environnement de développement.

Denis a déclaré qu’elle recommanderait à la fois SonarQube et SonarSource car ” SonarQube est une solution intégrée et facile à utiliser à chaque niveau du projet en développement. SonarSource bénéficie d’un très bon support et ThalesRaytheonSystems bénéficie d’une bonne collaboration avec SonarSource”

 

ALM-Toolbox est un distributeur officiel de SonarQube, GitLab  et offre du conseils, des licences SonarQube et SonarCloud, la mise en œuvre, la formation et aide les clients à intégrer SonarQube aux flux commerciaux et aux pipelines CI/CD.
Contactez-nous pour toute question, y compris les prix et les devis : sonarqube@almtoolbox.com ou appelez-nous : 866-503-1471 (USA/Canada) ou +33 (0)1 84 17 53 28

Case Study: Pernod Ricard sécurise les applications e-commerce, mobiles et d’entreprise avec SonarQube

Découvrez comment Pernod Ricard sécurise ses applications et mesure le niveau de qualité du code externalisé avec SonarQube

Pernod Ricard

« SonarQube n’est pas seulement un outil bien connu et respecté. C’est la norme pour la qualité et la sécurité du code.Laurent Bel, Responsable Architecture et Innovation @ Pernod Ricard

Langages de code : C#, Node.js et Python

Le défi

Pernod Ricard, un producteur mondial de vins et spiritueux compte 18 500 employés et distribue 250 marques sur 130 marchés à travers plus de 200 sites Web, applications mobiles et applications de commerce électronique. Ces applications sont une partie essentielle de l’entreprise et nécessitent une protection contre les violations de données et les dégradations. De plus, Pernod Ricard développe 150 applications d’entreprise internes pour soutenir son activité. Ces applications de back-office doivent également être protégées car elles sont exposées à Internet afin de les rendre facilement accessibles par les employés.

En plus de ce vaste paysage d’applications sensibles à la sécurité, Pernod Ricard fait face à un défi supplémentaire : tout le développement logiciel est sous-traité à de multiples agences de développement. Sans le bon outil, il n’y a aucun moyen d’évaluer le niveau de qualité de tout ce code externalisé.

La solution

Après une première étude de marché, Pernod Ricard a d’abord sélectionné un fournisseur de premier plan dans le rapport de marché SAST de Gartner pour une démonstration. “Nous nous attendions à obtenir quelque chose comme une Rolls-Royce mais nous avons été extrêmement déçus”, a déclaré Hakim Rouatbi, architecte de solutions informatiques. L’équipe a ensuite comparé l’expérience et les résultats du produit à SonarQube et la décision a été simple. SonarQube a fourni une interface utilisateur intuitive, des intégrations transparentes, une analyse plus rapide et des résultats d’analyse précis et exploitables.

SonarQube a fourni tout cela à un prix nettement inférieur avec un modèle de licence flexible. Hakim ajoute : “C’est super facile de démarrer et l’interface est bien pensée pour que les bonnes informations vous sautent aux yeux”.

Les résultats

Pour chaque projet de développement, SonarQube est entièrement intégré aux pipelines Pernod Ricard CI/CD existants hébergés sur Bitbucket, GitLab et Azure. L’analyse applique plus de 5000 règles dans plus de 30 langues et se termine en quelques minutes seulement. De nombreux développeurs utilisent également SonarLint dans leur IDE pour détecter les problèmes avant que leur code ne soit validé.

Tous les développeurs ont accès à SonarQube, ce qui permet l’adoption de pratiques Clean Code dans tous les projets. Les résultats d’analyse sont mesurés par l’équipe informatique via des Quality Gates personnalisés. Ces Quality Gates définissent la norme d’acceptation et sont partagées par des développeurs d’agences et d’horizons différents. Cela fournit un moyen simple de déterminer si le code nouvellement écrit est propre et fusionnable.

L’utilisation de SonarQube offre à Pernod Ricard un cadre commun pour des discussions appropriées entre les équipes de développement sur les problèmes à résoudre. Ce framework permet à Pernod Ricard de relever le défi de ne conserver que du Clean Code dans son code source.

RÉSULTATS CLÉS :

  • 200 applications web et e-commerce majoritairement développées en PHP et JS
  • 150 applications d’entreprise développées en C#, Node.js et Python
  • Intégration CI/CD avec Azure DevOps, GitLab et Bitbucket Pipelines
  • Analyse de code automatisée pour 5 000 règles évaluées par la communauté en quelques minutes seulement
  • L’intégration SonarLint IDE protège les commits de code
  • Les développeurs s’approprient pleinement leur code et le livrent selon des normes de haute qualité
  • Résultats de la qualité du code et de la sécurité du code détenus par les développeurs
ALM-Toolbox est  distributeur officiel de SonarQube ,GitLab et offre du conseils, des licences SonarQube et SonarCloud, la mise en œuvre, la formation et aide les clients à intégrer SonarQube aux flux commerciaux et aux pipelines CI/CD.
Contactez-nous pour toute question, y compris les prix et les devis : sonarqube@almtoolbox.com ou appelez-nous : 866-503-1471 (USA/Canada)                       ou  +33 (0)1 84 17 53 28

Rejoignez notre Webinaire: Clean Code avec SonarQube

Nous accueillerons Gil Zilberfeld de TestinGil pour discuter du code propre et de SonarQube.
Ce  webinaire ( en anglais) est gratuit.

Clean Code  avec SonarQube

sonarqube clean code webinar

Nous discuterons des avantages d’un code propre et de la manière dont SonarQube peut vous aider à acquérir les meilleures pratiques de code propre.

Rejoignez-nous pour un webinaire pour discuter de clean  code  propre et voir une démonstration en direct !

Agenda:

  1. Intro au  Clean Code
  2. Intro au  Refactoring
  3. Comment SonarQube vous aide à mettre en oeuvre  le clean code
  4. Live demo  de SonarQube
  5. Q&A (vous pouvez  soumettre vos questions à l’avance)

Quand?

Mardi 16 mai à 16h00 CET / 10h00 HE
L’inscription est gratuite pour nos clients et le nombre de places est limité.

Nous prévoyons d’enregistrer le webinaire ! Nous partagerons les enregistrements avec tous ceux qui sont inscrits.

Inscription:

    * Nom

    * Email

    * Utilisez vous Sonar?

    Tel :

    Avez-vous des questions à nous soumettre ?

    Ce que vous  apprendrez de ce webinaire:

    1. Porquoi  clean code est important 
    2. Comment  refactoring  aide pour le  clean code
    3. Comment SonarQube aide a manager l’amelioration du clean code  

    Pour qui ce webinaire?

    Developers, R&D managers, Automation developers, DevOps experts,  ingénieurs QA

    Qui animera le webinaire ?

    1. Gil Zilberfeld, TestinGil :
      Gil Zilberfeld est  un expert logiciel depuis son enfance, écrivant des programmes BASIC sur son fidèle Sinclair ZX81.
      Il est formateur, consultant et mentor en développement, test et gestion de logiciels.
      Gil intervient fréquemment dans des conférences internationales sur les tests unitaires, le TDD, les pratiques agiles et le code propre. Il est l’auteur de “Everyday Unit Testing” et “Everyday Spring Testing”, de blogs et de vidéos sur EverydayUnitTesting.com.
    2. Tamir Gefen, ALM-Toolbox CEO

    Langue?

    Le webinaire sera delivré en anglais

    Le webinaire est-il également pertinent pour les utilisateurs de SonarCloud ?

    Oui tout à fait

     

    ALM-Toolbox company is a partner of Sonar company (the creator of SonarQube, SonarCloud and SonarLint).

    Pour nous contacter: sonar@almtoolbox.com  ou  +33 1 84 17 53 28 ou 866-503-1471 (USA/Canada)

    Nous sommes ALMtoolbox, le partenaire officiel de Sonar , (le créateur de SonarQube, SonarCloud et SonarLint). GitLab  et autres en Europe et dans le monde. Nous fournissons du srevice ,aide à la migration, aidons les clients à choisir les licences les mieux adaptées, un hébergement privé, un support de qualité et rapide, le développement de modules complémentaires GitLab et nous soutenons et vendons une variété d’outils DevSecOps et ALM.

     

     

    Liens utiles:

    Quelles sont les différences entre les éditions SonarQube ?

    Last update: April 2023 (published first at June 2021)

    On nous demande souvent quelles sont les différences entre les versions de SonarQube.
    D’après les questions, il est clair que les options de licence ne sont pas si claires et assez déroutantes, j’ai donc décidé d’écrire les points essentiels et de mettre un peu d’ordre.

    Legende

    Dans l’article suivant, j’explique les différences, et d’ailleurs nous avons récemment créé un fichier automatique qui vous permet de voir facilement toutes les fonctionnalités du produit, en détail et par éditions (vous pouvez donc utiliser des filtres et voir par exemple quelles fonctionnalités sont uniquement dans les éditions Developer / Enterprise ; quelles fonctionnalités ne sont pas dans une certaine édition, etc.) . Vous pouvez nous envoyer un e-mail (sonarqube@almtoolbox.com) et obtenir cette fichier automatique.

    sonarqube-excel
    Cliquez pour agrandir. Envoyez-nous un e-mail pour obtenir la feuille de calcul complète.

    Principales différences dans les éditions SonarQube

    SonarQube Editions

    Dans cet article, j’explique les principales différences entre les éditions SonarQube.

    SonarQube a été construit dans un modèle “Open Core”, ce qui signifie qu’il s’agit d’une source ouverte construite par couches : chaque couche contient l’ancienne couche plus des fonctionnalités supplémentaires :

    • L’édition communautaire (gratuite) est la base
    • Ensuite, vous avez Developer Edition en couche additionnelle
    • Puis l’Enterprise Edition en plus
    • Et enfin l’édition Data Center en plus

    Voire l’illustration sur le côté droit.

    Voyons les principales fonctionnalités qui sont ajoutées dans chaque édition (couche).

    Qu’y a-t-il dans l’édition communautaire ?

    Cette édition est open source gratuite et offre les éléments suivants :

    1. Noyau de SonarQube et plus de 60 plugins.
    Vous avez une variété de plugins conçus pour SonarQube (certains sont gratuits tandis que vous devez payer pour d’autres). Vous pouvez également créer vos propres plugins (et nous pouvons le créer pour vous).

    2. Numérisation des langages de code (analyse de code statique)

    L’édition communautaire prend en charge une analyse de base de 16 langues :
    Java, Javascript, C#, Terraform, Kubernetes, TypeScript, Kotlin, Ruby, Go, Scala, Flex, Python, PHP, HTML, CSS, XML, VB.NET

    3. Analyse de la branche master (principale)

    Scannez la branche git master (principale).

    Notez que vous ne pouvez pas analyser d’autres branches (par exemple, les branches de fonctionnalités) à l’aide de l’édition de la communauté, vous ne pouvez donc pas appliquer la méthodologie “Shift Left” à l’aide de cette édition.

    4. SonarLint

    SonarLint vous aide à recevoir des notifications sur les problèmes de code et les bogues, en temps réel, dans l’IDE des développeurs (par exemple IntelliJ / VS Code) – ce qui les aide à développer plus de “code propre”.
    Remarque : SonarLint ne peut pas être configuré dans cette version (vous pouvez le faire dans l’édition Developer comme expliqué ci-dessous)

    Édition développeur vs édition communautaire

    L’édition développeur offre tout dans l’édition communautaire PLUS :

    1. Branch Analysis

    Vous pouvez analyser toutes les branches de votre choix (plutôt que la branche principale uniquement), ce qui vous permet de détecter les problèmes beaucoup plus tôt, avant même que le code ne soit fusionné en amont avec les branches principales.

    1. Demande d’extraction Décoration  & Analyse

    Cela vous permet d’intégrer SonarQube à vos outils de contrôle de version et d’ajouter l’analyse SonarQube et une porte de qualité à vos demandes d’extraction (ou demandes de fusion) dans l’interface de votre fournisseur ALM / DevOps, y compris GitLab, GitHub, Bitbucket et Azure DevOps.
    Il vous aide à obtenir un retour rapide (des résultats de l’analyse) dans le tableau de bord.

    Illustration: Pull (Merge) request decoration with SonarQube and GitLab
    Illustration : Pull (Merge) décoration de requête avec SonarQube et GitLab. Cliquez pour agrandir

    3. Analyse de la sécurité du code /Fonctionnalités

    Analyse de sécurité avec une variété de règles pour chaque langue de code (notre feuille de calcul spécifie le nombre de règles dont vous disposez pour chaque langue)

    Remarque : l’édition communautaire (gratuite) ne recherche pas les failles de sécurité

    4. Fonctionnalités  SonarLint supplémentaires

    Dans cette version, il est possible de configurer et de recevoir des notifications intelligentes (non disponible dans l’édition gratuite de la communauté),
    donc si vous (en tant que développeur) utilisez SonarLint via votre IDE, vous pouvez configurer et recevoir des notifications.
    Par exemple : Vous pouvez recevoir un message si vous n’avez pas passé les Quality Gates.

    Remarque : SonarLint dans l’édition communautaire (gratuite) n’analyse pas les langues qui ne sont pas prises en charge dans la version gratuite (par exemple, C, C++ et autres, comme indiqué ci-dessous)

    5. Prise en charge de plus de Languages:

    L’Edition  Enterprise analyse également les langages de code suivants :

    1. Apex (of Salesforce)
    2. Cobol
    3. PL/1
    4. RPG
    5. VB 6 (Visual Basic)


    L’Edition   Enterprise prend en charge 29 languages de code au total.

    L’Edition  Enterprise  vs Edition  Developer

    1. Prise en charge de plus de langages

    L’ Edition Enterprise  analyse également les langages de code suivants :

    1. Apex (of Salesforce)
    2. Cobol
    3. PL/1
    4. RPG
    5. VB 6 (Visual Basic)

    L’ Edition Enterprise prend en charge 29 langages de code au total.

    2. Portefeuille et reporting

    Cette fonctionnalité est utile lorsque vous avez de nombreux projets. Il vous montre l’état des projets de haut niveau (ce qui est souvent nécessaire aux responsables du développement, aux chefs d’équipe, aux CTO, etc.).

    Cela vous permet également d’agréger les projets par groupes afin de visualiser les informations et de les rendre beaucoup plus claires et lisibles.

    Fonctionnalités pertinentes ici :

    • Agrégation de projets. Par exemple, vous pouvez décider quoi regrouper selon des critères que vous décidez, par ex. langage codé commun ; projets hérités; groupes ; équipes etc…
    • Vous pouvez automatiser le rapport et l’envoyer par e-mail (sous forme de rapport PDF)
    Regarder une démo (2 min) :

    3. Rapports de sécurité

    Les rapports de sécurité sont disponibles uniquement dans l’édition Enterprise.
    Ces rapports vous aident à obtenir des commentaires plus rapidement et à corriger les vulnérabilités de sécurité beaucoup plus rapidement.
    SonarQube vous aide à voir votre posture de sécurité selon les normes OWASP Top 10 et CWE Top 25.

    Par exemple:

    Security Reports
    Rapports de sécurité

    4. Point d’accès de sécurité + vulnérabilités de sécurité

    Les hotspots de sécurité sont des zones de code où SonarQube met en évidence les extraits de code suspects que les développeurs doivent vérifier (car il peut y avoir des vulnérabilités).

    Voir un exemple (cliquez pour agrandir):

    Security Hotspot
    Security Hotspot

    Cette fonctionnalité permet également d’améliorer les compétences de développement des développeurs et de les responsabiliser : au fur et à mesure qu’ils écrivent du code et découvrent les points chauds, ils découvrent les risques de sécurité et les meilleures pratiques pour les prévenir.

    Les vulnérabilités de sécurité nécessitent une attention immédiate. SonarQube fournit une description détaillée et met en évidence le code pertinent, ce qui aide à comprendre quel est le risque dans le code donné.
    Par exemple (cliquez pour agrandir):

    Identify the problematic code
    Identifiez le code problématique et fournissez une solution sur la façon de le résoudre (dans ce cas : utilisez une longueur de clé qui fournit suffisamment d’entropie contre les attaques par force brute. Pour l’algorithme RSA, elle doit être d’au moins 2 048 bits)

    5. Traitement parallèle des rapports d’analyse

    Vous permet de gérer les analyses et les rapports en parallèle. Ceci est utile si vous devez exécuter de nombreuses analyses et rapports.
    Vous pouvez exécuter jusqu’à 10 nœuds de calcul en parallèle.

    6.Licence  Staging

    À l’aide de l’édition Enterprise, vous pouvez obtenir une licence supplémentaire pour configurer un environnement de test/de test.

    Ceci est utile lorsque SonarQube fait partie d’un système critique et/ou utilise des plugins, et que vous souhaitez le tester (en tant qu’exécution “à sec”) avant de mettre à niveau le serveur réel (afin d’atténuer les risques et d’assurer un temps d’arrêt minimal et une mise à niveau réussie) .

    Edition Data Center   vs Enterprise

    L’Edition Data Center Edition vous offre une haute disponibilité pour les déploiements massifs (mondiaux).
    La haute disponibilité est obtenue en ajoutant de la redondance à chaque nœud du système.

    1. Redondance des composants

    2. Résilience des données


    3. Évolutivité horizontale

    FAQ:

    • Q : Quel est le prix de SonarQube ?
      R : La tarification de SonarQube dépend de plusieurs paramètres :
      Type d’édition (comme expliqué ci-dessus dans l’article);
      Le nombre de lignes de code dont vous disposez
      Que vous preniez le support client
      Contactez-nous pour obtenir les prix et les devis exacts : sonarqube@almtoolbox.com ou appelez nous.
    • Q : J’utilise un langage de code pris en charge par l’édition communautaire (gratuite) (par exemple, Java ou C#). Cela signifie-t-il que j’obtiens toutes les fonctionnalités de SonarQube ?
      R : Non. Si vous utilisez l’édition gratuite, vous avez accès aux fonctionnalités disponibles uniquement dans l’édition communautaire gratuite.
      Par exemple : si vous utilisez Java (qui est disponible dans l’édition gratuite), vous n’obtiendrez pas d’analyse des règles de sécurité ; Aucune analyse de branche ; Aucun rapport, etc.

    ALM-Toolbox est un distributeur officiel de SonarQube et offre du conseils, des licences SonarQube et SonarCloud, la mise en œuvre, la formation et aide les clients à intégrer SonarQube aux flux commerciaux et aux pipelines CI/CD.
    Contactez-nous pour toute question, y compris les prix et les devis : sonarqube@almtoolbox.com ou appelez-nous : 866-503-1471 (USA/Canada) ou +33 (0)1 84 17 53 28

    Liens utiles: