{"meta":{"title":"Réutiliser le code d'autres personnes dans vos projets","intro":"Augmentez votre efficacité de codage et vos connaissances en intégrant du code existant dans vos projets.","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/reusing-other-peoples-code-in-your-projects","title":"Réutiliser le code des autres"}],"documentType":"article"},"body":"# Réutiliser le code d'autres personnes dans vos projets\n\nAugmentez votre efficacité de codage et vos connaissances en intégrant du code existant dans vos projets.\n\nL'une des meilleures choses sur open source logiciel est la possibilité de réutiliser le code d'autres personnes. La réutilisation du code vous permet de gagner du temps, de découvrir de nouvelles fonctionnalités et d’apprendre d’autres styles de programmation. Il existe deux façons principales de réutiliser le code :\n\n* **copier et coller un extrait de code directement dans votre projet.** Si vous débutez avec le codage, il s’agit du moyen le plus rapide de commencer à réutiliser du code.\n* **Importer une bibliothèque dans votre projet.** Bien que cette approche prenne un certain temps pour apprendre, elle est finalement plus facile et plus efficace. Il s’agit également d’une compétence fondamentale pour le développement de logiciels.\n\nDans cet article, nous allons apprendre à la fois en suivant un exemple : réutiliser le code Python qui calcule la factorielle d'un nombre.\n\n## Utiliser des extraits de code d'autres personnes dans votre projet\n\nLorsque vous apprenez à coder, vous pouvez commencer par réutiliser le code en copiant et en collant des extraits de code d’autres développeurs dans votre projet. Il s’agit d’un excellent moyen de gagner du temps, mais vous devez toujours suivre quelques étapes clés avant de copier le code d’un autre développeur.\n\n### 1. Recherche et compréhension d’un extrait de code\n\nTout d’abord, vous devez trouver et comprendre l’extrait de code que vous souhaitez réutiliser. Pour cet exemple, nous allons choisir le référentiel [`new2code/python-factorial`](https://github.com/new2code/python-factorial).\n\nTout d'abord, **ouvrez**[`factorial_finder.py`](https://github.com/new2code/python-factorial/blob/main/factorial_finder.py), qui implémente la calculatrice en utilisant une boucle :\n\n```python\n# Initialize the factorial result to 1\nfactorial = 1\n\n# Initialize the input number to 6\nnumber = 6\n\n# Loop from 1 to number (inclusive) and multiply factorial by each number\nfor i in range(1, number + 1):\n    factorial *= i\n\nprint(f\"The factorial of {number} is {factorial}\")\n```\n\nEnsuite, dans la barre de menus en haut du fichier, cliquez <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-copilot\" aria-label=\"Ask Copilot about this file\" 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> pour démarrer une conversation avec Copilot.\n\n![Capture d'écran du bouton Copilot, souligné en orange foncé, en haut de la vue du fichier.](/assets/images/help/copilot/factorial-finder-copilot-button.png)\n\nDans la fenêtre de conversation, demandez Copilot:\n\n```text copy\nExplain this program.\n```\n\n### 2. Présentation des licences de projet\n\nAvant de pouvoir réutiliser le code que vous avez trouvé, vous devez comprendre ses licences. Les licences déterminent comment vous pouvez utiliser le code dans un projet, y compris votre capacité à copier, modifier et distribuer ce code.\n\nPour identifier la licence de [new2code/python-factorial](https://github.com/new2code/python-factorial), localisez la section « À propos » sur la page principale du référentiel. Vous y verrez que le référentiel est sous licence MIT. Pour lire la licence, cliquez sur <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-law\" aria-label=\"law\" role=\"img\"><path d=\"M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z\"></path></svg>**Licence MIT**.\n\n![Capture d’écran de la page principale du référentiel new2code/python-factorial. Dans la barre latérale de droite, la « licence MIT » est soulignée en orange foncé.](/assets/images/help/repository/license-info-python-factorial.png)\n\nNous voulons copier l’intégralité du fichier `factorial_finder.py` , de sorte que la licence MIT indique que nous devons inclure une copie de la licence dans notre propre projet. En haut de votre fichier Python, collez la licence en tant que commentaire.\n\n> \\[!TIP] Vous pouvez découvrir ce qui est autorisé par d’autres licences courantes grâce à l’outil [Choisir une licence](https://choosealicense.com/licenses/).\n\n### 3. Utilisation et modification d’extraits de code\n\nVous êtes maintenant prêt à coller l’extrait de code dans votre projet. Bien que vous puissiez parfois utiliser des extraits de code tels quels, vous aurez souvent besoin de les **modifier** pour votre cas d’utilisation spécifique. Passons maintenant à la pratique !\n\nSupposons que nous voulions calculer rapidement les factorielles de 5, 7, 9 et 10. Au lieu de copier et coller l’ensemble du programme pour chaque nombre, nous pouvons déplacer notre calculatrice dans une **fonction** qui prend un nombre comme argument.\n\nPermet [Copilot Chat](https://github.com/copilot) de suggérer et d’expliquer une implémentation. Collez notre code actuel dans la fenêtre de conversation, suivi de ce prompt :\n\n```text copy\nWrap the Python code above in a function.\n```\n\nCopilot génère du code qui ressemble à ceci :\n\n```python copy\ndef calculate_factorial(number):\n    # Initialize the factorial result to 1\n    factorial = 1\n\n    # Loop from 1 to number (inclusive) and multiply factorial by each number\n    for i in range(1, number + 1):\n        factorial *= i\n\n    return factorial\n```\n\nAvec notre nouvelle fonction, nous pouvons facilement trouver les factorielles de nos nombres en ajoutant le code suivant à notre projet, puis en exécutant le programme Python :\n\n```python copy\nprint(calculate_factorial(5))\nprint(calculate_factorial(7))\nprint(calculate_factorial(9))\nprint(calculate_factorial(10))\n```\n\nFélicitations ! Vous avez trouvé, compris et modifié un exemple d’extrait de code.\n\n## Utiliser le code des bibliothèques dans votre projet\n\nApprenons maintenant à utiliser les bibliothèques, ce qui est une **pratique courante** pour les développeurs. Les bibliothèques sont essentiellement des collections de code écrites par d’autres développeurs pour effectuer des tâches spécifiques. Vous pouvez importer des bibliothèques dans votre projet pour utiliser le code préécrit, ce qui vous permet de gagner du temps et des efforts.\n\nDans cette section, nous allons continuer à utiliser l'exemple de calculatrice factorielle Python de la section précédente. Pour référence, voici notre code actuel :\n\n```python copy\ndef calculate_factorial(number):\n    # Initialize the factorial result to 1\n    factorial = 1\n\n    # Loop from 1 to number (inclusive) and multiply factorial by each number\n    for i in range(1, number + 1):\n        factorial *= i\n\n    return factorial\n\nprint(calculate_factorial(5))\nprint(calculate_factorial(7))\nprint(calculate_factorial(9))\nprint(calculate_factorial(10))\n```\n\n### 1. Recherche d’une bibliothèque\n\nUne fois que vous connaissez les fonctionnalités que vous souhaitez ajouter à votre projet, vous pouvez rechercher une bibliothèque avec du code approprié.\nCopilot Chat est un moyen simple de rechercher des bibliothèques, car vous pouvez utiliser le langage naturel pour décrire exactement ce que vous recherchez.\n\nTrouver une factorielle est une fonction assez courante, et il y a de fortes chances que quelqu’un ait inclus cette fonction dans une bibliothèque existante. Ouvrez [Copilot Chat](https://github.com/copilot), puis demandez :\n\n```text copy\nIs there a Python library with a function for calculating a factorial?\n```\n\nCopilot indique qu’une fonction factorielle est incluse dans le [`math`](https://docs.python.org/3/library/math.html) module à partir de la bibliothèque Python standard.\n\n### 2. Hiérarchisation de la sécurité dans votre projet\n\nLorsque vous ajoutez une bibliothèque ou un module à votre projet, vous créez ce que l’on appelle une **dépendance**. Les dépendances sont des ensembles de codes pré-écrits dont votre projet dépend pour fonctionner correctement. Si elles ne sont pas soigneusement écrites ou gérées, elles peuvent introduire des failles de sécurité dans votre travail.\n\nHeureusement, vous pouvez prendre certaines mesures pour mieux protéger votre projet. Apprenons à les utiliser.\n\n#### Utilisation de bibliothèques populaires\n\nLes bibliothèques populaires sont plus susceptibles d’être sécurisées, car elles sont activement gérées et utilisées par de nombreux développeurs. Un bon marqueur de popularité est le nombre d’**étoiles** qu’un référentiel possède. Si vous ne trouvez pas le GitHub référentiel pour une dépendance, vous pouvez demander de l’aide à Copilot.\n\nOuvrez [Copilot Chat](https://github.com/copilot), puis demandez :\n\n```text copy\nFind the GitHub repository containing the code for the math module in Python.\n```\n\nCopilot vous indiquera que le `math` module est défini dans [`python/cpython`](https://github.com/python/cpython), qui a plus de 64 000 étoiles.\n\n#### Activer Dependabot alerts pour votre projet\n\nLorsqu’elle est activée, Dependabot alerts sont générées automatiquement lors Dependabot de la détection d’un problème de sécurité dans vos dépendances, ce qui vous aide à corriger rapidement les vulnérabilités.\nDependabot est disponible **gratuitement** sur tous les référentiels open source GitHub .\n\nActivez Dependabot alerts pour votre dépôt maintenant. Cliquez sur l’onglet **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-shield\" aria-label=\"shield\" role=\"img\"><path d=\"M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"></path></svg> Security and quality** du dépôt GitHub de votre projet. En regard de Dependabot alerts, cliquez sur **Activer Dependabot alerts**. Vous pouvez accéder à Dependabot alerts partir de l’onglet **Dependabot** de la barre latérale.\n\n### 3. Mise en œuvre d'un code provenant d'une bibliothèque\n\nVous êtes maintenant prêt à importer la bibliothèque dans votre projet, puis à utiliser son contenu dans votre code. Vous pouvez lire la documentation de la bibliothèque pour apprendre à le faire vous-même, ou vous pouvez demander Copilot de suggérer et d’expliquer une implémentation pour vous.\n\nOuvrez [Copilot Chat](https://github.com/copilot), puis demandez :\n\n```text copy\nHow do I use the factorial function of the math module in my Python project?\n```\n\nCopilot suggérera ensuite une version du code suivant :\n\n```python copy\nimport math\n\n# Calculate the factorial of a number\nnumber = 5\nresult = math.factorial(number)\n\nprint(f\"The factorial of {number} is {result}\")\n```\n\nAprès avoir remplacé le code existant dans votre projet par l’implémentation ci-dessus, vous avez utilisé avec succès le code d’une bibliothèque dans votre projet d’exemple !\n\n## Partage de votre travail\n\nGrâce à ce tutoriel, vous avez appris à réutiliser en toute sécurité le code d’autres utilisateurs dans votre propre travail. À cette occasion, partagez la manière dont vous avez réutilisé le code et généré le projet d’exemple dans notre [discussion communautaire](https://github.com/orgs/community/discussions/153140).\n\n## Pour aller plus loin\n\n* [Recherche et compréhension d’un exemple de code](/fr/get-started/learning-to-code/finding-and-understanding-example-code)"}