SOMMAIRE

Envie d’aller plus loin ? Échangez directement avec l’un de nos experts.

Cette première partie de l’article raconte l’histoire de l’outil Appcat, les limites de son langage brut aux améliorations annoncées par Microsoft. Sa mission : Scruter vos applications .NET (qu’elles soient Framework ou Core), en détecter les failles techniques, estimer l’effort de migration, et notamment, vous dire si elles peuvent brouter sereinement dans les prairies d’Azure. 

AppCat, ce berger numérique du code 

AppCat

Tout commençait pourtant bien. Dans un paisible pré numérique on-premises, nos bonnes vieilles applications .NET broutaient tranquillement depuis des années. Certaines avaient un certain âge, une petite faiblesse à gauche dans la couche DAO, une dépendance obsolète par-ci, un WebForms nostalgique par là… Mais dans l’ensemble, elles faisaient le boulot. Sans faire de bruit.

 

Mais voilà que les pâturages on-premises devinrent de plus en plus arides, le terrain instable, et les orages réglementaires ou budgétaires pointèrent à l’horizon. Une seule solution : migrer vers des prairies plus vertes, plus modernes, hébergées sur un ravissant paradis appelé Azure. 

C’est à ce moment-là qu’un curieux berger numérique fit son apparition : AppCat. Avec sa toison d’algorithmes, ses sabots pleins de diagnostics et son regard perçant de JSON, il se proposa de nous aider à trier le troupeau : qui peut partir ? Qui doit être soigné ? Qui nécessite une reconversion ou une tonte en règle ? 

Appcat

D’où vient AppCat 

AppCatAvant d’être ce que nous connaissons aujourd’hui, AppCat a commencé comme un simple projet interne chez Microsoft. Le besoin était clair : comment aider les équipes de modernisation à identifier rapidement les obstacles techniques à la migration vers Azure ? 

Initialement conçu comme un module complémentaire à Azure Migrate, AppCat, ou plus précisément Azure Migrate App Containerization Assessment Tool, a été pensé pour combler un vide : l’absence d’analyse fine du code dans les parcours de migration. Jusqu’alors, Azure Migrate était très fort pour cartographier l’infrastructure, les machines, les bases de données… mais restait aveugle sur le cœur applicatif. 

L’équipe .NET de Microsoft a donc lancé AppCat en version publique courant 2023. Sa promesse : scanner rapidement un projet .NET (Framework ou Core) et repérer tout ce qui risquait de poser un problème dans une migration vers un environnement Azure moderne. Il s’agissait d’abord d’un outil en ligne de commande, assez brut, générant un fichier JSON, sans interface graphique ni vraie contextualisation. 

Mais les retours ont été nombreux. L’outil, bien que technique, s’est révélé précieux pour des audits rapides, pour automatiser des validations CI/CD, ou comme base de discussion entre développeurs et architectes. Microsoft a donc commencé à l’enrichir, avec notamment : 

  • Une intégration dans Visual Studio (interface graphique) 
  • Des liens vers la documentation Azure dans les résultats 
  • Et plus récemment, une intégration avec GitHub Copilot pour faciliter l’interprétation des rapports 

Aujourd’hui encore, AppCat évolue. Il ne couvre pas tous les cas, ne remplace pas un audit expert, mais il s’est imposé comme un compagnon léger, rapide et utile. Et c’est justement parce qu’il est encore un peu brut qu’il donne envie de bâtir autour de lui. 

AppCat : un scanner aux rayons X .NET 

AppCatAppCat, ou Azure Migrate App Containerization Assessment Tool, est un outil gratuit proposé par Microsoft depuis 2023. Il est conçu pour accompagner les développeurs et architectes dans leur parcours de modernisation vers Azure, en fournissant un audit automatisé de compatibilité cloud des applications .NET, qu’elles soient en .NET Framework ou en .NET Core/5+. 

L’outil repose sur une analyse statique des fichiers .csproj, .sln, des dépendances NuGet, des appels API, et d’autres aspects structurants d’une application. L’objectif : identifier ce qui pourrait poser un problème lors d’un déploiement sur Azure, selon les contraintes propres à chaque service (App Service, AKS, Azure Functions, etc.). 

