{"id":2521,"date":"2015-12-17T05:12:33","date_gmt":"2015-12-17T04:12:33","guid":{"rendered":"http:\/\/qualilogy.com\/fr\/?p=2521"},"modified":"2015-12-18T10:40:38","modified_gmt":"2015-12-18T09:40:38","slug":"evaluation-portfolio-modele-3d-city","status":"publish","type":"post","link":"http:\/\/qualilogy.com\/fr\/evaluation-portfolio-modele-3d-city\/","title":{"rendered":"\u00c9valuation d&rsquo;un portfolio avec le mod\u00e8le 3D City"},"content":{"rendered":"<p><a href=\"https:\/\/500px.com\/vicken\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2522\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/Qualilogy_TechnicalDebt_Portfolio.jpg\" alt=\"Qualilogy_TechnicalDebt_Portfolio\" width=\"294\" height=\"442\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/Qualilogy_TechnicalDebt_Portfolio.jpg 240w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/Qualilogy_TechnicalDebt_Portfolio-200x300.jpg 200w\" sizes=\"(max-width: 294px) 100vw, 294px\" \/><\/a>La semaine derni\u00e8re, je vous ai pr\u00e9sent\u00e9 les diff\u00e9rents<a href=\"http:\/\/qualilogy.com\/fr\/software-quality-maturity-model-technical-debt\/\" target=\"_blank\"> niveaux de maturit\u00e9 en mati\u00e8re de qualit\u00e9 logicielle<\/a> et comment la mesure de la dette technique nous permet de progresser \u00e0 travers ces diff\u00e9rents niveaux, pour une gestion proactive et optimis\u00e9e de la qualit\u00e9.<\/p>\n<p>A cette occasion, j&rsquo;ai parl\u00e9 d&rsquo;utiliser la dette technique dans le cadre de la repr\u00e9sentation d&rsquo;un portfolio d&rsquo;applications, selon diff\u00e9rents axes. Je me suis alors demand\u00e9 ce que donnerait une repr\u00e9sentation 3D d&rsquo;un tel portfolio, avec le plugin &lsquo;3D City Model&rsquo; d&rsquo;eXcentia (1).<\/p>\n<p>Je vous ai d\u00e9j\u00e0 pr\u00e9sent\u00e9 celui lors d&rsquo;articles pr\u00e9c\u00e9dents : <a href=\"http:\/\/qualilogy.com\/fr\/city-model\/\" target=\"_blank\">City Model<\/a>, <a href=\"http:\/\/qualilogy.com\/fr\/city-model-nouvelle-version\/\" target=\"_blank\">City Model &#8211; Nouvelle version<\/a>,\u00a0 <a href=\"http:\/\/qualilogy.com\/fr\/cite-critique\/\" target=\"_blank\">Cit\u00e9 Critique<\/a>, o\u00f9 nous avions vu notamment comment rentrer nos propres formules pour jouer avec ce mod\u00e8le 3D, et enfin <a href=\"http:\/\/qualilogy.com\/fr\/la-metrique-abc-2\/\" target=\"_blank\">La m\u00e9trique ABC<\/a>\u00a0 afin\u00a0 d&rsquo;investiguer la m\u00e9trique du m\u00eame nom. <!--more--><\/p>\n<h2>Repr\u00e9sentation 3D d&rsquo;un porfolio<\/h2>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_Portfolio_List.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-2529\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_Portfolio_List.jpg\" alt=\"SonarQube_Portfolio_List\" width=\"187\" height=\"165\" \/><\/a>J&rsquo;ai une instance SonarQube avec un portfolio compos\u00e9 de plusieurs applications dont 5,7 millions de lignes de code (MLoc) Cobol, 485 milles lignes de code (KLoc) Abap (applications SAP) et 205 KLoc d&rsquo;applications J2EE. J&rsquo;ai en fait constitu\u00e9 trois portfolios &lsquo;Cobol&rsquo;, &lsquo;J2EE&rsquo; et &lsquo;SAP&rsquo;, ainsi qu&rsquo;un portfolio &lsquo;Global&rsquo; regroupant les 3 pr\u00e9c\u00e9dents.<\/p>\n<p>Je me suis aid\u00e9 pour ce faire du <a href=\"http:\/\/www.sonarsource.com\/products\/plugins\/governance\/portfolio-management\/\" target=\"_blank\">plugin &lsquo;Views&rsquo; de SonarSource<\/a>, qui permet d&rsquo;agr\u00e9ger plusieurs projets ou analyses de code en une vue unique, et donc de consolider ainsi diff\u00e9rentes mesures et m\u00e9triques selon diff\u00e9rents axes: m\u00e9tier, technologie, etc. Enfin bref, en diff\u00e9rents portfolios.<\/p>\n<p>Malheureusement, le plugin 3D City ne fonctionne pas avec des vues, quoique eXcentia pr\u00e9voit de d\u00e9velopper cette fonctionnalit\u00e9 dans le futur. Mais heureusement, le plugin vient avec un widget que j&rsquo;ai trouv\u00e9 int\u00e9ressant pour ce que je voulais faire.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_Configure_Widget.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-2532\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_Configure_Widget.jpg\" alt=\"SonarQube_Configure_Widget\" width=\"125\" height=\"52\" \/><\/a>Donc, je me connecte en Admin sous Sonar afin de pouvoir configurer les widgets de mon tableau de bord &#8230;<\/p>\n<p>&#8230; puis choisir le menu &lsquo;3D Code Metrics&rsquo; afin de n&rsquo;afficher que les widgets de ce plugin, et s\u00e9lectionner le widget &lsquo;Filtered Megalopolis&rsquo;:<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DMegapolis_SelectWidget.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2538\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DMegapolis_SelectWidget.jpg\" alt=\"SonarQube_3DMegapolis_SelectWidget\" width=\"668\" height=\"192\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DMegapolis_SelectWidget.jpg 668w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DMegapolis_SelectWidget-300x86.jpg 300w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DMegapolis_SelectWidget-624x179.jpg 624w\" sizes=\"(max-width: 668px) 100vw, 668px\" \/><\/a><\/p>\n<p>Je vais configurer celui-ci en entrant un titre pour ce graphique, et dans la combo-box &lsquo;Project filter&rsquo;, je vais choisir &lsquo;Projects&rsquo;. Tout autre filtre bas\u00e9 sur des &lsquo;Views&rsquo; ne permettra pas d&rsquo;afficher le mod\u00e8le 3D, donc j&rsquo;utilise ce widget afin de visualiser mon portfolio global, avec toutes ses applications.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DMegapolis_Configure.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2539\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DMegapolis_Configure.jpg\" alt=\"SonarQube_3DMegapolis_Configure\" width=\"580\" height=\"300\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DMegapolis_Configure.jpg 580w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DMegapolis_Configure-300x155.jpg 300w\" sizes=\"(max-width: 580px) 100vw, 580px\" \/><\/a><\/p>\n<p>Par contre, vous pouvez utiliser diff\u00e9rents filtres, ce qui devrait donc permettre des associations de projets selon diff\u00e9rents axes. Par exemple, je peux cr\u00e9er un filtre sur toutes les analyses dont le nom commence par &lsquo;Cobol&rsquo; et ne lister ainsi que les projets Cobol, comme le serait un portfolio sp\u00e9cifique \u00e0 ces applications.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DMegalopolis_Back2Dashboard.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-2540\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DMegalopolis_Back2Dashboard.jpg\" alt=\"SonarQube_3DMegalopolis_Back2Dashboard\" width=\"145\" height=\"71\" \/><\/a>Je ne vais pas insister plus avant sur la configuration du widget, je vous laisserai d\u00e9couvrir par vous-m\u00eame (les posts cit\u00e9s pr\u00e9c\u00e9demment pourront vous aider), et donc je vais revenir dans le dashboard afin de travailler avec cette repr\u00e9sentation.<\/p>\n<p>Dans le dashboard, vous pouvez cliquer sur le graphique afin de d\u00e9placer votre &lsquo;cit\u00e9&rsquo; selon toutes les directions souhait\u00e9es et utiliser \u00e9galement la roulette de la souris afin de modifier sa taille, c&rsquo;est-\u00e0-dire son aper\u00e7u. Vous pouvez \u00e9galement cliquer sur n&rsquo;importe quel \u00e9difice afin de disposer d&rsquo;informations concernant celui-ci.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_CobolProject.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2542\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_CobolProject.jpg\" alt=\"SonarQube_3DCity_CobolProject\" width=\"520\" height=\"500\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_CobolProject.jpg 520w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_CobolProject-300x288.jpg 300w\" sizes=\"(max-width: 520px) 100vw, 520px\" \/><\/a><\/p>\n<p>Ici, nous pouvons voir notre application la plus importante, &lsquo;Billing&rsquo; en Cobol, avec 2,5 millions de lignes de code (MLoc) dans 116 019 fonctions (Paragraphes ou Sections en Cobol, m\u00e9thodes en Java, fonctions pour les langages types L4G) et une Complexit\u00e9 Cyclomatique (CC) de 434 218 points. Ah, le Cobol, c&rsquo;est gros hein ? Il y a du boulot l\u00e0.<\/p>\n<p>Mais ce qui appelle surtout mon attention. ce sont les deux barres rouges au pied de ces gigantesques applications Cobol.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_Abap1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2543\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_Abap1.jpg\" alt=\"SonarQube_3DCity_Abap1\" width=\"660\" height=\"346\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_Abap1.jpg 660w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_Abap1-300x157.jpg 300w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_Abap1-624x327.jpg 624w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/a><\/p>\n<p>Nous avons l\u00e0 deux applications Abap:<\/p>\n<ul>\n<li>CO_OT1 avec pr\u00e9s de 350 KLoc et plus de 54 000 points de CC.<\/li>\n<li>CO_OT2 avec moins de 100 KLoc et plus de 14 000 points de CC.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_LabMode.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2544\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_LabMode.jpg\" alt=\"SonarQube_3DCity_LabMode\" width=\"647\" height=\"86\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_LabMode.jpg 647w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_LabMode-300x40.jpg 300w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_LabMode-624x83.jpg 624w\" sizes=\"(max-width: 647px) 100vw, 647px\" \/><\/a><\/p>\n<p>En cliquant sur ce qui ressemble \u00e0 une \u00e9prouvette ou un flacon dans le menu du graphique, je peux afficher les diff\u00e9rentes valeurs pour les diff\u00e9rentes dimensions de ma cit\u00e9 3D. Je peux voir ainsi que la couleur repr\u00e9sente la complexit\u00e9 par fonction, et donc que proportionnellement, les objets Abap de ces deux applications, puisque tr\u00e8s rouge, sont beaucoup plus complexes que dans les autres applications.<\/p>\n<p>Rien qu&rsquo;en regardant cette repr\u00e9sentation 3D de mon portfolio, je peux identifier deux applications SAP avec une maintenabilit\u00e9 et une testabilit\u00e9 inf\u00e9rieures aux applications g\u00e9antes en Cobol !<\/p>\n<p>La couleur est d&rsquo;ailleurs le crit\u00e8re sur lequel on va jouer principalement.<\/p>\n<p>Par exemple, dans le graphique suivant, j&rsquo;ai s\u00e9lectionn\u00e9 la dette technique bloquante, c&rsquo;est-\u00e0-dire le co\u00fbt de rem\u00e9diation des &lsquo;Issues&rsquo; (violations aux bonnes pratiques de programmation) bloquantes.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_TDBlockers.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2546\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_TDBlockers.jpg\" alt=\"SonarQube_3DCity_TDBlockers\" width=\"586\" height=\"368\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_TDBlockers.jpg 586w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_TDBlockers-300x188.jpg 300w\" sizes=\"(max-width: 586px) 100vw, 586px\" \/><\/a><\/p>\n<p>On s&rsquo;aper\u00e7oit que l&rsquo;application CO_OT2 est maintenant en vert, donc sans aucune &lsquo;Issue&rsquo; bloquante, alors que notre premi\u00e8re application CO_OT1 a une dette technique bloquante de 2 100 minutes (soit 4 jours et 3 heures).<\/p>\n<p>Quel autre caract\u00e9ristique, \u00e9ventuellement d\u00e9fectueuse, puis-je identifier?<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_DuplicatedLines.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2547\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_DuplicatedLines.jpg\" alt=\"SonarQube_3DCity_DuplicatedLines\" width=\"583\" height=\"346\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_DuplicatedLines.jpg 583w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_DuplicatedLines-300x178.jpg 300w\" sizes=\"(max-width: 583px) 100vw, 583px\" \/><\/a><\/p>\n<p>Ici, j&rsquo;ai param\u00e9tr\u00e9 la couleur sur le pourcentage de lignes dupliqu\u00e9es, plus commun\u00e9ment appel\u00e9 le &lsquo;Copy\/Paste&rsquo;. Plus vous avez de blocs de code dupliqu\u00e9s, plus la maintenance de ce code sera difficile puisque vous devez r\u00e9percuter toute modification dans chaque bloc de code &lsquo;Copi\u00e9\/Coll\u00e9&rsquo;, et plus le risque de bug sera \u00e9lev\u00e9 en cas d&rsquo;oubli. Dans une application difficile \u00e0 tester, vous jouez avec votre budget de maintenance et la satisfaction \u2013 ou plut\u00f4t le m\u00e9contentement \u2013 de vos utilisateurs.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_Comment.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2554\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_Comment.jpg\" alt=\"SonarQube_3DCity_Comment\" width=\"494\" height=\"393\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_Comment.jpg 494w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_3DCity_Comment-300x239.jpg 300w\" sizes=\"(max-width: 494px) 100vw, 494px\" \/><\/a><\/p>\n<p>Le niveau de commentaires est correct, ce qui n&rsquo;est pas rare pour les applications de type Legacy. Le Cobol est en vert \u00e9galement. Par contre, les blocs rouges repr\u00e9sentent des applis J2EE. C&rsquo;est devenu \u00e0 la mode de ne plus commenter en Java.<\/p>\n<h2>Evaluation<\/h2>\n<p>Donc je sais maintenant que j&rsquo;ai 2 applications SAP avec une complexit\u00e9 (par fonction) plus \u00e9lev\u00e9e que n&rsquo;importe quelle autre application de mon portfolio. Qui dit application complexe dit application difficile \u00e0 tester. Avec plus de 50 000 points de CC, CO_OT1 n\u00e9cessite de concevoir des plans de tests le plus en amont du projet et de disposer d&rsquo;outils de tests automatis\u00e9s, notamment pour \u00e9viter les r\u00e9gressions. De plus, un code complexe signifie une maintenabilit\u00e9 plus faible, donc des co\u00fbts d&rsquo;\u00e9volution plus importants, mais \u00e9galement un risque plus \u00e9lev\u00e9 d&rsquo;introduire un d\u00e9faut dans le code, et donc des bugs pour l&rsquo;utilisateur final. D&rsquo;o\u00f9 l&rsquo;importance accrue d&rsquo;investir dans les tests.<\/p>\n<p class=\"coding-rules-detail-header\"><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_IssueBlockers.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-2555\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_IssueBlockers.jpg\" alt=\"SonarQube_IssueBlockers\" width=\"319\" height=\"402\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_IssueBlockers.jpg 319w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_IssueBlockers-238x300.jpg 238w\" sizes=\"(max-width: 319px) 100vw, 319px\" \/><\/a>De plus, cette application a une dette technique portant sur des d\u00e9fauts de type &lsquo;Blockers&rsquo;, certes pas tr\u00e8s importante mais lorsque je vais dans la page &lsquo;Issues&rsquo; de cette applications, je constate 40 violations sur deux r\u00e8gles &lsquo;System C functions should not be used&rsquo; et &lsquo;Internal source code processing statements should not be used&rsquo;.<\/p>\n<p class=\"coding-rules-detail-header\">Dans les deux cas, il s&rsquo;agit d&rsquo;instructions r\u00e9serv\u00e9es par SAP, et qui peuvent changer ou dispara\u00eetre d&rsquo;une version \u00e0 l&rsquo;autre. C&rsquo;est d&rsquo;ailleurs l&rsquo;un des probl\u00e8mes majeurs d&rsquo;un upgrade de version SAP, des plus co\u00fbteux qui soient.<\/p>\n<p class=\"coding-rules-detail-header\">D&rsquo;ailleurs, le fait de rencontrer 40 de ces d\u00e9fauts &lsquo;Blocker&rsquo; sur cette application CO_OT1 et aucun sur les autres applications Abap m&rsquo;am\u00e8nent \u00e0 penser que cette \u00e9quipe de projet \u2013 ou cet outsourcer \u2013 ne conna\u00eet pas cette r\u00e8gle critique. Point \u00e0 v\u00e9rifier.<\/p>\n<p class=\"coding-rules-detail-header\">Enfin, le taux \u00e9lev\u00e9 de code dupliqu\u00e9 met en p\u00e9ril la maintenabilit\u00e9 et la fiabilit\u00e9 de cette application. Raison de plus pour envisager un refactoring de celle-ci. Cela dit, la documentation du code \u2013 le niveau de commentaires \u2013 est tr\u00e8s correcte et devrait donc faciliter (relativement) cette op\u00e9ration, avec l&rsquo;objectif de ramener la dette technique \u00e0 un niveau acceptable et rem\u00e9dier aux probl\u00e8mes rencontr\u00e9s.<\/p>\n<h2 class=\"coding-rules-detail-header\">Conclusion<\/h2>\n<p>\u00c9videmment, je pourrais proc\u00e9der \u00e0 l&rsquo;\u00e9valuation de mon portfolio et obtenir ces m\u00eames informations d&rsquo;une autre mani\u00e8re, par exemple \u00e0 l&rsquo;aide de cette page &lsquo;Compare&rsquo; dans SonarQube.<\/p>\n<p><a href=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_Compare.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2556\" src=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_Compare.jpg\" alt=\"SonarQube_Compare\" width=\"500\" height=\"313\" srcset=\"http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_Compare.jpg 500w, http:\/\/qualilogy.com\/fr\/wp-content\/uploads\/sites\/2\/2015\/12\/SonarQube_Compare-300x188.jpg 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>Je l&rsquo;utiliserai d&rsquo;ailleurs probablement afin de rassembler en un seul tableau les chiffres et les m\u00e9triques que j&rsquo;ai pu identifier pr\u00e9c\u00e9demment \u00e0 l&rsquo;aide du plugin &lsquo;3D City&rsquo;. N\u00e9anmoins, il me faudrait configurer cette page avec tous les projets de mon portfolio et sur un nombre bien plus important de m\u00e9triques, afin de rep\u00e9rer des probl\u00e8mes potentiels sur mes diff\u00e9rents domaines applicatifs. L&rsquo;avantage du mod\u00e8le 3D City est de permettre:<\/p>\n<ul>\n<li>Une identification imm\u00e9diate des applications \u00e0 probl\u00e8me.<\/li>\n<li>Une visualisation bien plus efficace qu&rsquo;en parcourant des tableaux de chiffres.<\/li>\n<li>Le choix des m\u00e9triques les plus utiles lors d&rsquo;un audit de mon portfolio.<\/li>\n<li>Donc un diagnostic rapide et ais\u00e9.<\/li>\n<\/ul>\n<p>Ensuite, il ne me reste plus qu&rsquo;\u00e0 zoomer au sein des applications que j&rsquo;ai ainsi rep\u00e9r\u00e9es afin de travailler les plans d&rsquo;action qui me permettront de rem\u00e9dier \u00e0 ces probl\u00e8mes, et de chiffrer plus pr\u00e9cis\u00e9ment les co\u00fbts de rem\u00e9diation associ\u00e9s \u00e0 la dette technique.<\/p>\n<p>Simple, efficace et de plus tr\u00e8s ludique, ce plugin 3D City est vraiment un must. C&rsquo;est simple, les clients l&rsquo;adorent.<\/p>\n<p>&nbsp;<\/p>\n<p>(1) Si vous voulez faire de m\u00eame, vous pouvez downloader une version d&rsquo;essai (2 semaines) du &lsquo;3D City model&rsquo; ici <a href=\"http:\/\/www.excentia.es\/en\/plugins\/city-model\/download\" target=\"_blank\">http:\/\/www.excentia.es\/en\/plugins\/city-model\/download<\/a>, ou pour des versions pr\u00e9c\u00e9dentes de SonarQube: <a href=\"http:\/\/www.excentia.es\/en\/plugins\/city-model\/versions\" target=\"_blank\">http:\/\/www.excentia.es\/en\/plugins\/city-model\/versions<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La semaine derni\u00e8re, je vous ai pr\u00e9sent\u00e9 les diff\u00e9rents niveaux de maturit\u00e9 en mati\u00e8re de qualit\u00e9 logicielle et comment la mesure de la dette technique nous permet de progresser \u00e0 travers ces diff\u00e9rents niveaux, pour une gestion proactive et optimis\u00e9e de la qualit\u00e9. A cette occasion, j&rsquo;ai parl\u00e9 d&rsquo;utiliser la dette technique dans le cadre [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-2521","post","type-post","status-publish","format-standard","hentry","category-qualite-des-applications"],"_links":{"self":[{"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts\/2521"}],"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=2521"}],"version-history":[{"count":3,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts\/2521\/revisions"}],"predecessor-version":[{"id":2564,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts\/2521\/revisions\/2564"}],"wp:attachment":[{"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/media?parent=2521"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/categories?post=2521"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/tags?post=2521"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}