Mesurer simplement la qualite de code R
rsonar mesure la qualite de code R, inspire de SonarQube :
Une seule commande, tout est centralise :
rsonar-examplesR/clean_code.RR/messy_code.RProblemes : espaces, T/F, affectations =, style non conforme.
Un seul objet contient : lint, style, couverture, bonnes pratiques, dette.
-- rsonar -- Quality Report --
Fichiers : 12 R
Lint : 8 (0 err / 4 warn / 4 style)
Style : 1 non-conforme
Coverage : 42.3%
-- Dette Technique --
SQALE: E | Score: 37.8% | Duree: 3.1h
Avant un commit, pendant une revue, pour suivre l’amelioration.
Affiche : score %, note SQALE, couverture, lint/style, dette detaillee.
Si le gate echoue, le pipeline CI bloque automatiquement.
Estime un temps de correction (minutes) vs effort du projet.
| Ratio | Note | Signification |
|---|---|---|
| <5% | A | Excellent |
| 5-10% | B | Bon |
| 10-20% | C | Correct |
| 20-50% | D | Dette importante |
| >50% | E | Dette critique |
16 familles de corrections — 12 appliquees, 4 en rapport :
| Categorie | Exemple |
|---|---|
styler / air |
Formatage complet |
spacing |
x<-1 → x <- 1 |
true_false |
if(T) → if(TRUE) |
commas |
c(1,2,3) → c(1, 2, 3) |
simplify |
if(x==TRUE) → if(x) |
pipes |
%>% → |> |
assignment |
= → <- |
cleanup |
Espaces fin de ligne |
Une fonction pour tout le processus :
Settings > Access Tokens > Create token
| Champ | Valeur |
|---|---|
| Token name | rsonar-fix |
| Role | Maintainer |
| Scopes | write_repository |
📋 Copier immediatement la valeur du token.
Format : glpat-xxxxxxxxxxxxxxxxxxxx
Settings > CI/CD > Variables > Add variable
| Champ | Valeur |
|---|---|
| Key | PROJECT_TOKEN |
| Value | Coller le token de l’etape 1 |
| Flags | ✅ Masquee |
Le job CI utilise ce token via oauth2 : https://oauth2:${PROJECT_TOKEN}@...
Settings > Repository > Protected branches > Add
| Champ | Valeur |
|---|---|
| Branch | auto/rsonar-fix-* |
| Push | Maintainers |
Le wildcard * accepte : auto/rsonar-fix-20260728-091500
Etape 1 : Creer un token (scope write_repository)
|
Etape 2 : Ajouter PROJECT_TOKEN en variables CI/CD
|
Etape 3 : Autoriser le pattern auto/rsonar-fix-* (Maintainers)
Termine ! Pusher du code, cliquer sur le job autofix, review et merger la MR.


Affiche : nouveaux problemes, problemes corriges, tendance.
rsonar a 3 niveaux d’utilisation : - Localement : score qualite rapide dans l’IDE - En CI : gate + exports + rapports - Dans le temps : dette, diff, tendance
sonar_fix() + sonar_autofix() completent la suite rsonar :
Le tout depuis le pipeline CI, en un clic.