GitHub Copilot, ou Copilot pour les intimes, est un outil d'assistance à la programmation lancé par GitHub en partenariat avec OpenAI. Il utilise l'intelligence artificielle pour aider les développeurs à écrire du code plus efficacement, ainsi qu’à comprendre du code existant.
Copilot est disponible uniquement sous licence GitHub, mais offre un essai gratuit de 30 jours.
GitHub Copilot s'intègre principalement avec Visual Studio et JetBrain, mais également avec d’autres éditeurs de texte compatibles. Il prend la forme d’un plugin dans l’IDE.
En exploitant le modèle de langage GPT (GPT-4o par défaut, différentes versions 3 disponibles), Copilot peut suggérer des lignes, des fonctions complètes, et même des blocs entiers basés sur des commentaires et des fragments de code que vous écrivez dans votre éditeur. Ses suggestions sont alors soumises à la validation du développeur.
Il permet également de faire du reverse engineering sur de l’existant, et propose une aide à la rédaction de documentation.
Il intègre enfin un chatbot (type chatGPT) permettant la prise en compte de fichiers du projet.
Pour des développeurs web, Copilot peut suggérer des fragments de code HTML, CSS, et JavaScript, facilitant ainsi la création d'interfaces utilisateur et l'interaction avec des API.
Les data scientists peuvent bénéficier des suggestions de Copilot lorsqu'ils manipulent des data sets, créent des visualisations, ou implémentent des algorithmes de machine learning en Python.
Lors de la création d'API RESTful, Copilot peut aider à structurer les endpoints, gérer l'authentification et l'autorisation, et automatiser les réponses aux requêtes HTTP.
Copilot peut générer des squelettes de tests unitaires et de tests d'intégration, ce qui facilite le développement de suites de tests robustes et complètes.
Copilot peut générer des commentaires explicatifs et de la documentation pour vos fonctions et vos classes, en se basant sur les noms des variables et les signatures des fonctions.
Copilot peut vous aider à traduire des morceaux de code d'un langage de programmation à un autre. Par exemple, il peut transformer un script Python en JavaScript ou le contraire.
GitHub Copilot est disponible sous forme d’extension dans la bibliothèque des éditeurs le prenant en charge.
Après l'installation, il vous suffit de vous connecter avec votre compte GitHub, préalablement associé à une licence valide. Vous pourrez alors le configurer pour qu'il s’adapte à votre façon de coder en ajustant les paramètres d'acceptation automatique de suggestions, de syntaxe de langue, et plus encore.
Copilot analyse le contexte de votre code et adapte ses suggestions en conséquence. Il s'appuie sur les noms de fonctions et de variables ainsi que sur les commentaires du développeur pour générer des suggestions adaptées à votre besoin.
Il s’est entraîné sur des milliards de lignes de code provenant de projets publics sur GitHub. Cela lui permet de proposer des solutions conformes aux pratiques courantes et aux standards de l'informatique.
Il analyse aussi les fichiers de votre projet afin de s’adapter à vos pratiques.
Vous pouvez interagir avec Copilot en acceptant, rejetant ou modifiant ses suggestions. De cette manière, vous restez en contrôle total de votre code. Selon l’éditeur que vous utilisez, des raccourcis clavier rendent ces fonctionnalités très fluides : par exemple, la touche TAB permet de valider une sélection dans IntelliJ, les flèches permettent d’en valider seulement la partie choisie.
Des menus simples permettent également d’interagir avec l’outil en quelques clics, sur sélection d’un fichier ou même de quelques lignes, blocs, fonctions, …
En termes d’intelligence artificielle, GitHub Copilot repose principalement sur Codex, une version spécialisée et optimisée de GPT-3 pour les tâches de programmation. Les LLM sont des modèles de langage généraux capables de traiter des textes. Codex a été configuré pour travailler avec du code source, en tenant compte de la syntaxe, des structures logiques et des conventions des langages de programmation.
Les étapes sont les suivantes :
Bien utiliser Copilot, c’est avant tout garder en tête que c’est vous le développeur. S’il est facile de le penser, tant il devient performant, Copilot ne possède pas les connaissances fonctionnelles de vos applications.
Ses suggestions nécessitent des vérifications, et souvent des modifications par le développeur.
Copilot est avant tout une aide technique. Il vous permettra de gagner en efficacité sur certaines tâches, mais requiert également une grande vigilance.
Bien l’utiliser peut vous permettre d’économiser du temps, précieux dans le monde de l’entreprise !
Voici quelques avantages à son utilisation :
Et quelques limites de l’outil :
L'impact environnemental de l'intelligence artificielle, et plus spécifiquement de systèmes comme GitHub Copilot, est un sujet de plus en plus discuté. Voici quelques points clés à prendre en compte :
Il convient de préciser que des efforts sont faits par certaines entreprises concernées :
GitHub Copilot est un outil de développement assisté par intelligence artificielle performant. En simplifiant le processus de programmation et en offrant des suggestions pertinentes, il permet aux développeurs de se concentrer davantage sur les aspects créatifs et fonctionnels.
Tout en étant conscient des limites et des considérations éthiques, l'utilisation judicieuse de Copilot peut améliorer l'efficacité et la qualité du code produit.
Lien vers la documentation : https://docs.github.com/fr/copilot