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 

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: