{"id":200,"date":"2012-06-17T09:50:13","date_gmt":"2012-06-17T08:50:13","guid":{"rendered":"http:\/\/dev.qualilogy.com\/fr\/?p=200"},"modified":"2013-01-05T09:50:50","modified_gmt":"2013-01-05T08:50:50","slug":"quality-profile","status":"publish","type":"post","link":"http:\/\/qualilogy.com\/fr\/quality-profile\/","title":{"rendered":"Quality profile"},"content":{"rendered":"<p>Nous avons vu dans le post <a href=\"http:\/\/qualilogy.com\/fr\/sonar-analyse-cobol-avec-jenkins\" target=\"_blank\">pr\u00e9c\u00e9dent<\/a> comment cr\u00e9er une analyse de code Cobol avec Sonar et Jenkins.<\/p>\n<p>Mais en fait, nous n&rsquo;avons pas utilis\u00e9 toutes les r\u00e9gles Cobol existantes dans Sonar. Pourquoi ? Parce que certaines r\u00e8gles sont d\u00e9sactiv\u00e9es car sp\u00e9cifiques \u00e0 un contexte particulier ou alors n\u00e9cessitent un certain param\u00e9trage. Par exemple, les r\u00e8gles de nommage ne sont pas standardis\u00e9es en Cobol, et seront souvent diff\u00e9rentes entre diff\u00e9rents d\u00e9partements informatiques, voire entre \u00e9quipes d&rsquo;un m\u00eame d\u00e9partement.<\/p>\n<p>Il nous faut donc pouvoir g\u00e9rer diff\u00e9rents mod\u00e9les Qualit\u00e9, c&rsquo;est-\u00e0-dire diff\u00e9rents ensembles de r\u00e8gles selon les projets. Sonar nous offre cette possibilit\u00e9, grace aux &lsquo;Quality profiles&rsquo; qui regroupent les r\u00e8gles actives lors d&rsquo;une analyse de code.<\/p>\n<p>Nous allons voir, dans ce post, comment cr\u00e9er un nouveau Quality profile comportant toutes les r\u00e8gles Cobol, et l&rsquo;affecter \u00e0 un projet existant. <!--more--><\/p>\n<h3><strong>Cr\u00e9er un nouveau Quality profile<\/strong><\/h3>\n<p>Notre objectif est d\u2019examiner le plus de r\u00e8gles Cobol possibles, donc nous allons commencer par cr\u00e9er un profil Qualit\u00e9 avec toutes ces r\u00e8gles. Pour cela :<\/p>\n<ul>\n<li>Se connecter en Admin dans Sonar.<\/li>\n<li><a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/06\/QualCobolNewProfile.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1891\" title=\"QualCobolNewProfile\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/06\/QualCobolNewProfile.jpg\" alt=\"\" width=\"420\" height=\"99\" \/><\/a>Dans \u2018Configuration\u2019, le premier \u00e9cran liste les Quality profiles existants. Nous pouvons voir que le profil &lsquo;Sonar Way&rsquo; comporte 34 r\u00e9gles.<\/li>\n<li>Nous allons cr\u00e9er un nouveau profil en copiant (bouton \u2018Copy\u2019) le profil \u2018Sonar Way\u2019 existant.<\/li>\n<li> Nommer le nouveau profil : \u2018Sonar Cobol Complete\u2019 par exemple. Celui-ci appara\u00eet maintenant dans la liste des \u2018Cobol profiles\u2019.<\/li>\n<\/ul>\n<h3><strong>G\u00e9rer les r\u00e8gles d&rsquo;un Quality profile<\/strong><\/h3>\n<p>Nous souhaitons utiliser toutes les r\u00e8gles Cobol existantes avant d&rsquo;effectuer quelques analyses, afin de d\u00e9couvrir et commenter ces &lsquo;best practices&rsquo; Cobol. Pour cela :<\/p>\n<ul>\n<li>Entrer dans le nouveau profil en cliquant sur celui-ci : la page \u2018Coding rules\u2019 appara\u00eet affichant toutes les 34 r\u00e8gles actives quelque soit leur criticit\u00e9.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/06\/QualCobolNewProfile1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1895\" title=\"QualCobolNewProfile1\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/06\/QualCobolNewProfile1.jpg\" alt=\"\" width=\"447\" height=\"246\" \/><\/a><\/p>\n<ul>\n<li>S\u00e9lectionner \u2018Inactive\u2019 dans la list-box &lsquo;Status&rsquo; et activer le bouton \u2018Search\u2019 : 51 r\u00e8gles inactives sont affich\u00e9es.<\/li>\n<\/ul>\n<ul>\n<li>A<a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/06\/QualCobolNewProfileBulk.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1897\" title=\"QualCobolNewProfileBulk\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/06\/QualCobolNewProfileBulk.jpg\" alt=\"\" width=\"213\" height=\"68\" \/><\/a> droite dans cet \u00e9cran, un bouton vous permet d\u2019activer toutes ces r\u00e9gles.<\/li>\n<\/ul>\n<ul>\n<li>Revenir dans la fen\u00eatre Quality Profiles et faire de notre nouveau profil le &lsquo;Profile&rsquo; par d\u00e9faut.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/06\/QualCobolNewProfileDflt.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1893\" title=\"QualCobolNewProfileDflt\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/06\/QualCobolNewProfileDflt.jpg\" alt=\"\" width=\"375\" height=\"119\" \/><\/a>Remarque: vous pouvez \u00e9galement changer la criticit\u00e9 d&rsquo;une r\u00e8gle, pour la faire passer de &lsquo;Major&rsquo; \u00e0 &lsquo;Blocker&rsquo; par exemple.<\/p>\n<p>De m\u00eame, vous pouvez modifier les param\u00e8tres de certaines r\u00e8gles. Par exemple, pour changer le seuil de Complexit\u00e9 Cyclomatique au-del\u00e0 duquel un programme Cobol sera consid\u00e9r\u00e9 comme tr\u00e8s complexe.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/06\/QualCobolRuleParamj.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1902\" title=\"QualCobolRuleParamj\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/06\/QualCobolRuleParamj.jpg\" alt=\"\" width=\"618\" height=\"178\" \/><\/a><\/p>\n<h3><strong>Affecter un Quality profile \u00e0 un projet<\/strong><\/h3>\n<p>Ce profil sera activ\u00e9 pour tous les nouveaux projets que vous pouvez cr\u00e9er. Mais qu\u2019en est-il des projets existants ? Ils sont analys\u00e9s par d\u00e9faut avec le profil \u2018Sonar way\u2019.<\/p>\n<p>Afin d\u2019utiliser maintenant le nouveau profil cr\u00e9\u00e9, il nous faut aller dans l\u2019onglet \u2018Projects\u2019 de la page \u2018Quality profiles\u2019 et associer les projets existants au nouveau profil.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/06\/QualCobolNewProfileProj.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1899\" title=\"QualCobolNewProfileProj\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/06\/QualCobolNewProfileProj.jpg\" alt=\"\" width=\"448\" height=\"166\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Nous avons vu dans ce post comment cr\u00e9er un Quality profile, c&rsquo;est-\u00e0-dire un mod\u00e9le Qualit\u00e9 regroupant certaines r\u00e8gles, leur niveau de criticit\u00e9 ou leur param\u00e9trage. Il nous est donc possible de g\u00e9rer diff\u00e9rents profils Qualit\u00e9 selon les normes sp\u00e9cifiques \u00e0 diff\u00e9rentes \u00e9quipes ou applications.<\/p>\n<p>Si vous analisez \u00e0 nouveau vos projets avec toutes les r\u00e8gles Cobol activ\u00e9es, vous allez bien s\u00fbr rencontrer une forte augmentation de nombre de violations. Nous allons voir cela tout de suite, dans notre prochain post.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nous avons vu dans le post pr\u00e9c\u00e9dent comment cr\u00e9er une analyse de code Cobol avec Sonar et Jenkins. Mais en fait, nous n&rsquo;avons pas utilis\u00e9 toutes les r\u00e9gles Cobol existantes dans Sonar. Pourquoi ? Parce que certaines r\u00e8gles sont d\u00e9sactiv\u00e9es car sp\u00e9cifiques \u00e0 un contexte particulier ou alors n\u00e9cessitent un certain param\u00e9trage. Par exemple, les [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-200","post","type-post","status-publish","format-standard","hentry","category-sonar-360"],"_links":{"self":[{"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts\/200"}],"collection":[{"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/comments?post=200"}],"version-history":[{"count":1,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts\/200\/revisions"}],"predecessor-version":[{"id":201,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts\/200\/revisions\/201"}],"wp:attachment":[{"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/media?parent=200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/categories?post=200"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/tags?post=200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}