Skip to main content

Modernisation des applications Java avec GitHub Copilot

GitHub Copilot peut aider à moderniser et migrer des applications Java en évaluant votre codebase, en identifiant les chemins de mise à niveau et en automatisant les tâches de correction et de conteneurisation.

L’extension de modernisation des applications GitHub Copilot dans Visual Studio Code automatise les mises à niveau Java en identifiant les frameworks obsolètes, les API déconseillées et les bloqueurs de mise à niveau. Agent de programmation Copilot applique les modifications de code, met à jour les fichiers de build et résout les problèmes de build et CVE pour vous.

Les recommandations et les rapports générés par l’extension peuvent aider vos équipes à adopter rapidement de nouvelles technologies et à réduire la dette technique. Copilot vous guide dans les mises à niveau avec des étapes et des résumés actionnables, en accélérant et en sécurisant vos migrations tout en réduisant les efforts manuels.

Pour obtenir des instructions sur les fonctionnalités d’extension, la configuration et l’interface utilisateur, consultez la documentation de modernisation des applications GitHub Copilot dans la documentation Microsoft.

Infrastructure de modernisation

Lorsque vous démarrez une session d’agent à l’aide de l’extension de mise à niveau Java, l’extension vous aidera à moderniser votre application Java à l’aide de l’infrastructure suivante.

  •         **Effectuer des tâches d’évaluation**. L’extension peut analyser le code, la configuration et les dépendances, en fournissant une évaluation de l’état actuel de votre application.
    
  •         **Créez un plan de modernisation personnalisable**. En fonction de l’évaluation, l’extension peut suggérer un chemin de modernisation, y compris les mises à jour nécessaires de l’infrastructure et de la bibliothèque.
    
  •         **Identification précoce des problèmes**. L’extension identifie les dépendances, les bibliothèques obsolètes et les fonctionnalités de langage, ainsi que les problèmes de migration potentiels. L’extension fournit des stratégies actionnables pour résoudre les problèmes.
    
  •         **Personnalisez votre plan**. Modifiez le plan de modernisation en fonction des besoins spécifiques de votre application, tels que l’incorporation de normes et de pratiques organisationnelles, à l’exclusion de certains composants, ou la hiérarchisation de fonctionnalités ou de modèles de conception spécifiques.
    
  •         **Implémentez votre plan**. L’extension peut aider à appliquer des modifications de code, à mettre à jour les fichiers de build, à refactoriser les API déconseillées et à résoudre les problèmes de build et de syntaxe. L’extension corrige automatiquement les erreurs de génération et effectue les validations de test après chaque étape pour garantir la stabilité et les modifications sans erreur. <!-- markdownlint-disable-line GHD046 -->
    
  •         **Passez en revue vos modifications**. L’extension peut produire un rapport de mise à niveau détaillé, résumer les modifications appliquées et répertorier les problèmes non traités et les étapes restantes de votre modernisation.
    
  •         **Générer des tests unitaires**. L’extension évalue automatiquement les tests existants et génère de nouveaux fichiers de test et les ajoute à l’espace de travail. Un rapport est produit récapitunant les résultats des tests de pré-génération et post-génération.
    
  •         **Conteneurisez votre application**. L’extension peut générer automatiquement des fichiers Dockerfiles, générer des images et valider tout ce qui permet à votre application modernisée de s’exécuter dans les services de conteneur tels qu’Azure Kubernetes Service (AKS), Azure Container Apps (ACA) et AKS Automatic, ce qui facilite le déploiement et l’extensibilité.
    
  •         **Préparez le déploiement**. L’extension peut vous aider à préparer votre application pour la conteneurisation et le déploiement, en générant des artefacts de déploiement tels que des scripts et des configurations.
    
  •         **Automatisez le déploiement sur Azure**. L’extension peut vous aider à déployer ou à approvisionner votre application modernisée sur Azure, en générant des artefacts et des ressources Azure nécessaires et en effectuant des étapes d’exécution.
    

Vous pouvez améliorer la compréhension de la base de code de l’application et gagner du temps et des efforts à l’aide de Copilot pour faciliter les tâches de modernisation complexes telles que :

  • Rétro-ingénierie et transformation de code
  • Analyse des vulnérabilités et des dépendances, vérifications et corrections du comportement du code
  • Génération automatisée de ressources, de documentation et de rapports de mise à niveau
  • Génération et évaluation des tests
  • Automatisation du déploiement

Vue d’ensemble du flux de travail de modernisation

Dans cet exemple, nous allons parcourir les étapes de haut niveau pour moderniser une application Java à l'aide de l'extension de modernisation d'applications GitHub Copilot dans Visual Studio Code.

Pour obtenir des instructions et des prérequis détaillés, consultez Démarrage rapide : mettre à niveau un projet Java avec GitHub Copilot la modernisation des applications dans la documentation Microsoft.

Remarque

Pendant le workflow de modernisation, Agent de programmation Copilot peut fréquemment vous demander confirmation avant d'effectuer des actions spécifiques.

1. Ouvrez votre projet Java

Utilisez VS Code pour ouvrir votre dossier de projet.

Actions suggérées

  • Assurez-vous que votre projet se construise correctement avant de continuer.
  • Si vous rencontrez des problèmes de compilation, vous pouvez utiliser Copilot pour les résoudre avant de commencer le processus de modernisation.

