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.
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.
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.
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.
Principales différences dans les éditions SonarQube
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 :
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.
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.
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 :
Apex (of Salesforce)
Cobol
PL/1
RPG
VB 6 (Visual Basic)
L’Edition Enterprise prend en charge 29 languages de code au total.
L’Edition Enterprise vs Edition Developer
Prise en charge de plus de langages
L’ Edition Enterprise analyse également les langages de code suivants :
Apex (of Salesforce)
Cobol
PL/1
RPG
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:
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):
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):
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.
Redondance des composants
Résilience des données
É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