Nutanix Technology Champion - Nutanix Solution Architect

Julien DUMUR
Infrastructure in a Nutshell
Claude Code sous WSL avec VS Code

Beaucoup le savent, j’ai un niveau de développement brut qui oscille entre le zéro absolu et le « c’est tombé en marche ».

Mais voilà, la donne a changé. L’intelligence artificielle, et plus précisément les agents de codage en CLI (Command Line Interface) comme Claude Code, m’ont donné des super-pouvoirs. Soudainement, coder n’est plus une montagne insurmontable, mais une discussion. Seulement, il y a un hic : pour discuter avec la machine, il faut que l’environnement soit d’équerre. Et le développement sous Windows, historiquement, c’était un peu comme essayer de faire rentrer des carrés dans des ronds (carré dans l’tube pour ceux qui ont la réf).

Heureusement, WSL (Windows Subsystem for Linux) est là. L’idée de ce guide ? Vous éviter les sueurs froides que j’ai eues. Je vous propose de configurer un environnement Ubuntu propre sous Windows, de le blinder avec les dépendances nécessaires (Cargo, npm), d’installer Claude Code, et de relier tout ça de façon fluide à Visual Studio Code.

Pourquoi s’embêter avec WSL2 me direz-vous ? Tout simplement parce que cela permet d’isoler totalement nos outils d’IA. Claude Code tournera dans son bac à sable Linux, avec des performances I/O natives, et tout ceci indépendamment de notre système Windows. On garde le contrôle.

Prêt à transformer votre machine Windows en station de développement boostée à l’IA ? Suivez le guide, j’ai déminé le terrain pour vous.

1. Activer et installer WSL (Windows Subsystem for Linux)

On ne va pas se mentir : à une époque, installer un environnement Linux sous Windows, c’était le parcours du combattant. Il fallait fouiller dans des menus obscurs, cocher des « Fonctionnalités Windows », et prier très fort. Aujourd’hui, Microsoft a rattrapé son retard, et ça tient en une ligne de commande.

Installation de WSL

Commencez par ouvrir PowerShell en tant qu’administrateur (clic droit sur le menu Démarrer > Windows PowerShell (admin) ou Terminal (Administrateur)).

Tapez simplement cette commande et appuyez sur Entrée :

wsl --install

Laissez la magie opérer. Une fois que c’est terminé, la règle d’or de l’informatique s’applique : redémarrez votre PC. Ce n’est pas optionnel, Windows a besoin de ce redémarrage pour activer les composants de virtualisation au niveau du système.

WSL : Choisir sa distribution

Au redémarrage, WSL est là, mais on va s’assurer d’installer la bonne distribution. Rouvrez PowerShell (pas besoin des droits admin cette fois).

Pour voir ce qui est disponible au « catalogue », tapez :

wsl --list --online
Commande wsl --list --online dans PowerShell

Dans notre cas, on va partir sur le standard absolu, Ubuntu. C’est là que la communauté est la plus grande, et où l’on trouve le plus de solutions quand on a un message d’erreur.

Lancez l’installation avec :

wsl --install Ubuntu

Une fenêtre de terminal va s’ouvrir, vous demandant de créer un nom d’utilisateur UNIX et un mot de passe.

Terminal Ubuntu sous WSL

Pourquoi WSL2 change tout ? Pour les plus curieux, sachez que cette commande active par défaut WSL2. Ce détail est crucial. Fini la première version (WSL1) où Windows essayait de traduire maladroitement les commandes Linux à la volée. Aujourd’hui, WSL2 utilise une véritable machine virtuelle ultra-légère (basée sur Hyper-V) avec un vrai noyau Linux optimisé par Microsoft. Le résultat ? Une compatibilité à 100% avec les outils de développement et des performances d’accès aux fichiers (I/O) fulgurantes, ce qui sera vital pour que Claude Code lise notre code rapidement.

2. Préparer l’environnement Ubuntu

Ça y est, la distribution Linux est installée mais un système Linux tout neuf, c’est comme un appartement vide : c’est très propre, mais on ne peut pas y faire grand-chose.

Avant de faire entrer notre super-agent IA, il faut installer les meubles, ou plutôt les dépendances. Beaucoup d’outils modernes en CLI s’appuient sur des écosystèmes bien précis.

Installer Cargo (et notre premier outil IA)

Pour mes propres expérimentations, j’utilise souvent l’écosystème Rust. On va donc installer son gestionnaire de paquets, cargo.

Tapez ceci dans votre terminal Ubuntu :

sudo apt install cargo

Pourquoi Cargo ? Parce qu’il va nous permettre d’installer des outils directement depuis leur code source. Par exemple, j’utilise rtk, un framework IA hyper pratique. Pour l’installer, c’est aussi simple que ça :

cargo install --git https://github.com/rtk-ai/rtk

Laissez compiler. C’est beau à voir (même si, je l’avoue, je regarde souvent défiler ces dizaines de lignes de compilation comme une poule devant un Rubik’s Cube, en priant juste pour qu’il n’y ait pas de texte rouge clignotant à la fin).

A quoi sert RTK me direz-vous ? Et bien à économiser des tokens Claude Code grâce à des automatisations et donc à pouvoir discuter plus longtemps avec l’IA d’Anthropic afin de préserver nos quotas.

Installer Node.js et npm

Ensuite, Claude Code et beaucoup d’autres agents utilisent des technologies web. Il nous faut donc npm (Node Package Manager).

On lance la commande :

sudo apt install npm

Si un développeur barbu et/ou chauve lit ce tutoriel, il va s’étrangler : « Ju, on n’installe jamais npm via apt, ça met une vieille version et ça crée des erreurs de permissions ! ». Et il aurait surement raison. La « vraie » bonne pratique consiste à utiliser NVM (Node Version Manager). Cependant, soyons pragmatiques : pour notre objectif précis de faire tourner Claude Code CLI aujourd’hui, la version stable fournie par les dépôts d’Ubuntu fait très bien le job. Si, plus tard, vous commencez à accumuler les erreurs de type EACCES en installant d’autres paquets globaux, vous saurez qu’il sera temps de nettoyer tout ça et de passer à NVM !

3. Installer et configurer Claude Code

Le script d’installation officiel

Pour installer Claude Code, Anthropic a fait les choses simplement. Enfin, « simplement » version Linux. On va utiliser un outil appelé curl qui va télécharger un script sur leurs serveurs et l’exécuter directement sur notre machine.

Tapez ceci dans votre terminal Ubuntu :

curl -fsSL https://claude.ai/install.sh | bash

En temps normal, balancer un script inconnu trouvé sur le net directement dans le bash de sa machine, c’est l’équivalent numérique de ramasser une clé USB sur le trottoir et de la brancher direct sur son PC. Mais bon, ici c’est Anthropic, on part du principe qu’ils ne veulent pas miner du bitcoin sur notre dos.

Le script va mouliner un peu. Et là, plein d’espoir, les yeux brillants, vous tapez claude dans votre terminal. Et paf… claude: command not found.

Frustration. Sueurs froides. Pas de panique, c’est un grand classique.

Le fameux piège du PATH

Pourquoi ça ne marche pas du premier coup ?

Parce qu’Anthropic fait les choses proprement en respectant le principe du moindre privilège. Au lieu d’installer Claude Code brutalement à la racine de votre système (ce qui requerrait des droits super-administrateur root et pourrait tout casser), le script place l’exécutable dans un petit dossier caché bien à vous : ~/.local/bin.

Le problème, c’est que votre système Ubuntu ne regarde pas de base dans ce dossier précis quand vous lui lancez une commande. Il faut lui indiquer explicitement le chemin. C’est ce qu’on appelle la variable d’environnement $PATH.

Pour réparer ça une bonne fois pour toutes, on va ajouter ce fameux dossier à notre PATH. Copiez-collez cette ligne (attention, copiez-la exactement avec ses guillemets) :

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc

Cette double commande fait deux choses : elle inscrit le bon chemin à la fin de votre fichier de configuration personnel (.bashrc), et elle demande au terminal de relire ce fichier immédiatement pour prendre en compte la modification (source).

Maintenant, retapez claude ou claude --version. Si un menu ou un numéro de version s’affiche : c’est gagné !

Premier lancement de Claude Code

