
Plateforme de qualité de code et d'analyse statique avec des quality gates, une analyse multi-langages et des règles orientées sécurité pour détecter les vulnérabilités et les problèmes de maintenabilité dans les workflows CI/CD.
SonarQube permet non seulement de montrer la santé d'une application, mais aussi de mettre en évidence les problèmes nouvellement introduits. Avec un Quality Gate en place, vous pouvez obtenir un code propre et ainsi améliorer systématiquement la qualité du code.
Pour les questions d'assistance (« Comment faire ? », « J'obtiens cette erreur, pourquoi ? », ...), veuillez d'abord lire la documentation, puis rendez-vous sur la communauté SonarSource. Vous y trouverez probablement déjà la réponse à votre question ! 🤓
Sachez que ce forum est une communauté, donc les formules de politesse standard (« Bonjour », « Merci », ...) sont attendues. Et si vous n'obtenez pas de réponse à votre fil, patientez au moins trois jours avant de le relancer. Les opérateurs ne sont pas en attente. 😄
Si vous souhaitez voir une nouvelle fonctionnalité ou signaler un bug, veuillez créer un nouveau fil dans notre forum.
Veuillez noter que nous ne recherchons pas activement de contributions de fonctionnalités. En vérité, il est extrêmement difficile pour une personne extérieure à SonarSource de se conformer à notre feuille de route et à nos attentes. Par conséquent, nous n'acceptons généralement que des modifications cosmétiques mineures et des corrections de coquilles.
Dans cette optique, si vous souhaitez soumettre une contribution de code, veuillez créer une pull request sur ce dépôt. Veuillez expliquer vos motivations pour contribuer à ce changement : quel problème vous essayez de résoudre, quelle amélioration vous essayez d'apporter.
Assurez-vous de suivre notre style de code et que tous les tests passent (la compilation Travis est exécutée pour chaque pull request).
Envie de contribuer aux produits SonarSource ? Nous recherchons des personnes intelligentes, passionnées et compétentes pour nous aider à créer des solutions de qualité de code de classe mondiale. Jetez un œil à nos offres d'emploi actuelles !
Pour compiler les sources localement, suivez ces instructions.
-x test à la commande gradle (utile si vous voulez juste compiler sans exécuter les tests)Exécutez depuis le répertoire de base du projet :
./gradlew build
Le fichier de distribution zip est généré dans sonar-application/build/distributions/. Décompressez-le et démarrez le serveur en exécutant :
# on Linux
bin/linux-x86-64/sonar.sh start
# or on MacOS
bin/macosx-universal-64/sonar.sh start
# or on Windows
bin\windows-x86-64\StartSonar.bat
Si le projet n'a jamais été compilé, compilez-le comme d'habitude (voir la section précédente) ou utilisez la commande plus rapide :
./gradlew ide
Ouvrez ensuite le fichier racine build.gradle comme projet dans IntelliJ ou Eclipse.
| ./gradlew command | Description |
|---|---|
dependencies | lister les dépendances |
spotlessApply | corriger les en-têtes de source en appliquant HEADER |
wrapper --gradle-version 5.2.1 | mettre à niveau le wrapper |
L'interface utilisateur de SonarQube (ou webapp, comme nous l'appelons) se trouve dans un autre dépôt : sonarqube-webapp.
Lors de la compilation du dépôt sonarqube, la webapp est automatiquement téléchargée depuis Maven Central comme dépendance, ce qui vous permet de contribuer facilement des changements backend sans avoir à vous occuper de la webapp.
Mais si votre contribution contient également des modifications de l'interface utilisateur, vous devez cloner le dépôt sonarqube-webapp, y effectuer vos modifications, le compiler localement, puis compiler le dépôt sonarqube en utilisant la variable d'environnement WEBAPP_BUILD_PATH pour cibler votre compilation personnalisée de l'interface utilisateur.
Voici un exemple de la façon de procéder :
cd /path/to/sonarqube-webapp/server/sonar-web
# do your changes
# install dependencies, only needed the first time
yarn
# build the webapp
yarn build
cd /path/to/sonarqube
# build the sonarqube repository using the custom build of the webapp
WEBAPP_BUILD_PATH=/path/to/sonarqube-webapp/server/sonar-web/build/webapp ./gradlew build
Vous pouvez également cibler une version spécifique de la webapp en mettant à jour la propriété webappVersion dans le fichier ./gradle.properties, puis en compilant normalement le dépôt sonarqube.
Historiquement, nos traductions étaient stockées dans sonar-core/src/main/resources/org/sonar/l10n/core.properties, mais ce fichier est désormais obsolète et n'est plus mis à jour.
Les traductions par défaut (en anglais) sont désormais définies dans le dépôt de la webapp, ici :
https://github.com/SonarSource/sonarqube-webapp/blob/master/libs/sq-server-shared/src/l10n/default.ts
Le format a changé, mais vous pouvez toujours l'obtenir au format de fichier .properties en exécutant la commande suivante :
cd /path/to/sonarqube-webapp/server/sonar-web
# install dependencies, only needed the first time
yarn
# generate a backward compatible .properties file with all the translation keys
yarn generate-translation-keys
Notez que la contribution d'extensions de traduction dans d'autres langues fonctionne toujours de la même manière qu'auparavant. C'est simplement la source de vérité des traductions par défaut qui a changé.
Copyright (C) SonarSource Sàrl.
Sous licence GNU Lesser General Public License, Version 3.0