Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Introduction à SonarQube
Ou comment éviter de se noyer dans son code
Par: Vincent Biret
Vincent Biret
Et ça fait 14 ans que je code, en commençant par du PHP3…
@baywet
bit.ly/vince365
MVP Office Servers and Ser...
Merci aux sponsors et organisateurs
Tout ceci participe à la définition de dette technique
Qu’est-ce que la dette technique?
•Du code avec lequel on n’est pas...
On est tous passés par là
Hériter d’un vieux projet – réactions
Solutions?
•Réécrire le code tous les deux ans
•Pair coding
•Analyse statique + « linting »
Ce dont nous avons besoin
•Liste exhaustive des problèmes
•Gestion de ces derniers
•Stopper l’hémorragie
•Métriques claire...
Ecosystème
Backlog à
jour
Repo Propre
Analyse
statique
Intégration
continue
xTests
Déploiement
continu
Agenda
•Introduction
•Analyse statique
•SonarQube
•Démos
•Conclusion
Prêt(e)s?
Ou l’art de détecter les problèmes dans le code
L’analyse statique
L’analyse statique (selon wikipédia)
« couvre une variété de méthodes
utilisées pour obtenir des informations
sur le compo...
Intégrée: en direct ou presque quand on code, Centralisée: partie du pipeline
Types d’analyse statique
• Intégrée (à l’IDE...
Feedback rapide, pas possible de contourner, gestion centralisée
Hybride
•Analyse centralisée
•Analyse intégrée
•Même jeu ...
SonarQube
Vue d’ensemble
•OpenSource (GitHub, GNU GPLv3)
•Développé en Java
•Supporté par une entreprise dédiée (2007)
•Supporte 30/...
Stack technique
•Java
•Elastic Search
•Mysql, postgres ou SQL DB
•(on prem & azure supportés)
•Oauth
Installations
•On Prem (linux ou windows)
•Cloud (mon repo) (linux ou windows)
•Cloud (PaaS) (sonarcloud.io)
Intégration
• Dot Net Pipeline
• Intégration dans Visual Studio avec SonarLint
• Intégration au pipeline avec des tâches d...
Demo, demo, demo, demo…..
Demo
C’est le temps de se dire aurevoir
Conclusion
Conclusion
• Qualité du code augmentée
• Aide à la veille technique
• Qualité globale augmentée
• Performance
• Stabilité
...
Bit.ly/vincentbiret @baywet slideshare.net/VincentBIRET
Merci! Questions?
Upcoming SlideShare
Loading in …5
×

#MSDEVMTL Introduction à #SonarQube

194 views

Published on

Slides de la session du #meetup @MSDEVMTL d'introduction à #SonarQube

Published in: Technology
  • Be the first to comment

  • Be the first to like this

#MSDEVMTL Introduction à #SonarQube

  1. 1. Introduction à SonarQube Ou comment éviter de se noyer dans son code Par: Vincent Biret
  2. 2. Vincent Biret Et ça fait 14 ans que je code, en commençant par du PHP3… @baywet bit.ly/vince365 MVP Office Servers and Services Azure and Office 365 developer @ 2ToLead
  3. 3. Merci aux sponsors et organisateurs
  4. 4. Tout ceci participe à la définition de dette technique Qu’est-ce que la dette technique? •Du code avec lequel on n’est pas confortable •Dont on s’occupera « plus tard » •Qui nous empêche d’innover •Nombreux appels de support •Stressant pour l’équipe
  5. 5. On est tous passés par là
  6. 6. Hériter d’un vieux projet – réactions
  7. 7. Solutions? •Réécrire le code tous les deux ans •Pair coding •Analyse statique + « linting »
  8. 8. Ce dont nous avons besoin •Liste exhaustive des problèmes •Gestion de ces derniers •Stopper l’hémorragie •Métriques claires compréhensibles par des non- devs
  9. 9. Ecosystème Backlog à jour Repo Propre Analyse statique Intégration continue xTests Déploiement continu
  10. 10. Agenda •Introduction •Analyse statique •SonarQube •Démos •Conclusion
  11. 11. Prêt(e)s?
  12. 12. Ou l’art de détecter les problèmes dans le code L’analyse statique
  13. 13. L’analyse statique (selon wikipédia) « couvre une variété de méthodes utilisées pour obtenir des informations sur le comportement d'un programme lors de son exécution sans réellement l'exécuter »
  14. 14. Intégrée: en direct ou presque quand on code, Centralisée: partie du pipeline Types d’analyse statique • Intégrée (à l’IDE) • StyleCop (style analysis) • FXCop • .NET Analyzers • Resharper • Jshint/eslint/tslint… • Centralisée • SonarQube • Kiuwan
  15. 15. Feedback rapide, pas possible de contourner, gestion centralisée Hybride •Analyse centralisée •Analyse intégrée •Même jeu de règles
  16. 16. SonarQube
  17. 17. Vue d’ensemble •OpenSource (GitHub, GNU GPLv3) •Développé en Java •Supporté par une entreprise dédiée (2007) •Supporte 30/40 langages (modèle d’extensions) •Plateforme web •S’intègre avec vos IDE et vos pipelines
  18. 18. Stack technique •Java •Elastic Search •Mysql, postgres ou SQL DB •(on prem & azure supportés) •Oauth
  19. 19. Installations •On Prem (linux ou windows) •Cloud (mon repo) (linux ou windows) •Cloud (PaaS) (sonarcloud.io)
  20. 20. Intégration • Dot Net Pipeline • Intégration dans Visual Studio avec SonarLint • Intégration au pipeline avec des tâches dédiées • TS/web pipeline • Intégration dans vs code avec tslint, style lint… • Intégration au pipeline avec une tâche dédiée (cli)
  21. 21. Demo, demo, demo, demo….. Demo
  22. 22. C’est le temps de se dire aurevoir Conclusion
  23. 23. Conclusion • Qualité du code augmentée • Aide à la veille technique • Qualité globale augmentée • Performance • Stabilité • Gain/économie en $$$ • Développeurs plus heureux • Aucune excuse pour ne pas l’implémenter chez vous
  24. 24. Bit.ly/vincentbiret @baywet slideshare.net/VincentBIRET Merci! Questions?

×