{"meta":{"title":"Apprendre à déboguer avec GitHub Copilot","intro":"Identifiez et corrigez les erreurs dans votre code en demandant GitHub Copilot de l’aide.","product":"Bien démarrer","breadcrumbs":[{"href":"/fr/get-started","title":"Bien démarrer"},{"href":"/fr/get-started/learning-to-code","title":"Apprendre à coder"},{"href":"/fr/get-started/learning-to-code/learning-to-debug-with-github-copilot","title":"Déboguer avec Copilot"}],"documentType":"article"},"body":"# Apprendre à déboguer avec GitHub Copilot\n\nIdentifiez et corrigez les erreurs dans votre code en demandant GitHub Copilot de l’aide.\n\nLa recherche et la résolution des bogues dans le code peuvent être frustrantes, en particulier lorsque vous êtes un nouveau développeur. Heureusement, les outils comme GitHub Copilot peuvent rapidement identifier et courger des bogues, vous permettant de vous concentrer sur un travail plus créatif et intéressant.\n\n## Prérequis\n\nLes exemples de cet article supposent que vous utilisez GitHub Copilot pour déboguer un projet Python dans Visual Studio Code (VS Code). Pour suivre les exemples, vous devez :\n\n* [Effectuez la Visual Studio Code configuration dans Copilot](https://code.visualstudio.com/docs/copilot/setup-simplified) la Visual Studio Code documentation.\n* [Téléchargez Python](https://www.python.org/downloads/).\n* Installez [l’extension Python pour Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-python.python).\n\n## Apprendre à déboguer à l'aide d'exemples\n\nIl y a deux situations principales que vous rencontrerez lorsque vous essaierez d'exécuter un code bogué :\n\n* Votre code s’arrête avant qu’il ne s’exécute, et vous recevez un message d’erreur.\n* Votre code s’exécute sans erreur, mais la sortie est différente de ce que vous attendiez.\n\nHeureusement, Copilot vous pouvez déboguer votre code dans les deux situations. Pour commencer, passez en revue les exemples suivants.\n\n### Débogage d’une erreur avec GitHub Copilot\n\nLorsque vous exécutez un code bogué, vous recevez souvent un message d'erreur. Le message vous indique le fichier et la ligne où l’erreur s’est produite et décrit brièvement ce qui s’est passé. Toutefois, les messages d’erreur peuvent être déroutants. Pour bien comprendre et corriger le bogue, nous pouvons demander Copilot de l’aide.\n\nEssayons avec un exemple de référentiel : [`new2code/debug-with-copilot`](https://github.com/new2code/debug-with-copilot).\n\n#### Clonage du référentiel d’exemples\n\nTout d’abord, nous devons créer une copie locale du référentiel :\n\n1. [Commencez à cloner le référentiel new2code/debug-with-copilot](vscode://vscode.git/clone?url=https://github.com/new2code/debug-with-copilot) dans VS Code. <!-- markdownlint-disable-line GHD003 -->\n2. Choisissez un emplacement pour enregistrer le référentiel sur votre ordinateur, puis cliquez sur **Sélectionner comme destination du référentiel**.\n3. Lorsque vous y êtes invité, ouvrez le référentiel.\n\n#### Exécution du fichier bogué\n\nÀ présent, nous allons exécuter le fichier [`bugged_dice_battle.py`](https://github.com/new2code/debug-with-copilot/blob/main/bugged_dice_battle.py). Ce programme simule une bataille de dés entre deux joueurs.\n\n1. Dans VS Code, ouvrez et examinez le `bugged_dice_battle.py` fichier.\n\n2. Ouvrez la palette de commandes en appuyant sur <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>P</kbd> (Windows /Linux) ou <kbd>Cmd</kbd>+<kbd>Shift</kbd>+<kbd>P</kbd> (Mac).\n\n3. Tapez `Terminal: Create New Terminal`, puis appuyez sur <kbd>Entrée</kbd>.\n\n4. Dans l’onglet terminal, collez la commande suivante.\n\n   Windows :\n\n   ```shell copy\n   py bugged_dice_battle.py\n   ```\n\n   Mac ou Linux :\n\n   ```shell copy\n   python bugged_dice_battle.py\n   ```\n\n5. Appuyez sur la touche <kbd>Entrée</kbd> pour exécuter le programme.\n\nMalheureusement, nous obtenons un texte d'erreur dans notre terminal qui se termine par le message suivant :\n\n> TypeError : ne peut concaténer qu'une chaîne de caractères (str) à une autre chaîne de caractères, pas à un entier (int)\n\n#### Débogage du fichier\n\nPour comprendre ce que signifie cette erreur, [ouvrez-le Copilot ChatVS Code](vscode://GitHub.Copilot-Chat?ref_product=copilot\\&ref_type=engagement\\&ref_style=text), puis collez et envoyez l’invite suivante : <!-- markdownlint-disable-line GHD003 -->\n\n```text copy\nExplain in depth why my code produces the following error and how I can fix it:\n\nTypeError: can only concatenate str (not \"int\") to str\n```\n\nCopilotrépond que l’erreur se produit, car nous essayons de concaténer les entiers et `die_2` les chaînes`die_1`, et vous ne pouvez concaténer que des chaînes à des chaînes.\n\nIl fournira également une **version mise à jour de notre code** qui corrige le bogue en utilisant la fonction `str()` pour convertir les entiers en chaînes avant de les concaténer. Pratiquez l’étape finale du débogage en appliquant Copilotla suggestion du fichier.\n\n### Débogage d’une sortie incorrecte avec GitHub Copilot\n\nParfois, le code en attente s’exécute sans générer d’erreurs, mais la sortie est clairement incorrecte. Dans ce cas, le débogage peut être plus difficile, car VS Code il ne peut pas vous indiquer l’emplacement ou la description du bogue.\n\nPour ces bogues « invisibles Copilot », il est particulièrement utile. Passons à la pratique avec l’autre fichier de notre référentiel d’exemple : `bugged_factorial_finder.py`. C'est un programme Python censé calculer une factorielle.\n\n#### Exécution du fichier bogué\n\nTout d’abord, exécutons le programme pour observer le résultat incorrect :\n\n1. Ouvrez et passez en revue le fichier `bugged_factorial_finder.py`.\n\n2. Dans le terminal que vous avez créé précédemment, collez la commande suivante.\n   Windows :\n\n   ```shell copy\n   py bugged_factorial_finder.py\n   ```\n\n   Mac ou Linux :\n\n   ```shell copy\n   python bugged_factorial_finder.py\n   ```\n\n3. Appuyez sur la touche <kbd>Entrée</kbd> pour exécuter le programme.\n\nMalheureusement, le code ne fonctionne pas comme prévu. Nous voulons qu'il retourne `720`, la valeur correcte de la factorielle 6, mais le résultat est beaucoup plus élevé que cela.\n\n#### Débogage du fichier\n\nPour comprendre ce qui s’est passé, [ouvrez Copilot Chat](vscode://GitHub.Copilot-Chat?ref_product=copilot\\&ref_type=engagement\\&ref_style=text) et envoyez l’invite suivante : <!-- markdownlint-disable-line GHD003 -->\n\n```text copy\nWhy is the output of this code so much higher than expected? Please explain in depth and suggest a solution.\n```\n\nCopilot va souligner que, parce que nous utilisons l’opérateur `*=` , nous multiplions `factorial` réellement par les deux `i`**et**`factorial`. En d’autres termes, nous multiplions par un `factorial` supplémentaire pour chaque itération de la boucle.\n\nPour corriger cette erreur, Copilot suggère le code qui supprime l’extra `factorial` de l’équation, ou qui modifie l’opérateur `*=` en `=`. Effectuez cette modification maintenant !\n\n## Débogage de votre propre projet\n\nMaintenant que vous avez pratiqué le débogage de certains programmes simples avec Copilot, vous pouvez utiliser les mêmes méthodologies pour rechercher et corriger les bogues masqués dans votre propre travail.\n\nPar exemple, pour déboguer un message d’erreur généré par votre code, envoyez Copilot l’invite suivante :\n\n```text copy\nExplain in depth why my code produces the following error and how I can fix it:\n\nYOUR-ERROR-MESSAGE\n```\n\nSinon, si vous déboguez une sortie incorrecte, demandez Copilot pourquoi la sortie est incorrecte et comment vous pouvez la corriger. Pour obtenir les meilleurs résultats, fournissez autant de contexte que possible sur la façon dont la sortie diffère de vos attentes.\n\nAvec ces tactiques, vous êtes parfaitement préparé pour commencer à éradiquer les bogues dans votre projet !\n\n## Étapes suivantes\n\nAu fur et à mesure que vous coderez, vous rencontrerez probablement des scénarios de problèmes spécifiques et des erreurs difficiles à déboguer. Pour obtenir la liste des problèmes potentiels et des exemples Copilot Chat d’invites à résoudre, consultez [Erreurs de débogage](/fr/copilot/tutorials/copilot-cookbook/debug-errors)."}