Team Leader - Nutanix Technology Champion - Nutanix NTC Storyteller

Julien DUMUR
Infrastructure in a Nutshell

Il m’est arrivé une petite mésaventure récemment. Après un changement de mot de passe IPMI sur mon 1-node, impossible de me reconnecter à l’interface de management de mon nœud. Oubli dans la seconde ? Faute de frappe ? Copier coller foireux ? Qu’importe la raison, le verrouillage de l’accès, lui, était bien réel.

Perdre son mot de passe IPMI (ou BMC) fait souvent transpirer. Mais rassurez-vous, l’expérience m’a appris une règle d’or : tant que vous avez encore un accès au système d’exploitation de l’hôte (que ce soit AHV, un Linux standard ou même ESXi), vous pouvez récupérer la main sans avoir besoin de faire un reset matériel.

Toutefois, la situation peut être plus critique qu’il n’y paraît. Pour les experts qui me lisent, vous savez qu’en environnement Nutanix Single-Node, l’IPMI n’est pas juste un confort d’administration : c’est votre seul et unique fail-safe. Sans lui, impossible de monter une ISO Phoenix en Remote Media lors d’un crash AOS majeur ou pour forcer un redémarrage. Perdre l’accès BMC sur un tel nœud devient donc très vite un point de blocage impactant pour votre production et l’accès à la console distante.

Dans ce guide, je vous partage les différentes méthodes pour reprendre le contrôle sur votre noeud en quelques minutes, de la plus douce à celle de la dernière chance.

Méthode 1 : Réinitialisation in-band via ipmitool

Si vous êtes sous Nutanix AHV ou une distribution Linux classique, vous avez de la chance : l’utilitaire ipmitool est généralement présent nativement. L’astuce de cette méthode repose sur le canal matériel KCS (Keyboard Controller Style). En clair, cela permet à l’OS de l’hôte de communiquer directement avec la puce BMC via le bus de la carte mère (LPC/PCIe), sans passer par le réseau de management.

Identifier et écraser le compte Admin

Connectez-vous en root sur votre hôte. Par précaution, on s’assure d’abord que les modules noyaux gérant l’IPMI sont bien chargés :

modprobe ipmi_si
modprobe ipmi_devintf

Ensuite, on va lister les utilisateurs configurés (généralement sur le channel 1) pour repérer l’ID de notre compte administrateur. Dans 99% des cas, le compte par défaut (ADMIN) correspond à l’ID 2.

ipmitool user list 1

Dans mon cas, l’ID correspond bien à 2 :

Une fois l’ID confirmé, la commande pour forcer un nouveau mot de passe est enfantine :

ipmitool user set password 2 'MonNouveauMdp123!'

Lors de la saisie de la commande précédente, il se peut que le terminal vous renvoie un vilain Invalid data field in request.

Pas de panique, c’est simplement le parseur de politique de sécurité de certains firmwares qui rejette votre demande. Il exige non seulement une complexité minimale (8 caractères, majuscule, minuscule, chiffre), mais peut aussi être capricieux sur le format de la requête.

Pour contourner (ou plutôt satisfaire) ce mécanisme, forcez la longueur d’encodage sur 20 octets en ajoutant simplement 20 à la fin de votre commande :

ipmitool user set password 2 'MonNouveauMdp123!' 20

Votre mot de passe est maintenant écrasé. Vous pouvez tester la connexion à l’interface web.

Méthode 2 : L’utilitaire IPMICFG (La solution pour VMware ESXi)

Si vous êtes sous VMware ESXi, la première méthode risque de vous laisser sur le carreau. Pourquoi ? Parce qu’ipmitool n’y est pas packagé nativement et résoudre les dépendances pour le compiler sur un hyperviseur est une perte de temps que je ne vous recommande pas.

La parade s’appelle IPMICFG. C’est l’outil officiel fourni par Supermicro (téléchargeable sur leur portail avec un compte gratuit). L’immense avantage est qu’il est fourni sous forme de binaires statiques, prêts à l’emploi pour Linux ou Windows.

Une fois l’archive transférée sur votre hôte et décompressée, son utilisation est très simple :

./IPMICFG-Linux.x86_64 -user list
./IPMICFG-Linux.x86_64 -user setpwd 2 MonNouveauMdp123!

Note : adaptez le nom du binaire si vous utilisez la version Windows ou Linux.

Vous pouvez récupérer l’utilitaire ici : https://www.supermicro.com/wdl/utility/IPMICFG/

Cas extrême : Le nœud n’a plus d’OS bootable

Que faire si l’OS ne démarre plus du tout ? C’est souvent là qu’on transpire, pensant que sans accès réseau à l’IPMI ni système d’exploitation fonctionnel, la seule méthode restante est le reset usine.

Rappelez-vous : l’interface KCS est exposée au niveau matériel dès la fin du POST BIOS. Elle est totalement indépendante de l’état de votre stockage.

Il suffit donc de booter le serveur sur une clé USB contenant un Live CD Linux (Ubuntu, Rocky Linux). Une fois sur le bureau éphémère, ouvrez un terminal, installez l’utilitaire s’il n’est pas déjà présent (apt install ipmitool par exemple), et reprenez exactement les commandes de la Méthode 1.

Méthode de dernier recours : Le Factory Reset du BMC

Si pour une raison obscure les méthodes précédentes échouent, il reste l’ultime recours : le reset aux paramètres d’usine.

Avec l’outil de Supermicro, la commande est directe :

./IPMICFG-Linux.x86_64 -fd

Et si vous préférez la méthode ipmitool pure, il faut passer une commande RAW :

ipmitool raw 0x3c 0x40

⚠️ Attention, les conséquences sont lourdes : Toute votre configuration BMC est remise à zéro. Vous perdez l’IP statique (le port repasse en DHCP), la configuration des VLANs, et vos comptes utilisateurs. Le BMC va ensuite redémarrer (comptez bien 2 à 3 minutes). Gros point de vigilance sur les générations récentes de serveurs : il se peut que le mot de passe ne redevienne pas ADMIN/ADMIN. Il bascule sur le mot de passe unique imprimé sur l’étiquette OCP (souvent collée sur le châssis ou la carte mère). Pensez-y si votre serveur est physiquement à l’autre bout du monde !

Mes recommandations

Une fois l’accès récupéré via la méthode 1 ou 2, voici ce que je fais systématiquement pour sécuriser mes arrières :

  1. Le gestionnaire de mots de passe : C’est basique, mais renseignez vos creds immédiatement au lieu de le garder dans le cache du copié-collé.
  2. Le compte de secours : Créez un second compte administrateur.
  3. L’astuce du Slot ID : Ne mettez pas votre compte de secours sur le Slot ID 3. Forcez sa création sur un Slot plus éloigné (comme le 5 ou le 6). Pourquoi ? Parce que certains scripts d’automatisation d’infrastructure ont parfois la fâcheuse tendance à écraser ou modifier en force les premiers Slots (2 et 3) lors du provisionning. En le mettant plus loin, vous le sanctuarisez.

Et vous, ça vous est déjà arrivé de vous enfermer dehors sur l’un de vos nœuds ? Partagez votre pire galère dans les commentaires ci-dessous !

Read More

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

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.

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é !

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).

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).

⚠️ 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
Nutanix Tech Connect 2026

Il y a des e-mails qui font plus plaisir que d’autres. Quand j’ai vu apparaître ce fameux « You’re in » dans ma boîte de réception, je me suis pris une petite décharge d’adrénaline. J’ai l’immense plaisir de partager avec vous mon invitation pour le très privé Nutanix Tech Connect 2026, qui se tiendra les 26 et 27 octobre prochains directement au siège, au HQ de Nutanix à San José dans la Silicon Valley !

Vous le savez, au quotidien, je passe une bonne partie de mes journées le nez dans l’écosystème Nutanix chez Inetum. C’est mon terrain de jeu. Mais ce voyage, c’est l’occasion de passer littéralement de l’autre côté du miroir. Et pour la 2e fois ! (voir mon article retraçant mes 2 jours au NTC Tech Connect 2024).

Si les grandes messes technologiques comme l’événement .NEXT sont parfaits pour découvrir les annonces publiques entouré de milliers de participants, le Tech Connect est son exact opposé. C’est l’envers du décor. Seule une poignée d’élus, triés sur le volet parmi les membres les plus actifs de la communauté NTC (Nutanix Technology Champions), sont invités. Et nous ne faisons pas le déplacement pour écouter le discours marketing habituel, mais pour plonger dans le vif du sujet, échanger sous NDA (Non-Disclosure Agreement) et décortiquer l’architecture avec ceux qui conçoivent la plateforme.

Qu’est-ce que le Nutanix Tech Connect ?

Un rassemblement d’experts passionnés

Faire partie du programme NTC, c’est déjà évoluer au quotidien au sein d’une communauté incroyable de partage et d’entraide. Mais cet événement en présentiel pousse le concept encore plus loin. Il a été pensé comme un rassemblement intimiste. L’objectif de Nutanix n’est pas ici de remplir un centre de conventions, mais de réunir autour d’une table une poignée de passionnés dont la voix et l’expérience terrain comptent.

L’impact direct sur la roadmap Nutanix

C’est là que l’on touche au but ultime pour tout ingénieur système ! Pendant ces deux jours d’immersion à San Jose, on laisse les présentations commerciales au vestiaire. Nos interlocuteurs directs ? Le Product Management (PM) et les équipes de Recherche & Développement (R&D).

C’est une occasion en or de discuter de manière transparente des évolutions du socle AOS (Acropolis Operating System) et des futures capacités de notre hyperviseur AHV. C’est précisément lors de ces tables rondes « sans filtre » que l’on décortique les cas d’usage complexes que nous rencontrons sur nos clusters de production. Savoir que nos « pain points » et nos retours terrains peuvent directement influencer la roadmap technique et façonner le code des prochaines releases est tout simplement grisant !

Au programme : Deux jours d’immersion San Jose

Le programme de ces deux jours s’annonce dense. L’email d’invitation est clair : l’objectif est d’interagir directement avec l’ingénierie, les équipes produit, et même les dirigeants de Nutanix. Concrètement, cela se traduit par des sessions techniques interactives où nous allons pouvoir « challenger » les choix d’architecture. C’est le moment idéal pour poser ces questions pointues qui restent souvent sans réponse sur les forums classiques, et surtout, pour avoir un aperçu exclusif (et strictement sous NDA !) de ce qui arrive dans les prochains mois.

L’autre immense atout du Tech Connect, c’est le networking. Se retrouver physiquement avec des NTC venus des quatre coins du monde, c’est l’assurance d’échanges d’une grande richesse dû à la provenance hétéroclite de l’ensemble des participants. On compare nos infrastructures, on partage nos retours d’expérience, et on trouve souvent des solutions à des problèmes complexes autour d’un simple café. C’est cette synergie entre experts passionnés qui fait la véritable force de la communauté Nutanix.

D’ici la fin octobre, la préparation va s’accélérer. Dans les prochaines semaines, nous aurons droit à un webinaire exclusif de « Kickoff » pour découvrir l’agenda détaillé, les sessions prévues et, on l’espère, quelques surprises. Ensuite, viendra le temps de sécuriser les vols et l’hébergement.

De mon côté, la préparation technique a déjà commencé ! Je compile mes notes, mes observations sur les dernières versions d’AOS, et surtout, les retours des collègues. Car oui, je compte bien être le porte-voix de notre communauté francophone lors de cet événement !

Merci et rendez-vous en Californie !

En attendant le mois d’octobre, je vais commencer à préparer tranquillement ma compilation de notes et observations et travailler sur quelques stickers à échanger avec les chers NTCs. Comptez sur moi pour vous faire un retour détaillé à mon retour (du moins, sur tout ce qui ne sera pas protégé par le NDA !).

Pour conclure, je tenais à adresser un immense et sincère merci à Angelo, ainsi qu’à toutes les équipes Nutanix, pour cette opportunité exceptionnelle et pour l’organisation de cet événement. La reconnaissance de cette communauté est un moteur puissant au quotidien.

Rendez-vous à San Jose !

Read More
openclaw on nutanix ahv

Dans un précédent article, nous avons vu comment déployer OpenClaw sur Nutanix AHV. Cependant, avant de pouvoir profiter pleinement de cet agent IA autonome, il est crucial de préparer le terrain. OpenClaw n’est pas qu’un simple script : c’est un écosystème qui s’appuie sur plusieurs briques technologiques pour « penser » (LLM local), « exécuter » (Node.js) et « chercher » (SearXNG).

Dans cet article, nous allons détailler l’installation pas-à-pas de tous les prérequis nécessaires sur votre machine virtuelle (sous Ubuntu), en expliquant pour chacun pourquoi il est indispensable au bon fonctionnement d’OpenClaw.

1. Pilotes NVIDIA : Libérer la puissance du GPU

OpenClaw peut s’appuyer sur des modèles de langage (LLM) exécutés localement. Bien qu’il soit techniquement possible de faire tourner ces modèles sur un processeur (CPU), les performances seraient extrêmement lentes. L’installation des pilotes NVIDIA permet au système d’exploiter la carte graphique (GPU) allouée à votre VM via Nutanix AHV (vGPU ou Passthrough), garantissant ainsi une inférence rapide et fluide de l’IA.

Voici comment mettre à jour votre système et installer les pilotes adéquats :

# Mise à jour du système
sudo apt update && sudo apt upgrade -y

# Installation du pilote serveur NVIDIA
sudo apt install nvidia-driver-535-server -y

# Redémarrage nécessaire pour la prise en compte
sudo reboot

Après le redémarrage, vérifiez que votre GPU est bien reconnu avec la commande suivante :

nvidia-smi

2. Node.js (v24) : Le moteur d’exécution d’OpenClaw

Le cœur de la logique d’OpenClaw est développé en JavaScript/TypeScript. Node.js est l’environnement d’exécution qui permet de faire tourner le code de l’agent, de gérer ses dépendances et d’orchestrer les appels entre l’interface, le modèle d’IA et les différents outils. Nous ciblons ici la version 24.x pour assurer une compatibilité optimale.

# Ajout du dépôt NodeSource et installation
curl -fsSL [https://deb.nodesource.com/setup_24.x](https://deb.nodesource.com/setup_24.x) | sudo -E bash -
sudo apt install -y nodejs

# Vérification de la version installée
node --version  # doit afficher v24.x

3. Ollama & Qwen 2.5 : Le cerveau local de l’opération

Ollama est l’outil qui va nous permettre de télécharger et de faire tourner facilement notre modèle d’IA en local. Pour OpenClaw, nous allons utiliser le modèle Qwen2.5 (7B). Pourquoi ce choix ? C’est un modèle léger (adapté pour les GPU avec environ 8 Go de VRAM) et, surtout, il est excellent en « Tool Calling » (l’appel d’outils). C’est cette capacité qui permet à OpenClaw de comprendre qu’il doit exécuter une recherche web ou lancer un script plutôt que de simplement générer du texte.

# Installation d'Ollama
curl -fsSL [https://ollama.ai/install.sh](https://ollama.ai/install.sh) | sh

# Démarrer le service Ollama (en arrière-plan)
ollama serve &

# Dans un autre terminal, vérifiez qu'Ollama détecte bien le GPU :
nvidia-smi  # Vous devriez voir ollama dans la liste des processus GPU

# Puller (télécharger) le modèle recommandé
ollama pull qwen2.5:7b

# Tester le modèle et vérifier son exécution sur le GPU
ollama run qwen2.5:7b "dis bonjour"

# Pendant que le modèle génère une réponse, vérifiez l'utilisation de la VRAM
nvidia-smi

4. Docker : L’infrastructure de conteneurisation

Afin d’étendre les capacités d’OpenClaw (notamment pour la recherche web que nous verrons juste après), nous avons besoin de services tiers. Docker permet de déployer ces services de manière isolée, standardisée et rapide, sans polluer notre système hôte avec de multiples dépendances complexes.

# Installation des dépendances initiales
sudo apt update
sudo apt install -y ca-certificates curl gnupg

# Ajout de la clé GPG officielle de Docker
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL [https://download.docker.com/linux/ubuntu/gpg](https://download.docker.com/linux/ubuntu/gpg) | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Configuration du dépôt Docker
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  [https://download.docker.com/linux/ubuntu](https://download.docker.com/linux/ubuntu) \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Installation des paquets Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# Ajout de votre utilisateur au groupe docker pour éviter d'utiliser 'sudo' à chaque fois
sudo usermod -aG docker $USER
newgrp docker

# Vérification de l'installation
docker --version

5. SearXNG : Donner un accès au Web à l’IA

Pour qu’OpenClaw soit un véritable agent de recherche performant, il ne peut pas se contenter des données contenues dans le modèle Qwen (qui s’arrêtent à sa date d’entraînement). SearXNG est un métamoteur de recherche respectueux de la vie privée. En l’installant via Docker, nous offrons à OpenClaw une API (sur le port 8080) qu’il va pouvoir utiliser pour aller chercher en temps réel des informations sur le web et sourcer ses réponses.

# Créer un répertoire dédié pour la configuration
mkdir -p ~/searxng && cd ~/searxng

# Lancer le conteneur SearXNG
docker run -d \
  --name searxng \
  --restart unless-stopped \
  -p 8080:8080 \
  searxng/searxng

# Vérifier que le conteneur tourne correctement
docker ps

# Tester que l'API de SearXNG répond bien
curl http://localhost:8080

6. Homebrew & GCC : Les outils de compilation

L’écosystème Node.js d’OpenClaw fait parfois appel à des bibliothèques bas niveau ou à des packages natifs qui nécessitent d’être compilés directement sur votre machine lors de leur installation. Homebrew (le gestionnaire de paquets bien connu sur macOS, très pratique aussi sur Linux) et le compilateur GCC sont indispensables pour éviter les erreurs lors de la phase d’installation finale des dépendances (les fameux npm install).

# Installer le package de compilation de base Ubuntu
sudo apt-get install build-essential

# Installer Homebrew
/bin/bash -c "$(curl -fsSL [https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh](https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh))"

# Les instructions de fin d'installation d'Homebrew vous demanderont
# d'ajouter Homebrew à votre PATH. Généralement cela ressemble à ceci :
# (Assurez-vous d'adapter le chemin si nécessaire)
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/$USER/.bashrc
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"

# Installation de GCC via Homebrew
brew install gcc

Conclusion

Votre machine virtuelle sous Nutanix AHV est désormais un environnement riche et complet, équipé de pilotes GPU performants, d’un moteur d’exécution (Node.js), d’un LLM prêt à répondre (Ollama), d’un accès au Web (SearXNG) et des bons outils de compilation.

Le terrain est parfaitement préparé. Il ne vous reste plus qu’à finaliser l’installation de l’application elle-même en suivant la suite de notre guide sur OpenClaw.

Read More

On a tous connu ce moment de solitude dans notre parcours professionnel. Celui où tu as planifié l’upgrade matériel pour ton infrastructure, mais où un détail insignifiant vient perturber le déroulé des opérations. Récemment, nous devions remplacer les disques mécaniques 3.5 pouces d’un de nos clusters de 4 nœuds par des disques SSD 2.5 pouces. Une opération de maintenance classique pour passer d’un stockage hybride a une stockage full-flash et gagner en IOPS.

Seul problème, et de taille : les caddys d’origine des serveurs n’étaient pas compatibles avec ce format réduit.

Première approche : les adaptateurs “officiels”

La solution évidente quand on gère une infra pro ? Commander des adaptateurs officiels ou des caddys de remplacement. Il nous fallait 24 pièces au total (6 disques pour chacun des 4 nœuds). Et là, c’est la douche froide.

Plus de 500 euros (avec les taxes et la livraison).

Mais le pire n’était finalement pas le prix : c’était le délai d’approvisionnement. Attendre plusieurs semaines alors que le projet devait avancer ? Inenvisageable. Puisque je refuse de payer ce tarif et que les délais sont beaucoup trop longs, mon imprimante 3D va s’en charger.

La plan B : la solution DIY

L’avantage d’avoir du matériel standard comme du Supermicro, c’est que l’on n’est jamais le premier à rencontrer un problème. Pas besoin de passer des heures sur Fusion 360 à modéliser la pièce au millimètre près : la communauté open-source l’a probablement déjà fait.

En quelques clics sur les plateformes de partage de modèles 3D (comme Printables ou Thingiverse), j’ai déniché le fichier .stl parfait : https://www.thingiverse.com/thing:4353094

Pour m’assurer de la compatibilité, j’en ai imprimé un rapidement pour valider les dimensions et que cela faisait le job…

L’étape suivante : l’industrialisation. J’ai positionné mes modèles de sorte de pouvoir imprimer 6 adaptateurs d’un seul coup. Cela impliquait de laisser tourner l’imprimante pendant 7h30 environ pour chaque plateau.

Sur ma Creality CR-10S Pro v2 tournant sous Klipper, j’ai pu monitorer le job d’impression pour m’assurer que tout se passait comme prévu du coin de l’oeil tout en continuant à travailler sur mes projets.

Malgré un couac lors du premier batch qui m’a contraint à faire un peu de mécanique, les impressions se sont parfaitement bien déroulées.

Maker Spirit for the Win !

Le verdict final est sans appel :

  • Option Fournisseur : ~543 € et 3 semaines d’attente.
  • Option Maker : 20 € de filament, quelques kWh et deux grosses journées d’impression.

Au-delà de l’économie financière évidente (pour le prix des adaptateurs officiels, on aurait pu acheter l’imprimante + le filament), la vraie leçon de cette aventure, c’est que l’état d’esprit maker permet de transformer une problématique budgétaire et temporelle en une solution DIY 20 fois moins chère et qui fait le job dans des délais ultra-courts.

Alors, la prochaine fois qu’un problème pointe le bout de son nez, pensez “out-of-the-box” et éventuellement, dégainez votre plus belle bobine de filament.

Read More
openclaw on nutanix ahv

Si vous avez lu mon précédent article détaillant l’architecture et la stack technique que j’ai retenu pour déployer OpenClaw, vous savez déjà pourquoi j’ai choisi de faire tourner cette solution sur mon cluster Nutanix AHV. Aujourd’hui, on passe à la pratique ! Je vais vous montrer, étape par étape, comment déployer votre propre instance sur une machine virtuelle Ubuntu fraîchement installée.

Avant de lancer les hostilités, petit rappel de ma configuration. J’ai provisionné une VM sous Nutanix AHV avec :

  • 8 vCPU
  • 32 Go de RAM
  • 250 Go de stockage
  • une carte NVIDIA Tesla P4 en PCI Passthrough

💡 Pourquoi avoir privilégié le Passthrough complet plutôt que du vGPU (virtual GPU) ? Tout simplement pour garantir des performances d’inférence quasi « bare-metal ». En donnant un accès direct et exclusif au matériel physique à notre VM, on élimine totalement l’overhead (la latence) lié à la couche de virtualisation.

C’est parti pour le déploiement.

Préparation de la VM Ubuntu : Système et Pilotes NVIDIA

La toute première étape consiste à préparer le terrain pour déployer notre IA.

Ubuntu 24.04 : Mise à jour du système d’exploitation

C’est une règle que j’applique à chaque fois que je déploie un nouveau système d’exploitation. Dès que je me connecte en SSH, je m’assure que tous les paquets sont à jour pour éviter de futures failles de sécurité ou des conflits de dépendances.

sudo apt update && sudo apt upgrade -y

GPU : Installation des drivers NVIDIA

Pour qu’OpenClaw puisse exploiter la puissance de calcul de ma Tesla P4, le système d’exploitation doit être en mesure lui parler correctement. Voici les commandes à passer pour installer le drivers (vous pouvez accéder à un guide plus détaillé sur le blog) :

sudo apt install nvidia-driver-535-server -y
sudo reboot

Une fois la machine redémarrée, on se reconnecte et on tape la commande pour vérifier que notre GPU est bien détecté et prêt à travailler :

nvidia-smi

Node.js et OpenClaw

Installation de Node.js 22

OpenClaw est bâti sur Node.js. Pour s’assurer de disposer d’un environnement d’exécution récent et performant (ici la version 22), on ajoute le dépôt officiel de NodeSource avant de lancer l’installation :

curl -fsSL [https://deb.nodesource.com/setup_22.x](https://deb.nodesource.com/setup_22.x) | sudo -E bash -
sudo apt install -y nodejs

Déploiement de base d’OpenClaw

Maintenant que NodeJS est en place, on passe à l’installation d’OpenClaw. Un simple script curl fourni par les développeurs s’occupe du gros du travail :

curl -fsSL [https://openclaw.ai/install.sh](https://openclaw.ai/install.sh) | bash

Une fois l’installation terminée, le système lance automatiquement l’assistant de configuration de votre instance. Je détaillerai cette étape ainsi que les créations de clés API (Discord, Telegram, etc…) dans un futur article.

Une petite manipulation est requise juste après l’installation d’OpenClaw si on veut pouvoir utiliser les commandes “openclaw” sans contrainte. Il faut ajouter le répertoire d’installation local à notre variable d’environnement PATH (pensez à adapter le nom d’utilisateur si vous n’utilisez pas administrateur) :

export PATH="/home/administrateur/.npm-global/bin:$PATH"

💡 Pourquoi cette manipulation ? C’est une excellente pratique de sécurité que je vous recommande. En exportant le PATH vers ~/.npm-global/bin, on évite d’installer des paquets globaux NPM avec les privilèges root (sudo). Cela réduit considérablement les surfaces d’attaque et vous épargne les éternels conflits de permissions sous Linux !

Exposer proprement OpenClaw avec Caddy

Par défaut, l’interface web d’OpenClaw écoute sur le port 18789. Au lieu d’attaquer ce port de manière brute, je préfère toujours placer un reverse proxy devant mes applications. Pour ce lab, mon choix s’est porté sur Caddy.

sudo apt install -y caddy

💡 Pourquoi Caddy plutôt qu’Apache ou Nginx ? Parce que Caddy est redoutablement efficace. Là où Nginx réclame parfois de longs blocs de configuration pour du proxying simple, Caddy accomplit le même travail en littéralement trois lignes de code, le tout de manière ultra légère.

On édite son fichier de configuration :

sudo vi /etc/caddy/Caddyfile

Et on remplace l’intégralité du contenu par les instructions suivantes (remplacez l’IP par celle de votre VM, dans mon cas 192.168.84.134) :

192.168.84.134 {
    reverse_proxy 127.0.0.1:18789
}

Il ne reste plus qu’à redémarrer le service pour que le proxy prenne le relais :

sudo systemctl restart caddy

Sécurité réseau : Verrouiller l’instance OpenClaw

Avoir une instance fonctionnelle c’est bien, la sécuriser c’est indispensable. Même si vous êtes sur votre réseau local (LAN), il ne faut jamais laisser l’accès libre à votre interface de contrôle. Nous allons appliquer une configuration stricte via les commandes CLI d’OpenClaw.

On commence par restreindre l’écoute de la Gateway à la boucle locale pour empêcher tout accès direct :

openclaw config set gateway.bind loopback

On force ensuite le mode de fonctionnement en local, et on active l’authentification par token (le minimum syndical) :

openclaw config set gateway.mode local
openclaw config set gateway.auth.mode token

Enfin, comme nous passons par Caddy, il faut autoriser les requêtes Cross-Origin (CORS) provenant de notre adresse IP, sans quoi le navigateur bloquera la page (n’oubliez pas d’adapter l’IP) :

openclaw config set gateway.controlUi.allowedOrigins '["[https://192.168.84.134](https://192.168.84.134)"]'

On redémarre le service pour appliquer notre blindage :

openclaw gateway restart

💡 Le pattern de sécurité appliqué ici s’apparente à du « Zero Trust » local. En forçant OpenClaw sur le loopback (127.0.0.1), on s’assure qu’absolument tout le trafic est obligé de passer par notre proxy Caddy. Couplé au filtrage CORS et à l’authentification, on protège un minimum notre instance contre d’éventuels scans ou scripts malveillants sur le réseau.

Premier contact et validation de la configuration

Récupération du Token d’accès

Maintenant que les portes sont fermées, il nous faut la clé. Le token d’authentification a été généré automatiquement lors de l’installation. On va aller le pêcher directement dans le fichier JSON de configuration :

grep -i token ~/.openclaw/openclaw.json

Copiez précieusement cette chaîne de caractères. Ouvrez ensuite votre navigateur et accédez à votre interface Web (ex: https://192.168.84.134).

Entrez le token dans l’encart « Gateway Token ».

Approbation du périphérique

Une fois connecté, vous remarquerez qu’il manque quelque chose : le système attend que l’on approuve le « périphérique » (le PC ou la tablette depuis laquelle on souhaite utiliser OpenClaw) pour lui accorder le droit de traiter des requêtes.

Retournez dans votre terminal pour lister les périphériques en attente :

openclaw devices list

Repérez l’ID de votre périphérique dans la liste (une chaîne de type UUID) et approuvez-le :

openclaw devices approve b7beb7fa-fa4e-46e9-aec1-282bcce881f6

💡 L’approbation d’un périphérique (devices approve) est bien plus qu’une simple formalité d’interface. C’est une sorte de handshake cryptographique. Ce mécanisme garantit qu’aucune machine non sollicitée ne puisse se greffer à votre instance cluster OpenClaw à votre insu !

Tests d’interaction

L’instance OpenClaw est à présent 100% opérationnelle ! Pour valider l’ensemble de notre stack, rien de tel qu’un test grandeur nature. Vous pouvez envoyer un premier prompt sur le chat intégré de l’interface web, ou configurer un pont pour envoyer un message côté Discord.

Conclusion

Nous sommes passés d’une simple VM Ubuntu à un véritable serveur d’inférence sécurisé, propulsé par Node.js et accéléré par un GPU NVIDIA Tesla P4 dédié via Nutanix AHV. L’architecture est propre, sécurisée derrière un proxy Caddy, et prête à encaisser nos requêtes.

Mais ce n’est que le début. Dans les prochains articles, nous irons encore plus loin : je vous montrerai comment configurer OpenClaw via l’assistant de départ, déployer des modèles locaux via Ollama, créer un bot Discord interactif, et même injecter des clés API Google pour doter notre IA de capacités de recherche. Restez connectés !

Read More

Si vous suivez un peu mes pérégrinations sur le blog, vous savez que j’adore triturer mes clusters et tester des trucs un peu out-of-the-box (cf. mes articles avec le Steamdeck par exemple). Récemment, je me suis fait une réflexion : Gemini ou Claude dans le cloud public, c’est super pour coder un script Python ou rédiger des mails. Mais quand il s’agit de lui demander d’interagir avec notre infrastructure locale, c’est là que ça coince.

Je me suis donc demandé comment je pourrais connecter l’intelligence artificielle au plus près de mes VMs. C’est dans cette optique que j’ai mis les mains sur OpenClaw. Honnêtement, ça a un peu été le parcours du combattant au démarrage. Fini le simple gadget conversationnel, on parle ici de déployer une véritable IA Privée sur un cluster Nutanix AHV capable d’agir sur notre infrastructure. Laissez-moi vous présenter la stack technique que j’ai retenue pour cette expérience.

OpenClaw : qu’est-ce que c’est ?

Pour ceux qui vivaient dans une grotte ces derniers mois, OpenClaw c’est un projet GitHub qui a dépassé les 300k étoiles en seulement quelques mois. Imaginez un traducteur de pensée ultra-intelligent couplé à un majordome. Au lieu de cliquer sur des dizaines de menus dans une interface complexe, vous demandez simplement à votre infrastructure de travailler pour vous en langage naturel (via une interface web universelle ou même des messageries comme WhatsApp et Telegram). Il est même capable de bosser tout seul pendant que vous dormez !

Mais là où ça devient passionnant pour nous, les ingénieurs, c’est sous le capot. OpenClaw n’est pas un énième modèle de langage (LLM) « stateless » qui oublie tout à chaque nouvelle requête. C’est une véritable Agentic Gateway. Concrètement, cela signifie qu’elle orchestre des agents autonomes équipés d’outils. Ces agents peuvent être configurés pour taper directement dans les API privées de notre cluster (comme les API REST de Prism Element ou Prism Central), coder, parcourir le web et en synthétiser certaines informations. Bref, on ne pose plus simplement des questions à l’IA, on lui délègue des tâches.

Pourquoi l’héberger en Self-hosted ?

Sur le terrain, la question de la gouvernance des données se pose à la seconde où l’on prononce le mot « IA ». Hors de question d’envoyer des informations sensibles sur des serveurs dont je n’ai pas la maîtrise !

Faire le choix du Self-hosted (auto-hébergement) avec OpenClaw, c’est reprendre le contrôle absolu. Les flux de données, les logs d’exécution et les identifiants d’API restent cloisonnés bien au chaud sur mon réseau, isolés d’internet si on le souhaite.

Architecture et Stack Technique

Pour ce projet, hors de question de faire un simple « Next, Next, Finish » sur un coin de table. Voici l’architecture technique robuste que j’ai fini par valider pour mon déploiement.

Le socle : Nutanix AHV & Ubuntu 24.04 LTS

Pour faire tourner la bête, il faut des fondations solides. J’ai provisionné une machine virtuelle sous Ubuntu 24.04 LTS hébergée directement sur mon cluster Nutanix AHV.

Côté dimensionnement, je suis parti sur 8 vCPU, 32 Go de RAM et 250 Go de stockage dédié. Vous allez peut-être me dire : « 32 Go pour une gateway, c’est pas un peu too much ? » La gateway va devoir ingérer des flux de données conséquents, maintenir le cache des différents agents actifs, et potentiellement gérer du requêtage d’API lourd en parallèle. Et puis, je peux affecter ces ressources sur mon lab, alors pourquoi s’en priver ?

Le moteur applicatif : NodeJS 22

Au cœur d’OpenClaw, la magie opère grâce à NodeJS 22. C’est le moteur d’exécution qui fait tourner la gateway et ses intégrations d’agents IA.

Pourquoi Node 22 est un excellent choix architectural ici ? Pour sa gestion de l’asynchrone (Event Loop). Quand vous demandez à OpenClaw de faire un rapport d’état sur 50 VMs, la gateway va initier de multiples appels d’API vers Prism Central tout en maintenant votre flux WebSocket ouvert pour vous répondre en temps réel dans l’interface de chat. NodeJS excelle dans cette gestion de la concurrence non-bloquante.

Le routage réseau : Caddy

Le mode de fonctionnement habituel d’OpenClaw, c’est de le déployer en local sur la machine depuis laquelle on va s’y connecter, ou bien de monter un tunnel pour pouvoir accéder à l’instance distante. On ne va pas se mentir, j’avais envie de taper l’IP dans mon navigateur et de pouvoir accéder à mon instance, que je sois sur mon PC ou sur ma tablette.

Pour rendre ceci possible, j’utilise un reverse proxy sous Caddy. Caddy gère le routage du trafic et le chiffrement HTTPS de manière totalement automatisée.

Je vous entends déjà me dire : “Oui mais si un mec se connecte sur ton réseau local, il aura accès à ton instance !”. Eh bien non ! Parce qu’OpenClaw intègre nativement un système de Device Whitelisting (liste blanche de périphériques). Si votre PC n’a jamais été connecté à l’instance, vous devrez fournir le “Gateway Token”. Ensuite, vous devrez accepter cette nouvelle connexion du côté de l’instance OpenClaw. Vous l’aurez compris, seuls les périphériques préalablement autorisés peuvent profiter de votre instance locale.

Le point d’entrée : Discord

Le choix du point d’entrée, ce qui vous permettra d’interagir avec OpenClaw, c’est souvent une question de goûts et de couleurs.

OpenClaw intègre directement un système de chat pour que vous puissiez discuter avec lui. C’est bien, c’est natif, mais inaccessible si je ne suis pas chez moi. Le système propose également de configurer des points d’entrée externes comme Telegram, WhatsApp, Discord ou encore Teams et Slack. Et ça, c’est clairement un gros plus car cela donne des possibilités quasi illimitées !

Et ensuite ?

L’objectif de cet article était de vous présenter l’architecture envisagée pour mon assistant OpenClaw, de comprendre ce que l’on déploie et pourquoi. Nous avons donc une stack technique cohérente, performante grâce à Nutanix AHV, et hébergée en local.

Dans un prochain article, je vous expliquerai comment installer OpenClaw étape par étape jusqu’à avoir une instance fonctionnelle.

Read More
Nutanix AHV GPU Linux

L’intégration de puissance de calcul graphique au sein d’environnements virtualisés est devenue un incontournable. Que ce soit pour faire tourner des modèles d’Intelligence Artificielle, du Machine Learning ou simplement pour du traitement vidéo intensif, nos machines virtuelles ont de plus en plus besoin de muscles.

Lorsque je discute avec des clients, je reçois souvent des questions à ce sujet : comment assigner une carte graphique physique à une VM de manière simple et performante ?

Aujourd’hui, je vous propose de voir ensemble comment déployer un GPU NVIDIA Tesla P4 sur une VM Ubuntu Server 24.04 hébergée sous Nutanix AHV, en utilisant le mode « Passthrough ».

1. Les prérequis

Avant de mettre les mains dans le cambouis, prenons un instant pour vérifier notre équipement. Une bonne préparation, c’est la moitié du travail de fait ! J’ai moi-même perdu des heures par le passé à cause d’un simple prérequis oublié.

Pour suivre ce tutoriel, vous aurez besoin de :

  • Un nœud Nutanix (cluster physique) équipé d’au moins une carte NVIDIA Tesla P4.
  • Une machine virtuelle sous Ubuntu Server 24.04.
  • Un accès SSH fonctionnel vers cette VM avec des privilèges sudo.

Bien que Nutanix AHV gère cela de manière transparente pour vous, gardez en tête que le mode Passthrough repose sur des instructions matérielles spécifiques. Il nécessite que les extensions de virtualisation des I/O (VT-d chez Intel ou AMD-Vi chez AMD) soient bien activées au niveau du BIOS de votre nœud physique. Si un jour vous montez un cluster « home-lab », c’est la première chose à vérifier !

2. Configuration côté Nutanix : Le mode Passthrough

Maintenant que notre base est solide, passons à l’interface d’administration. C’est ici que la magie opère. Que vous utilisiez Prism Element ou Prism Central, la logique reste la même. Assurez-vous d’abord que votre machine virtuelle est bien éteinte.

Allez dans les paramètres de votre VM, sélectionnez « Update », puis descendez jusqu’à la section « GPUs ». Cliquez sur « Add GPU ».

Dans la fenêtre qui s’ouvre, le choix est crucial : dans le menu déroulant « GPU Type », sélectionnez le mode Passthrough, puis choisissez votre Tesla P4 dans la liste.

Le mode Passthrough est une fonctionnalité particulière : il permet de « donner les clés » matérielles de la carte graphique directement à la machine virtuelle. L’OS invité a l’illusion (et les avantages) de posséder la carte physiquement.

Vous vous demandez peut-être pourquoi nous privilégions le Passthrough plutôt que le vGPU ? C’est une question de cas d’usage, mais aussi d’architecture.

Le vGPU permet de découper virtuellement une carte pour la partager entre plusieurs VMs, ce qui est génial pour du VDI, mais il nécessite l’installation et la maintenance d’un serveur de licences NVIDIA (vGPU Software).

Le Passthrough, en revanche, dédie 100% de la puissance de la Tesla P4 à notre VM Ubuntu, sans aucun serveur de licence additionnel. Pour un besoin de performance brute mono-VM, c’est clairement la meilleure option.

3. Préparation et mise à jour d’Ubuntu 24.04

Une fois le GPU attaché, sauvegardez la configuration, allumez votre VM et connectez-vous en SSH.

Avant de nous précipiter sur l’installation des drivers NVIDIA, il y a une étape que je ne saute absolument jamais : la mise à jour du système.

Tapez simplement cette commande :

sudo apt update && sudo apt upgrade -y

Les pilotes propriétaires NVIDIA s’appuient sur le système DKMS (Dynamic Kernel Module Support) pour compiler les modules du noyau à la volée lors de l’installation.

Si vos en-têtes de noyau (kernel headers) ne sont pas parfaitement synchronisés avec votre version actuelle du noyau linux, l’installation échouera silencieusement. Un système fraîchement mis à jour est votre meilleure garantie pour une compilation propre et sans accroc !

4. Installation des drivers NVIDIA (Branche Server)

Maintenant que notre système est propre et à jour, passons au plat de résistance. Sous Ubuntu, on a souvent le réflexe d’utiliser la commande ubuntu-drivers autoinstall ou d’installer la dernière version « desktop » à la mode. Je vous arrête tout de suite !

Pour un serveur, surtout en production, la stabilité est le maître mot. C’est pourquoi nous allons installer la branche « Server » du pilote. Tapez la commande suivante :

sudo apt install nvidia-driver-535-server -y

💡 L’astuce de l’Expert : Pourquoi précisément le paquet « server » ? NVIDIA maintient des branches de pilotes spécifiques pour les data centers. La branche « Server » (ou Tesla driver) est conçue pour des cycles de vie longs (LTS) et minimise le risque de régression. Installer un pilote « Desktop » sur un hyperviseur ou un serveur IA, c’est s’exposer à ce qu’une mise à jour mineure casse votre environnement de production un vendredi à 17h !

Laissez l’installation se terminer (cela peut prendre quelques minutes le temps que DKMS compile le module pour votre noyau). Une fois terminé, un redémarrage est obligatoire pour charger correctement le pilote :

sudo reboot

5. Vérification

Après le redémarrage, reconnectez-vous en SSH à votre machine virtuelle. Pour vérifier que l’OS, le pilote et le matériel communiquent parfaitement, NVIDIA nous fournit un outil en ligne de commande :

nvidia-smi

Si tout s’est bien passé, vous devriez voir apparaître un magnifique tableau de bord en ASCII.

💡 Décryptage : En haut à droite, notez la CUDA Version (ici 12.2) : c’est la version maximale de l’API CUDA supportée par ce pilote, une info cruciale pour les développeurs IA. Regardez aussi la colonne Perf : elle indique « P0 », ce qui correspond à l’état de performance maximum (les « P-states » vont de P0 à P12 pour l’économie d’énergie). Si votre carte reste bloquée sur un P-state bas alors qu’elle est en charge, c’est qu’il y a un souci matériel ou thermique ! Enfin, cet output confirme que l’OS est prêt à accueillir le NVIDIA Container Toolkit (pour du Docker avec GPU).

Conclusion

Et voilà ! En quelques étapes simples, nous avons réussi à présenter physiquement notre GPU NVIDIA Tesla P4 à notre VM Ubuntu 24.04 sous Nutanix AHV. Le mode Passthrough nous a permis d’obtenir une configuration performante, sans latence et sans l’usine à gaz d’un serveur de licences externe.

Notre Tesla P4 est désormais correctement installée ! La prochaine étape logique ? Le déploiement de modèles LLM (Large Language Models) ou d’applications gourmandes en calcul dans des conteneurs isolés. Mais ça, ce sera pour un prochain article sur le blog !

Read More

Le codage assisté par IA, pour moi qui suis une buse en développement, c’est une révolution qui me permet de concrétiser des idées en quelques heures là où cela relevait de l’impossible auparavant. Mais cette vitesse a un prix que l’on néglige trop souvent : la dette technique.

Le contexte de développement

Récemment, j’en parlais ici, j’ai développé une petite application web nommée HYCU Upgrade Path. Le concept est simple : une interface épurée pour générer et visualiser l’upgrade path d’une version A à une version B du logiciel de backup.

Pour ce faire, j’ai utilisé Lovable, une solution « no-code/low-code » qui m’a permis en quelques jours de mettre l’application en ligne.

Quelques semaines plus tard, j’ai décidé de redévelopper l’application à l’aide de Gemini, l’IA multimodale de Google, pour voir ce qu’elle avait dans le ventre.

J’ai donné des instructions similaires à chacune des 2 IA. J’attendais un résultat fonctionnel et similaire des deux côtés. Ce que je n’avais pas prévu, c’est l’écart abyssal dans la structure du code… Et le temps passé.

On parle d’une différence de 628ko contre 115ko. On parle de passer de 79 fichiers à 21 fichiers. On parle d’une semaine contre une demi journée. Un gouffre.

L’expérience Lovable

Sur le papier Lovable vend du rêve : vous décrivez, ça s’affiche. Et c’est vrai, l’expérience utilisateur est bluffante de fluidité. J’ai décrit mon besoin pour HYCU Upgrade Path, et en quelques itérations, l’application tournait sous mes yeux. Visuellement, c’était propre avec quelques ajustements à faire. Fonctionnellement, c’était un peu plus bancal.

Je ne suis pas développeur, mais mon premier réflexe a été d’aller voir le repository généré. Et là… ça a été la douche froide.

Pour une application aussi simple qu’un générateur d’upgrade path, Lovable m’a pondu une véritable usine à gaz :

  • 79 fichiers créés.
  • 8 dossiers imbriqués.
  • Un poids total de 628ko.

Lovable a fragmenté l’application en une myriade de petits composants atomiques, a généré des fichiers de configuration en doublon et a importé des librairies « au cas où ». En regardant le dossier components/ui, j’ai trouvé 38 fichiers ! Des accordéons, des badges, des carrousels, des « toasters »… alors que mon app n’utilise qu’une fraction de tout ça.

C’est l’approche « Black Box » : tant que ça marche en façade, on ne se soucie pas de l’élégance du moteur. Le résultat est une application lourde et difficilement maintenable dans le temps. Et ça pour moi, c’est un premier red flag.

Coté modification du code par itération, je ne l’ai pas trouvé très précise. J’ai été contraint d’avancer par toutes petites itérations ce qui a rallongé le temps de développement… Une itération un peu trop musclée ? Ca cassait une fois sur deux mon interface ou donnait un résultat qui n’était pas celui attendu. Bref, pas hyper satisfait de l’expérience bien que j’ai réussi à atteindre mon but en une petite semaine de discussions.

L’expérience Gemini : L’architecte logiciel

Après cette semaine de lutte et quelques semaines en production, j’ai tenté la même expérience avec Gemini. Même prompt, même besoin, juste “pour voir” de quoi l’IA de Google était capable.

Le résultat ? Au départ, j’ai cru qu’il manquait des morceaux.

  • 21 fichiers au total.
  • 5 dossiers.
  • 115ko sur la balance.
  • Temps de développement : une demi-journée.

Gemini a adopté une approche radicalement différente, bien plus mature. Au lieu d’importer une librairie graphique massive, il a structuré le code et n’a gardé que ce qui était réellement nécessaire.

En ouvrant le dossier src/components, la différence est flagrante : 7 fichiers, tous essentiels. Pas de bruit, pas de composants inutiles.

Plus impressionnant encore, Gemini m’a fourni une architecture « Prête à mettre en prod ». Là où Lovable m’a donné un frontend en vrac, Gemini a séparé proprement le frontend du backend, et m’a même généré un docker-compose.yml et un script de déploiement (deploy.sh) pour mon VPS. Il n’a pas juste codé l’interface, il a pensé à comment je la ferais tourner, avec un joli README.md en prime.

Pour le plaisir, j’ai ajouté quelques détails supplémentaires sur mon application au passage.

Le Match Technique : L’obésité vs L’efficacité

Comparons ce qui est comparable. Voici le bilan des courses pour la même fonctionnalité :

MétriqueLovableGeminiGain
Poids du projet628 ko115 ko-82%
Nombre de fichiers7921-73%
PhilosophieUI Kit complet (« au cas où »)Code propre, lisibleMaintenance facilitée
ArchitectureFrontend monolithiqueDockerisé (Front + Back)Prêt à déployer
Temps de dev1 semaine1/2 journéeProductivité x10

Pourquoi la « propreté » compte (même pour les non-devs comme moi) ?

Vous pourriez me dire : « On s’en fiche du code ou du nombre de fichiers tant que l’app fonctionne ! ». C’est une erreur.

La maintenance : Modifier à la main le projet créé sous Lovable, c’est chercher une aiguille dans une botte de 79 fichiers. Avec Gemini, chaque fichier a un nom qui décrit réellement ce qu’il fait.

La consommation : 628ko de code à charger pour un utilisateur mobile, c’est lourd. 115ko, c’est presque instantané.

Le coût cognitif : Quand l’IA génère du code « brouillon », elle a elle-même plus de mal à se relire pour les itérations suivantes. C’est pour ça que Lovable « cassait » l’interface : elle se perdait dans sa propre complexité.

Conclusion : Le choix de l’outils fait la différence

Mon verdict est sans appel. Si vous voulez prototyper une idée en 10 minutes pour montrer que « ça bouge » à votre boss, Lovable fait illusion. C’est spectaculaire, c’est visuel, c’est une belle démo technologique.

Mais si vous voulez construire une application pérenne, que vous pourrez faire évoluer sans tout casser, une IA comme Gemini est bien plus performante à mes yeux.

L’écosystème évolue vite. Je ne l’ai pas testé pour le moment, mais un outils comme Claude Code doit même surement être capable de faire encore mieux.

Read More

Octobre 2023. Le contexte est tendu : le prix du kWh s’envole et mon fil d’actualité est inondé de publicités pour des panneaux solaires promettant « l’autonomie totale » ou « la gratuité ».

Étant d’un naturel méfiant (et un peu geek sur les bords), j’ai sorti mes fichiers Excel avant de sortir le carnet de chèques. J’ai investi 13 900 € pour 6kWc de puissance. Deux ans plus tard, avec 17,4 MWh produits, est-ce que ça valait le coup ?

Spoiler : les chiffres de la « vraie vie » ont battu mes simulations, mais le diable se cache dans les détails.

1. La Genèse : Pourquoi j’ai transformé mon toit en centrale ?

On ne se lève pas un matin en décidant de lâcher près de 14 000 euros (avant primes) juste pour faire plaisir à la planète. C’est un calcul. Mon objectif était double : sécuriser une partie de mon coût de l’énergie pour les 20 prochaines années et, avouons-le, le plaisir technique de piloter ma propre production.

Le contexte : Acheter son électricité en avance

Pour le néophyte, voir ça comme une dépense est une erreur. C’est un investissement. En installant des panneaux, j’ai décidé d’acheter l’équivalent d’un stock d’électricité à prix fixe (le coût de l’installation divisé par la production future) plutôt que de louer cette énergie à un fournisseur dont les tarifs sont indexés sur des crises géopolitiques que je ne maîtrise pas.

Mais attention, pour que ce calcul fonctionne, il ne faut pas dimensionner l’installation au doigt mouillé.

L’analyse de consommation : Le pré-requis indispensable

Avant même de contacter un installateur, j’ai réalisé un audit de ma propre maison. Beaucoup font l’erreur de regarder leur facture annuelle globale. C’est insuffisant.

Il faut comprendre quand on consomme.

Le solaire ne produit que le jour (sans blague). Si votre consommation se fait à 80% la nuit (chauffage électrique sans inertie, vie nocturne), le solaire sans batteries sera un échec financier.

J’ai extrait mes données horaires via le site d’Enedis (merci le compteur Linky) pour isoler mon « bruit de fond » énergétique, ce qu’on appelle le talon.

C’est la consommation incompressible de la maison quand « rien » n’est allumé : frigo, box internet, VMC, veille des appareils. Chez moi, ce talon justifiait une base de production, mais pour atteindre la rentabilité sur 6kWc, il fallait que je sois capable de déplacer mes gros consommateurs (Lave-linge, Sèche-linge, Lave-vaisselle, Cumulus) en journée. C’est ce potentiel de « déplacement de charge » qui a validé le projet.

2. L’Étude technique : Choisir sans se faire avoir

Une fois le besoin validé, il fallait choisir le matériel. Le marché du solaire est une jungle où côtoient artisans passionnés et éco-délinquants. Voici mes choix techniques et, surtout, pourquoi je les ai faits.

Autoconsommation avec vente du surplus : Le choix logique

J’ai opté pour le modèle standard : je consomme ce que je produis en priorité, et ce que je ne consomme pas est injecté automatiquement dans le réseau et vendu à EDF OA (Obligation d’Achat).

En octobre 2023, ce contrat garantissait un tarif de rachat fixe (autour de 13 cts/kWh) pendant 20 ans. C’est une sécurité financière majeure qui permet d’amortir l’installation même si je ne suis pas à la maison pour consommer.

Le Matériel : DualSun et Enphase, le couple franco-américain

Pour mon installation de 6 kWc, j’ai retenu :

  • 16 Panneaux DualSun FLASH 375 Half-Cut (Total : 6000 Wc)
  • 16 Micro-onduleurs Enphase IQ8M
  • Une passerelle de communication Enphase Envoy S-Metered

Pourquoi ce choix ?

  1. Les Panneaux DualSun (375 Wc) : C’est une marque française (fabriqué en Asie, soyons honnêtes, mais ingénierie française). La technologie « Half-Cut » (demi-cellules) permet une meilleure gestion de l’ombrage partiel et réduit les pertes résistives. Ils sont robustes et esthétiquement sobres (cadre noir).
  2. Micro-onduleurs vs Onduleur Central : C’était le grand débat. J’ai choisi les micro-onduleurs Enphase IQ8M.

Pourquoi l’IQ8M ?

Contrairement à un onduleur central (type SMA ou Fronius) qui gère toute la chaîne en série (si un panneau lâche ou est à l’ombre, toute la chaîne chute), le micro-onduleur gère chaque panneau indépendamment.

Mais pourquoi le modèle IQ8M ? C’est la dernière génération d’Enphase capable de créer un micro-réseau (bien que je n’utilise pas encore le mode « Sunlight Backup » sans batterie). Le suffixe « M » indique une puissance de sortie adaptée à mes panneaux de 375Wc. Avec un peak output power de 330VA, le ratio DC/AC est de 1.13, ce qui est excellent pour éviter l’écrêtage tout en maximisant la production en faible luminosité.

La parenthèse « Kits prêts à poser » et le piège du rendement

Avant de signer mon devis, j’ai évidemment regardé les kits « Plug & Play » qu’on trouve en magasin de bricolage. Sur le papier, c’est séduisant : pas d’artisan, on branche sur une prise, et c’est parti. Mais pour 6kWc, cette solution n’était pas viable, et il faut mettre en garde contre un mirage marketing fréquent.

Un panneau de 400W ne produira jamais 400W s’il est mal orienté. Les kits de balcon, souvent posés à la verticale (90°) ou avec une inclinaison approximative, perdent énormément de rendement par rapport à une installation toiture optimisée (généralement 30-35°).

Le piège, c’est de confondre la Puissance Crête (ce que le panneau peut sortir en laboratoire) et la Production Réelle (l’énergie utile).

Sur beaucoup de kits, l’onduleur est sous-dimensionné volontairement (pour respecter la limite d’injection sur prise simple). Vous achetez un panneau 420Wc, mais le micro-onduleur bride à 350VA. C’est ce qu’on appelle l’écrêtage. Ce n’est pas grave en soi, mais c’est une perte sèche en plein été. Pour mon projet de 6kWc, je voulais une cohérence totale entre la capacité des panneaux DualSun et celle des IQ8M pour récupérer chaque photon disponible.

3. L’Installation et la mise en service (Octobre 2023)

Une fois le matériel validé, place à l’action. L’installation s’est faite fin octobre 2023.

Poser 16 panneaux n’est pas anodin. Il faut gérer la répartition sur le toit, le passage des câbles DC sous les tuiles et la descente vers le tableau électrique. L’avantage des micro-onduleurs Enphase ici, c’est la sécurité : on ne descend pas du courant continu haute tension (dangereux en cas d’arc électrique) dans la maison, mais directement du courant alternatif 230V.

Côté administratif, il ne faut pas sous-estimer les délais. Entre la déclaration préalable en mairie (DP), la demande de raccordement Enedis et le passage du Consuel (obligatoire pour valider la sécurité électrique avant d’injecter), c’est un parcours qui demande de la patience. Dans mon cas, tout a été bouclé pour une mise en service effective fin 2023.

4. Production et Pilotage : La réalité des chiffres (2024-2025)

C’est ici que le geek prend le dessus. Après plus de deux ans de recul, je peux sortir le nez des estimations théoriques pour vous donner la réalité du terrain.

Les Outils de monitoring : Enphase Enlighten

Pour piloter le tout, j’utilise la passerelle Envoy S-Metered. Notez bien le « Metered ». Contrairement à la version standard qui ne mesure que la production, celle-ci utilise des tores de mesure (pinces ampèremétriques) placées sur l’arrivée générale de la maison.

Résultat : Je vois ce que je produis, mais surtout ce que je consomme et ce que j’importe/exporte en temps réel.

Sans cette visibilité, l’autoconsommation se fait à l’aveugle.

Production brute : 17,4 MWh en deux ans !

Voici les données extraites de mon suivi pour une puissance installée de 6 kWc :

AnnéeProduction TotaleRatio de performance (kWh/kWc)
20248.9 MWh~1 483 kWh/kWc
20258.5 MWh~1 416 kWh/kWc

Analyse des données :

  1. La variabilité météo : On note une baisse de production d’environ 4,5% entre 2024 et 2025. C’est normal. Le soleil n’est pas une constante absolue d’une année à l’autre.
  2. L’efficacité redoutable : Avec un ratio approchant les 1 500 kWh produits par kWc installé en 2024, mon installation performe extrêmement bien (la moyenne nationale se situe souvent entre 1100 et 1300 selon la région). L’association DualSun + Enphase fait des merveilles, aidée par une orientation/inclinaison quasi parfaite (33% d’inclinaison pour une orientation quasi plein sud) et une ventilation correcte des panneaux (qui perdent du rendement quand ils chauffent trop).

L’Autoconsommation : Le nerf de la guerre

Produire, c’est bien. Consommer, c’est mieux (financièrement).

  • Taux d’autoconsommation 2024 : 46%
  • Taux d’autoconsommation 2025 : 44%

Concrètement, cela signifie que je consomme directement environ 45% de ma production. Le reste (55%) provient du réseau.

Malgré mes efforts (départ différé des machines, chauffe-eau en journée), je stagne sous la barre des 50%. Pourquoi ? Parce qu’en été, les journées sont longues et la production explose (parfois 40 kWh/jour), bien au-delà des besoins de la maison. Sans batterie physique ou véhicule électrique à charger le week-end, il est difficile de monter plus haut sur une installation de 6kWc. C’est là que la vente du surplus devient vitale pour la rentabilité.

5. L’Heure du bilan : Rentabilité et ROI réel

Parlons cash. On entend tout et n’importe quoi sur la rentabilité du solaire. Voici mes chiffres réels, facture à l’appui, sans filtre.

Le coût final de l’opération

Pour une installation de 6 kWc clés en main (matériel + pose + démarches), la facture s’est élevée à :

  • Investissement initial : 13 900 € TTC
  • Prime à l’autoconsommation (État) : – 2 000 €
  • COÛT RÉEL FINAL : 11 900 €

Scénario 1 : Ma réalité (Contrat 2023)

Avec un taux d’autoconsommation d’environ 45% (les 55% restants provenant du réseau) et un tarif de rachat du surplus figé à 0,13 €/kWh (le tarif en vigueur lors de ma demande), voici mon rendement annuel moyen (basé sur une moyenne de 8,7 MWh/an) :

  1. Économies sur facture (Autoconsommation) :~3 915 kWh que je n’ai pas achetés à EDF (base 0,25€/kWh) = 978 € d’économies.
  2. Vente du surplus (Injection) :~4 785 kWh vendus à EDF OA (0,13€/kWh) = 622 € de revenus.

Gain annuel total : ~1 600 €

Retour sur Investissement (ROI) : 11 900 € / 1 600 € = 7,4 ans.

Verdict : Un amortissement en moins de 7 ans et demi pour un matériel garanti 20 ou 25 ans, c’est un placement financier imbattable, bien supérieur à n’importe quel Livret A.

Scénario 2 : Si c’était à refaire aujourd’hui (Le piège des 4 centimes)

C’est ici que mon article doit vous servir d’alerte. Les règles du jeu ont changé. Récemment, le tarif de rachat du surplus a chuté drastiquement pour avoisiner les 0,04 €/kWh (selon les trimestres). Refaisons le calcul avec ce nouveau paramètre, en gardant la même installation :

  1. Économies sur facture : 978 € (Inchangé).
  2. Vente du surplus (Nouveau tarif) :~4 785 kWh * 0,04 € = 191 € (au lieu de 622 € !).

Gain annuel total : ~1 169 €

Nouveau ROI : 11 900 € / 1 169 € = 10,2 ans.

Cette chute du tarif de rachat bouleverse la stratégie.

  • En 2023 (mon cas) : La vente du surplus était un pilier de la rentabilité. Je pouvais me permettre d’injecter quasiment 60% de ma production sans trop de douleur.
  • Aujourd’hui : Vendre à 4 centimes ne couvre presque plus rien. La priorité absolue n’est plus de produire beaucoup, mais de tout consommer. Cela remet en lumière l’intérêt des batteries virtuelles ou physiques, qui étaient économiquement non-viables il y a deux ans mais qui, avec un rachat si faible, redeviennent une option à étudier sérieusement pour ne pas « gâcher » 60% de sa production.

6. Conclusion

Après plus de deux ans, est-ce que je regrette mes 11 900 € ? Absolument pas.

Produire 17,4 MWh d’énergie verte depuis mon toit est une satisfaction quotidienne. Voir mon compteur Linky afficher « 0 VA » de consommation alors que le four et la machine à laver tournent est un plaisir dont on ne se lasse pas.

Techniquement, le couple DualSun / Enphase est d’une stabilité exemplaire : aucune panne, monitoring précis, production au rendez-vous.

Cependant, si vous vous lancez aujourd’hui, ne copiez pas aveuglément mon modèle économique. Faites vos calculs avec le tarif de rachat actuel. Si vous ne pouvez pas déplacer vos consommations en journée, le ROI risque de s’éloigner. Le solaire reste rentable, mais il demande désormais d’être encore plus intelligent sur son pilotage.

Read More