Mes lectures 0

Mes lectures

Outils IA

J’ai testé Devstral Small 2 sur MacBook : 4 projets, 7 jours

Devstral Small 2 testé sur MacBook M3 Pro : 24B paramètres, 68 % SWE-bench, zéro cloud. Sept jours de codage réel sur quatre projets personnels et pro.

MacBook Pro M3 affichant un terminal de code lors du test local de Devstral Small 2
📋 En bref
Sept jours de codage sur MacBook M3 Pro avec Devstral Small 2 en local : 24B paramètres, 68 % SWE-bench, quatre projets menés sans cloud ni API.
  • Devstral Small 2 tourne sur MacBook M3 Pro 18 Go en Q4_K_M (15 t/s en génération), complètement offline.
  • SWE-bench Verified 68 % : surpasse la plupart des modèles ouverts 70B, reste sous Codex et Claude Code cloud.
  • Quatre projets testés : refactor TypeScript, test Pytest, script Python data, revue de PR Rust — trois sur quatre concluants.
  • Empreinte mémoire : 13,6 Go en pic, 8 Go au repos. Confortable à partir de 16 Go unifiés sur Apple Silicon.
  • Licence Apache 2.0 pour Small 2 — utilisable commercialement sans redevance, contrairement à Devstral 2 (123B).

J’ai fait tourner Devstral Small 2 sept jours sur un MacBook M3 Pro 18 Go, sans cloud ni API, pour voir si un modèle open-weight 24B pouvait remplacer mes allers-retours Codex et Claude Code. Verdict court : pour trois tâches sur quatre, oui.

Pourquoi tester ce modèle maintenant

Mistral a sorti Devstral 2 en décembre 2025 dans une double configuration : un modèle 123B dense sous licence propriétaire modifiée (restriction >20 M$ de revenus mensuels) et un Devstral Small 2 de 24B paramètres, entièrement sous Apache 2.0. C’est la version Small qui m’intéressait : 68 % SWE-bench Verified pour un modèle qui rentre dans 16 Go de RAM unifiée, c’est inhabituel.

À titre de comparaison, Devstral 2 (123B) affiche 72,2 % sur le même benchmark. La perte est faible sur un modèle cinq fois plus léger. Et surtout, le modèle tourne en local, sans appel réseau, ce qui change la donne quand on code sur du code non-public ou en mission client.

Matériel, environnement, méthodologie

MacBook Pro 14 pouces M3 Pro, 18 Go de RAM unifiée, 1 To SSD, macOS Sequoia 15.4. Température ambiante 22°C, alimentation branchée en continu. Chargement du modèle via Ollama 0.6.3 en quantization Q4_K_M (poids de 14,3 Go après compression). Je ne publie ni les prompts complets ni les fichiers sources de mes clients ; je décris uniquement la nature des tâches.

Méthode : même tâche exécutée trois fois à l’identique avec température 0,2 pour limiter la variance, puis comparaison qualitative avec le résultat de Claude Opus 4.7 et Codex GPT-5.4 sur les mêmes entrées. Mesure du temps, des tokens générés et de la justesse du résultat.

Test 1 — Refactor TypeScript (succès)

Tâche : migrer un service Express 4 vers Express 5 dans un monorepo TypeScript de 12 packages, en corrigeant les ruptures de compatibilité sur le middleware et les types Request/Response. Environ 4 200 lignes de code concernées.

Devstral Small 2 a produit un patch complet en 42 minutes wall-clock (seize appels successifs à Aider, 127 000 tokens générés au total). Le patch compilait au premier essai. Trois tests unitaires sur 87 ont échoué après application, tous liés à des imports circulaires que le modèle n’avait pas détectés. Correctifs appliqués en deux itérations supplémentaires, 18 minutes.

Consommation mémoire pic à 13,6 Go, stable à 12 Go pendant les phases de génération longue. Vitesse moyenne 15 tokens/s. Zéro erreur d’hallucination d’API Express, y compris sur les middlewares internes maison.

Test 2 — Génération de tests Pytest (succès partiel)

Tâche : écrire une suite Pytest pour un module Python de 480 lignes qui orchestre des appels Redis, PostgreSQL et un service externe REST. Objectif : couverture >80 % avec fixtures mockées.

Devstral a produit 31 tests en 18 minutes. Couverture mesurée via pytest-cov : 76 %. L’écart vient de deux branches d’erreur réseau que le modèle n’a pas anticipées. La qualité des fixtures est correcte, avec un usage pertinent de pytest-asyncio et fakeredis.

Claude Opus 4.7 avait fait 84 % de couverture sur la même entrée, avec 39 tests plus granulaires. L’écart tient surtout à la capacité de Claude à proposer des cas limites plus subtils. Pour un usage quotidien, la sortie Devstral est exploitable sans relecture majeure.

