LLM Perks

Les modèles gratuits d’OpenCode comme chaîne de production de sites : 8 modèles comparés sur des projets réels

9 lancements, 8 sites terminés : qui construit le plus vite, qui déploie le plus sûrement et dont les articles sont les plus approfondis.

Experiment
Sites sur modèles gratuits
🤖
Alertes de modèles gratuits sur Telegram @freellms_bot envoie les nouveaux modèles gratuits et les bons plans IA.
→

En octobre 2026, nous avons fait passer huit modèles gratuits d’OpenCode par une même chaîne : un brief de niche, un modèle de prompt, puis l’agent écrit seul un site-catalogue en Astro, corrige le build, recherche un article sur le web, peaufine le site et le publie sur Vercel. Pas de clé API, rien à payer. Résultat : 8 sites fonctionnels de 19 à 21 pages, zéro lien interne cassé et un écart net entre les modèles en vitesse, fiabilité et qualité de rédaction.

En bref

  • Pour le build et le déploiement, Beam s’en sort le mieux : site en 12 minutes, article en 7, déploiement en 11, sans incident. Il n’est pas disponible dans plusieurs pays, dont la Russie. Solution de repli : DeepSeek V4.1 Flash, qui n’a jamais cassé un build mais reste lent sous charge.
  • Pour les articles, MiniMax M3.1 Flash écrit les textes les plus approfondis, mais l’agent va rarement au bout seul et laisse des fautes de frappe. Un choix plus régulier : GLM-5.3-Flash.
  • Mieux vaut attribuer un modèle à chaque étape qu’à chaque site. La même chaîne peut être composée de modèles différents.
  • Deux modèles sur huit n’ont rien donné : le site de Flint 40B ne s’est pas construit, et LongCat 2.5 Preview n’a pas répondu à la requête de test.

Comment la chaîne est construite

Chaque site a un brief JSON : niche, public, exemples de services, champs de filtres propres à la niche, sujet de l’article, nom du projet. Un script injecte le brief dans le modèle de prompt et lance l’agent avec opencode run -m opencode/<modèle> (documentation de la CLI). Chaque étape est une session neuve, avec un délai maximal de 60 minutes et une nouvelle tentative en cas d’échec de l’agent.

brief (JSON) ─► modèle de prompt ─► opencode run -m opencode/<modèle>

1. site            site Astro : données, pages, balisage SEO
2. npm run build   vérification par script ; en cas d’erreur — fix-build (jusqu’à 2 fois)
3. article         10–12 k caractères, recherche web
4. deploy          logos, image OG, vérification des liens, vercel deploy --prod
5. contrôle        200 sur l’accueil et l’article, métriques de qualité

Ce que couvre chaque étape :

  • Site. Astro statique sans framework d’interface, 12 services réels dans tools.json, un accueil avec filtres et tri, une page par service, un comparatif, une section d’articles avec trois textes, « À propos », une 404, du JSON-LD, un sitemap et un robots.txt.
  • Correction du build. L’agent reçoit le texte de l’erreur et modifie le code jusqu’à ce que npm run build réussisse.
  • Article. L’agent cherche lui-même sur le web (outils intégrés websearch et webfetch), choisit la structure et écrit dans un style informatif : chiffres, tableaux, pas de remplissage.
  • Finitions et déploiement. Logos des services, accords corrects après les nombres, image OG de 1200×630, vérification de tous les liens internes dans dist/, puis déploiement avec la CLI Vercel et contrôle des adresses en ligne.

Modèle abrégé de l’étape « site »

Les modèles de travail étaient en russe ; voici une version abrégée et traduite :

Tu construis un site-catalogue statique dans le dossier COURANT. Travaille uniquement dedans.

## Niche
« {{NICHE}} » — catalogue et classement. {{NICHE_DESCRIPTION}}
Public : {{AUDIENCE}}. Langue du site : russe.

## Stack (strict)
- Astro, output: 'static', sans SSR ni adaptateur.
- Pas de React/Vue : uniquement des composants .astro et du CSS simple.
- Pas de générateurs interactifs : crée package.json à la main.

## Données
src/data/tools.json — {{COUNT}} services réels et existants.
Champs : slug, name, url, short, description, free_plan, price_from,
features, pros, cons, best_for, rating + {{FILTER_FIELDS}}.

## Pages
/ (filtres JS, grille de cartes), /tools/[slug]/, /compare/,
/articles/ + 3 articles, /about/, 404.

## Terminé quand
npm run build passe sans erreur, dist/ contient toutes les pages,
le sitemap et robots.txt.

Fichiers temporaires uniquement dans ./.tmp/. /tmp et les chemins hors du projet sont bloqués.

Conditions de l’expérience

  • Dates : 21 et 22 octobre 2026.
  • Modèles : huit modèles gratuits d’OpenCode : Beam, DeepSeek V4.1 Flash, GLM-5.3-Flash, MiniMax M3.1 Flash, MiMo-V2.6-Flash, Nemotron 3 Ultra, Flint 40B, LongCat 2.5 Preview.
  • Tâches : 9 lancements, une niche par site. Ce sont des catalogues de services sur des thèmes variés ; les niches ne sont pas révélées dans cet article.
  • Charge : jusqu’à 6 sessions simultanées. Les durées des tableaux sont gonflées par le travail en parallèle — voir plus bas.
  • Échantillon : un ou deux sites par modèle. C’est une comparaison sur des tâches concrètes, pas un benchmark.

Synthèse par modèle

ModèleSitesSite → article → déploiement, minArrivé en productionÀ retenir
Beam112 → 7 → 11seul, sans incidentLe plus rapide et le plus fiable. Indisponible depuis la Russie
DeepSeek V4.1 Flash260–68 → 18 → 24–37seul dans 1 lancement sur 2Constructeur fiable, aucune correction de build. Lent sous charge
GLM-5.3-Flash127 → 9 → 29après un redémarrage du déploiementRésultat régulier, l’article le plus riche en tableaux (5 tableaux)
MiniMax M3.1 Flash225–28 → 5–6 → 55–1450 sur 2 seulArticles les plus approfondis et auto-vérification, mais blocages et fautes de frappe
MiMo-V2.6-Flash145 → 31 → 29après un redémarrageLent, article à la structure plus pauvre
Nemotron 3 Ultra125 → 47 → 27seulArticle très lent, restes de balisage dans les titres
Flint 40B0—nonLe site ne s’est pas construit en 3 essais : point d’accès indisponible
LongCat 2.5 Preview0—nonErreur serveur à la requête de test

Le temps de déploiement inclut les redémarrages de l’étape : avec MiniMax, un point d’accès indisponible et des sessions fermées ont obligé à relancer l’étape.

Métriques par lancement

LancementSite, minArticle, minDéploiement, minCorrections de buildPagesArticle, caractèresH2 / tableaux / liens externes
Beam1271102111 94010 / 2 / 2
GLM-5.3-Flash2792902112 8579 / 5 / 0
DeepSeek V4.1 Flash, n° 160 (délai dépassé)183702111 9219 / 2 / 0
DeepSeek V4.1 Flash, n° 268182402110 63910 / 2 / 4
MiniMax M3.1 Flash, n° 12555502111 1989 / 4 / 0
MiniMax M3.1 Flash, n° 228614502111 44510 / 1 / 1
MiMo-V2.6-Flash45312912111 9809 / 1 / 0
Nemotron 3 Ultra25472711912 5408 / 3 / 7
Flint 40B9——2 (sans succès)———

Le premier lancement de DeepSeek a atteint le délai de 60 minutes à l’étape « site », mais le build est passé. À titre de comparaison, un lancement isolé de DeepSeek a pris 14 minutes pour le site, 3 de plus pour corriger le build, 4,5 pour l’article (environ 11 k caractères et 10 recherches web) et 9 pour les finitions et le déploiement. Sous charge parallèle, l’étape « site » du même modèle a été 4 à 5 fois plus longue.

Ce que donnent les sites terminés

  • 0 lien interne cassé sur les 8 sites, 0 phrase de service dans le texte public.
  • 19 à 21 pages par site, 12 services avec logos, l’accueil et l’article répondent 200.
  • Articles de 10,6 à 12,9 k caractères, 8 à 10 sections, de 1 à 5 tableaux. Les formules toutes faites apparaissent de 0 à 3 fois par article.
  • Le design est correct partout, mais les modèles convergent vers un même style par défaut : fond crème, titres à empattements, étiquettes monospace en majuscules. Pour un réseau de sites qui ne doivent pas se ressembler, fixez le style dans le brief : palette, polices, forme des cartes.

Les modèles un par un

Beam

Le lancement le plus rapide et le seul sans aucun incident : 30 minutes entre un dossier vide et un site en ligne. Un article de 11,9 k caractères, 10 sections, texte propre. La limite est la disponibilité : Beam est bloqué dans plusieurs pays, dont la Russie (par IP).

DeepSeek V4.1 Flash

N’a jamais cassé un build et a écrit des articles soignés avec peu de formules toutes faites. Avec six sessions en parallèle, l’étape « site » a pris 60 à 68 minutes. Dans l’un des deux lancements, l’agent s’est fermé lui-même : il a utilisé un dossier temporaire hors du projet, et OpenCode a terminé la session.

GLM-5.3-Flash

L’article le plus long (12,9 k caractères) et cinq tableaux. Le brouillon contenait des mots hybrides mêlant lettres latines et cyrilliques, que le modèle a repérés et nettoyés seul pendant les finitions. L’échec du déploiement venait d’un conflit dans la base d’OpenCode, pas du modèle.