4. L’intégration finale avec VS Code

C’est bien beau d’avoir la CLI de Claude qui tourne sagement dans un terminal sur WSL, mais l’idée, c’est quand même de lui faire lire et écrire du code de manière confortable. Et pour ça, il nous faut notre fidèle Visual Studio Code.

L’extension WSL pour VS Code

Ouvrez VS Code de manière classique, sous Windows. Allez dans l’onglet des extensions et cherchez WSL (anciennement Remote – WSL, éditée directement par Microsoft). Installez-la.

Une fois installée, regardez tout en bas à gauche de la fenêtre de VS Code. Vous y verrez une petite icône bleue (ou verte) avec des chevrons ><. Cliquez dessus, et choisissez l’option « Se connecter à WSL » (ou Connect to WSL).

Extension WSL pour VS Code

Une nouvelle fenêtre VS Code s’ouvre. En bas à gauche, il y a maintenant écrit « WSL: Ubuntu ». Bingo.

C’est là que la puissance de l’architecture dont je vous parlais plus haut frappe fort. Quand vous ouvrez un projet de cette manière, VS Code installe un mini-serveur directement à l’intérieur de votre machine Linux. L’interface graphique (l’éditeur) tourne sous Windows, mais toute la logique de développement, le terminal intégré et l’accès aux fichiers s’exécutent de manière native sous Ubuntu.

Le plugin Claude pour VS Code

Avoir la CLI pour lancer des commandes globales c’est super, mais on ne va pas se mentir : avoir Claude directement intégré dans l’interface de l’éditeur, c’est le confort ultime.

Toujours dans cette nouvelle fenêtre VS Code (connectée à WSL), retournez dans l’onglet des extensions et cherchez l’extension officielle Claude (ou Claude Dev/Cline selon vos préférences).

Extension Claude Code pour VS Code

⚠️ Attention : VS Code gère désormais deux « zones » d’extensions distinctes. Celles installées sur votre Windows local, et celles installées dans votre machine WSL. Assurez-vous de cliquer sur le petit bouton bleu « Installer dans WSL: Ubuntu » (Install in WSL: Ubuntu) si VS Code vous le propose.

Si vous l’installez par erreur du côté Windows, le plugin va tourner dans le vide et sera incapable de lire les fichiers de votre projet Linux ou de comprendre les commandes que vous lui envoyez.

Une fois le plugin activé côté Ubuntu, une nouvelle icône va apparaître dans votre barre latérale. Vous voilà avec la CLI puissante dans le terminal en bas, et l’assistant visuel réactif sur le côté. Une vraie tour de contrôle !

Conclusion

Et voilà, la boucle est bouclée. En quelques lignes de commande, nous sommes passés d’un environnement Windows cloisonné à un setup hybride ultra-performant. Vous avez maintenant un sous-système Ubuntu propre, prêt à compiler du Rust, faire tourner du Node, et surtout, héberger votre nouvel assistant IA.

De mon côté, avec mon niveau de « dev du dimanche », ce setup a changé ma vie. Je discute, j’oriente, je supervise et Claude gère le code. Et vous, quel va être votre premier projet avec cette nouvelle stack ?

Read More
Déployer une VM Windows sur Nutanix AHV

C’est une problématique rencontrée par beaucoup de personnes lors de leur premier déploiement d’une machine virtuelle sous Microsoft Windows : la détection du stockage.

Je vais vous montrer comment procéder pour déployer une machine virtuelle Windows sur Nutanix AHV.

Pré-requis

Pour commencer, il faut récupérer l’image ISO des VirtIO sur le site Support de Nutanix (enregistrement sur le site nécessaire) : https://portal.nutanix.com/page/downloads?product=ahv

Pensez à sélectionner « VirtIO » dans le menu déroulant en haut de page puis téléchargez la version « Nutanix VirtIO for Windows (iso) » :

Téléchargement de Nutanix VirtIO for Windows sur le portail Nutanix

Une fois l’image ISO récupérée, il faut la transférer sur le cluster. Si vous ne savez pas comment procéder, je vous invite à consulter mon article à ce sujet : Nutanix AHV : télécharger une image sur son cluster

