<?xml version="1.0" encoding="UTF-8"?>
<response>
  <status>success</status>
  <result>
    <project>
      <id>87265</id>
      <name>volumetrie</name>
      <created_at>2008-12-20T21:09:32Z</created_at>
      <updated_at>2009-05-07T02:57:40Z</updated_at>
      <description>Plus de projets :  classfinfer aiscolai budgetonline volumetrie 

1- Pr&#233;sentationVolumetrie est un programme permettant de r&#233;cup&#233;rer des informations sur un code source.  

Mesures est un programme permettant l'audit de code source d'une application. Tous les langages peuvent &#234;tre analys&#233;s. MySQL (toutes versions) et Java (minimum 6) doivent &#234;tre install&#233; pour faire fonctionner cette application. 

2- Installation de MySQLLien &#224; suivre pour t&#233;l&#233;charger et installer MySQL 

Installer MySQL 

3- Installation de JavaLien &#224; suivre pour t&#233;l&#233;charger et installer Java (derni&#232;re version) 

Installer Java 

4- Installation de mesures4.1- D&#233;marrageExtraire l'archive &#224; t&#233;l&#233;charger, puis, double cliquer sur l'ex&#233;cutable fournit dans l'archive rar. 

 

4.2- ConnexionRemplir les champs de connexion pour se connecter &#224; la base MySQL qui sera le stockage des r&#233;sultats d'une analyse. Les champs &#224; remplir sont : 

- H&#244;te : Adresse IP de la machine dans laquelle est install&#233;e MySQL. Par d&#233;faut, localhost. 

- Port : Port de connexion vers la base. Par d&#233;faut, 3306 

- Utilisateur : Utilisateur se connectant vers la base. Attention, root ne se connecter que si la machine contenant MySQL et l'application sont la m&#234;me (localhost) ou si mysql.ini a &#233;t&#233; configur&#233; de mani&#232;re &#224; accepter les connections en root &#224; distance. L'utilisateur se connectant &#224; la base doit avoir tous les droits sur les tables de la base de donn&#233;es afin de faire fonctionner l'application au mieux. Par d&#233;faut, root. 

- Mot de passe : Mot de passe correspondant &#224; l'utilisateur qui a &#233;t&#233; rempli lors de l'installation de MySQL. Par d&#233;faut, root. 

- Nom de la base de donn&#233;es : Un nom de base dans lequel les r&#233;sultats d'analyse seront stock&#233;s. Ce nom n'a pas d'importance. Ce ne doit pas &#234;tre le nom d'une base d&#233;ja existante dans MySQL. Par d&#233;faut, mesures. 

 

4.3- Installation de la baseUne fois le formulaire rempli, cliquer sur Connexion. Si la base de donn&#233;es n'existe pas et qu'elle n'a jamais &#233;t&#233; install&#233;e, alors un message apparait : &quot;la base de donn&#233;es a &#233;t&#233; cr&#233;&#233;, tentez de vous reconnecter&quot;. Cela signifie que la base contenant les r&#233;sultat d'analyse a &#233;t&#233; cr&#233;&#233; avec succ&#232;s. Cliquer sur Connexion &#224; nouveau. 

Tout autre message signifie une erreur de configuration. V&#233;rifier que MySQL est d&#233;marr&#233; et la connexion est possible &#224; l'aide de MySQL Query Browser 

 

4.4- Cr&#233;ation de l'arborescenceLes &#233;tapes suivantes semblent r&#233;p&#233;titives, mais permettent de d&#233;finir une arborescence dans les futurs audits &#224; mener. Ceci permet de classer de mani&#232;re clair les audits de code qui seront r&#233;alis&#233; par la suite. L'arborescence est d&#233;fini de la mani&#232;re suivante : 



 Compagnie-A  Compagnie-A  Compagnie-A  Compagnie-A  Compagnie-A  Compagnie-A  Compagnie-A  Compagnie-A   Systeme-A  Systeme-A  Systeme-A  Systeme-A  Systeme-B  Systeme-B  Systeme-B  Systeme-B   Projet-A  Projet-A  Projet-B  Projet-B  Projet-C  Projet-C  Projet-D  Projet-D   Application-A  Application-B  Application-C  Application-D  Application-E  Application-F  Application-G  Application-H  

