Sur mon nouveau back-end, je voulais mettre une analyse statique du code. En plus de mes revues de code qui sont faites par AI, l'analyse statique est vraiment importante pour éviter les problèmes plus tard, suivre le code coverage, etc...
Je connais super bien le leader du domaine, SonarQube que j'ai utilisé amplement dans mes emplois antérieurs mais je voulais voir s'il y avait des alternatives en 2025.
Comme j'utilise toute la suite de produits Jetbrains, j'ai immédiatement été attiré par leur nouveau produit Qodana.
C'était un produit intéressant au départ car il est gratuit! Dans un startup, on aime les affaires gratis 😂!
Ceci dit, dans la version gratuite, ça fait seulement une analyse générique de type "JVM" et non une analyse prenant en compte le framework (Spring boot dans mon cas). Un analyseur Spring Boot existe, mais il faut payer une license complète... Dommage, j'aurais aimé l'essayer.
Les résultats après plusieurs semaines d'utilisation:
Je connais super bien le leader du domaine, SonarQube que j'ai utilisé amplement dans mes emplois antérieurs mais je voulais voir s'il y avait des alternatives en 2025.
Comme j'utilise toute la suite de produits Jetbrains, j'ai immédiatement été attiré par leur nouveau produit Qodana.
C'était un produit intéressant au départ car il est gratuit! Dans un startup, on aime les affaires gratis 😂!
Ceci dit, dans la version gratuite, ça fait seulement une analyse générique de type "JVM" et non une analyse prenant en compte le framework (Spring boot dans mon cas). Un analyseur Spring Boot existe, mais il faut payer une license complète... Dommage, j'aurais aimé l'essayer.
Les résultats après plusieurs semaines d'utilisation:
- L'analyse n'a jamais trouvé de problème dans mon code à part une seule fois où j'avais vraiment oublié quelque chose d'évident. Cela m'indique que l'analyse de base JVM n'est pas très complète.
- L'analyse prend presque 5 minutes dans Github Action... C'est interminable et c'est à cause que ça installe à chaque fois l'analyseur. Si on repousse dans la même PR, c'est plus vite en activant la cache, mais ça reste que la première analyse est très longue.
- Aucun coverage dans la version gratuite! 😒Dans leur interface cloud, ça affichait "Not Set". J'ai perdu 2-3 heures à essayer à obtenir le coverage avec 2 plugins différents, sans succès. Tout ça pour découvrir creux dans la documentation que le coverage n'est pas offert dans la version gratuite... L'interface graphique devrait dire "Not available - Please upgrade" pour éviter cette perte de temps.
- L'interface est minimaliste, mais correcte. J'aurais apprécié je crois (si le reste fonctionnait mieux).
- L'intégration avec IntelliJ et les autres produits Jetbrains est très minimaliste (pratiquement inexistante) et vraiment moins bonne que celle de SonarQube. Je pensais que ça allait être leur force.. mais non.
Conclusion
Pour des projets comme le miens qui sont en bas de 50 000 lignes de code, Sonarqube est le choix évident. L'interface, les analyse, le workflow, la facilité de configuration, etc.. Tout est là.
De plus, de 50 000 à 100 000 ligne de code c'est seulement 32$ par mois. C'est quand même long avant de se rendre là si on fait attention alors c'est beaucoup de 15$ sauvé sur la license de Qodana pendant les premières années d'opération.
Qodana est un produit jeune et je pense que l'offre pour l'essayer et bien le comparer n'est pas assez généreuse. Est-ce un autre produit que Jetbrain va se débarasser rapidement comme Jetbrain Space ou bien les prochaines versions vont surclasser SonarQube? Je serai le premier à vouloir l'essayer à ce moment-là!
De plus, de 50 000 à 100 000 ligne de code c'est seulement 32$ par mois. C'est quand même long avant de se rendre là si on fait attention alors c'est beaucoup de 15$ sauvé sur la license de Qodana pendant les premières années d'opération.
Qodana est un produit jeune et je pense que l'offre pour l'essayer et bien le comparer n'est pas assez généreuse. Est-ce un autre produit que Jetbrain va se débarasser rapidement comme Jetbrain Space ou bien les prochaines versions vont surclasser SonarQube? Je serai le premier à vouloir l'essayer à ce moment-là!