Grâce à ma double formation DUT Réseaux et Télécom à Ifs et Ingénieur en Génie Logicielle de l’UTBM, j’ai une vision transversale des projets : du réseau au code source.

Je maitrise principalement les environnements Java puisque j’ai travaillé sur Alfresco, Nuxeo, Liferay, Bonita, uPortal, Zimbra, Talend, Solr, etc. Mais j’ai également réalisé des audits sur des projets Ruby et PHP.

J’ai une grande connaissance des environnements Linux (Red Hat, Suse, Debian, Ubuntu) sur systèmes physiques, virtualisés (VmWare, OpenStack) et maintenant conteneur (Docker).

Enfin, j’ai acquis une expérience significative sur plusieurs bases de données : MySQL, PostgreSQL, ExistDB.

Mon statut d’indépendant garantit une neutralité lors des audits.

Objectifs

Les audits logiciels sont habituellement réalisés avec deux Objectifs :

  • La performance logicielle : identifier les points de ralentissement du système (fuites mémoires, interblocage ( deadlock ), architecture logicielle) et les stratégies d’amélioration (architecture système, caches, dimensionnement) ;
  • La stabilité et capacité d’évolution : analyse de la qualité du code, bonnes pratiques de développement, bugs de conception, etc.

Méthodologies

Chaque projet est unique, cependant, je mets généralement en oeuvre la procédure suivante :

  1. Ateliers techniques : discussion avec les acteurs du projet à propos des difficultés et de l’historique du projet ;
  2. Analyse technique : audit des serveurs de production et des outils de développements utilisés par l’équipe ou le prestataire (Usine logicielle) ;
  3. Analyse du code : Analyse de l’architecture et lecture du code source. Utilisation d’outils d’analyse (par exemple Sonar) ;
  4. Rédaction du rapport : État des lieux, Analyses, Préconisations, Synthèse ;
  5. Soutenances : Réunion pour présenter l’étude et répondre aux questions.