[{"data":1,"prerenderedAt":385},["ShallowReactive",2],{"\u002Fblog\u002Fcloudflare-broke-stack\u002F:fr":3,"\u002Fblog\u002Fcloudflare-broke-stack\u002F-surround:fr":283,"blog-all-posts:fr":284},{"id":4,"title":5,"author":6,"body":10,"date":265,"description":266,"extension":267,"image":268,"locale":269,"meta":270,"minRead":271,"navigation":272,"original":273,"path":274,"pinned":273,"seo":275,"source":276,"sourceUrl":23,"stem":277,"tags":278,"updated":268,"__hash__":282},"blog\u002Fblog\u002Fcloudflare-broke-stack.fr.md","Meilleures pratiques 2026 de l'indie dev : le combo Cloudflare du radin",{"name":7,"avatar":8},"Chen Dahuang",{"src":9,"alt":7},"\u002Favatar.jpg",{"type":11,"value":12,"toc":251},"minimark",[13,28,36,41,158,162,167,170,174,177,181,184,206,210,213,217,237,241,244],[14,15,16],"blockquote",{},[17,18,19,20,27],"p",{},"Post épinglé, publié à l'origine sur ",[21,22,26],"a",{"href":23,"rel":24},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2066586160902881542",[25],"nofollow","X",", 40 000+ vues.",[17,29,30,31,35],{},"Meilleures pratiques 2026 de l'indie dev : ",[32,33,34],"strong",{},"le combo Cloudflare du radin",".",[37,38,40],"h2",{"id":39},"la-stack-en-un-coup-dœil","La stack en un coup d'œil",[42,43,44,60],"table",{},[45,46,47],"thead",{},[48,49,50,54,57],"tr",{},[51,52,53],"th",{},"Rôle",[51,55,56],{},"Choix",[51,58,59],{},"Coût",[61,62,63,75,86,97,107,118,128,138,148],"tbody",{},[48,64,65,69,72],{},[66,67,68],"td",{},"Écrire le code",[66,70,71],{},"Codex",[66,73,74],{},"Abonnement",[48,76,77,80,83],{},[66,78,79],{},"Versioning",[66,81,82],{},"GitHub",[66,84,85],{},"Gratuit",[48,87,88,91,94],{},[66,89,90],{},"Paiement",[66,92,93],{},"Stripe",[66,95,96],{},"Commission par transaction",[48,98,99,102,105],{},[66,100,101],{},"Front",[66,103,104],{},"TanStack Start",[66,106,85],{},[48,108,109,112,115],{},[66,110,111],{},"Back",[66,113,114],{},"Hono + Cloudflare Workers",[66,116,117],{},"Quota gratuit",[48,119,120,123,126],{},[66,121,122],{},"Déploiement",[66,124,125],{},"Cloudflare Pages",[66,127,85],{},[48,129,130,133,136],{},[66,131,132],{},"Base de données",[66,134,135],{},"Cloudflare D1",[66,137,117],{},[48,139,140,143,146],{},[66,141,142],{},"Stockage de fichiers",[66,144,145],{},"Cloudflare R2",[66,147,117],{},[48,149,150,153,156],{},[66,151,152],{},"Cache \u002F config",[66,154,155],{},"Cloudflare KV",[66,157,117],{},[37,159,161],{"id":160},"pourquoi-ce-combo","Pourquoi ce combo",[163,164,166],"h3",{"id":165},"codex-écrire-le-code-toute-la-stack","Codex : écrire le code, toute la stack",[17,168,169],{},"Le codage IA est déjà l'outil de productivité par défaut de l'indie dev. Le mode Agent de Codex compresse la chaîne « besoin → code → test → déploiement » au maximum : une seule personne fait le boulot d'une équipe.",[163,171,173],{"id":172},"front-tanstack-start-back-hono","Front TanStack Start + back Hono",[17,175,176],{},"TanStack Start est un framework React full-stack qui s'accorde bien avec l'écosystème Workers. Pour le back, Hono — un petit framework né pour Workers : routing, middlewares, inférence de types, tout est agréable, c'est léger et ça démarre vite.",[163,178,180],{"id":179},"base-d1-stockage-r2-cache-kv","Base D1 + stockage R2 + cache KV",[17,182,183],{},"Ce trio, c'est le cœur du quota gratuit Cloudflare :",[185,186,187,194,200],"ul",{},[188,189,190,193],"li",{},[32,191,192],{},"D1"," : base relationnelle compatible SQLite, le quota gratuit suffit largement pour un projet perso",[188,195,196,199],{},[32,197,198],{},"R2"," : stockage objet compatible S3, 10 Go gratuits, zéro frais de bande passante sortante — sur ce point ça écrase AWS",[188,201,202,205],{},[32,203,204],{},"KV"," : store clé-valeur distribué mondialement, parfait pour config, cache et sessions",[163,207,209],{"id":208},"déploiement-pages-toute-linfra-gratuite","Déploiement Pages + toute l'infra gratuite",[17,211,212],{},"Pages se branche direct sur un repo GitHub : push = déploiement, avec CDN et HTTPS intégrés. Domaine, DNS, CDN — tout est géré par Cloudflare en un seul endroit, et le quota gratuit porte une ligne de produits complète.",[37,214,216],{"id":215},"le-cœur-de-la-stratégie-du-radin","Le cœur de la stratégie du radin",[185,218,219,225,231],{},[188,220,221,224],{},[32,222,223],{},"Exploiter le quota gratuit à fond"," : DNS, CDN, Pages, Workers, KV, D1, R2, Tunnel, AI Gateway — tout ce qui est gratuit, on l'active",[188,226,227,230],{},[32,228,229],{},"Pas de thune tant qu'on peut se la couler douce"," : l'abonnement va uniquement là où il compte (Codex), le reste c'est de l'infra gratuite",[188,232,233,236],{},[32,234,235],{},"Une seule plateforme pour tout"," : pas besoin de sauter entre plusieurs clouds, la charge mentale d'ops est minimale",[37,238,240],{"id":239},"pour-qui","Pour qui",[17,242,243],{},"Les indie devs au budget serré qui veulent valider un produit vite ; les joueurs du codage IA qui ne veulent pas passer trop de temps sur l'infra ; et tous les projets « on lance d'abord, on verra après ».",[17,245,246,247,35],{},"Cloudflare, c'est le bodhisattva cybernétique de l'indie dev. Sans lâcher un centime, tu fais tourner un produit complet. Étape par étape : ",[21,248,250],{"href":249},"\u002Fblog\u002Ffree-cloudflare","Comment le tiers des gratos peut presser Cloudflare comme un citron",{"title":252,"searchDepth":253,"depth":253,"links":254},"",2,[255,256,263,264],{"id":39,"depth":253,"text":40},{"id":160,"depth":253,"text":161,"children":257},[258,260,261,262],{"id":165,"depth":259,"text":166},3,{"id":172,"depth":259,"text":173},{"id":179,"depth":259,"text":180},{"id":208,"depth":259,"text":209},{"id":215,"depth":253,"text":216},{"id":239,"depth":253,"text":240},"2026-06-15","La stack zéro coût de l'indépendant : Codex écrit le code, GitHub gère les versions, Stripe encaisse ; front TanStack Start, back Hono + Workers, base D1, stockage R2, cache KV — tout tourne sur Cloudflare.","md",null,"fr",{},6,true,false,"\u002Fblog\u002Fcloudflare-broke-stack",{"title":5,"description":266},"x","blog\u002Fcloudflare-broke-stack.fr",[279,280,281],"Cloudflare","Développement indépendant","Stack technique","BhhmTcL6Jbj2zBb0snXLyDgTxnTscUdNFqCtzdoLBCg",[268,268],[285,293,295,304,311,316,323,331,339,345,352,361,368,376],{"path":286,"title":287,"description":288,"date":289,"minRead":271,"tags":290},"\u002Fblog\u002Fagent-harness-selection","J'ai trifouillé Pi Agent, OMP, Codex et ZCode — voici pourquoi j'ai fini par choisir OpenCode + OpenChamber","Retour d'expérience sur le choix d'un Agent Harness : trois critères — expérience GUI, verrouillage fournisseur, liberté de développement — qui ont écarté Pi Agent, OMP, Codex et ZCode, pour atterrir sur le noyau OpenCode + l'interface OpenChamber.","2026-08-06",[291,292],"AI Agent","Choix d'outils",{"path":274,"title":5,"description":266,"date":265,"minRead":271,"tags":294},[279,280,281],{"path":296,"title":297,"description":298,"date":299,"minRead":271,"tags":300},"\u002Fblog\u002Fdeepseek-api-web-search","DeepSeek intègre la recherche web dans son API — la recherche officielle à l'œil via Responses API","DeepSeek a intégré la recherche web directement dans son API : il suffit d'appeler deepseek-v4-flash via l'interface Responses et de déclarer l'outil web_search. Pas besoin de moteur tiers, pas besoin de clé de recherche.","2026-08-05",[301,302,303],"DeepSeek","API","Outil IA",{"path":305,"title":306,"description":307,"date":299,"minRead":308,"tags":309},"\u002Fblog\u002Fdeepseek-v4-flash-review","DeepSeek V4 Flash en profondeur : pas cher, rapide, 1M de contexte, recherche intégrée","Quelques jours de test intensif de DeepSeek V4 Flash : pas cher à l'extrême, rapide comme l'éclair, 1M de contexte, recherche web intégrée par défaut, totalement open source. Seul point faible : le multimodale, mais on le comble en l'associant à d'autres modèles.",7,[301,310,303],"Test de modèle",{"path":249,"title":312,"description":313,"date":265,"minRead":314,"tags":315},"Comment presser Cloudflare comme un citron quand on est gratuit, jusqu'où va le plan gratuit ?","Le plan gratuit de Cloudflare peut supporter toute une infrastructure perso sur Internet : DNS, CDN, Pages, Workers, KV, D1, R2, email, Tunnel, AI Gateway, etc.",8,[279,117,122],{"path":317,"title":318,"description":319,"date":320,"minRead":314,"tags":321},"\u002Fblog\u002Fmodel-harness-decoupling","Le Harness first-party n'est pas forcément la réponse du moment : à l'ère des modèles ouverts, choisissez le modèle et le Harness séparément","Claude ? Donc Claude Code. À l'ère des modèles ouverts, cet instinct mérite une mise à jour. L'avantage first-party est réel, mais entraîner un bon modèle et construire un bon Harness sont deux ingénieries différentes — cet article explique pourquoi modèle et Harness peuvent désormais se choisir séparément, avec une carte de positionnement de cinq Harness.","2026-09-09",[291,322,292],"Harness",{"path":324,"title":325,"description":326,"date":320,"minRead":314,"tags":327},"\u002Fblog\u002Fopencode-productive-stack","Stable, rapide, productif, pas cher : mon AI Coding stack complet, documenté","OpenCode + OpenChamber + deux abonnements DeepSeek V4 Flash : 15 projets compilent du code en même temps et le quota bouge à peine. Toute ma configuration dévoilée — élagage de Context, mémoire à étages, automatisation du bureau, et la leçon « rester avec la combinaison d'origine ».",[328,329,330],"OpenCode","Programmation IA","Configuration",{"path":332,"title":333,"description":334,"date":335,"minRead":336,"tags":337},"\u002Fblog\u002Fproduct-faxin-principle","Le principe de l'intention première : pourquoi l'indie dev doit savoir lâcher prise","Pourquoi tu pars ? Pour qui tu pars ? Quel problème tu veux vraiment résoudre ? La netteté d'un produit vient de ce qu'on accepte de perdre et d'abandonner.","2026-06-20",10,[338,280],"Pensée produit",{"path":340,"title":341,"description":342,"date":335,"minRead":314,"tags":343},"\u002Fblog\u002Fproduct-pain-vs-itch","Quand l'utilisateur dit « génial », ne monte pas sur ton nuage : douleur vs. démangeaison","L'approbation verbale ne vaut pas un clou. Pour juger un besoin, un seul critère dur : ce que l'utilisateur est prêt à débourser.",[338,344],"Jugement du besoin",{"path":346,"title":347,"description":348,"date":289,"minRead":349,"tags":350},"\u002Fblog\u002Fqwen-vision-for-deepseek","Apporter le multimodal à DeepSeek : la solution de lecture d'images Qwen-3.7-Flash","DeepSeek V4 Flash n'a pas de multimodal ; et pour lire les images ? Après comparaison, la solution au meilleur rapport qualité\u002Fprix est Qwen-3.7-Flash : coût de reconnaissance d'une image ultra bas, combinée à V4 Flash pour combler le manque.",5,[301,351,310],"Multimodal",{"path":353,"title":354,"description":355,"date":356,"minRead":357,"tags":358},"\u002Fblog\u002Fsub-store-cloudflare","J'ai déplacé mon agrégateur d'abonnements vers Cloudflare","Plusieurs fournisseurs plus des nœuds maison, le tout concassé dans un seul abonnement ; les règles de routage configurées côté serveur, et le client n'a plus qu'à s'abonner.","2026-06-28",4,[279,359,360],"Réseau","Projet open source",{"path":362,"title":363,"description":364,"date":320,"minRead":308,"tags":365},"\u002Fblog\u002Ftui-cognitive-bandwidth","Le TUI est en train de tuer votre bande passante cognitive : le « filtre geek » de l'AI Coding devrait se briser","Une flopée d'AI Coding Agents se précipitent pour sortir des TUI, refourbent l'interaction dans le paradigme terminal des années 80 et appellent ça « immersif » et « respectueux des développeurs ». Cet article démonte les trois mécanismes par lesquels le TUI réduit systématiquement la bande passante cognitive — et pourquoi le Web UI est la bonne réponse.",[329,366,367],"Design d'interaction","Essai",{"path":369,"title":370,"description":371,"date":372,"minRead":271,"tags":373},"\u002Fblog\u002Fvalue-not-external","Discuter de la valeur, c'est ça qui n'a aucune valeur","Notre valeur n'est définie par personne. À l'ère de l'IA, comment l'humain doit-il se comprendre lui-même ?","2026-06-18",[374,375],"Réflexion IA","Essai humaniste",{"path":377,"title":378,"description":379,"date":380,"minRead":381,"tags":382},"\u002Fblog\u002Fx-growth-1000-followers","Plus de 1000 followers en un jour et demi, voilà ce que j'ai fait","En juin, j'ai sérieusement animé mon compte X, et je suis passé à plus de 1000 followers en un jour et demi. Ce post raconte ce que j'ai fait et les retours que j'ai eus.","2026-06-16",12,[383,384],"Animation X","Croissance de contenu",1789752315478]