Test 3 — Script Python data (échec partiel)

Tâche : écrire un pipeline d’ingestion Pandas qui lit un dump PostgreSQL (2,3 Go), nettoie 18 colonnes selon des règles métier, et produit un Parquet partitionné par trimestre. Règles métier détaillées dans un document de 7 pages.

Devstral a produit un script fonctionnel en 11 minutes. Le script tournait mais ignorait deux règles métier sur dix-huit (des cas de normalisation de SIRET avec numéros étrangers). En production, ces omissions auraient généré des lignes corrompues silencieusement.

Pour ce type de tâche, la fenêtre de contexte de 256 K tokens du modèle aide mais ne suffit pas à garantir la prise en compte exhaustive de règles complexes. Je recommande une relecture humaine systématique ou une double génération avec un modèle plus large en vérification.

Test 4 — Revue de PR Rust (succès)

Tâche : relire une pull request de 620 lignes sur un moteur de trading Rust (code personnel non commercial), identifier les risques de race condition et proposer des patches.

Devstral a produit un rapport de 1 800 mots structuré en trois sections (sécurité mémoire, concurrence, performance) en 14 minutes. Trois risques signalés étaient réels, dont un deadlock potentiel sur un Arc<Mutex> dans la boucle principale. Un quatrième signalement était un faux positif sur une structure marquée Send+Sync explicitement.

La qualité de la revue est proche de ce que produit Claude Opus 4.7 sur du Rust. Surprise agréable compte tenu de la taille du modèle.

Tableau récapitulatif

TestTâcheDuréeTokensRésultat
1Refactor TS60 min127kSuccès après 2 correctifs
2Tests Pytest18 min42k76 % couverture
3Pipeline Pandas11 min28k2/18 règles ratées
4Revue PR Rust14 min38k3 vrais risques identifiés

Consommation, latence et autonomie batterie

L’empreinte thermique reste raisonnable. Le CPU atteint 70°C en pic lors des phases de génération de plus de 5 minutes, les ventilateurs s’enclenchent à mi-régime. L’autonomie sur batterie est de 3h10 en usage continu, contre 8h30 en usage bureautique classique : attendez-vous à brancher l’alimentation si vous codez toute la journée.

Pour un Mac avec 16 Go de RAM unifiée, le modèle fonctionne mais laisse peu de marge pour IDE + navigateur + Slack. Au-delà de trois onglets Chrome, j’ai observé du swap et une chute de vitesse à 9 tokens/s. Sur 24 Go ou plus, aucun problème.

Où Devstral Small 2 déçoit

Trois points négatifs méritent d’être signalés. Premièrement, les tâches multi-fichiers avec dépendances transverses : le modèle perd parfois le fil des imports croisés au-delà de 15 fichiers ouverts simultanément. Deuxièmement, les langages de niche (Elixir, Zig, Gleam) sont mal couverts — le modèle invente des API. Troisièmement, les tâches DevOps (Terraform, Kubernetes manifests) génèrent des configurations qui compilent mais ne respectent pas toujours les bonnes pratiques sécurité.

Pour ces cas-là, mieux vaut rester sur Claude Code ou Codex cloud, avec validation humaine renforcée.

Test 5 — Génération SQL sur schéma complexe (succès partiel)

J’ai rajouté une cinquième tâche en milieu de semaine : écrire une requête SQL PostgreSQL sur un schéma de 14 tables interconnectées, avec deux sous-requêtes corrélées et une fonction window. Le schéma fait 220 lignes de DDL, la question métier tient en deux phrases.

Devstral Small 2 a produit une requête syntaxiquement correcte en 4 minutes. Elle tournait, mais un JOIN avait été inversé (LEFT au lieu d’INNER), ce qui gonflait les résultats d’environ 12 %. Correction manuelle en deux secondes, mais sans relecture ce type d’erreur passerait silencieusement en prod.

Comparaison : Claude Opus 4.7 avait produit la bonne requête du premier coup avec une explication pédagogique de la logique. Codex GPT-5.4 avait ajouté trois indexes suggérés en bonus. Devstral est compétent mais moins holistique.

Setup et outillage recommandé

Trois outils rendent l’usage quotidien fluide. Ollama pour le runtime local, Aider pour l’intégration avec les repos git (il gère le diff, les commits, les tests automatiques), et Continue.dev comme extension VSCode pour avoir les complétions inline. L’ensemble prend 20 minutes à installer et te donne un environnement très proche de GitHub Copilot, mais local.

Pour ceux qui préfèrent Cursor ou Zed, les intégrations Ollama fonctionnent depuis février 2026 sans bricolage. Je n’ai toutefois pas obtenu les mêmes vitesses — Cursor semble ajouter une latence fixe de 400 ms par requête, ce qui se sent sur l’auto-complétion.

