# Utilisation de GitHub Copilot agent cloud pour améliorer un projet

Recherchez et corrigez les problèmes dans un projet avec Copilot cloud agent.

> \[!NOTE]
> Pour une introduction à Copilot cloud agent, consultez [À propos de GitHub Copilot agent cloud](/fr/copilot/concepts/agents/cloud-agent/about-cloud-agent).

## Présentation

Le développement moderne commence souvent par de bonnes intentions : un script rapide, un prototype, peut-être une action pour automatiser une petite chose. Mais à mesure que les projets évoluent, ces premiers efforts peuvent devenir fragiles.

Ce tutoriel montre comment vous pouvez utiliser Copilot cloud agent pour améliorer un projet mature, sans ralentir votre élan.

Dans les sections suivantes, nous allons :

* Assurez-vous que le projet contient des instructions personnalisées qui Copilot peuvent être utilisées pour adapter ses réponses à votre projet.
* Assurez-vous qu’il existe un fichier de configuration d’environnement pour Copilot cloud agent, afin qu'il puisse commencer plus rapidement les tâches en préinstallant les dépendances de votre projet.
* Recherchez les améliorations qui peuvent être apportées au code, puis créez Copilot des problèmes pour ce travail.
* Déléguer le travail de codage à Copilot en l’affectant à un problème.

## 1. Rechercher des instructions personnalisées

1. Accédez à votre dépôt sur GitHub.

2. Vérifiez qu’au moins l’un des fichiers d’instructions personnalisées suivants existe :

   * `.github/copilot-instructions.md`
   * `.github/instructions/**/*-instructions.md`
   * `AGENTS.md`