Compagnie est donc le nom de la compagnie &#224; qui appartient les applications (ex : The Apache Software Foundation). Le syst&#232;me est un groupe de projet, cela peut repr&#233;senter une &#233;quipe ou un d&#233;partement au sein d'une entreprise (ex : Apache Projects). Le projet est le nom du projet (ex : Http Server). L'application est une division du projet permettant de cibler au mieux les d&#233;fauts, cela peut &#234;tre, par exemple, les diff&#233;rents r&#233;pertoires du code source (ex : inc ou Server). 

     

4.5- Scan d'un code sourcePour scanner un code source, un formulaire est &#224; remplir. 

- Version de l'application : D&#233;fini la version de l'application qui est audit&#233;e. Elle est unique dans le r&#233;f&#233;rentiel. 

- Dossier contenant le code source : Dossier dans lequel se trouve le code source de l'application. Faire un copi&#233;-coll&#233; du nom du dossier &#224; auditer se trouvant sur le disque. 

- Dossier contenant les param&#232;tres : Non modifiable. Ce dossier montre l'endroit o&#249; mesures r&#233;cup&#232;re les param&#232;tres du code source. Ces param&#232;tres sont stock&#233;s dans des fichiers txt dans le dossier lan-parametres, par d&#233;faut. L'&#233;dition d'un de ces fichiers permet la modification des param&#232;tres d'un langage (commentaires, lignes de code, extension...). L'ajout d'un langage se fait par l'ajout d'un fichier dans ce r&#233;pertoire. 

- Date de la version : Cette date correspond &#224; la date de livraison de l'application. Elle est unique. On consid&#232;re que deux versions ne peuvent &#234;tre livr&#233;es le m&#234;me jour. 

 

Une fois le formulaire remplir, cliquer sur le bouton scanner. Une fen&#234;tre indiquant le nombre de fichiers en cours de scan apparait. Il est recommand&#233; de ne pas scanner plus de 1.000 fichiers &#224; la fois. Cela ralentit le syst&#232;me et d&#233;grade fortement les performances. En cas de d&#233;passement de ce chiffre, il est recommand&#233; de diviser l'application en deux applications. 

 

Pour notre d&#233;monstration, nous allons scanner une deuxi&#232;me version de l'application. 

 

 

4.6- R&#233;sultatsLes deux versions apparaissent sur la fen&#234;tre de la liste des version. La note qui apparait est une note sur 1.000. 

- Une note inf&#233;rieure &#224; 100 signifie que les d&#233;veloppeurs ne se soucie pas de la maintenance du code source. Un chantier de documentation et de simplification est plus que recommand&#233;. 

- Une note sup&#233;rieure &#224; 100 et inf&#233;rieure &#224; 500 signifie que l'&#233;quipe de d&#233;veloppement se soucie de la maintenance, mais des endroits du code sont difficile &#224; maintenir. Un effort doit &#234;tre fait dans les versions futures. 

- Une note entre 500 et 800 signifie qu'un chantier dans le but de mener une am&#233;lioration a &#233;t&#233; entrepris. L'application pourrait &#234;tre am&#233;lior&#233;, mais les risques d'aller retour entre l'&#233;quipe de d&#233;veloppement et de recette sont fortement diminu&#233;. La maintenance de l'application est tr&#232;s simple. 

- Une note entre 800 et 1.000 signifie que l'application est parfaite. Si fonctionnellement l'application pr&#233;sente des erreurs, la correction de ces erreurs sera exessivement rapide. A ce niveau, un changement d'&#233;quipe ou un nouveau d&#233;veloppeur peuvent s'adapter tr&#232;s rapidement. Le gain en temps et en cout est maximal. 

L'application qui a &#233;t&#233; audit&#233; a une note m&#233;diocre. Un effort a &#233;t&#233; fait entre les deux versions, mais des efforts restent &#224; faire pour atteindre un niveau acceptable de la qualit&#233; du code. Les pistes &#224; explorer sont : 

