Un audit technique est une revue d’un site ou d’une application afin de quantifier la qualité, la sécurité et la maintenabilité de son code source.
C’est également l’occasion de lister ses dépendances à d’autres systèmes : les fameuses interfaces et leurs protocoles : API, échanges de fichiers... Ces informations ne sont pas toujours contenues dans un document maintenu à jour.
Il est important de commencer par définir l’objectif de l’audit, et donc son périmètre. Dans le cadre de la reprise d’une application issue d’un développement préalable, l’audit se concentrera sur le code.
L’audit peut cependant plus spécifiquement porter sur la sécurité, les performances, l’accessibilité ou l’écoconception de l’application dans son état actuel.
L’objectif de l’audit est d'accompagner la prise de décision quant à la maintenance de l’application, son évolution et/ou sa refonte. Nous réalisons ce type d’audit lorsque nous reprenons la gestion de sites Internet développés par d’autres agences, avant de commencer à réaliser des travaux d’évolution. Plus rarement, sur des projets au long cours afin de mesurer l’état de santé de la base de code et de limiter les dérives.
La liste des points de contrôle et leur analyse est complétée par des recommandations globales concernant l’application et un plan d’action pour traiter les points les plus critiques.
Chaque point d’audit relevé présente :
Nous nous efforçons d’utiliser un langage clair et accessible à tous. Les termes techniques ne sont mentionnés en commentaire que lorsqu’ils permettent de préciser et clarifier le sujet, à destination des développeurs.
Nous définissons aussi la criticité du problème en nous basant sur la gravité et la probabilité qu'il se produise.
Les éléments de l’audit sont résumés dans un tableau reprenant leur nom et leurs valeurs de criticité. C’est un bon outil pour démarrer les discussions sur la priorisation des traitements.
L’indice de criticité permet la priorisation des éléments les plus importants tout en exposant les informations permettant d’aider la prise de décision en fonction de la gravité et de la probabilité d’impact des éléments listés.
Il n’est pas nécessaire de tout traiter à la sortie d’un audit : le plan d’action cherchera à traiter rapidement les problèmes immédiats, avant de corriger sur le long terme d’autres défauts. Enfin, certains défauts moins graves peuvent être laissés de côté, et l’on considère que le simple fait de les connaître suffit à éviter qu’ils dérivent. Par exemple, des tests statiques automatisés peuvent être mis en place afin de tolérer les défauts passés mais d’empêcher de nouvelles dégradations.
Que votre projet en soit au stade de l'idée ou déjà bien avancé, nous serons ravi·e·s de discuter avec vous, d'écouter vos envies et de vous conseiller au mieux sur les solutions envisagées.