2. Démarrer un espace de travail de modernisation

Lancez Discussion avec Copilot et démarrez une nouvelle session en mode agent. Choisissez GitHub Copilot modernisation des applications : mise à niveau pour Java à partir des outils disponibles.

3. Analyser votre projet pour les opportunités de mise à niveau

Copilot analysera votre base de code. L’analyse comprend :

  • Détection des infrastructures obsolètes (par exemple, Spring Boot, Jakarta EE, versions java SE).
  • Identification des API déconseillées et des modèles obsolètes.
  • Suggestions pour les opportunités de mise à niveau.

Vous pouvez consulter les résultats et un plan de mise à niveau structuré dans l’éditeur, qui s’affiche :

  • Versions actuelles et recommandées pour les frameworks et les dépendances.
  • Emplacements de code nécessitant une migration ou une refactorisation.
  • Bloqueurs de mise à niveau ou dépendances incompatibles.

Actions suggérées

  • Passez en revue et personnalisez le plan de modernisation avant de poursuivre la mise à niveau.

4. Appliquer les recommandations de mise à niveau de Copilot

Utilisez Copilot pour appliquer ou examiner les modifications de code, mettre à jour les fichiers de build et refactoriser les API.

Si des erreurs de build sont détectées, Copilot peut entrer une boucle de correction et de test jusqu’à ce que le projet se compile correctement.

Agent de programmation Copilot les modifications automatisées peuvent inclure :

  • Mise à jour des fichiers pom.xml ou build.gradle pour les nouvelles versions des dépendances.
  • Génération de pull requests ou commettre des modifications directement.
  • Refactorisation du code pour les modifications d’API. Par exemple, la migration des espaces de noms javax.* vers jakarta.*.
  • Suggérer ou appliquer des transformations de code pour résoudre les modifications majeures.

Copilot itérera et continuera à corriger les erreurs jusqu’à ce que le projet s’exécute correctement et qu’il n’y ait plus de problèmes qui nécessitent la correction. Il est possible que des problèmes mineurs qui ne nécessitent pas de correctifs immédiats restent. Celles-ci n’empêchent pas la mise à niveau de se terminer.

Actions suggérées

  • Passez en revue toutes les modifications de code dans votre éditeur de diff avant d’accepter.
  • Utilisez Copilot pour expliquer et documenter les modifications apportées au code.
  • Lorsque l’extension vous invite à, acceptez les options permettant de vérifier les dépendances modifiées pour les CVEs connues et de valider le comportement du code pour la cohérence.
  • Passez en revue les problèmes restants et évaluez leur importance.

5. Afficher le rapport de mise à niveau et suggérer les étapes suivantes

Une fois le processus de mise à niveau terminé, Copilot génère un rapport de mise à niveau récapitulative incluant :

  • Informations sur le projet.
  • Lignes de code modifiées.
  • Dépendances mises à jour.
  • Modifications de code résumées.
  • Correction des problèmes de sécurité CVE et d'incohérence de code, le cas échéant.
  • Problèmes DE CVE mineurs non traités.

Actions suggérées

  • Passez en revue le rapport pour comprendre les modifications apportées.
  • Suivez les étapes suivantes suggérées pour finaliser votre modernisation.

Fin de la modernisation

D’autres travaux pour prendre en charge votre modernisation peuvent inclure les éléments suivants :

  •         **Vérification** approfondie des modifications initiales de modernisation et de code. Vérifiez que les normes de codage et les meilleures pratiques de votre entreprise sont respectées.
    
  •         **Révision approfondie du** code modifié. Par exemple, vérifiez que le code généré correspond à l’objectif et à l’architecture de votre projet. Pour plus de suggestions, consultez [AUTOTITLE](/copilot/tutorials/review-ai-generated-code).
    
  •           **Correction de bugs**. Évaluez le contenu spécifique à la recherche d'erreurs subtiles, puis utilisez vos propres outils de débogage et de linting pour analyser le nouveau contenu.
    
  •         **Rédaction de tests** et identification des lacunes dans les tests pour le projet mis à niveau.
    
  •           **Nettoyage** du projet en supprimant les fichiers qui ne sont plus nécessaires.
    
  •           **Refactorisation** du code dans le nouveau langage. Le processus de modernisation peut avoir entraîné un projet dont l’architecture était basée sur celle de votre projet d’origine, mais ce n’est plus la solution idéale ou optimale pour vos besoins. Vous pouvez maintenant refactoriser le code pour tirer le meilleur profit des fonctionnalités du langage et de l’infrastructure utilisée.
    
  •         **Mise à jour de la documentation**. Vos informations de projet et vos fichiers contributeurs peuvent maintenant être obsolètes et doivent être réécrits.
    
  •         **Conteneurisation**. Mettez à jour le code de votre application, générez des fichiers de conteneurisation tels que dockerfiles et générez l’image pour tester la validité. Si nécessaire, Copilot peut effectuer ces tâches de conteneurisation et créer un plan complet détaillant les étapes suivantes.
    
  •         **Déploiement de** l’application modernisée sur vos environnements cibles, y compris les plateformes cloud telles que Microsoft Azure.