MiniMax M3.1 Flash

La meilleure matière : les articles les plus approfondis et une auto-vérification — l’agent a écrit ses propres scripts pour contrôler les liens et la mise en page avec Playwright. Points faibles : blocages, point d’accès indisponible, fautes de frappe. Aucun des deux lancements n’est arrivé en production sans redémarrage manuel.

MiMo-V2.6-Flash

Site en 45 minutes, article en 31, une correction de build. L’article compte un tableau et aucun lien externe. Cela fonctionne, mais c’est plus lent et plus pauvre que les autres.

Nemotron 3 Ultra

Le site a été prêt en 25 minutes plus une correction de build (22 minutes de plus), et l’article a pris 47 minutes. Des ancres comme {#formatting-issues} sont restées dans les titres, certains liens utilisent l’adresse comme texte, et il y a 19 pages au lieu de 21. En contrepartie, il compte le plus de liens externes : 7.

Ce qui a cassé et comment c’est réglé

ProblèmeCauseSolution
« Failed to execute statement » en lancements parallèlesTous les sites étaient dans un seul dépôt git, donc un seul projet dans la base locale d’OpenCodeUn git init distinct pour chaque site
La session se ferme en pleine étapeL’agent utilise /tmp, et l’accès hors du projet est bloquéRègle dans chaque modèle : fichiers temporaires uniquement dans ./.tmp/
Une étape reste bloquée des heuresBlocage du modèle ou du point d’accès ; opencode run --continue se figeait aussiDélai de 60 minutes, session neuve à chaque étape, une nouvelle tentative en cas d’échec
Des serveurs locaux restent actifsL’agent vérifiait le site sans arrêter le serveurRègle : arrêter le serveur après la vérification
Concurrence pour les ressources6 sessions à la foisLimite raisonnable : 2 à 3 sessions en parallèle

Conditions de l’accès gratuit

  • Uniquement via OpenCode. Une requête API directe à un modèle gratuit renvoie 403 FreeTierError en précisant que l’offre gratuite ne fonctionne qu’à l’intérieur d’OpenCode. Aucune clé n’est nécessaire.
  • La recherche web est gratuite. La recherche intégrée à OpenCode passe par le serveur d’OpenCode et ne demande aucun abonnement distinct.
  • La liste change chaque jour. Pendant l’expérience, deux modèles gratuits ont disparu de la liste en une journée et MiniMax est apparu. La liste à jour figure sur la page OpenCode et dans la documentation.

Les politiques de données diffèrent selon les modèles :

ModèleCe que l’on sait sur les données
DeepSeek, GLM, MiniMax, LongCatLe fournisseur déclare une politique de zéro rétention : les requêtes ne sont pas conservées
MiMo, FlintLes données peuvent servir à l’entraînement
NemotronAccès d’essai NVIDIA avec journalisation des requêtes
BeamIndisponible dans plusieurs pays, dont la Russie

Pour des catalogues publics, ce n’est pas critique, mais évitez d’envoyer du code privé, des clés ou des données clients à des modèles susceptibles de s’entraîner sur les requêtes.

Conclusion : un modèle par étape, pas par site

ÉtapeQui attribuerPourquoi
Construire le site et corriger le buildBeam ; solution de repli — DeepSeek V4.1 FlashLe build le plus rapide et le plus fiable
DéploiementBeam ou DeepSeek V4.1 FlashBeam a terminé le déploiement sans redémarrage, DeepSeek dans un lancement sur deux
ArticleMiniMax M3.1 Flash avec relecture, ou GLM-5.3-FlashProfondeur et tableaux ; MiniMax demande de vérifier les fautes de frappe, GLM les mots hybrides
Pas pour les longues étapesNemotron 3 Ultra, MiMo-V2.6-FlashUn article prend 30 à 47 minutes, pour un résultat plus pauvre

Règles pratiques pour une chaîne de ce type :

  • Donnez à chaque site son propre dépôt git et à chaque étape une session neuve.
  • Limitez la durée d’une étape (60 minutes s’est avéré une borne raisonnable) et relancez en cas d’échec.
  • Interdisez les fichiers temporaires hors du dossier du projet : c’est la cause la plus fréquente des sessions fermées.
  • Lancez 2 à 3 sessions en parallèle plutôt que 6 : la durée d’une étape diminue nettement.
  • Fixez le style dans le brief, sinon les sites seront identiques.
  • Vérifiez le résultat par script : build, réponse 200, liens cassés, phrases de service dans le texte.

Si vous configurez OpenCode pour la première fois, commencez par le guide Utiliser des LLM gratuits dans Cursor, Cline et OpenCode, et consultez la page des modèles gratuits pour programmer pour choisir un modèle.

LP
Rédaction LLM PerksL’équipe derrière l’index des API LLM gratuites. Nous vérifions les limites des fournisseurs et testons modèles et outils.

À lire aussi