3. Si l’un de ces fichiers existe, affichez le fichier et vérifiez que les instructions sont adéquates et à jour.

   Pour plus d’informations, consultez la section « Écriture d’instructions personnalisées efficaces » dans [À propos de la personnalisation des réponses GitHub Copilot](/fr/copilot/concepts/prompting/response-customization?tool=webui#writing-effective-custom-instructions) et la bibliothèque d’exemples dans [Instructions personnalisées](/fr/copilot/tutorials/customization-library/custom-instructions).

4. S’il n’existe aucun fichier d’instructions personnalisé dans le référentiel, utilisez-le Copilot cloud agent pour créer un `.github/copilot-instructions.md` fichier en suivant les instructions de [Ajout d’instructions personnalisées de référentiel pour GitHub Copilot](/fr/copilot/how-tos/copilot-on-github/customize-copilot/add-custom-instructions/add-repository-instructions#asking-copilot-cloud-agent-to-generate-a-copilot-instructionsmd-file).

5. Passez en revue la pull request que Copilot cloud agent crée. Vérifiez que le `.github/copilot-instructions.md` fichier fournit Copilot toutes les informations dont il a besoin pour travailler sur ce projet.

   Le fichier doit inclure :

   * Résumé clair de la base de code et de ce que fait le logiciel.
   * Vue d'ensemble de la structure du projet.
   * Recommandations en matière de contribution. Par exemple, comment générer, mettre en forme, vérifier et tester la base de code, ainsi que les exigences qui doivent être remplies avant que les pull requests puissent être fusionnées.
   * Principes techniques clés.

6. Modifiez le fichier en fonction des besoins.

7. Cliquez sur **Prêt pour la révision** en bas de l’onglet « Conversation » de la demande de tirage, puis effectuez votre processus habituel de fusion d’une demande de tirage.

## 2. Rechercher un fichier de configuration d'environnement

Un `copilot-setup-steps.yml`GitHub Actions fichier de flux de travail peut aider Copilot cloud agent à démarrer plus rapidement sur les tâches en préinstallant les dépendances utilisées par le projet.

La création de ce fichier est facultative, mais c’est une bonne idée si vous utilisez Copilot cloud agent régulièrement dans le référentiel.

1. Dans votre référentiel sur GitHub, vérifiez que le fichier suivant existe :

   ```text copy
   .github/workflows/copilot-setup-steps.yml
   ```

   > \[!TIP]
   > Pour ce faire, vous pouvez copier le chemin ci-dessus, accéder à la page principale de votre dépôt et coller le chemin dans le champ « Accéder au fichier ».

2. Si le fichier existe, ouvrez-le et vérifiez que les étapes du flux de travail installent les dépendances appropriées pour votre projet. Après avoir vérifié cela, vous pouvez ignorer les étapes restantes de cette section.

3. Si vous n’avez pas encore de fichier `copilot-setup-steps.yml`, utilisez les étapes suivantes pour que Copilot cloud agent le crée pour vous.

4. En haut de n’importe quelle page de votre dépôt sur le site web GitHub, cliquez sur **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-agent" aria-label="Open agents panel" role="img"><path d="M14.5 8.9v-.052A2.956 2.956 0 0 0 11.542 5.9a.815.815 0 0 1-.751-.501l-.145-.348A3.496 3.496 0 0 0 7.421 2.9h-.206a3.754 3.754 0 0 0-3.736 4.118l.011.121a.822.822 0 0 1-.619.879A1.81 1.81 0 0 0 1.5 9.773v.14c0 1.097.89 1.987 1.987 1.987H4.5a.75.75 0 0 1 0 1.5H3.487A3.487 3.487 0 0 1 0 9.913v-.14C0 8.449.785 7.274 1.963 6.75A5.253 5.253 0 0 1 7.215 1.4h.206a4.992 4.992 0 0 1 4.586 3.024A4.455 4.455 0 0 1 16 8.848V8.9a.75.75 0 0 1-1.5 0Z"></path><path d="m8.38 7.67 2.25 2.25a.749.749 0 0 1 0 1.061L8.38 13.23a.749.749 0 1 1-1.06-1.06l1.719-1.72L7.32 8.731A.75.75 0 0 1 8.38 7.67ZM15 13.45h-3a.75.75 0 0 1 0-1.5h3a.75.75 0 0 1 0 1.5Z"></path></svg>**.

5. Copiez et collez l’invite suivante dans la boîte de dialogue Agents :

   <!-- markdownlint-disable -->

   ```text copy
   Analyze this repository to understand the dependencies that need to be installed on the development environment to work on the code in this repository. Using this information, and the details about the `copilot-setup-steps.yml` file that are given in https://docs.github.com/copilot/how-tos/use-copilot-agents/cloud-agent/customize-the-agent-environment, add a `.github/workflows/copilot-setup-steps.yml` to this repository. This Actions workflow file should install, in the development environment for Copilot cloud agent, all of the dependencies necessary to work on the code in this repository. Make sure that the workflow job is named `copilot-setup-steps`.
   ```

   <!-- markdownlint-enable -->

6. Cliquez **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-paper-airplane" aria-label="Start task" role="img"><path d="M.989 8 .064 2.68a1.342 1.342 0 0 1 1.85-1.462l13.402 5.744a1.13 1.13 0 0 1 0 2.076L1.913 14.782a1.343 1.343 0 0 1-1.85-1.463L.99 8Zm.603-5.288L2.38 7.25h4.87a.75.75 0 0 1 0 1.5H2.38l-.788 4.538L13.929 8Z"></path></svg>** ou appuyez sur <kbd>Entrée</kbd>.

7. Dans la liste « Sessions d’agent récentes », cliquez sur la nouvelle session d’agent qui a démarré.

   Cela affiche un journal d’activité, à mesure que Copilot travaille sur la tâche. Une fois Copilot terminé, il génère un résumé de ce qu’il a fait.

8. Lisez le résumé, puis cliquez sur **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-pull-request" aria-label="Pull request" role="img"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path></svg> Afficher la pull request**.

9. Si vous le souhaitez, ajoutez Copilot en tant que réviseur. Pour plus d’informations, consultez « [Utilisation de GitHub Copilot pour la révision de code](/fr/copilot/how-tos/use-copilot-agents/request-a-code-review/use-code-review?tool=webui) ». Attendez que Copilot ajoute des commentaires de révision, puis apportez les modifications que vous jugez nécessaires en réponse aux commentaires.

10. Passez en revue le pull request vous-même, en vérifiant que les étapes d’installation dans le nouveau fichier `copilot-setup-steps.yml` sont correctes.

    Le fichier de flux de travail créé Copilot doit inclure un déclencheur, pour vous permettre d’exécuter `on: workflow_dispatch` le flux de travail manuellement, et le travail doit être nommé `copilot-setup-steps` comme indiqué dans cet extrait :

    ```yaml
    on:
      workflow_dispatch:
      push:
        paths:
          - .github/workflows/copilot-setup-steps.yml
      pull_request:
        paths:
          - .github/workflows/copilot-setup-steps.yml

    jobs:
      copilot-setup-steps:
        runs-on: ubuntu-latest
    ```

11. Apportez les modifications requises au fichier `copilot-setup-steps.yml` dans la demande de tirage (pull request).

    Vous pouvez demander à Copilot d’apporter des modifications pour vous en utilisant `@copilot` dans un commentaire de revue. Par exemple:

    `@copilot - comment the file more thoroughly`

12. Cliquez sur **Prêt pour la révision** en bas de l’onglet « Conversation » de la demande de tirage, puis effectuez votre processus habituel de fusion d’une demande de tirage.

13. Ouvrez le fichier nouvellement ajouté `.github/workflows/copilot-setup-steps.yml` dans votre référentiel sur GitHub.

14. Cliquez sur **Afficher les exécutions** en haut à droite de la page.

15. Cliquez sur **Exécuter le flux de travail** , puis **exécutez** le flux de travail dans la boîte de dialogue pour tester le nouveau flux de travail.

16. Vérifiez que le flux de travail s’exécute correctement et installe les dépendances. Corrigez les échecs en modifiant le fichier `.github/workflows/copilot-setup-steps.yml`.

## 3. Permettre à Copilot de trouver une dette technique

Maintenant que Copilot dispose du bon contexte et d’un environnement prêt à l’emploi (éventuellement), vous pouvez l’utiliser pour révéler et hiérarchiser la dette technique dans votre dépôt.

1. Cliquez sur le bouton **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-copilot" aria-label="Run this prompt in Copilot Chat" role="img"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path></svg>** dans la zone d’invite suivante pour envoyer cette invite à Copilot Chat sur GitHub.com.

   ```copilot copy prompt
   What technical debt exists in this project? Give me a prioritized list of up to 5 areas we need to focus on. For each, describe the problem and its consequences.
   ```

2. Assurez-vous que le **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-comment" aria-label="comment" role="img"><path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg> mode Demander** est sélectionné.

3. Utilisez la **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-globe" aria-label="globe" role="img"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path></svg>  liste déroulante Tous les référentiels** pour sélectionner votre référentiel.

4. Cliquez **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-paper-airplane" aria-label="Start task" role="img"><path d="M.989 8 .064 2.68a1.342 1.342 0 0 1 1.85-1.462l13.402 5.744a1.13 1.13 0 0 1 0 2.076L1.913 14.782a1.343 1.343 0 0 1-1.85-1.463L.99 8Zm.603-5.288L2.38 7.25h4.87a.75.75 0 0 1 0 1.5H2.38l-.788 4.538L13.929 8Z"></path></svg>** ou appuyez sur <kbd>Entrée</kbd>.

5. Passez en revue les détails de la réponse de Copilot.

6. En supposant qu’au moins une Copilot zone d’amélioration ait été identifiée, copiez le message suivant dans la même conversation :

   ```copilot copy
   /create-issue

   Create a GitHub issue to address the first of the problem areas that you identified.

   If the problem area requires substantial work, create one main issue for the entire problem area and then sub-issues that allow the work to be split up into manageable chunks, which will be tackled in separate pull requests that can be easily reviewed. For a large body of work, do not create a single issue that attempts to address the entire problem.

   The issue, or each sub-issue if these are created, must include a description of the problem, a set of acceptance criteria, and pointers on what files need to be added/updated.
   ```

7. Modifiez cette invite en fonction des besoins. Par exemple, en fonction de la réponse produite Copilot , vous pouvez travailler sur une autre zone de problème identifiée Copilot , plutôt que sur la première.

8. Assurez-vous que le mode Demander est toujours sélectionné (**<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-comment" aria-label="comment icon" role="img"><path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg>**).

9. Cliquez **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-paper-airplane" aria-label="Start task" role="img"><path d="M.989 8 .064 2.68a1.342 1.342 0 0 1 1.85-1.462l13.402 5.744a1.13 1.13 0 0 1 0 2.076L1.913 14.782a1.343 1.343 0 0 1-1.85-1.463L.99 8Zm.603-5.288L2.38 7.25h4.87a.75.75 0 0 1 0 1.5H2.38l-.788 4.538L13.929 8Z"></path></svg>** ou appuyez sur <kbd>Entrée</kbd>.

10. Passez en revue le brouillon qui Copilot génère, en le modifiant selon les besoins.

11. Si Copilot crée une ébauche unique qui indique que des sous-problèmes doivent être créés, demandez à Copilot de le faire pour vous :

    ```copilot copy
    Go ahead and create sub-issues that chunk this work into manageable pieces.
    ```

12. Cliquez sur **Créer** ou **Vérifier et créer**, en fonction du nombre de problèmes qui ont été rédigés.

Copilot crée un ou plusieurs nouveaux problèmes en votre nom. Vous apparaîtrez comme l’auteur du problème.

## 4. Obtenir Copilot pour résoudre un problème

Maintenant que vous avez créé des problèmes, l’étape suivante consiste à déléguer un problème à Copilot et à passer en revue la pull request résultante.

1. Ouvrez l’un des problèmes créés Copilot pour vous dans la section précédente.

2. Vérifiez que le problème contient des critères d’acceptation que Copilot peut utiliser pour vérifier qu’il a terminé la tâche.

3. Apportez les modifications que vous pensez nécessaires pour décrire avec précision le problème qui doit être résolu et le résultat attendu du travail sur ce problème.

4. Cliquez sur **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-agent" aria-label="Open agents panel" role="img"><path d="M14.5 8.9v-.052A2.956 2.956 0 0 0 11.542 5.9a.815.815 0 0 1-.751-.501l-.145-.348A3.496 3.496 0 0 0 7.421 2.9h-.206a3.754 3.754 0 0 0-3.736 4.118l.011.121a.822.822 0 0 1-.619.879A1.81 1.81 0 0 0 1.5 9.773v.14c0 1.097.89 1.987 1.987 1.987H4.5a.75.75 0 0 1 0 1.5H3.487A3.487 3.487 0 0 1 0 9.913v-.14C0 8.449.785 7.274 1.963 6.75A5.253 5.253 0 0 1 7.215 1.4h.206a4.992 4.992 0 0 1 4.586 3.024A4.455 4.455 0 0 1 16 8.848V8.9a.75.75 0 0 1-1.5 0Z"></path><path d="m8.38 7.67 2.25 2.25a.749.749 0 0 1 0 1.061L8.38 13.23a.749.749 0 1 1-1.06-1.06l1.719-1.72L7.32 8.731A.75.75 0 0 1 8.38 7.67ZM15 13.45h-3a.75.75 0 0 1 0-1.5h3a.75.75 0 0 1 0 1.5Z"></path></svg> Affecter à Copilot**.

5. Dans « Affecter Copilot au problème », cliquez sur **Affecter**.

Copilot va commencer à travailler sur le problème. Après quelques instants, un lien vers une demande de tirage (pull request) brouillon sera ajouté au problème.

1. Cliquez sur le lien vers la demande de tirage brouillon.

   Une fois Copilot avoir terminé de travailler sur la pull request, il supprime « \[WIP] » du titre de la pull request et vous ajoute en tant que relecteur.

   Vous pouvez laisser Copilot travailler sur la pull request de manière asynchrone, et revenir pour l'examiner une fois que vous êtes ajouté en tant qu'examinateur.

2. Si vous le souhaitez, après que Copilot a fonctionné pendant quelques minutes, vous pouvez cliquer sur **Afficher la session** sur la pull request pour voir un journal de ce que Copilot fait.

3. Si vous le souhaitez, sous l’onglet « Conversation » de la pull request, ajoutez Copilot en tant que réviseur.

4. Une fois que vous avez été ajouté en tant que réviseur, passez en revue les modifications vous-même et apportez les modifications requises.

   Vous pouvez demander à Copilot d’apporter des modifications pour vous en utilisant `@copilot` dans un commentaire de revue.

5. Cliquez sur **Prêt pour la révision** en bas de l’onglet « Conversation » de la demande de tirage, puis effectuez votre processus habituel de fusion d’une demande de tirage.

## 5. Itérer sur ce processus

1. Si Copilot a créé plusieurs problèmes, répétez la section 4 en affectant Copilot à l’un des autres problèmes.
2. Après avoir fermé tous les problèmes créés Copilot , répétez la section 3, en choisissant une autre zone de problème et en itérant sur la section 4 pour affecter des problèmes à Copilot et examiner et fusionner ses modifications.

## Conclusion

Copilot cloud agent peut vous aider à améliorer la qualité du code dans n’importe quel projet, mais il est particulièrement utile de réduire la dette technique dans un projet qui a augmenté de manière organique au cours de plusieurs mois ou années. En utilisant Copilot cloud agent, vous pouvez apporter des améliorations que vous avez peut-être eu du mal à trouver du temps sans un assistant IA travaillant en votre nom.

Copilot ne vous remplace pas en tant que développeur , vous devez toujours être impliqué à chaque étape de ce processus, en spécifiant ce que vous souhaitez Copilot faire et en examinant soigneusement le code qu’il modifie ou ajoute, mais il vous permet d’implémenter des améliorations en même temps que vous travaillez sur d’autres tâches importantes.

## Étapes suivantes

Lisez cette étude de cas sur le GitHub blog : [Comment l’équipe de facturation GitHub utilise cloud agent dans GitHub Copilot pour réduire continuellement la dette technique](https://github.blog/ai-and-ml/github-copilot/how-the-github-billing-team-uses-the-coding-agent-in-github-copilot-to-continuously-burn-down-technical-debt/).