SlideShare une entreprise Scribd logo
1  sur  24
MémoireAudit Technique de codeAnalyses et suivis de qualité Présenté par : Mr TAZI Mehdi  1
Plan 2 Quand l’effectuer ? Quel sont ses axes ? Pourquoi faire ?  C’est Quoi ?  Qui l’effectue et qui est concernés? Méthode de mise en place personnelle Conclusion Méthodes d’analyses et modèles de qualité Audit technique de code Introduction Mise en œuvre de la solution
Introduction Stage effectué au sien d’ALTI ALTI : SSII 1200 collaborateurs Intégration de l’équipe de développement du projet TECK TECK : gérer les processus métier de L’ONF Missions Principales : 	 La Correction des anomalies Participation aux développements et aux évolutions L’optimisation et le « reFactoring » du code. Constatations :  Lenteur dans l’application en générale Difficulté de compréhension et de maintenance du code Audit Technique de code :  Pas une tache facile Pas de standard a suivre 3
Audit technique de code ,[object Object],Identifier les points forts et faibles du système Outil de contrôle et de conseil But Obtenir des  solutions et recommandations Corriger et Améliorer les anomalies  4 Point sur l’existant
Audit technique de code 5 ,[object Object],[object Object]
Audit technique de code ,[object Object]
Surveiller la qualité du code des projets susceptibles d’évoluer dans le temps. ,[object Object],    d’euros 7 Améliorer la qualité de l’application Identifier et anticiper les problèmes de performance et de sécurité Optimiser les développements et la maintenance du code applicatif Optimiser la maintenance corrective et évolutive Augmenter les performances des applications Augmenter la sécurité des applications L’audit technique de code est  reconnu comme un outil incomparable
Audit technique de code 8 Architecture logicielle Respect des normes et des Frameworks utilisés Robustesse /  Fiabilité / Scalabilité Documentation technique Evolutivité Maintenance Performances Sécurité ,[object Object],[object Object]
Mise en place d’une PIC et de suivi de qualité
Suivre les évolutions à chaque intervention sur le code et à chaque livraison
Utile dans le cadre de la sous-traitance
Boite noire
Pas d’indicateurs
Avoir des mesures plus claires
Audit de code approfondi
Identifier le maximum de problèmes
Proposer des solutions
Demande du temps d’elaboration
Quand l’effectuer ? 2 1
Audit technique de code ,[object Object]
Une société spécialisée en ingénierie et service informatique (SSII)
Un Freelance10 Compétences  Techniques  avancées Gestionnaire Architecture  de Haut Niveau Organisateur
Audit technique de code ,[object Object]
Acteurs principaux : Les développeurs

Contenu connexe

Tendances

Audit of IT Governance (Reference documents to be audited)
Audit of IT Governance (Reference documents to be audited)Audit of IT Governance (Reference documents to be audited)
Audit of IT Governance (Reference documents to be audited)
Ammar Sassi
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiques
Sirine Barguaoui
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1
Tarek MOHAMED
 
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014 Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
Patrick Leclerc
 

Tendances (20)

2010-10-25 Daniel Pelletier Gestion de projet informatique à Telus
2010-10-25 Daniel Pelletier Gestion de projet informatique à Telus2010-10-25 Daniel Pelletier Gestion de projet informatique à Telus
2010-10-25 Daniel Pelletier Gestion de projet informatique à Telus
 
Les menaces applicatives
Les menaces applicativesLes menaces applicatives
Les menaces applicatives
 
Méthodologie de tests et qualité
Méthodologie de tests et qualitéMéthodologie de tests et qualité
Méthodologie de tests et qualité
 
introduction a itil
 introduction a itil introduction a itil
introduction a itil
 
DevSecOps : de la théorie à la pratique
DevSecOps : de la théorie à la pratiqueDevSecOps : de la théorie à la pratique
DevSecOps : de la théorie à la pratique
 
le RSSI dans l'entreprise: Introduction INFOSAFE
le RSSI dans l'entreprise: Introduction INFOSAFEle RSSI dans l'entreprise: Introduction INFOSAFE
le RSSI dans l'entreprise: Introduction INFOSAFE
 
Audit of IT Governance (Reference documents to be audited)
Audit of IT Governance (Reference documents to be audited)Audit of IT Governance (Reference documents to be audited)
Audit of IT Governance (Reference documents to be audited)
 