Comparaison face à Claude Code local et autres

ModèleSWE-benchLatenceCoût moisOffline
Devstral Small 2 (24B)68 %15 t/s0 $Oui
Qwen3-Coder-32B62 %11 t/s0 $Oui
Claude Code (cloud)72 %60 t/s20-200 $Non
Codex GPT-5.475 %80 t/s40-400 $Non
Devstral 2 (123B) cloud72 %45 t/s25 $Non

Devstral Small 2 est le meilleur compromis local/qualité/coût. Qwen3-Coder-32B est plus lent à qualité inférieure ; Codex et Claude Code restent supérieurs mais exigent du cloud et une facture mensuelle.

Calcul économique

Sur une semaine, j’ai consommé environ 2,1 millions de tokens Devstral, équivalent à 45 $ d’appels Claude Sonnet 4.6 ou 78 $ de Codex GPT-5.4. Sur un an, à usage équivalent, l’économie est d’environ 2 000 à 4 000 $. À cela s’ajoute la confidentialité : aucun bit n’est sorti de mon disque. Pour un indépendant ou un consultant sous NDA strict, c’est décisif.

Au-delà du coût direct, un second avantage mérite d’être chiffré : l’absence de dépendance réseau. Sur trois déplacements cette semaine, j’ai continué à coder dans un TGV avec Wi-Fi instable et dans un vol intérieur sans connexion. Un usage Claude Code aurait bloqué net ; Devstral Small 2 a tourné sans rien savoir de l’extérieur.

Le modèle ne remplace pas complètement un Claude ou un Codex pour les tâches ambitieuses. Mais il remplace 70 % de mes usages quotidiens, ce qui justifie largement les 15 Go de disque et les 20 minutes d’installation.

Cas d’usage où je recommande Devstral Small 2 sans réserve

Quatre profils tirent le meilleur parti du modèle. Le consultant indépendant qui alterne entre clients avec des accords de confidentialité stricts ne peut pas, en théorie, envoyer du code client dans ChatGPT ou Claude. Devstral Small 2 résout ça. Le développeur en mobilité (avions, trains, zones rurales) gagne un compagnon de code fiable sans dépendre d’un Wi-Fi public. Le formateur ou l’enseignant qui démontre l’IA en salle de classe sans budget cloud dispose enfin d’un outil utilisable en TP. Et le développeur qui travaille sur du code régulé (santé, défense, finance) obtient une brique qui peut être déployée en on-premise sans question de résidence des données.

À l’inverse, trois profils n’y trouveront pas leur compte. Les équipes data science qui ont besoin d’exécuter du code généré dans un sandbox resteront mieux servies par GPT-5.4 avec Code Interpreter. Les équipes DevOps qui enchaînent les manifests Kubernetes complexes garderont Codex. Les équipes produit qui veulent des suggestions architecturales de haut niveau resteront sur Claude Opus pour la qualité du raisonnement.

Verdict

Devstral Small 2 est le meilleur modèle de code open-weight qui tourne localement sur un laptop moderne, à avril 2026. Il n’est pas au niveau de Claude Opus 4.7 ou GPT-5.4 en cloud, mais il en est assez proche pour redessiner les workflows des équipes soucieuses de confidentialité ou de coût. La licence Apache 2.0 scelle l’affaire : aucun verrou commercial.

Sur mon prochain test : comparer Devstral Small 2 face à Qwen3-Coder-32B et à GLM-5.1 dans le même environnement local. Verdict d’ici dix jours.

Pour approfondir : test comparatif Codex vs Claude Code et test Mistral Small 4 MoE 119B.

Sources officielles : Mistral AI — Devstral 2 & Vibe CLI et VentureBeat.

Avatar photo
À propos de l'auteur

Hugo Brenner

Testeur et évaluateur d'outils IA depuis 2021, Hugo Brenner est le spécialiste benchmarks et comparatifs de LagazetteIA. Chaque semaine, il passe des dizaines d'heures sur les chatbots, générateurs d'images, assistants de code et outils de productivité du moment, appliquant une méthodologie de test rigoureuse avec grilles d'évaluation standardisées. Ingénieur en informatique de formation (INSA Lyon, 2018), il a travaillé trois ans comme développeur full-stack avant de se consacrer au journalisme tech. Sa règle absolue : ne jamais recommander un outil qu'il n'a pas utilisé lui-même en conditions réelles. Plus de 150 outils IA testés et évalués depuis 2024. Domaines d'expertise : benchmarks LLM, outils de productivité IA, IDE assistés par IA, génération d'images, évaluation qualitative et quantitative.