L’audit d’un projet Symfony legacy nécessite une stratégie pour éviter les modifications répétées. L’auteur illustre ce problème avec un exemple concret : un champ broadcast stocké en chaîne de caractères ("Y"/"N") dans la base, mais utilisé comme booléen dans le code, entraînant des incohérences entre contrôleurs et entités. Corriger d’abord le contrôleur puis l’entité implique un double travail, ce qu’il faut anticiper.
Trois approches d’audit sont comparées. L’approche top-down (contrôleurs en premier) est intuitive mais inefficace, car elle révèle des problèmes d’entités sans pouvoir les résoudre immédiatement. L’approche verticale (par fonctionnalité) est cohérente mais risquée sur un projet legacy, car les règles transverses (comme les conventions de nommage) émergent progressivement, rendant l’audit fragmenté et sujet à débats.
L’auteur recommande une approche bottom-up (entités en premier) : uniformiser d’abord le modèle de données (types, conventions, traits Doctrine), puis remonter vers les contrôleurs. Bien que moins visible, cette méthode évite les incohérences et permet un audit propre des couches supérieures, sans retouches ultérieures.