L'agilité pour gérer la complexité en TI
L'agilité pour gérer la complexité en TIL'agilité pour gérer la complexité en TI
L'agilité pour gérer la complexité en TI
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiques
 
Methodologie projet
Methodologie projet Methodologie projet
Methodologie projet
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1
 
formation istqb.pdf
formation istqb.pdfformation istqb.pdf
formation istqb.pdf
 
Management des risques
Management des risques Management des risques
Management des risques
 
Test acceptance
Test acceptanceTest acceptance
Test acceptance
 
Architectures microservices
Architectures microservicesArchitectures microservices
Architectures microservices
 
Management de la qualité
Management de la qualitéManagement de la qualité
Management de la qualité
 
Gestion des incidents de sécurité : de la réactivité à la proactivité
Gestion des incidents de sécurité : de la réactivité à la proactivitéGestion des incidents de sécurité : de la réactivité à la proactivité
Gestion des incidents de sécurité : de la réactivité à la proactivité
 
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014 Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
 
Ebios
EbiosEbios
Ebios
 
La gestion du risque et de la sécurité en mode Agile
La gestion du risque et de la sécurité en mode AgileLa gestion du risque et de la sécurité en mode Agile
La gestion du risque et de la sécurité en mode Agile
 

Similaire à Audit technique de code

Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
ALTER WAY
 
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel  - Introduction Et Bonnes PratiquesIndustrialisation Du Logiciel  - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Emmanuel Hugonnet
 
La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !
Lucian Precup
 

Similaire à Audit technique de code (20)

Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
 
Altran soirée du test logiciel - assez des c 05-10-17
Altran   soirée du test logiciel - assez des c 05-10-17Altran   soirée du test logiciel - assez des c 05-10-17
Altran soirée du test logiciel - assez des c 05-10-17
 
Soirée du Test Logiciel - Intégration, livraison et déploiement continu - A. ...
Soirée du Test Logiciel - Intégration, livraison et déploiement continu - A. ...Soirée du Test Logiciel - Intégration, livraison et déploiement continu - A. ...
Soirée du Test Logiciel - Intégration, livraison et déploiement continu - A. ...
 
Secure Software Development Life Cycle (SSDLC)
Secure Software Development Life Cycle (SSDLC)Secure Software Development Life Cycle (SSDLC)
Secure Software Development Life Cycle (SSDLC)
 
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel  - Introduction Et Bonnes PratiquesIndustrialisation Du Logiciel  - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
 
Industrialisation Du Logiciel Introduction Et Bonnes Pratiques V1.4
Industrialisation Du Logiciel   Introduction Et Bonnes Pratiques   V1.4Industrialisation Du Logiciel   Introduction Et Bonnes Pratiques   V1.4
Industrialisation Du Logiciel Introduction Et Bonnes Pratiques V1.4
 
12-Cours de Géniel Logiciel
12-Cours de Géniel Logiciel12-Cours de Géniel Logiciel
12-Cours de Géniel Logiciel
 
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
 
La relecture de code : avant tout des pratiques
La relecture de code : avant tout des pratiquesLa relecture de code : avant tout des pratiques
La relecture de code : avant tout des pratiques
 
Les tests de securite devops
Les tests de securite devopsLes tests de securite devops
Les tests de securite devops
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2
 
Assurance Qualité logicielle
Assurance Qualité logicielleAssurance Qualité logicielle
Assurance Qualité logicielle
 
20100121 01 - Présentation Renault
20100121 01 - Présentation Renault20100121 01 - Présentation Renault
20100121 01 - Présentation Renault
 
Sécurité dans les contrats d'externalisation de services de développement et ...
Sécurité dans les contrats d'externalisation de services de développement et ...Sécurité dans les contrats d'externalisation de services de développement et ...
Sécurité dans les contrats d'externalisation de services de développement et ...
 
Adoption incrémentale des tests dans VS ALM
Adoption incrémentale des tests dans VS ALMAdoption incrémentale des tests dans VS ALM
Adoption incrémentale des tests dans VS ALM
 
Adoption incrémentale des tests dans VS ALM
Adoption incrémentale des tests dans VS ALMAdoption incrémentale des tests dans VS ALM
Adoption incrémentale des tests dans VS ALM
 