AppCat génère un rapport JSON complet, lisible via une interface graphique ou exportable, contenant : 

  • Une liste de règles AppCat déclenchées, 
  • Leur niveau de sévérité (Mandatory, Recommended, Optional, Informational), 
  • Les zones impactées dans le code, 
  • Et des liens vers la documentation officielle Microsoft pour adresser chaque point. 

Appcat

Appcat

Côté usage, AppCat se décline en plusieurs modes : 

  • Ligne de commande, pour une intégration dans des workflows automatisés 
  • GitHub Actions, pour auditer automatiquement les pull requests 
  • Visual Studio, via une extension graphique intuitive 

AppCat

Il fonctionne avec : 

  • .Net Framework 4.x, 
  • .Net Core / .NET 5, 6, 7, 8 et même 9 (depuis la version 0.1.189), 
  • Des projets ASP.NET, ASP.NET Core, ou des bibliothèques de classes, 
  • Et s’utilise sur Visual Studio 2022 (x64/Arm64). 

Depuis sa première version en 2023, AppCat a bénéficié de nombreuses mises à jour, démontrant l’engagement actif de Microsoft à faire évoluer cet outil stratégique. 

Voici quelques-unes des améliorations les plus significatives jusqu’à la version 0.1.223.18197 (mise à jour : 17 mai 2025) : 

  • Intégration avec GitHub Copilot (v0.1.103) : permet d’interagir en langage naturel avec les résultats AppCat. Dans Visual Studio, un simple clic sur une règle ouvre une conversation dans Copilot Chat, avec des explications sur le problème, des propositions de correction, et une contextualisation pédagogique des règles déclenchées. 
  • Ciblage des services Azure (v0.1.103) : lors de l’analyse, il est désormais possible de spécifier si l’application cible un déploiement vers App Service, AKS, ou Azure Container Apps. Cela permet de filtrer les règles applicables, de limiter les faux positifs, et d’obtenir des recommandations mieux alignées sur le scénario réel de migration. 

AppCat

  • Personnalisation de l’analyse (v0.1.103+) : AppCat prend dorénavant en charge des fichiers de configuration JSON (.runconfig) permettant de modifier ou désactiver certaines règles, cibler des assemblies spécifiques, ou injecter des règles personnalisées pour adapter l’outil à un contexte métier particulier. 

Appcat

  • Installation sans droits administrateur (v0.1.107) : une avancée très attendue, qui permet une installation par utilisateur dans Visual Studio sans élévation de privilèges. Cela facilite l’adoption dans les environnements d’entreprise contrôlés. 
  • Support de .NET 9.0 (v0.1.189) : la compatibilité est désormais assurée avec les projets ciblant la dernière version du framework .NET, renforçant l’utilité d’AppCat pour les projets en cours de modernisation. 
  • Nouvelles règles dédiées à ASP.NET Core (v0.1.171) : enrichissement de la base de détection pour mieux couvrir les architectures modernes, les problématiques de configuration, de sécurité ou de performances propres aux projets ASP.NET Core. 
  • Accessibilité améliorée et rapport HTML (en cours) (v0.1.151+) : Microsoft améliore progressivement le rapport HTML embarqué, avec des correctifs d’accessibilité, une structuration plus lisible, et une meilleure compatibilité avec les navigateurs. Bien que toujours en développement, cette nouvelle interface vise à rendre les résultats plus exploitables hors de Visual Studio. 

Appcat

Appcat

  • Stabilisation continue et correction de bugs (v0.1.131 à v0.1.223) : localisations, affichage des incidents, conformité aux modes de confidentialité, compatibilité Visual Studio 17.3+, gestion des fichiers appsettings.*.json dans l’analyse, etc.

En somme, AppCat est aujourd’hui un outil mature, actif et polyvalent, publié sous licence gratuite, avec une feuille de route ambitieuse et une adoption croissante dans les écosystèmes Visual Studio et GitHub. Il constitue un allié de plus en plus incontournable dans les stratégies de migration vers Azure. Il ne remplace pas un audit expert ni un outil de transformation complet, mais c’est un excellent point de départ : rapide, fiable, extensible, et en constante amélioration. 

La deuxième partie de cet article est disponible ici.

Ne ratez plus aucune actualité avec la newsletter mensuelle de SoftFluent

Newsletter SoftFluent