- Documentation (la documentation permet la compr&#233;hension du code. Les lignes de commentaires NE DOIVENT PAS &#234;tre sur les m&#234;mes lignes que celles du code. Cela rend le code illisible. Le syst&#232;me le consid&#233;rera comme du code mis en commentaire) 

- Code mis en commentaire (nuit &#224; la lisibilit&#233;, quelles sont les lignes fonctionnelles ?) 

- Taille des fichiers (un fichier contenant plus de 1.000 lignes de code aura une note &#233;gale &#224; 0) 

- Copi&#233;-coll&#233; (v&#233;rifier le nombre de copi&#233;-coll&#233; et tent&#233; de factoriser la complexit&#233; du code) 

- Le nombre d'instruction (ajouter du commentaire ou des sauts de ligne pour am&#233;liorer la visibilit&#233; du code) 

Nous allons voir en d&#233;tail la derni&#232;re version de l'application. Pour cela, cliquer sur la version la plus en bas. 

 

L'application mesures calcul, alors, la note de chacun des fichiers et l'historique. Dans la fen&#234;tre de log, l'information sur l'&#233;tat d'avanc&#233; du calcul apparait &quot;Calcul des notes - Etapes xx/xxx&quot;. 

 

Une fois le calcul termin&#233;, la liste des fichiers apparait. 

- Le chiffre de gauche repr&#233;sente la note obtenue dans la version qui a &#233;t&#233; cliqu&#233;e 

- Le chiffre du milieu est la note de la version pr&#233;c&#233;dente &#224; celle qui a &#233;t&#233; cliqu&#233;e 

- Le chiffre &#224; droite est la diff&#233;rence entre la derni&#232;re version et la version pr&#233;c&#233;dente. Cela repr&#233;sente l'effort qui a &#233;t&#233; mis en oeuvre (d&#233;gradation ou am&#233;lioration). 

Les fichiers encadr&#233;s en rouge, sont les fichiers &#224; modifier en priorit&#233;, car posant le plus de probl&#232;me. 

 

Apr&#232;s avoir cliqu&#233; sur un des fichiers, le code source ainsi que de nouvelles mesures apparaissent. Sur le fichier en question, on observe que : 

- Le nombre de ligne de code &#224; augmenter (150 &#224; 182), mais la documentation est rest&#233;e constante (52). Cela veut dire que la modification amen&#233;e n'a pas &#233;t&#233; document&#233;e ou mal document&#233;e. 

- Il n'y a pas de code mis en commentaire. 

- La complexit&#233; a augment&#233;e (4 &#224; 7) mais cela ne pose pas un r&#233;el probl&#232;me compar&#233; au volume du fichier. 

- Le nombre d'instruction est trop &#233;lev&#233; et cela depuis la version pr&#233;c&#233;dente. Le code source doit donc &#234;tre plus a&#233;r&#233; ou la documentation doit &#234;tre am&#233;lior&#233;e. 

Conclusion pour ce fichier : Augmenter la documentation. 

 

5- ConclusionMesures ne permet pas de faire des mesures pr&#233;cises sur un code source, mais de donner une id&#233;e de la qualit&#233; du code. 

La liste des fichiers &#224; corriger est fournie par l'application, afin de permettre aux d&#233;veloppeurs d'am&#233;liorer leur travail et d'am&#233;liorer la qualit&#233; de leurs applications. 

R&#233;f&#233;rences : 

1Annuaire - 1Sponsor - AnnuForum - AnnuLien - AnnuH4 - Assinie - BestNet -  BestWeb - Developpez - FabrikSite - GigAnnu - Glaneur - Gnoztik - Google - Gratuit1 - Hiwit - IServices - Logiciels - Lycos -  MeetYou - MegaLiens -  MeilleurWeb - Moteur2Re - MsnSearch - MyAnnu -  PetitAnnu - PubliMax - RealPos - RecherchWeb - RechFacile - RefTeam - RefWeb - SitePerso -  Tagbox - TheOueb - Tibari - TrouvFacil - Volum&#233;trie - Yahoo -  

Magazine - R&#233;f&#233;rencement - R&#233;f&#233;rencement Team - ReferencementGratuit - FranceAstro</description>
      <homepage_url>http://code.google.com/p/volumetrie</homepage_url>
      <download_url></download_url>
      <url_name>volumetrie</url_name>
      <user_count>0</user_count>
      <average_rating></average_rating>
      <rating_count>0</rating_count>
      <analysis_id></analysis_id>
      <licenses>
        <license>
          <name>gpl3_or_later</name>
          <nice_name>GNU General Public License 3 or later</nice_name>
        </license>
      </licenses>
    </project>
  </result>
</response>
