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: