mardi 14 juillet 2026

Bientôt le Steam Frame

Le Steam Frame devrait sortir incessament sous peu - Et je suis dans les starting blocks. En particulier, j'ai commencé à m'intéresser à la possibilité de coder avec, et ça semble plutôt bien parti.

L'option haut niveau, ça sera Godot ou Unity, qui semblent fournir des solutions clé en main, en gros on configure que c'est pour le Steam Frame, et ça marche tout seul (bon, en fait, c'est probablement un poil plus compliqué que ça, mais quand même).

L'option bas niveau, c'est notre bonne vieille SDL, et en particulier la SDL3 qui vient avec tout un tas d'abstractions au dessus des bibliothèques de type Vulkan. En particulier, je salive devant l'exemple du cube, qui semble débarquer avec tout ce dont on a besoin pour commencer à construire quelque chose. Ce sera intéressant de voir si l'on peut également tenter d'utiliser Vulkan Scene Graph.

Je risque de lutter un peu avec la cross-compilation, même si apparemment la solution la plus simple sera de compiler directement sur le casque. J'ai hâte !

jeudi 28 mai 2026

La commande llama.cpp qui fonctionne pour moi

HIP_VISIBLE_DEVICES=0 ./llama-server -a Devstral-Small-2507 -m ~/Devstral-Small-2-24B-Instruct-2512-Q4_K_M.gguf -c 64000 -fa on -ngl 99 --jinja --host 0.0.0.0 -nkvo

Rapidement, parce qu'il est tard, et que je dois aller me coucher. Ce qui marche: HIP_VISIBLE_DEVICES=0 pour viser le GPU discret, le modèle Devstral-Small-2-24B-Instruct-2512-Q4_K_M.gguf qui fonctionne bien en agentique et tient tout juste dans mes 16 GB de VRAM, -c 64000 pour le contexte (que l'on peut augmenter à volonté, grace au -nkvo), le --jinja pour s'assurer que la couche agentique fonctionne, et le -nkvo qui pousse le contexte en RAM, ce qui ralentit un peu (mais pas tant que ça!), mais surtout permet d'augmenter grandement le contexte et de permettre des tâches nettement plus avancées.

jeudi 21 mai 2026

Une boucle agentique

Un poil avares de documentation, chez Mistral ! Il a fallu se battre, mais j'ai finalement quelque chose d'un peu intégré. Mon idée : avoir Mistral Vibe qui tente de corriger les issues Github associées à mon projet.

Première étape, avoir Vibe qui cause à Github. C'est possible via le serveur MCP de Github, dont la configuration est simple, ou du moins le serait si la doc aidait un petit peu. Ce qui a fonctionné chez moi, c'est de créer un token sur Github, de lui donner accès à tous mes dépôts, et de lui donner accès en lecture et écriture aux pull requests. Ensuite, avec le token généré, j'enlève la ligne mcp_servers = [] si elle existe et j'ajoute ceci à mon ~/.vibe/config.toml:

[[mcp_servers]]
name = "github"
transport = "http"
url = "https://api.githubcopilot.com/mcp/"

[mcp_servers.headers]
Authorization = "Bearer letokendegithubquilestbô"

Ensuite, dans github, je fais /mcps et je vois qu'il détecte mon mcp github, et m'indique toute une liste d'outils. Super - On peut passer à la suite. Je peux lui demander de regarder la liste des issues du projet, prendre la première, la corriger, et faire une PR. Magie ! Il se lance et fait tout de manière autonome !

Ensuite, j'utilise la commande /loop pour faire tourner cela automatiquement. Un prompt qui semble marcher pas mal:

Look at list of issues for the current project. Take the first one that doesn't have an open PR, attempt to fix it. Do a fetch, then a reset on master, create a new branch from master, correct the issue, push the branch, and create a pull request, do not merge into master. If no such issue exists, stop.

Je peux m'en aller et le laisser tourner, et depuis n'importe quel appareil, vérifier l'avancée des correctifs, lever les issues, et fusionner les PRs!

mardi 19 mai 2026

Un setup de vibe coding en local qui fonctionne avec 16GB de VRAM (si on est patient)

J'étais arrivé à la conclusion qu'il n'est pas possible de vibe coder avec seulement 16GB de VRAM, et que je devais donc considérer mon AMD 7800XT comme suffisante pour du conversationel, mais pas pour de l'agentique.

Le problème principal est un problème de taille. Les gros modèles ne tiennent pas en mémoire, et les petits fonctionnent mal : soit ils partent en mode poisson rouge et racontent d'importe quoi, soit ils perdent la compréhension du protocole pour communiquer avec la GUI agentique.

Sauf qu'à force d'insister, j'ai compris plusieurs choses : d'une part, ollama, lorsqu'il détecte que la VRAM est basse, configure par défaut un tout petit contexte. D'autre part, ollama est capable de décharger une partie de la VRAM en RAM, ce qui est lent, mais doit continuer de fonctionner. Et c'est seulement lorsque l'on tente de changer de modèle qu'il s'emmelle les pinceaux et peut planter en ne trouvant plus de mémoire pour y charger le modèle.

Un setup qui marche chez moi, c'est donc devstral-small-2 avec 32K de contexte, en utilisant Mistral Vibe du côté client. Alors, c'est très lent - Compter plusieurs minutes entre chaque action de la boucle agentique, et plusieurs dizaines de minutes pour arriver au bout d'une requête ou feature, surtout si on lui demande de compiler (il se trompe beaucoup). Mais ça marche !

J'ai plein d'idées, principalement orientées vers l'idée de le laisser tourner en tâche de fond pendant que je fais autre chose (comme écrire des billets de blog).

mercredi 15 avril 2026

Nouveau mini-jeu

Parce que c'est l'occasion d'intégrer les dessins de la petite, je me suis lancé dans un nouveau mini-jeu. Et j'ai bataillé beaucoup trop longtemps avec Godot avant de finalement repasser à mon bon vieux sfml. Pour un jeu complexe, avec beaucoup d'animations ou même en 3D, il n'y a pas photo. Mais pour un bête truc qui affiche 3 images, revenir aux fondamentaux, c'est plutôt plaisant.

mardi 24 mars 2026

pySpice retrospective

J'ai (presque) complété l'implémentation Unity3D, j'ai pu aider à la game jam, tout va bien. Au final, avec les outils modernes, tout cela va quand même rudement vite - Un jeu presque complet en 200 lignes de Python, et encore moins en Godot ou Unity? C'est impressionnant.

vendredi 20 mars 2026

La même en Godot!

En une petite journée, j'ai pu porter pySpace vers gdSpace. Très intéressant - Certaines choses sont nettement plus élégantes, d'autres moins, mais ça reste un bon système (peut-être un poil plantogène?). Hâte de passer à Unity3D!