{"meta":{"title":"Refactorisation pour la durabilité environnementale","intro":"Copilot Chat peut suggérer des moyens de rendre le code plus respectueux de l’environnement.","product":"GitHub Copilot","breadcrumbs":[{"href":"/fr/copilot","title":"GitHub Copilot"},{"href":"/fr/copilot/tutorials","title":"Tutoriels"},{"href":"/fr/copilot/tutorials/copilot-cookbook","title":"livre de recettes GitHub Copilot"},{"href":"/fr/copilot/tutorials/copilot-cookbook/refactor-code","title":"Refactoriser le code"},{"href":"/fr/copilot/tutorials/copilot-cookbook/refactor-code/refactor-for-sustainability","title":"Refactoriser pour la durabilité"}],"documentType":"article"},"body":"# Refactorisation pour la durabilité environnementale\n\nCopilot Chat peut suggérer des moyens de rendre le code plus respectueux de l’environnement.\n\nLe code inefficace dans son utilisation des ressources de calcul peut entraîner une consommation d’énergie plus élevée, ce qui a un impact négatif sur l’environnement. Parmi ces exemples de code, citons des algorithmes avec une complexité temporelle élevée, une utilisation excessive de la mémoire et un traitement inutile.\n\nCopilot Chat peut aider à identifier des algorithmes inefficaces ou des opérations gourmandes en ressources dans votre code qui contribuent à une consommation d’énergie plus élevée. En suggérant des alternatives plus efficaces, cela peut contribuer à réduire l’impact environnemental de votre logiciel.\n\n## Exemple de scénario\n\nLe code Python suivant lit un fichier texte volumineux et compte le nombre de lignes. Toutefois, il charge l’intégralité du fichier en mémoire, ce qui peut être inefficace pour les fichiers volumineux et entraîner une consommation d’énergie plus élevée. Il compte également manuellement les lignes au lieu d’utiliser des fonctions intégrées.\n\n```python id=inefficient-code\ndef count_lines(filename):\n    with open(filename, 'r') as f:\n        data = f.read()\n        lines = data.split('\\n')\n        count = 0\n        for line in lines:\n            count += 1\n        return count\n\nprint(count_lines('largefile.txt'))\n```\n\n## Exemple d’invite\n\nVoici un exemple de prompt que vous pouvez utiliser avec Copilot Chat pour remanier le code ci-dessus afin d’améliorer sa durabilité environnementale :\n\n```copilot copy prompt ref=inefficient-code\nRefactor this code to improve its environmental sustainability by reducing memory usage and computational overhead.\n```\n\n## Exemple de réponse\n\n> \\[!NOTE]\n> Copilot Chat les réponses ne sont pas déterministes. Vous pouvez donc obtenir une réponse différente de celle présentée ici.\n\nCopilot suggère d’utiliser une expression de générateur pour lire la ligne de fichier par ligne, ce qui réduit l’utilisation de la mémoire. Il utilise également la fonction intégrée `sum` pour compter les lignes plus efficacement.\n\n```python\ndef count_lines(filename):\n    with open(filename, 'r') as f:\n        return sum(1 for _ in f)  # Efficiently counts lines without loading all into memory\n\nprint(count_lines('largefile.txt'))\n```\n\n## Lectures complémentaires\n\n* [Ingénierie rapide pour GitHub Copilot Chat](/fr/copilot/concepts/prompting/prompt-engineering)\n* [Meilleures pratiques pour l’utilisation de GitHub Copilot](/fr/copilot/get-started/best-practices)"}