Retourner ' la page d'accueil de TJSRetourner ' la page d'accueil de TJS

Installer un Copilot de développement sur votre machine (Mise à jour : Février 2024)

C'est quoi un Copilot de développement ?

L'arrivée de l'IA générative a complètement bousculé les éditeurs de programmation. Les extensions habituelles d'autocomplétion sont totalement dépassées maintenant. Une extension Copilot est maintenant capable de :

  • Suggérer des morceaux de codes à partir des commentaires ou des noms de vos fonctions
  • Analyser un code et expliquer son fonctionnement
  • Comprendre d'autres langages ou frameworks
  • Identifier des bugs
  • Ecrire des tests unitaires
  • Apprendre de vos habitudes

Github Copilot

Le plus connu des copilotes de développement est bien sûr proposé par GitHub, le plus gros site de développement open source.

Comme Github a été racheté par Microsoft en 2018 et que Microsoft est un gros actionnaire de OpenAI, GitHub fonctionne avec ChatGPT. GitHub Copilot est une option payante à 10$ par mois, avec une période d'essai gratuite de 30 jours.

>Malheureusement, comme trop souvent, l'essai est soumis à la saisie d'un moyen de paiement et à un renouvellement automatique implicite. N'oubliez pas de programmer un rappel avant l'échéance pour vérifier si vous aurez toujours besoin de cet abonnement dans 1 mois.

Le terme Copilot a du succès en IA en 2024. En plus de GitHub Copilot, Microsoft renomme son moteur de recherche Bing en Copilot, pour le positionner comme un assistant IA du quotidien.

Installation dans Visual Studio Code

Pour utiliser GitHub Copilot, il vous faut impérativement :

  • Un compte GitHub
  • Un accès GitHub Copilot
  • Visual Studio Code (ou un autre éditeur supporté)
  • L'extension GitHub Copilot de votre éditeur

Une fois l'extension installée, connectez votre compte GitHub à Visual Studio Code.

Dans Visual Studio Code, vous verrez apparaitre deux nouvelles icônes ouvrant les fonctionnalités dédiées :

L'extension Copilot dans Visual Studio Code

GitHub Copilot propose deux grandes fonctionnalités : la discussion sous forme de chat (qui vient naturellement du fonctionnement de ChatGPT) et la complétion de codes en cours de frappe.

Des exemples de discussions orientées developpement avec GitHub Copilot

Dans la colonne de gauche de discussion, tapez votre question. Elle peut être rédigée en Français ou en Anglais.

Voici un exemple de discussion à partir d'une demande de création de fonction de contrôle de validité d'adresse mail, suivi d'une demande de tests unitaires :

Une discussion JavaScript avec GitHub Copilot

Les tests unitaires pour des propositions issues d'IA sont encore plus utiles que d'habitude. L'IA n'est pas du tout infaillible et peut proposer avec un aplomb parfait des incohérences ou des absurdités.

Autocomplétion

L'autre grand atout de GitHub Copilot est sa capacité à vous assister en temps réel pendant que vous codez.

Par exemple, dans un fichier JavaScript, vous commencez à taper : function validerEmail(. GitHub Copilot vous propose au cours de la frappe de valider le résultat :

En tapant la touche [TAB], vous acceptez la proposition. Avec [ESC], la proposition est rejetée.

Notez que la fonction proposée n'est pas exactement la même que lors de la discussion précédente. C'est une des particularités de l'IA avec son aptitude à proposer plusieurs solutions.

Tous les exemples ici sont évidemment en JavaScript. Mais GitHub connaît bien d'autres langages. Vous noterez qu'il maîtrise aussi parfaitement le français.

Alternatives gratuites en local

Pour le développeur qui ne souhaite pas payer un nouvel abonnement mensuel, ni transmettre ses données, ses habitudes et son code source à des acteurs inconnus, il est possible d'installer des copilotes de développement sur votre machine.

Encore une fois, pour avoir des performances suffisantes en local, il faut une machine avec au minimum 16Go de RAM et idéalement une carte graphique récente. Un mac avec une puce Apple Silicon Mx sera également un bon choix.

LM Studio

LM Studio est un logiciel de gestion des modèles LLM (Large Language Model) avec une interface de conversation et de configuration très avancée. Il est disponible sur mac et Windows.

Voici un exemple de discussion sous LM Studio, avec une demande simple de créer une fonction de formatage de valeurs en octets. Le modèle répond par un code, une explication et des tests unitaires. C'est parfait :

Une discussion avec LM Studio

Ollama

Ollama.ai est uniquement un server d'exécution de LLM disponible sur mac et linux. L'installation sur Windows est possible uniquement avec WSL (Windows Sub Linux).

Ollama ne propose pas d'interface de discussion et de configuration. Tout passe par le terminal.

Voici un exemple de réponse à une demande de création d'une fonction de formatage de fréquence. La réponse est très rapide et très pertinente :

Une discussion avec Ollama

Le format n'est evidemment pas très lisible car il est en fait prévu pour être appelé dans une application cliente de conversation. Nous allons voir tout de suite leur utilisation.

Les extensions Visual Studio Code

Github copilot est une extension de Visual Studio Code incroyablement performante. Elle parvient à comprendre le contexte de votre environnement de développement et à proposer des idées de code très souvent pertinentes et performantes. Elle fait clairement gagner du temps, surtout sur des langages ou des fonctionnalités que vous maîtrisez un peu moins bien. Mais elle est payante et nécessite de transmettre vos données à Microsoft et à OpenAI.

Après le mois d'essai Github, j'ai décidé de tester les solutions locales pour être autonome. Il n'existe pas encore pour le moment une extension qui remplace complètement Github copilot avec ses deux grandes fonctionnalités, l'autocomplétion et la zone de discussion.

L'extension Continue

Continue est une extension gratuite pour Visual Studio Code qui propose une interface de discussion. Elle est disponible sur le marketplace de Visual Studio Code. Elle permet de se connecter à de nombreux moteurs de modèles LLM, en ligne ou sur le réseau local. Malheureusement, elle ne permet pas encore de générer de l'autocomplétion pendant la frappe. On peut engager une discussion dans la colonne de gauche de l'application

L'extension Ollama Coder

Elle est disponible sur le marketplace. Elle fonctionne uniquement avec le moteur Ollama et propose de l'autocompletion efficace. Voici par exemple ce qu'elle suggère pour la frappe de notre fonction de formatage de taille de fichiers :

La proposition de llama Coder

Llama Coder se place dans le footer de l'éditeur, en bas à droite :

Llama Coder est actif

Les modèles de langage

Les logiciels d'exécution ne sont pas les plus importants. Le véritable enjeu est de trouver le bon modèle de langage qui soit à la fois performant dans ses réponses et suffisament rapide pour répondre en temps réel lors de la frappe de code. Généralement les modèles les plus lourds en taille sont les plus pertinents, mais aussi les plus lents.

N'activez pas deux copilotes d'autocomplétion simultanément. Les propositions de codes se mélangent et deviennent envahissantes.

Troisième édition Tout JavaScript chez Dunod

Tout JavaScript le livre chez DunodEn savoir plus
Sortie le 4 janvier 2023

Version papier 29€90
Format électronique 22€99.

Commandez en ligne

Chercher une fonction, un objet, ...

Le 02/05/2024 08:47:02 sur php 7 en 13.05 ms