Cleancode / Tocea / Introduction
Cleancode / Tocea / IntroductionCleancode / Tocea / Introduction
Cleancode / Tocea / Introduction
 
La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010
 
Qualite1
Qualite1Qualite1
Qualite1
 

Audit technique de code

Notes de l'éditeur

  1. Bonjour Monsieur PIPARDDonc aujourd'hui je vais présenter mon thème de mémoire qui est l’audit technique de code Mais Avant de commencer je voudrais remercier tout le personnel de l’Ecole ESIAG pour avoir assuré une formation de haute qualité.j‘éspèremonsieur , quema présentation sera a la hauteur de votre attenteSans trop tarder je vais passer directement au plan de cette présentation
  2. Au début je vais commencer par une introduction ou j’expliquerai les raisons qui m’on poussé a choisir ce thèmeEnsuite je présenterai ce qu’est l’audit technique en générale et puis plus spécifiquement celui du code , j’expliquerai aussi les raisons pour les quels on effectue un audit technique de code, les axes traité par ce dernier, quand l’effectuer et les acteurs concernés.Puis je présenterai les méthodes d’analyses utilisées pour sa mise en place ainsi que voir ce qu’est les modèles de qualité et leurs relation avec ces méthodes d’analysesDans le point qui suis je présenterai ma méthodologie personnelle pour la réalisation de l’audit de code(cette méthodologie répond a l’ problématique traiter par le sujet de mémoire « Qu’elles sont les étapes à suivre afin de mettre en place un audit technique de code »)Finalement je présenterai rapidement la solution que j’ai mis en place au sien d’ALTIEt je terminerai cette présentation par une conclusion
  3. Avant de présenter l’audit technique de code je vais déjà définir brièvement ce qu’est déjà l’audit technique en généraleL’audit technique est un outil de contrôle et de conseil qui permet de faire le point sur l'existant une sorted’état des lieux , dans le but d’identifier les points forts et faibles du système étudié et d’Obtenir des solutions et recommandations pour de futurs correction et amélioration des anomalies et problèmes de ce dernier
  4. Donc qu’est ce qu’ est au juste L’audit technique de code ?L’audit de code est un processus qui consiste en une analyse et vérification du code sources de l’application.Il est permet d’optimiser le développement et réduire les coûts et délais. Cette audit se base sur des modèles de qualité a respecter qui définissent des règles adaptés aux demandes de chaque client.
  5. Alors pourquoi effectué un audit de code ?Comme vous le savez monsieurLa surveillance de la qualité du code des grands projets susceptible d’évoluer dans le temps esttrès importanteVue que de tel projets coutent des millions d’euros et aussi que le cout de correction évolue exponentiellement dans le temps,vue que les lignes de code sont de plus en plus nombreuse et donc de plus en plus difficile a comprendre et a maintenirEt c’est d’ailleurs la que l’audit de code s’impose comme un outil incontournablepour :Optimiser les développements et la maintenance du code applicatifAméliorer la qualité de l’applicationOptimiser la maintenance corrective ou évolutiveAugmenter les performances des applicationsAugmenter la sécurité des applicationsIdentifier et anticiper les problèmes de performance et de sécurité.
  6. L’audit technique de code peut traiter différents axes selon le besoin du client, par exemples il peut vérifier si L’architecture logicielle est bien conçu , voir si le système peut s’interfacer et communiquer avec d’autres systèmes externesOu encore vérifier si le code respecte les normes et standard de programmation et des Frameworks utilisés.L’audit de code peut aussi être axé vers les performances afin de mesuré les temps des réponses du systèmeIl peu aussi Mesurer la robustesse, la fiabilité, la scalabilité voir par exemple si le système accepte une monté en charge sans perte de performances (ou encore de vérifier si le systèmes arrive a gérer efficacement les transactions distribués)Vérifier si le système peut facilement accepter des évolutions et de la maintenance par exemple dans le cas du Projet TECK , ONF a attribuer la maintenance du projet a LOGICA plutôt qu’ALTI, l’ONF a donc demandé a ORESYS de réaliser un audit technique de code axé sur la maintenance pour que ALTI effectue les changements qu’il faut.Le client peut avoir aussi comme besoin de Vérifier si la qualité et le pourcentage de présence de la documentation technique est correcte.(Java Doc dans le monde JAVA)L’audit de code peut aussi vérifier les failles de sécurité logique existantes
  7. L’audit technique de code est effectué soit lorsque l’entreprise cherche a voir plus claire sur un système ou lorsqu’elle cherche a faire un suivi de code.Dans le premier cas l’entreprise cherche a voir plus claire sur des systèmes de type« boite noire ».cela veux dire des systèmes ou ’entreprise ne dispose quasiment pas d’indicateurs, et souhaites avoir des mesures plus claires sur ce dernier.Dans ce cas l’auditeur doit effectuer une analyse approfondi du code .afin d’identifier le maximum de problèmes et de proposer d’éventuelles solutionsUne telle prestation est destinée pour une prise de décision et demande du temps pour son élaboration. Le deuxième cas c’est lorsque l’entreprise souhaite faire un suivi de qualité de code du projet. Qu’il s’agisse d’un nouveau ou d’un projet pour la tierce maintenance applicative.Dans ce cas, la mise en place d’une PIC et d’une plateforme de suivis de qualité de code est obligatoire afin de pouvoir suivre d’évolution à chaque intervention sur le code source et à chaque livraison.Ce deuxième cas est particulièrement utile dans le cadre de la sous-traitance.
  8. Maintenant je vais passer aux acteurs concerné par cet auditAlors L’audit technique de code est effectué soit par une SII soit par un freelanceL’auditeur doit avoir des compétences technique avancées , être spécialiste dans le langage utilisé , avoir des connaissances dans l’architecture de haut niveau et du domaine applicative Mais en plus il doit disposer d’un esprit de gestionnaire et d’organisateur
  9. L’audit de code concerne ne concernent pas que les développeurs mais il concerne aussi les décideurs ( chefs de projet et managers)Les développeurs sont les acteurs principaux vue que c’est eux qui implémente les bonnes pratiques de développements et les solutions proposées par les auditeurs et interprète les indicateurs pour effectuer des corrections et des amélioration automatiquement Tandis que les décideurs interprète les résultats de l’audit et prennent des décisions afin de mieux gérer les équipes de développements
  10. Bien évidement l’ajout d’un système pareille, impose une conduite de changement vis-à-vis les acteurs et principalement vis-à-vis les développeurs qui voie l’audit comme un moyen de contrôle et de surveillance plutôt qu’un moyen d’amélioration continue.C’est pour cette raison qu’il est très conseillé au début de choisir que quelques règles et de bien les choisir ,afin de laisser aux développeurs le temps de s’habituer au système.Mais aussi de leurs fournir ces indicateurs afin de leurs permettre de se sentir impliquer dans le travail ce qui les pousserais a corriger automatiquement et efficacement les problèmes détectés.I faut expliquer aux développeurs qu’un tel audit ou un tel suivi de qualité de code permet de faciliter le travail , leurs permettre d’éviter des régressions fréquentes et leurs permettre de corriger rapidement les anomalies rencontrées.
  11. Une question se pose, Mais en quoi consiste réellement l’audit de code ? L’audit de code consiste a effectué un ensemble d’analyses Ou on va étudie d’une part la manière dont le code est structuré autrement dit sa syntaxe et d’autre part comment le code est exécutéCes analyses s’effectue selon 2 méthodes ,une analyse statique et une autre dynamique
  12. l’analyse statique du code est une notion qui permet d’obtenir des informations sur le comportement du programme sans avoir à exécuter ni a compiler le code source. Cette analyse permet de détecter des erreurs de programmation , de conception ,d’identifier des failles de sécurité ,des bugs potentiels , du code suspect, des pratiques risqué ou encore de vérifier si des règles d’écriture et de nommage du code sont respecté.tout cela s’effectue grâce à une analyse et teste de la syntaxe et de sémantique du code sources.
  13. Cette analyse a pour objectif d'évaluer la qualité, lesperformances et la sécurité du code sources, mais aussi de déterminer la facilité ou la difficulté à maintenir ce code .ceci avant toute étude du comportemental du code (analyse dynamique).Par exemples avec une analyse statique on peut détecter les erreurs suivantes :des fuites de mémoire et/ou des problèmes de performancedes variables initialiser mais non utiliséesdes failles de sécurité telle que le “buffer overflow” (dépassement de tampon)de la redondance du code (code copié-collé)de trouver des variables déclaré 2 fois.de détecter des zones de code non utiliséede localiser des méthodes privées jamais appelées
  14. Tandis que L'analyse dynamique est une notion qui permet de simuler l'exécution du code sources d’un programme sur un vrai processeur ou un processeur virtuel.Afin de révéler des erreurs de codage souvent comportementale qui ne sont pas visible avec une analyse statique du code.Une telle analyse permet par exemples de détecter des problèmes :lors de l’ouverture d’un fichier inexistant.de sécurité système: lorsque l’utilisateur ne dispose pas  de droit d'accès en écriture...pointer vers une adresse mémoire non alloué et/ou non permise par le systèmeL’analyse dynamique fait appels principalement a deux techniques : le débogage et le profiling, c’est mécanismes sont actuellement très utilisées par les développeurs vue leurs utilités.
  15. Le Profiling est une technique d'analyse des performances de l’application, elle permet d’offrir des mesures sur la fréquence des appels de méthodes, ou encore la durée de l’appel d’une méthodemais aussi d’identifier les différentes parties critiques du code.Quand a la technique du débogage est une technique qui permet d’exécuter le code source pas à pas avec une possibilité de mise en place de points d'arrêt conditionnelles Et permet donc à un instant “T”, d’observer les opérations en cours, les fichiers ouverts, l’état des registres processeurs ,la pile d'appel mais en plus de modifier le contenu des différentes variables en mémoire, le contenu des zones mémoire, le code source en assembleur et bien d'autres options...
  16. Passant maintenant aux modèles de qualité ou comme on les appelle encore “les bonnes pratiques de développement” qui sont un ensemble de règles bien définies à respecter. Qui on comme finalité de prendre en compte les contraintes du client tout en répondant aux exigences de qualité de développement.Ces modèles permettent d’encadrer les méthodes d’analyses statique et dynamique.parmi les plus connue modèles de qualité je peux cité par exemple le fameu modèle « iso 9126 »
  17. Lors de cette partie je vais présenter ma méthode personnelle pour la réalisation d’un audit technique de code.La méthode que je propose est sous forme d’une liste de démarches à mettre place et à respecter.Au début l’auditeur doit utiliser le modèle de qualité personnel (que j’ai vais définir par la suite) pour orienté et cadrer les analyses qu’il va devoir effectuer ,ces analyses seront effectué pour chaque axe du modèle afin de détecter les problèmes lié au système, l’auditeur est supposé faire une étude approfondie sur ces problèmes afin de proposer les meilleures solutions possibles . Finalement il doit rédiger un rapport avec l’ensemble des problèmes identifier et les solutions proposé.
  18. La première étape des démarches étai l’utilisation du modèle de qualité que j’ai définie, ce modèle est organisé en 3 axesLe premier axe est La modulabilité qui a comme exigences de disposer d’un système ouvertavec une architecture logicielle bien conçu, un code facilement évolutif et modulable.Dans le but de facilement suivre les évolutions de l’application sans trop de changement dans l’architecture, le code doit aussi permettre facilement d’ajouter de nouveaux modules, le système doit pouvoir communiquer avec d’autres systèmes externes, pour cela le code doit utiliser des technologies normalisé afin qu’il est puisse s’interfacer avec d’autres systèmes.L’axe de modulabilité se base principalement sur des métriques comme le nombre de classes….L’axe de capacité requis que le logicielle est des temps de réponses correctes sur les différents supports utilisé(que cela soit des connexion WEB ,ou des requete SQL, ou encore une communication entre composant ( corba ou ejb),l’axe de capacité requis aussiun logicielle stable qui ne plante pas à chaque problème rencontré, et arrive à tourner en a un mode dégradé en cas de problèmes graves et finalement un logiciel avec un niveau de sécurité acceptable.Le dernier axe est La qualité , ila pour but de disposer d’un code bien structuré et simple à comprendre afin de pouvoir y effectuer de la maintenance applicative sans trop de difficulté.
  19. Le 2eme point de la méthodologie étai l’ensemble des analyses a effectué.Ces analyses sont organisé en deux phases qui sont appliquées pour chacune des axes du modèle définis:Une phase in vivo qui correspond a l’analyse dynamique etune phase ex vivo qui correspond a l’analyse statique Les problèmes détectés lors de ces deux phases feront l’objet d’une étude approfondie par l’auditeur qui est supposé proposer les meilleures solutions possibles à ces problèmes.
  20. Donc passons maintenant a ce que j’ai mis en place a l’entreprise , Donc a ALTIj’ai pu réaliser un petit audit technique de code, pour cela j’ai du installer et configurer au début une plateforme d’intégration continue basé sur Hudson et sonar pour les métrique.J’ai aussi installé les plug-ins Findbugs , Cobertura et CheckStyle pour sonar et Eclipse. Puis j’ai utilisé ma méthodologie personnel que j’ai décrite tout a l’heure pour étudier et analyser l’application TECK.Apres cette analyse j’ai pu réaliser un mini rapport ou j’ai répertorier l’ensembles des problèmes détecter et les éventuel solution pour les corriger.Par exemples dans l’application teck j’ai identifier des difficulté de maintenance de l’application mais plus spécifiquement la couche présentation vue qu’elle disposer d’un code avec beaucoup d’imbrication cyclique ou encore du code redondant. comme solution j’ai proposer de créer des classes utilitaire pour éviter les copier coller et de refactoré le code source.Il avait aussi un problème pour l’évolution de l’application vue la non séparation de la couches présentation et traitements.Mon but principale derrière cette audit étai pour des fins d’optimisation, vue que cela fessai partie de mes missions.J’ai donc identifier quelques problème majeurs, tel que l’application effectué plusieurs appels entre le client et le serveur la ou elle pouvait en effectué qu’un seul(cas ajout de plusieurs lignes de demande d’achats)ou encore j’ai remarqué que les fichiers de mapping « dozer » étai mal écrit et donc on récupéré des donnée supplémentaire sans aucun intérêt fonctionnelle.la ou on pouvais juste récupérer juste les information dont l’application avait besoin.Mais ce n’etait pas tout l’application perdais en performance aussi vue qu’elle créé beaucoup d’objet inutile(donc elle occupé de la place en plus en mémoire et perdez du temps lors de leurs création)Ou encore elle perdais du temps a faire des conversions inutile.L’application faisait trop appels a l’introspection même a des endroits ou l’on pouvais éviter cela…..Ce qui ralentissais d’avantage l’application.Niveau securté l’application ne disposai pas de système pour valider et controler les donnée entré.l’une de mes missions etai la creation de PDI pour protocole de document incomplet ou le but etai de verifier les champs obligatoire a la saisie , la validiter des donnée ainsi de suite.Check Style Est un outil qui dispose d’une liste de règles de codage personnalisable (environ 150 règles) afin de vérifier et améliorer la qualité du code. Check Style est capable de :Vérifier la longueur des lignes de codeVérifier la présence de la « Java Doc »Vérifier le respect des standards de nommage Améliorer l'écriture et la qualité du codeFindbugs  Est un outil qui permet d’effectuer une analyse détaillé du code Java, il permet d’identifier des anomalies avancée comme : Détection des mauvaises pratiques de codageL’identification des failles de sécurité comme : utilisation de variables instancié à NULL;Détection des problèmes pouvant causer des régressions dans les performancesProblèmes liés au ThreadCoberturaEst un outil qui permet principalement de mesurer la couverture du code par les tests unitaires.Mais aussi d’analyser les lignes et les branches, ainsi que la complexité McCabeGrace a une intégration avec Sonar, il est tout à fait possible d'obtenir des mesures au niveau du projet, des packages, des classes ou des méthodes.SonarPermet de fournir une analyse complète de la qualité du code grâce à divers métriques. Sonar est capable de gérer différents langages (JAVA, C#, FLEX,…)Sonar est un projet tout en un, grâce à son système de plug-in, sonar permet d’intégrer et tirer profit de la puissance d’outils comme : Check Style, FindBugs, Cobertura…
  21. Nous avons vue lors de cette présentation ce qu’est l’audit technique de code ,les différents axes qu’il peut traiter et les différents acteurs qui sont impliqué, nous avons compris qu’il est impérative de passer par une conduite de changement vis-à-vis ces derniers.Nous avons aussi pris connaissance de l’ensemble des étapes a suivre pour la mise en place d’un tel audit, et nous avons compris qu’un tel audit se base sur les deux méthodes d’analyses (analyse statique et dynamique ) et qu’il est impérativement indispensables de disposer d’un modèle de qualité pour orienté ces analyses.finalement j’ai présenter la solution mise en place a l’entreprise