Passons maintenant au déploiement de la machine virtuelle.

Création de la machine virtuelle sous Prism Element

Connectez vous à l’interface web Prism Element de votre cluster Nutanix, puis dans le menu sélectionnez « VM » :

Menu VM dans Prism Element

Sur la page de gestion des machines virtuelles, cliquez sur « Create VM » en haut à droite :

Bouton Create VM dans Prism Element

Dans la fenêtre qui s’affiche, il y a un certain nombre de champs à remplir :

Champs de création de la VM dans Prism Element

Dans l’ordre :

  • Nom de la machine virtuelle
  • Le fuseau horaire
  • La quantité de vCPU
  • La quantité de RAM

Ensuite, il faut ajouter un ou des disques :

Ajout d'un disque à la VM dans Prism Element

Pour chaque type de disque que vous voudrez ajouter, il faudra sélectionner les options qui conviennent :

Options d'un disque dans Prism Element

Dans le cas de notre VM, nous allons ajouter :

  • 1 disque de 40Go pour le système d’exploitation
  • 1 CD-ROM avec l’ISO Windows
  • 1 CD-ROM avec l’ISO contenant les VirtIO
Ajout d'un CD-ROM avec l'ISO Nutanix-VirtIO-1.2.3.iso

Vous devriez avoir 3 disques à ce stade :

Trois disques configurés sur la VM

L’ajout d’un adaptateur réseau est la dernière étape avant de finaliser la création de la machine virtuelle :

Ajout d'un adaptateur réseau à la VM

Si vous ne savez pas comment ajouter de nouveaux réseaux sur votre cluster, je vous recommande de consulter mon article sur le sujet : Nutanix AHV : Ajouter un réseau sur votre cluster

La machine est créée, vous pouvez passer à son déploiement.

Création de la machine virtuelle sous Prism Central

Pour créer la VM sous Prism Central, rendez vous dans le menu « Infrastructure > Compute > VMs » :

Menu VMs de Prism Central

Cliquez ensuite sur « Create VM » pour accéder au menu de création de la VM :

Bouton Create VM dans Prism Central

Les champs à remplir restent globalement similaires à ceux que vous pouvez retrouver sous Prism Element, bien qu’organisés légèrement différemment :

Formulaire de création de VM dans Prism Central

Et répartis sur plusieurs onglets :

Onglets de création de VM dans Prism Central

Le processus étant globalement identique, je ne vais pas redétailler toutes les étapes. Petite différence notable : la possibilité d’affecter dès la création une ou plusieurs catégories à notre VM :

Affectation de catégories à la VM dans Prism Central

Le dernier onglet permet de vérifier l’ensemble des informations que nous venons de paramétrer :

Récapitulatif de la VM avant création dans Prism Central

Déploiement de la machine virtuelle

Pour déployer la machine virtuelle, démarrez la et lancez la console. La première étape est de choisir la langue :

Choix de la langue à l'installation de Windows

Cliquez ensuite sur « Installer maintenant » :

Bouton Installer maintenant de Windows

Puis sélectionnez la version que vous souhaitez installer :

Choix de la version de Windows à installer

Acceptez le contrat de licence :

Contrat de licence de Windows

Cliquez maintenant sur « Personnalisé… » :

Choix de l'installation personnalisée de Windows

Malheur ! Le disque dur que vous avez configuré lors de la création de la machine virtuelle n’apparait pas… Cliquez sur « Charger un pilote » afin de corriger ce problème :

Aucun disque détecté et bouton Charger un pilote

Cliquez sur « Parcourir » :

Bouton Parcourir pour charger un pilote

Naviguez maintenant jusqu’au répertoire correspondant à la version de Windows que vous déployez, dans mon cas Windows Server 2022 :

Dossier des pilotes VirtIO pour Windows Server 2022

Sélectionnez l’ensemble des pilotes de la liste et cliquez sur « Suivant » :

Sélection des pilotes VirtIO

Une fois l’installation des pilotes terminées, le disque apparait enfin :

Disque détecté après installation des pilotes VirtIO

L’installation est lancée, il n’y a plus qu’à patienter :

Installation de Windows en cours

Votre machine virtuelle est déployée !

Read More