IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qualimétrie Discussion :

Mise-à-jour de l'article sur Sonar


Sujet :

Qualimétrie

  1. #21
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 178
    Points : 274
    Points
    274
    Par défaut Maven
    Sinon pour le passage à Maven la documentation en français commence à exister (autopromotion ) .
    Et tu peux même y contribuer
    http://github.com/ehsavoie/maven-guide-fr/wikis/home
    Emmanuel

  2. #22
    Membre expérimenté

    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 1 374
    Points
    1 374
    Par défaut
    Petite question à propos de Sonar : comment l'intégrez vous dans votre ide favori ?

    Perso j'utilise eclipse avec m2eclipse pour l'intégration de maven et... j'aimerai qu'eclipse utilise les mêmes règles pour controler de suite la qualité de ce que je fais.

    D'après ce que j'ai lu :
    - ça ne marche pas avec m2eclipse (?)
    - il faut configurer indiviuellement les plugins correspondant => est ce au moyen possible pour tous ?
    ...

    merci d'avance !

    ++
    Merci d'utiliser le bouton [Résolu] pour les sujets qui le sont.
    [pub]mon blog franco anglais, article du moment: Wicket: fournir des données JSON via Ajax[/pub]

  3. #23
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 58
    Points : 43
    Points
    43
    Par défaut
    Bonjour,

    quelqu'un sait-il comment utiliser le plugin PHP ? Je l'ai correctement buildé, mais je ne vois pas quoi faire avec.

    Il faut écrire le pom.xml soit même ? Ou le plugin permet d'utiliser le build.xml ? (avec des règles pour php cs, phpcpd....).

    Je ne vois pas de documentation sur le site de l'auteur, du coup je recherche un petit peu comment ça se goupille pour PHP...
    http://adrien.frenchcomp.net : Blog (expériementations, contributions), CV, projets....

  4. #24
    Candidat au Club
    Inscrit en
    Décembre 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    Je serais également intéressé.

    Citation Envoyé par adrien357 Voir le message
    Bonjour,

    quelqu'un sait-il comment utiliser le plugin PHP ? Je l'ai correctement buildé, mais je ne vois pas quoi faire avec.

    Il faut écrire le pom.xml soit même ? Ou le plugin permet d'utiliser le build.xml ? (avec des règles pour php cs, phpcpd....).

    Je ne vois pas de documentation sur le site de l'auteur, du coup je recherche un petit peu comment ça se goupille pour PHP...

  5. #25
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 147
    Points : 66
    Points
    66
    Par défaut
    Bonjour à tous.

    Je viens de découvrir Sonar ... cet outil est vraiment excellent !
    Cette présentation m'a bien servit

    Je recherche à présent une description complète et détaillé des métriques présentées dans Sonar.

    Par exemple, dans le dashBoard, comment le pourcentage "Comments" est-il calculé ? Je sais que Sonar se base sur "Sonar Squiq" mais pour le moment, je n'ai pas trouvé grand chose ...

    Le lien http://docs.codehaus.org/display/SON...ic+definitions m'a été très util mais certain éléments restent incomplets ...

    J'aimerais aussi avoir une ordre d'idée sur l'interprétation des métriques.
    Par exemple, en ce qui concerne les métriques "Duplication", "Rules Compliance", "Comments" du Dashboard, à partir de quelle fourchette (en pourcentage) peut-on dire que tel ou tel aspect est d'excellente qualité, de bonne qualité, de qualité moyenne ou de médiocre qualité ?

    Idem pour SIG et Technical Debt.

    J'en profite aussi pour vous demander votre propre interprétation sur les résultat obtenue à l'aide de Sonar (interprétation des métriques).

  6. #26
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Ah, l'interprétation des résultats...

    C'est la partie la plus compliquée du processus de suivi de qualité.
    Il n'existe pas une interprétation unique de ces résultats.

    Premièrement, il faut savoir ce que signifie une métrique donnée.
    Prenons un exemple : la couverture du code par les tests. "Idéalement", on pourrait penser qu'il faut avoir 100%.

    Regardons ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public String toto(boolean test) {
        String x = null;
        if (test) {}
            x = "toto";
        }
        return x.trim();
    }
    Ecrivons maintenant un test unitaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @Test
    public void testToto() {
        assertEquals("toto", toto(true));
    }
    Dans mon cas, j'ai bien une couverture de test de 100% * et mon test passe.
    Théoriquement, je n'aurais pas besoin de réaliser un autre test. Mais ajoutons quand même cette ligne dans mon test unitaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    assertEquals("toto", toto(false));
    Là, je me récupère un NullPointerException !

    * La couverture par ligne est ici de 100%, car toutes les lignes de ma méthode toto sont effectivement lues par mon test.
    Toutefois, la couverture par branche n'est pas de 100%, car justement, il faut considérer le cas où test = false.
    Il est à noter que Sonar fait la distinction de ces types de couverture (respectivement line coverage et branch coverage).


    Maintenant, même si on comprend la signification d'une métrique, comment connaître sa bonne valeur ?

    Imaginons une méthode qui simule un lancer de dés.
    Si je travaille pour la Française des Jeux sur un nouveau jeu de 421 en ligne par exemple, la méthode du lancé de dé peut être considérée comme un point critique de mon application.
    Je vais donc tester à fond cette méthode. Non seulement je veux avoir une couverture de 100%, mais je veux également aller plus loin.
    Je vais par exemple écrire des tests qui vont me permettre de m'assurer qu'aucune valeur du dé n'est privilégiée par rapport à une autre.
    Je vais donc m'"amuser" avec des formules mathématiques et statistiques pour arriver à cela.

    Si au contraire la méthode du lancé de dé n'est qu'un gadget dans mon application, j'aurais un besoin beaucoup moins important de tester complètement cette fonction.
    A la limite, un "simple" test qui lance 1000 fois mon dé et qui vérifie que chaque valeur a été tirée au moins une fois devrait me suffire largement !

    Tout ça pour dire qu'il n'existe pas pour une métrique donnée une valeur parfaite. Il faut mettre en parallèle le besoin, mais aussi le travail à accomplir.
    Je finirais par citer la fameuse règle du "80 - 20".
    Tu peux très bien mettre 20% du temps à écrire du code qui testera 80% de ton application, puis avoir besoin de 80% de temps en plus pour atteindre les 20% restants.

    Pour résumer : ne pas viser la perfection, savoir où sont situés les points critiques de ton application, et savoir regarder "au delà" des chiffres.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  7. #27
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 147
    Points : 66
    Points
    66
    Par défaut
    Je te remercie pour cette réponse.

    Je suis bien conscient des points que tu as cités et je te rejoint entièrement dans ton analyse.

    Les tests unitaires ne sont pas non plus toujours pertinent et peuvent néanmoins couvrir une bonne partie de l'application.

    Idem pour PMD, ce n'est qu'un indicateur
    Ex : Pour des raison de lisibilité, on peut faire deux append d'une chaîne de string mais cela sera considéré comme étant une erreur par PMD (ce qui peut aussi se comprendre)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    final StringBuffer sqlGetSize = new StringBuffer(300);
    sqlGetSize.append("SELECT count(*) CC") .append(" FROM a1 a, b1 b, ...") .append( " WHERE b.rerer = ...") .append( idABC) ...
    ;
    Je me suis surement mal exprimé.
    Mon but n'est absolument pas de viser la perfection mais de pouvoir interpréter les choses de manière approximative.
    L'objectif n'étant évidement pas de viser 100% sur chaque indicateur mais de savoir si tel indicateur est (très) généralement bon ou mauvais pour tel ou tel type de projet.
    Je suis en train de réaliser un document permettant d'interprété les métriques généré par Sonar. Ce document doit être facile à lire et doit permettre à n'importe qui d'en interpréter les résultats (toujours de manières un peu approximative).

    Evidemment aussi, chaque projet a ses spécificités et chaque projet et par conséquent, chaque métriques doit être interprété différemment.
    Mais globalement, on peut quand même dire qu'un projet dont les tests unitaires couvrent 50% du code est un projet "mal couvert".

    Malgrès toutes ces disparités, certaines interprétations, certaines tendances peuvent se généraliser. On peut comparer, par exemple, les métriques relevés sur des projet un peu similaire (similaire : terme "un peu" subjectif ...).
    L'objectif étant d'avoir des points de comparaisons les plus objectifs possible ce qui est loin d'être facile ...

    J'aurais bien aimé avoir les résultats de plusieurs projets ( comme pour némo par exemple http://nemo.sonarsource.org/) ainsi que l'analyse, l'interprétation qui en a été faite.

    Pour cela j'aurais par exemple besoin des valeurs suivantes présentent dans le dash board :

    Lines of code
    Comments
    Duplications
    Rules compliance
    Complexity
    ...
    Bref, l'ensemble des valeurs indiquées dans le dash board de Sonar et surtout leur interprétation respective.

    Merci d'avance

  8. #28
    Membre confirmé

    Inscrit en
    Septembre 2006
    Messages
    466
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 466
    Points : 515
    Points
    515
    Par défaut
    Bonjour,

    Citation Envoyé par ZedroS Voir le message
    Petite question à propos de Sonar : comment l'intégrez vous dans votre ide favori ?

    Perso j'utilise eclipse avec m2eclipse pour l'intégration de maven et... j'aimerai qu'eclipse utilise les mêmes règles pour controler de suite la qualité de ce que je fais.
    De ce côté ca commence à avancer : cf. Sonar IDEs

    Rémy

  9. #29
    Futur Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    Bonjour à tous !

    Je profite de ce topic pour faire remonter une erreur actuellement sur le repo 1 de Maven. En voulant tester sonar, avec la nouvelle commande mvn sonar:sonar, maven bloquait toujours sur un fichier sur le repo avec une belle erreur 503.

    Voici le fichier :

    http://repo1.maven.org/maven2/org/ap...n-metadata.xml

    En passant par le repo 2 ça fonctionne bien :

    http://repo2.maven.org/maven2/org/ap...n-metadata.xml

    Donc pour les personnes qui bloquent comme moi actuellement sur ce fichier, j'ai rapidement forcé dans le fichier settings.xml de maven de telecharger sur le repo 2 et non le 1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <settings>
      <mirrors>
        <mirror>
          <id>MyRepo</id>
          <name>Mon repository</name>
          <url>http://repo2.maven.org/maven2/</url>
          <mirrorOf>central</mirrorOf>
        </mirror>
      </mirrors>
    </settings>
    .


    ce n'est pas très propre, mais ça permet de faire fonctionner sonar avec la nouvelle commande sonar:sonar.

  10. #30
    Membre expérimenté

    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 1 374
    Points
    1 374
    Par défaut
    Citation Envoyé par rseM2 Voir le message
    Bonjour,



    De ce côté ca commence à avancer : cf. Sonar IDEs

    Rémy
    merci bien, à suivre donc !

    ++
    Merci d'utiliser le bouton [Résolu] pour les sujets qui le sont.
    [pub]mon blog franco anglais, article du moment: Wicket: fournir des données JSON via Ajax[/pub]

  11. #31
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Merci
    ... pour cet excellent tuto.

    Cordialement,

  12. #32
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 102
    Points : 153
    Points
    153
    Par défaut
    Merci beaucoup !!

    peut être une mise à jours pour évoquer les nouveaux plugin.

    edit:
    Pour ceux qui connaissent, j'aurais voulu savoir s'il est possible d'analyser du code C/C++ avec sonar (plugin) comme le fait FlawFinders ou RATS par exemple. (afin de trouver certaines failles de sécurité).

    Merci

  13. #33
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 178
    Points : 274
    Points
    274
    Par défaut
    Il existe le C plugin pour Sonar dont la version 1.3 vient de sortir :
    http://www.sonarsource.com/2011/04/0...n-13-released/
    Je ne sais pas si cela correspond à ce que tu souhaites, mais tu peux y jetter un oeil.

  14. #34
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 102
    Points : 153
    Points
    153
    Par défaut
    Citation Envoyé par ehsavoie Voir le message
    Il existe le C plugin pour Sonar dont la version 1.3 vient de sortir :
    http://www.sonarsource.com/2011/04/0...n-13-released/
    Je ne sais pas si cela correspond à ce que tu souhaites, mais tu peux y jetter un oeil.
    j'ai l'impression (en ayant jeté un petit coup d'oeil) que sonar permet de vérifier la qualité du code. (performance, test unitaire etc..) mais ce que j'aimerais savoir avant de m'attaquer à ce produit c'est:
    est ce qu'il gère la vérification de fuite mémoire, de vulnérabilité (type buffer overflow, integer overflow....) pour le langage C/C++ via le plugin ?

  15. #35
    Membre habitué Avatar de PoichOU
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juillet 2006
    Messages : 328
    Points : 161
    Points
    161
    Par défaut Installation de Sonar étape 1
    Bonjour à tous,

    très bon tuto, (re)bravo romaintaz !
    J'ai testé les 3 premières pages du tuto et j'ai réussi à installer sonar et intégrer mes 5 projets dedans (en direct et via le plugin hudson)

    Je vais maintenant m'attaquer à la suite (les 4 pages suivantes) pour apprendre je l'espère à lire et interpréter l'analyse de code faite par sonar. Et éventuellement le configurer...

    Petite remarque quand même sur cette première partie :
    II-B-1. Paramétrage de la base de données
    ...Il faut ensuite éditer le fichier de configuration conf/sonar.properties...

    II-B-2. Installation et configuration
    En premier lieu, il faut télécharger l'archive Sonar sur le site de SonarSource...
    l'ordre ne me parait pas très logique, non ?


    Merci en tout cas pour ce tuto
    PoichOU

    PS : 2 des 3 liens du § VIII-C. Développement sont dead

  16. #36
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Merci

    Bon, effectivement c'est pas très logique tout ça...
    De toutes façons, je prévois de refaire cet article cet été parce que les choses ont pas mal évolué depuis 2 ans !
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  17. #37
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    De toutes façons, je prévois de refaire cet article cet été parce que les choses ont pas mal évolué depuis 2 ans !
    Mes prévisions s'avéreront justes (sauf si la fin du monde arrive plus vite que prévu ou un truc du genre).

    J'ai pratiquement fini ma mise-à-jour de l'article, j'ai encore quelques petites corrections à apporter, attendre une revue de l'équipe de Sonar et une correction orthographique.

    Bref, la mise-à-jour devrait être proposée en août, voire septembre au plus tad
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  18. #38
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Le guide francophone de l'outil Sonar vient d'être mis à jour, retraçant toutes les nouveautés apportées jusqu'à la version 2.9 de juillet 2011.

    Pour rappel, Sonar est un outil utilisé afin de mesurer le niveau de qualité d'un logiciel, et de suivre l'évolution de cette qualité tout au long du développement d'une application.

    Ce guide présente tous les aspects de l'outil de SonarSource, de l'installation, à la consultation des données, en passant par des clés pour décrypter les mesures réalisées par l'outil.

    L'article est visible à cette adresse : http://linsolas.developpez.com/artic...qualite/sonar/

    Bonne lecture !
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  19. #39
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 81
    Points : 61
    Points
    61
    Par défaut Lien PDF rompu
    Bonjour,

    J'aimerai récupérer l'article en pdf mais le lien est dead.

    Solution ?

    Cdt,

    Xpmich

  20. #40
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Bonjour,

    Le lien est effectivement erroné.
    Le bon devrait être celui-ci :

    http://linsolas.developpez.com/artic...onar/sonar.pdf
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/05/2007, 13h58
  2. [Intraweb] mise à jour 8.0.22 sur BDS2006! !
    Par Fbartolo dans le forum C++Builder
    Réponses: 3
    Dernier message: 22/11/2006, 13h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo