
Dans chaque maison, il y a un tiroir qui “ avale ” tout. Les clés, le chargeur de rechange, le passeport dont on a besoin deux fois par an. On y range quelque chose « pour le garder en sécurité », et trois mois plus tard, on se retrouve à genoux en train de vider tout le contenu du tiroir par terre. Voici un guide complet pour Comment créer une application en partant de zéro avec l'IA en 2026, racontée à travers l'application que j'ai créée pour réparer ce tiroir.
Stash, c’est ma solution à ce problème de tiroir. C’est une petite application simple pour iPhone et iPad : tu prends une photo de l’endroit où tu as rangé un objet, tu lui donnes un nom et tu indiques dans quelle pièce il se trouve, puis, lorsque tu en as à nouveau besoin, tu le recherches. C'est tout le principe. Elle a été mise en ligne sur l'App Store le 23 septembre 2026. Elle est gratuite et ne contient aucune publicité.
Je n'ai pas de formation en programmation. Tout ce que je crée, je le fais à l’aide d’agents IA, et au cours de l’année écoulée, les outils permettant de le faire sont passés du stade de “ belle démo ” à celui de “ produit prêt à être commercialisé ”. Ce guide se veut donc avant tout pratique : il décrit chaque étape, depuis un dossier vide jusqu’à la mise en ligne sur l’App Store, en prenant Stash comme exemple tout au long du guide.
C'est la pile que je recommanderais à quiconque se lancerait aujourd'hui. Figma pour la conception. OpenCode v2 en tant qu'agent de codage. MiniMax M3.1 en tant que modèle chargé de la réflexion (à proprement parler, il s’agit de M3.1-Flash-Preview, lancé le 27 septembre ; j’expliquerai pourquoi cette distinction est importante). Puis, tout ce qui n’apparaît jamais dans les tutoriels YouTube : le backend, la politique de confidentialité, App Store Connect, les captures d’écran, la validation, la page d’accueil, les mentions légales, et le coût global de tout cela.
Toutes ces informations ont été vérifiées par rapport à la documentation officielle, aux notes de mise à jour et à l'App Store lui-même sur 5 octobre 2026. Certaines informations seront obsolètes d’ici quelques semaines. Le nouveau modèle de MiniMax n’en est qu’à ses débuts, OpenCode publie des mises à jour presque quotidiennement, et Figma n’a pas encore décidé quels agents de codage pourront se connecter à son serveur MCP. J’ai signalé les éléments susceptibles d’évoluer au fur et à mesure.
Mention légale : Stash est mon application, publiée par ma société, Graham Miranda UG. Elle est gratuite, sans publicité ni achats intégrés. Cet article ne contient aucun lien d'affiliation. MiniMax, l'équipe OpenCode chez Anomaly, Figma, Apple, Google et Expo n'ont ni parrainé, ni relu, ni approuvé cet article.
TL;DR — La version en 60 secondes
- En 2026, tu peux créer une véritable application “ de A à Z ” grâce à l'IA, mais « de A à Z » signifie désormais prendre des décisions, et non plus taper du code. L'agent s'occupe de l'écriture du code. Tu es responsable du cahier des charges, de la conception, du modèle de données, de la politique de confidentialité, des tests et des formalités administratives liées à l'App Store.
- La pile : Figma (écrans et variables de conception) → OpenCode v2 (agent open source, licence MIT) → MiniMax M3.1-Flash-Preview (contexte de 1 million de tokens, lecture de texte, d’images et de vidéos, cinq niveaux de difficulté) → une version Expo ou Xcode → TestFlight → l’App Store. Firebase si tu as besoin de comptes et d'une synchronisation.
- “ MiniMax M3.1 ” désigne désormais M3.1-Flash-Preview. Il a été lancé le 27 septembre 2026 et est disponible uniquement via l'abonnement « M Plan » de MiniMax ($22, $55 ou $132 par mois, avec 50% offerts le premier mois en facturation mensuelle jusqu’au 14 octobre) et via l’application MiniMax Code. Il n’y a pas encore de prix par jeton, pas de pondérations ouvertes ni d’indice de référence publié. On ne peut pas arrêter de réfléchir, et l’effort est automatiquement réglé au maximum.
- Cela fonctionne dans OpenCode v2 sans fichier de configuration :
/connect→ “ MiniMax Token Plan (minimax.io) ” → colle ta clé d'abonnement →/models→MiniMax-M3.1-Aperçu Flash. - Le bémol de Figma dont personne ne parle : Le serveur MCP distant de Figma n'accepte pas encore OpenCode. Pendant la phase bêta, l'accès est réservé aux utilisateurs figurant sur la liste blanche. Utilisez le serveur de Figma bureau Serveur MCP à l'adresse
127.0.0.1:3845ou bien (cela nécessite l'application de bureau Figma et un abonnement payant de type « Dev » ou « Full », à partir de $12 par mois), ou encore fournir à l'agent les images exportées, que M3.1 est capable de lire. - La livraison est un projet à part entière : $99 par an pour le programme Apple Developer (99 € en Allemagne), des versions compilées avec Xcode 26 ou une version ultérieure, une politique de confidentialité, des mentions de confidentialité conformes à la réalité, la suppression des comptes depuis l'application si tu proposes des comptes, ainsi que les coordonnées du commerçant dans l'UE. Apple indique que 90% des soumissions sont examinées dans les 24 heures.
- Le Stash en chiffres : Disponible depuis le 23 septembre 2026, version 1.0.1 avec un nouveau design depuis le 2 octobre, gratuite, compatible avec iOS et iPadOS 16.4 ou versions ultérieures, environ 64 Mo, sans suivi, et dotée d'un mode invité qui conserve toutes les données sur l'appareil.
- Combien ça coûte : À propos de $363 pour la première année avec une configuration minimaliste (abonnement Apple + forfait M Plan Go), soit environ $500 avec une licence Figma Dev. Les coûts liés au backend commencent à zéro grâce aux quotas gratuits de Firebase.
- La règle la plus importante : “ C'est fait ” est une affirmation, pas un fait. Lance l'application sur un vrai téléphone, en mode avion, en mode sombre, avec VoiceOver activé. Après, tu y croiras.
Aperçu de la pile
| Couche | Outil | Son rôle dans ce processus | Coût (octobre 2026) |
|---|---|---|---|
| Conception | Figma | Écrans, composants, variables de couleur et de police, prototype interactif | Formule Starter gratuite ; un accès développeur à partir de $12/mois permet d'accéder au serveur MCP de bureau |
| Passerelle entre la conception et le code | Serveur Figma MCP (version bureau) | Transmettre les cadres, les variables et les captures d'écran à l'agent | Fourni avec le siège |
| Agent de codage | OpenCode v2 | Créer des projets, modifier des fichiers, exécuter des commandes et effectuer des tests ; via le terminal, une application de bureau ou depuis Xcode 27 | Gratuit, licence MIT |
| Modèle | MiniMax M3.1 - Aperçu Flash | Le cerveau chargé de la planification et du codage ; analyse les captures d'écran et les enregistrements d'écran | Forfait M à partir de $22/mois |
| Cadre d'application | Expo SDK 56 (iPhone + Android) ou SwiftUI avec Xcode 27 (Apple uniquement) | L'application elle-même | Gratuit ; l'offre gratuite d'Expo comprend 15 versions cloud iOS et 15 versions cloud Android par mois |
| Back-end | Firebase (Auth, Firestore, Storage, Functions, Messaging) | Comptes, synchronisation, stockage de photos, notifications | Quotas gratuits ; le stockage et les fonctions nécessitent le forfait Blaze à la consommation |
| Distribution | App Store Connect + TestFlight | Tests bêta, évaluation, lancement | $99/an – Programme pour développeurs Apple |
| Lancement | Une page d'accueil statique et des pages légales | Expliquer, faire une démonstration, se conformer | Quels que soient tes frais d'hébergement |
Les prix indiqués sont les prix catalogue au 5 octobre 2026, hors TVA. Les conditions d'abonnement évoluent fréquemment ; veuillez donc les vérifier avant d'acheter.
Table des matières
- Partie 1 — Découvrez Stash : l'application autour de laquelle s'articule ce guide
- 2e partie — La pile technologique de 2026 pour développer une application à partir de zéro avec l'IA
- 3e partie — MiniMax M3.1 : tout ce qu’il faut savoir, en toute franchise
- Partie 4 — Configuration d'OpenCode v2 avec MiniMax M3.1, étape par étape
- Partie 5 — Concevoir ton application dans Figma quand tu n'es pas designer
- Partie 6 — Connecter Figma à OpenCode : le piège du MCP
- Partie 7 — Comment créer une application à partir de zéro, étape par étape
- Partie 8 — Comment publier une application sur l'App Store en 2026
- Partie 9 — “ Et tout ça ” : le kit de lancement autour de l'application
- Partie 10 — Combien coûte le développement d'une application intégrant l'IA en 2026 ?
- Partie 11 — Dix erreurs à éviter lorsque tu développes ta première application avec l'IA
- Partie 12 — Faut-il utiliser précisément cette pile ? Six scénarios
- Partie 13 — À suivre au cours des prochains mois
- Foire aux questions
- En résumé
- Sources
Partie 1 — Découvrez Stash : l'application autour de laquelle s'articule ce guide
Avant de parler des outils, parlons de l'exemple. La qualité d'un guide de création d'applications se mesure à celle de l'application qu'il permet de créer ; voici donc une description précise de ce qu'est Stash, en m'appuyant sur sa fiche de l'App Store et sa politique de confidentialité plutôt que sur mon enthousiasme.
L'annonce commence par une phrase qui résume le poste : “ Tu n'auras plus jamais à mettre la maison sens dessus dessous pour retrouver quelque chose. ” Il présente ensuite le produit dans son ensemble en trois phrases : “ Stash, c'est le moyen le plus rapide de se souvenir où l'on a rangé ses affaires. Prenez une photo, sélectionnez la pièce, enregistrez. C'est tout ce que fait l'application. ”
Cette dernière phrase résume le cahier des charges. Chaque élément de l'application sert soit à accélérer l'enregistrement, soit à faciliter la recherche. Tout ce qui ne remplit aucune de ces deux fonctions n'a pas sa place ici.
À quoi sert Stash ?
| Fonctionnalité | Fonctionnalités | Pourquoi est-ce important ? |
|---|---|---|
| Photo du lieu | Tu photographies le tiroir, l'étagère ou la boîte, et non l'objet lui-même | On se souvient des lieux par l'image ; une photo de l'endroit, c'est le souvenir lui-même |
| Nom, salle, emplacement précis, remarque | “ Clés de la maison · Couloir · tiroir du haut · dans le plat en céramique à gauche ” | Quatre champs courts valent mieux qu'une dissertation à développement libre que tu ne pourras jamais bien rechercher |
| Notes vocales, transcrites | Prenez une note rapide ; Stash la transforme en texte consultable | Plus rapide que de taper au clavier quand on a les mains occupées |
| Recherche | Par nom d'objet, pièce, note ou mots que tu as notés, avec un filtre pour les objets accompagnés de photos | L'intérêt de cette application, c'est justement qu'elle intervient au moment où tu en as besoin |
| Chambres | Parcours ta maison pièce par pièce | Pour les moments où tu ne te souviens plus du nom, mais seulement de l'endroit approximatif |
| “ Je l'ai trouvé ” | Un simple clic quand tu l'auras récupéré | Boucle la boucle |
| Rappels | Les articles saisonniers refont surface au moment où tu en as besoin | Les pneus d'hiver, les guirlandes de Noël, le matériel de camping |
| Widgets | Widgets de l'écran d'accueil et de l'écran de verrouillage | Deux clics suffisent pour passer de “ Je devrais m'en souvenir ” à « Enregistré » |
| Hors ligne, puis synchronisation | Fonctionne sans signal ; se synchronise entre l'iPhone et l'iPad si tu disposes d'un compte | La réception est très mauvaise dans les caves et les garages |
| Aspect | Clair, foncé ou selon le système | À 23 heures aussi, tout semble calme |
| Exporter et supprimer | Exporte tes favoris ; supprime ton compte dans les Paramètres | Tes données restent les tiennes, et Apple exige la seconde |
À quoi ça ressemble ?
La direction artistique est délibérément sobre : un fond blanc cassé aux tons chauds, un vert forêt profond, une seule touche de corail, des titres en police à empattement et une police sans empattement sobre pour le reste. Les captures d'écran de l'App Store racontent l'histoire en six titres : Chaque chose a sa place. Trouve-la. En quelques secondes. Garde cette place. Chez toi. Pièce par pièce. Souviens-toi des petits détails. Une vision claire. Quelle que soit la lumière.
Afficher l'image Stash sur iPhone : enregistrez l'endroit, retrouvez-le en quelques secondes, parcourez-le pièce par pièce. Lumière ou obscurité, même sérénité.

Comment tes données sont traitées
C'est plus important que n'importe quelle fonctionnalité ; je vais donc citer la politique de confidentialité plutôt que de la paraphraser :
- Mode invité : “ Si tu ne crées pas de compte, tes pièces, tes objets, tes photos et tes messages vocaux restent sur ton appareil et ne sont pas mis en ligne. ”
- Avec un compte : La synchronisation et la sauvegarde s'effectuent sur Google Firebase (Authentication, Cloud Firestore, Cloud Storage, Cloud Functions et Cloud Messaging), avec des règles de sécurité qui garantissent l'isolation des données de chaque utilisateur.
- Aucun modèle économique ne repose sur toi : “ Nous n'affichons pas de publicités, ne mettons pas en place de suivi publicitaire ou analytique, ne créons pas de profils d'utilisateurs et ne vendons pas tes données. ”
- Notes vocales : Pour convertir un enregistrement en texte consultable, il est possible d'utiliser le service de reconnaissance vocale intégré au téléphone (celui d'Apple, sous iOS).
- Suppression : Tu peux supprimer ton compte dans les Paramètres ou via un formulaire en ligne ; les copies seront supprimées des sauvegardes dans un délai de 30 jours.
Si tu as lu mon article sur Pourquoi les logiciels « local-first » font leur grand retour, tu reconnaîtras cette philosophie. L'application devrait fonctionner parfaitement sans le cloud. Le cloud est une fonctionnalité pratique à laquelle tu peux choisir d'adhérer.
L'encadré « Faits »
| Nom sur l'App Store | Stash — Trouvez-le rapidement |
| Sous-titre | Retrouve tout ce que tu as rangé |
| Première version | 23 septembre 2026 (version 1.0) |
| Version actuelle | Version 1.0.1, publiée le 2 octobre 2026 : “ Nouvelle conception et corrections de bogues. ” |
| Prix | Gratuit, sans achats intégrés |
| Conditions requises | iOS ou iPadOS 16.4 ou version ultérieure ; fonctionne également sur les Mac équipés d'Apple Silicon et sur l'Apple Vision Pro en tant qu'application iPad |
| Taille | Environ 64 Mo |
| Catégorie | Productivité (également répertoriée dans la rubrique « Utilitaires ») |
| Classification par âge | 4+ |
| Développeur | Graham Miranda UG (à responsabilité limitée), Blankenburg (Harz), Allemagne |
| Site web | stash.grahammiranda.network, en dix langues, avec un démonstration dans le navigateur |
| Télécharger | Stash sur l'App Store |
Ce qui n'est pas (encore) disponible dans l'application
Le site web comporte une rubrique intitulée Explorations conceptuelles avec trois idées : indiquer l'emplacement exact sur une photo, Déménagement rapide lorsqu'un objet change de lieu, et boîtes et étiquettes pour que tu puisses voir ce qu'il y a dans une boîte sans avoir à l'ouvrir. Le site précise clairement que “ Ces idées font partie du concept interactif, mais ne constituent pas des fonctionnalités de la version disponible sur l'App Store. ”
J'apprécie cette distinction, et je la recommande à tous ceux qui développent leur première application. Explore librement les possibilités dans un prototype. Ne publie que ce qui fonctionne. La fiche de ton application sur l'App Store ne doit jamais promettre ce que le fichier binaire ne peut pas faire. Les modérateurs d'Apple vérifient cela, tout comme les utilisateurs qui t'attribuent une étoile.
Pourquoi c'est un bon choix pour une première application
Si tu lis ceci parce que tu souhaites créer ta propre application, n’hésite pas à t’inspirer du design de Stash, même si la question des clés perdues ne t’intéresse pas :
- Une boucle principale. Enregistrez, puis recherchez. Tout le reste vient soutenir ce cycle.
- Données générées sur l'appareil. Aucun serveur n'est nécessaire dès le premier jour ; tu peux donc lancer ton produit avant même d'avoir développé l'infrastructure backend.
- Quelques fonctionnalités concrètes de la plateforme. La caméra, le microphone, les notifications et les widgets constituent une dose idéale de fonctionnalités “ natives ” pour apprendre sans se sentir submergé.
- Un cloud facultatif. Les comptes et la synchronisation pourraient être intégrés à la version 2 sans qu'il soit nécessaire de réécrire la version 1.
- Pas de flux, pas de chat, pas de paiements. Chacun d'entre eux constitue un projet à part entière, avec ses propres modes de défaillance.
Un agent IA peut créer pratiquement tout ce que tu peux décrire. Le plus difficile, c'est de décrire quelque chose d'assez simple pour qu'il puisse le réaliser.
2e partie — La pile technologique de 2026 pour développer une application à partir de zéro avec l'IA
Trois outils, trois tâches distinctes :
- C'est Figma qui détermine l'apparence de l'application.
- OpenCode décide de la manière dont le travail est effectué : quels fichiers lire, quelles commandes exécuter, quelles questions te poser avant d'entreprendre toute action risquée.
- C'est MiniMax M3.1 qui réfléchit Dans les coulisses d'OpenCode : planification, écriture de code, analyse de captures d'écran, correction des bugs.
La séparation de ces tâches est le choix architectural le plus important de tout ce guide, et cela n’a rien à voir avec le code. Lorsqu’un meilleur modèle sortira le mois prochain (et ce sera le cas), il te suffira de modifier une ligne dans un fichier de configuration. Lorsqu’un meilleur outil de conception sera disponible, ton agent n’en tiendra pas compte. Rien n’est figé.
Pourquoi OpenCode v2 est l'agent idéal
OpenCode est un agent de programmation IA open source sous licence MIT. Il suffit de lui indiquer un dossier de projet, de lui décrire ce que tu souhaites, et il fonctionne comme le ferait un développeur : il lit le code, élabore un plan, modifie les fichiers, exécute des commandes, analyse les erreurs, les corrige et poursuit son travail.
La version 2.0.0, fruit d'une refonte complète, a été publiée le 11 septembre 2026, et l'équipe avait déjà mis en ligne la version 2.0.22 dès le 2 octobre. J'ai abordé cette refonte en détail dans mon Analyse approfondie d'OpenCode v2, voici donc uniquement ce qui est important pour développer une application :
- Il est indépendant du modèle. Plus de 75 prestataires via Models.dev, ainsi que des mannequins locaux. MiniMax est intégré.
- Un serveur de données partagées. L'interface du terminal, l'application de bureau, l'interface utilisateur du navigateur et les extensions de l'IDE ont toutes accès aux mêmes sessions.
- Des autorisations qui fonctionnent comme un pare-feu. Une liste ordonnée de règles d'autorisation, de demande et de refus, dans laquelle la dernière correspondance prévaut ; par conséquent, “ ne jamais exécuter »
git push” “ et ” ne jamais soumettre à l'App Store » occupent chacun une ligne. - Annuler à chaque étape. Des instantanés avant et après chaque étape de modélisation, avec
/undoet/redo. - Les sous-agents que tu peux voir et arrêter, et les compétences qui se chargent à partir de
.opencode,.claudeet.agentsdossiers. - Il fonctionne sous Xcode 27. Le nouvel Xcode d'Apple prend en charge tout agent compatible avec le protocole Agent Client Protocol, et
opencode acpc'est exactement ce qu'il fait (configuration décrite dans la partie 4).
La page d'accueil compte désormais 208 000 étoiles sur GitHub, 950 contributeurs et 16 millions de développeurs par mois. Deux mises en garde à prendre en compte, tirées de la documentation de la v2 : le partage de session n'est pas encore de retour dans la v2, et les plugins de la v1 ne se chargent pas.
Pourquoi le MiniMax M3.1 est-il le modèle de référence ?
La troisième partie aborde le sujet en profondeur, mais pour résumer, il s’agit de trois propriétés qui se révèlent particulièrement bien adaptées au développement d’applications :
- Une fenêtre de contexte de 1 000 000 de tokens. Une petite application, ses notes de conception, son fichier AGENTS.md et la documentation correspondante tiennent facilement dans une seule session de travail, avec même un peu de marge.
- Il lit les images et les vidéos, pas seulement le texte. Tu peux lui joindre un cadre Figma, une capture d'écran du simulateur ou un enregistrement d'écran illustrant le bug.
- Cinq niveaux d'effort, tiré de
faibleàmax, ce qui permet d'approfondir la réflexion sur la planification et d'accélérer les tâches techniques.
En contrepartie, il s'agit d'une version préliminaire sans benchmarks publiés ni tarification par jeton, accessible uniquement via l'abonnement proposé par MiniMax. J'y reviendrai, car ce n'est pas une réserve négligeable.
Pourquoi Figma est l'outil de conception idéal
Figma reste l'outil incontournable pour la conception d'applications. La formule gratuite « Starter » suffit amplement pour concevoir une première application. Ses variables deviennent tes « design tokens », c'est-à-dire les couleurs, les espacements et les tailles de police qui garantissent la cohérence sur tous les écrans. Et c'est Serveur MCP permet à un agent de codage de lire directement une image sélectionnée, ce qui est à ce jour ce qui se rapproche le plus d'une fonctionnalité “ pour que ça ressemble à ça ” qui fonctionne réellement.
Lors de la conférence Config 2026 (du 23 au 25 juin à San Francisco), Figma a également ouvert son Figma Agent à tous les abonnements payants en version bêta ouverte, ajouté une timeline d’animation et présenté en avant-première les “ couches de code ”, qui traitent le code comme un objet à part entière sur le canevas. Tu n’as besoin d’aucune de ces fonctionnalités pour créer ta première application. Il est toutefois utile de savoir dans quelle direction les choses évoluent.
Et tout ce “ truc ”
Les éléments que personne ne met dans la vignette :
| Quoi ? | Options | Abordé dans |
|---|---|---|
| Cadre d'application | Expo (React Native) pour iPhone et Android ; SwiftUI avec Xcode 27 pour Apple uniquement ; Flutter | 7e partie |
| Back-end | Firebase est la solution par défaut la plus simple pour la gestion des comptes, la synchronisation et le stockage de fichiers | 7e partie |
| Contrôle de version | Git, sans faute. GitHub ou un service similaire pour la sauvegarde | Parties 4 et 7 |
| Compilations et signature | Xcode sur un Mac, ou les compilations cloud EAS d’Expo sans Mac | Parties 7 et 8 |
| Tests et mise en production | TestFlight et App Store Connect | Partie 8 |
| Lancement | Une page d'accueil, une démo, les mentions légales, l'optimisation pour l'App Store | Partie 9 |
Afficher l'image L'ensemble du processus sur une seule page. Tu te trouves à gauche (le cahier des charges), au milieu (l'examen de chaque modification) et à droite (en cliquant sur “ Soumettre pour révision ”).
Ce que signifie aujourd'hui “ partir de zéro ”
Voici la vérité dérangeante concernant le développement d'une application intégrant l'IA en 2026 : l'agent se charge de la partie qui était autrefois difficile, et te laisse celle qui a toujours été difficile.
| Tu possèdes | L'agent est propriétaire de |
|---|---|
| À quoi sert l'application, et ce qu'elle ne fait pas | Transformer cela en fichiers, composants et fonctions |
| Les écrans et le système de conception | Les mettre en œuvre, écran par écran |
| Le modèle de données : quelles informations sont stockées, où et pendant combien de temps ? | Écriture du code de stockage, de synchronisation et de migration |
| La rubrique « Confidentialité », les mentions légales et les réponses concernant l'App Store | Vérification du code pour garantir l'exactitude de tes réponses |
| Des tests sur de vrais appareils, avec de vraies personnes | Écriture et exécution de tests automatisés |
| Cliquer sur “ Envoyer ” | Ne jamais cliquer sur “ Envoyer ” |
Si ce tableau te rend un peu nerveux, tant mieux. C'est justement cette nervosité qui fait la différence entre une application prête à être commercialisée et un dossier rempli de code qui fonctionne à moitié.
3e partie — MiniMax M3.1 : tout ce qu’il faut savoir, en toute franchise
Si tu effectues une recherche sur “ MiniMax M3.1 ” dès maintenant, tu tomberas sur des articles qui semblent s'affirmer avec certitude au sujet d'un modèle qui, à proprement parler, n'est pas encore sorti. Voici ce qui existe réellement, ce que tu peux utiliser dès aujourd'hui et ce que personne ne sait encore.
Ce qui existe, par ordre
- 1er juin 2026 : MiniMax M3. Un modèle à poids ouverts et multimodal de par nature, doté d’une fenêtre de contexte d’un million de tokens, d’une architecture de type « mélange d’experts » comptant environ 428 milliards de paramètres au total, dont environ 23 milliards actifs par token, et du mécanisme d’attention clairsemée propre à MiniMax. Je l’ai comparé au modèle GLM-5.3-Flash pour OpenCode en août, dans GLM-5.3-Flash vs MiniMax M3.
- Juillet : “ M3.1 ” devient un nom. Des comptes rendus de la Conférence mondiale sur l'intelligence artificielle à Shanghai ont fait état d'un modèle M3.1 doté d'un contexte d'un million de tokens et de capacités multimodales renforcées. Aucune information n'a été fournie concernant le modèle, son identifiant ou son prix.
- 23 septembre : un mannequin mystérieux. Un modèle anonyme baptisé “ Space Bunny Alpha ” est apparu sur OpenRouter et dans OpenCode sous forme d’aperçu gratuit, avec un contexte de 1 M et un raisonnement ajustable. L’analyse indépendante de l’empreinte du tokeniseur a indiqué qu’il s’agissait de MiniMax. MiniMax n’a rien confirmé, et la correspondance du tokeniseur constitue un indice quant à une famille de modèles, mais pas une preuve.
- 27 septembre : MiniMax M3.1 - Aperçu de la version Flash. Le premier modèle de la gamme M3.1 accessible à tous, lancé dans l'application de programmation de MiniMax, « MiniMax Code », et via son abonnement de programmation. MiniMax le décrit comme un modèle destiné à “ Un développement au quotidien, rapide, fiable et prêt à l'emploi, qu'il s'agisse de corrections rapides de bogues ou de fonctionnalités complètes. ”
- 30 septembre : le Plan M. La version 3.1.0 de MiniMax Code s'accompagne d'un nouvel abonnement appelé « M Plan », qui remplace le « Token Plan » pour les nouveaux clients, à des tarifs identiques.
La version complète du M3.1 prévue pour cet été n'a toujours pas été livrée. Lorsque les gens parlent du “ M3.1 ” en octobre 2026, ils font référence au M3.1-Flash-Preview, et c'est également ce que j'entendrai par là dans la suite de cet article.
Afficher l'image Tout ce qui est relaté dans cet article s'est déroulé en quatre mois et demi, et sept de ces neuf dates se situent au cours des cinq dernières semaines.
MiniMax M3 vs M3.1 – Aperçu Flash
| MiniMax M3 | MiniMax M3.1 - Aperçu Flash | |
|---|---|---|
| Publié | 1er juin 2026 | 27 septembre 2026 |
| Statut | Disponible pour tous | Avant-première |
| Identifiant du modèle | MiniMax-M3 | MiniMax-M3.1-Aperçu Flash |
| Fenêtre de contexte | 1 million de jetons | 1 000 000 de jetons |
| Saisie | Texte, image, vidéo | Texte, image, vidéo |
| Réflexion | Peut être activé ou désactivé | Toujours activé. Cinq niveaux d'effort : faible, moyen, élevé, xhigh, max (par défaut max) |
| Poids libres | Oui, sous la licence communautaire MiniMax | Pas de poids, pas de fiche technique |
| Tarif à l'utilisation | $0,30 par million de jetons en entrée, $1,20 en sortie, $0,06 en cache ; double au-delà de 512 Ko en entrée | Non publié. Réservé aux abonnés |
| Où peux-tu l'utiliser ? | API MiniMax, OpenRouter, OpenCode Go, Ollama Cloud et de nombreux autres hébergeurs | Uniquement pour les abonnements au forfait M et le code MiniMax |
| Tests de performance publiés | Oui, de MiniMax et de cartes indépendantes | Aucun |
| Architecture | Environ 428 milliards au total, environ 23 milliards d'éléments actifs, MoE clairsemé | Non communiqué |
| Dans OpenCode v2 | Intégré, via plusieurs fournisseurs | Intégré via “ MiniMax Token Plan (minimax.io) ” |
Capture d'écran tirée de la documentation de MiniMax et du site Models.dev, le 5 octobre 2026. Les aperçus sont susceptibles d'être modifiés sans préavis ; vérifie avant de te fier à une ligne quelconque.
Une chose qui mérite d'être analysée : selon la documentation, la réflexion ne peut pas être désactivée. Envoyer thinking.type : " disabled " ou un effort de aucun, et l'API renvoie une erreur 400 indiquant, en substance, que le modèle “ nécessite une réflexion adaptative. ” Ce que tu peux contrôler, c'est l'intensité avec laquelle il réfléchit.
Comment en bénéficier : le « M Plan »
La documentation de MiniMax est très claire en ce qui concerne l'accès : “ MiniMax-M3.1-Flash-Preview n'est disponible pour l'instant que via M Plan et MiniMax Code. ”
| Niveau « M Plan » | Prix | Ce qui est inclus |
|---|---|---|
| Go | $22/mois | M3.1-Flash-Preview, ainsi que les modèles d'image et audio de MiniMax |
| Découvrir | $55/mois | Tout ce qu'offre Go, avec en plus le modèle vidéo H3 |
| Construire | $132/mois | Toutes les fonctionnalités d'Explore, avec le plus grand volume de données inclus |
Quelques détails qui comptent plus que les prix affichés :
- Offre de lancement : 50% de réduction sur ton premier mois en cas de facturation mensuelle, jusqu'au 14 octobre 2026. L'offre ne s'applique pas à la facturation annuelle. Après le premier mois, l'abonnement est renouvelé au prix plein, sauf si tu désactives le renouvellement automatique.
- Semaine gratuite : Tous les abonnés ont bénéficié d'un accès illimité à M3.1-Flash-Preview du 1er au 7 octobre (heure chinoise). Si tu lis ceci après le 7, cette offre n'est plus valable.
- Il s'agit d'une clé d'abonnement, et non d'une clé API. La documentation de MiniMax indique clairement que les clés d'abonnement et les clés API « pay-as-you-go » ne sont pas interchangeables. Tu devras coller la clé d'abonnement dans OpenCode.
- Des quotas, pas un comptage. L'utilisation est limitée à des périodes glissantes de cinq heures et hebdomadaires, et le quota non utilisé n'est pas reporté. Pour les niveaux équivalents du « Token Plan », les recommandations de MiniMax étaient d'environ trois à quatre, quatre à cinq et six à sept agents actifs simultanément.
- Abonnés actuels au programme « Token Plan » conserver leur forfait. Les nouveaux clients souscrivent au forfait M.
- Outils pris en charge Parmi les logiciels présentés sur la page « M Plan » de MiniMax, on trouve Claude Code, Codex, Cursor, OpenCode, Hermes Agent et OpenClaw.
Code MiniMax Il s'agit d'un agent de bureau pour macOS et Windows, doté d'un mode “ codage ” et d'un mode « travail » dédié à la recherche et aux documents, ainsi que d'une version en ligne de commande. C'est un excellent moyen de tester le modèle. J'utilise OpenCode car il ne me lie à aucun fournisseur de modèles en particulier, ce qui est justement l'objectif de la deuxième partie.
Pourquoi c'est adapté à la création d'applications
- La fenêtre contextuelle change ta façon de travailler. Une petite application mobile compte quelques milliers de lignes de code, voire quelques dizaines de milliers. Avec un million de tokens, l’agent peut stocker simultanément l’intégralité du code source, ton fichier AGENTS.md, le modèle de données et une partie de la documentation de la plateforme. Moins de moments du type “ J’ai oublié ce qu’on avait décidé ”. (Le guide OpenCode de MiniMax limite la fenêtre à 512 Ko dans son exemple de configuration, que je te conseille de reproduire. Des contextes plus courts signifient des réponses plus rapides.)
- Montrez-le, ne le décrivez pas. Comme il prend en charge les images et les vidéos, tu peux y insérer un cadre Figma exporté, une capture d'écran du simulateur iOS ou un enregistrement d'écran montrant le bug où le clavier masque le bouton « Enregistrer ». Cette dernière option, à elle seule, t'évite une quantité incroyable de saisie.
- L'effort, c'est un régulateur, pas un interrupteur.
maxpour planifier une fonctionnalité ou résoudre un bug de synchronisation.faiblefidomoyenpour renommer des éléments, écrire des tests et traduire des chaînes de caractères. La partie 4 explique comment configurer cela pour chaque agent. - Le tarif est forfaitaire. Pour un développeur travaillant seul, une facture mensuelle prévisible vaut mieux que de devoir surveiller un compteur à jetons pendant une longue session de débogage.
Un premier test indépendant a donné un résultat d'environ 90 à 110 jetons par seconde dès le premier jour. Il s'agit d'une simple mesure, et non d'un test de performance, mais cela correspond bien au nom “ Flash ”.
Ce que personne ne sait encore
C'est justement cet aspect que la plupart des articles consacrés à la norme M3.1 omettent :
- Il n'y a pas de références. Ni chez MiniMax, ni sur les forums indépendants, car un modèle accessible uniquement via l'abonnement d'une seule entreprise est difficile à tester de manière indépendante. C'est toi qui es la référence. Confie-lui une tâche concrète issue de ton propre projet, confie la même tâche à un modèle auquel tu fais déjà confiance, puis compare les résultats.
- Il n'y a pas de prix par jeton. Ça ne pose pas de problème dans le cadre d'un abonnement. En revanche, cela devient problématique si tu souhaites exécuter le modèle dans un environnement d'intégration continue (CI) ou dans un produit, où tu dois connaître le coût d'un million de jetons.
- C'est un avant-goût. Il peut changer de comportement, être renommé ou être remplacé par la version complète M3.1 sans préavis. Conservez l'identifiant du modèle dans un seul fichier de configuration afin que son remplacement ne nécessite qu'une seule ligne de modification.
- La réflexion ne s'arrête jamais. Même les requêtes les plus simples impliquent un certain effort de réflexion. Réduisez l'effort nécessaire pour les petites tâches.
- Ce produit est disponible exclusivement chez MiniMax. Au moment où nous écrivons ces lignes, cette fonctionnalité n'est disponible ni sur OpenRouter, ni sur Ollama Cloud, ni sur OpenCode Go. Tes invites et ton code sont transmis aux serveurs de MiniMax ; par conséquent, si tu travailles pour un client soumis à des règles strictes en matière de données, lis au préalable les conditions générales de MiniMax ou mène ce projet sur des modèles locaux.
Ne téléchargez pas “ MiniMax M3.1 ”
Moins d'un jour après le lancement, des dépôts GitHub n'ayant aucun rapport avec MiniMax ont fait leur apparition, promettant un “ téléchargement officiel gratuit ” de M3.1-Flash sous forme de fichier ZIP pour Windows, prêt à “ décompresser et exécuter ”. Il n'existe aucun fichier de poids M3.1 à télécharger, et le code MiniMax provient du site web officiel de MiniMax. Considérez tout “ téléchargement M3.1 ” comme un logiciel malveillant jusqu'à preuve du contraire.
Quand utiliser plutôt le MiniMax M3 ?
Utilisation M3 si tu as besoin de fonctionnalités qui ne sont pas proposées dans la version d’essai : une tarification à l’utilisation, des poids ouverts que tu pourrais héberger toi-même, ou un accès via OpenCode Go, Ollama Cloud ou OpenRouter. C’est également le choix le plus sûr pour tout ce qui est automatisé, car son prix et son fonctionnement sont documentés. Si tu souhaites avoir une vue d’ensemble plus large des alternatives, mon MiniMax M3 vs Kimi K2.7 Code vs Nemotron 3 Ultra La comparaison porte sur l'ensemble du domaine.
Partie 4 — Configuration d'OpenCode v2 avec MiniMax M3.1, étape par étape
Voici la configuration que je proposerais à un ami. Cela prend environ quinze minutes, dont la majeure partie est consacrée à attendre que les fichiers se téléchargent.
Étape 0 — Ce dont tu as besoin avant toute chose
- Un Mac équipé d'un processeur Apple Silicon, si tu souhaites développer et exécuter des applications iPhone en local. Xcode 27 (sorti le 14 septembre 2026) ne prend plus en charge les Mac Intel et nécessite macOS Tahoe 26.4 ou une version ultérieure. Si tu optes pour Expo, comme indiqué dans la partie 7, tu peux compiler des applications iOS dans le cloud depuis Windows ou Linux, mais tu auras tout de même besoin d’un véritable iPhone pour les tester.
- Git. Les instantanés, les branches et ta propre santé mentale en dépendent tous.
- Node.js (LTS) si tu comptes utiliser Expo.
- Un abonnement au forfait MiniMax M (3e partie).
- Un terminal moderne. Le Terminal de macOS est très bien ; Ghostty, WezTerm et Kitty sont toutefois plus agréables à utiliser.
Étape 1 — Installer OpenCode v2
bash
curl -fsSL https://opencode.ai/v2/install | bash
opencode --version # devrait afficher 2.0.x
opencode service status # : le serveur d'arrière-plan partagé devrait être en cours d'exécution
Tu veux aussi l'application de bureau ? Télécharge-la depuis opencode.ai/download, ou sur un Mac, lancez brew install --cask opencode-desktop. Le terminal et l'application de bureau partagent un même serveur ; ainsi, une session que tu lances sur l'un d'eux s'affiche également sur l'autre.
Un point à surveiller : le guide OpenCode de MiniMax indique toujours l'URL du programme d'installation de la version 1 (opencode.ai/install). Utilisez le /v2/installation celui du dessus.
Étape 2 — Obtiens ta clé d'abonnement au M Plan
Abonne-toi sur la plateforme MiniMax et crée un clé d'abonnement dans la console. Il ne s'agit pas d'une clé API à l'utilisation : ce sont deux produits différents, et seule la clé d'abonnement te donne accès à M3.1-Flash-Preview.
Considérez cette clé comme un mot de passe. Ne la collez jamais dans une conversation, une capture d'écran ou un dépôt Git.
Étape 3 — Connecter MiniMax à OpenCode
bash
cd ~/code/my-app
opencode
Ensuite, dans OpenCode :
- Type
/connectet recherchez Plan de distribution des jetons MiniMax (minimax.io). Le prestataire a conservé son ancien nom ; il accepte les clés M Plan. - Colle ta clé d'abonnement.
- Type
/modelset choisir MiniMax-M3.1-Aperçu Flash.
Et voilà. Le catalogue de modèles d’OpenCode (Models.dev) répertorie déjà ce modèle avec son contexte de 1 000 000 de tokens, ses données d’entrée (images et vidéos) et ses cinq niveaux d’effort ; tu n’as donc pas besoin d’un fichier de configuration pour commencer. S’il n’apparaît pas dans /models, mettez d'abord à jour OpenCode ; la configuration de l'étape 4 permet également de l'ajouter manuellement.
Deux possibilités : Connexion à OpenCode via l'authentification fait la même chose depuis le terminal, ainsi que l'assistant de configuration de MiniMax (npx -y mmx-cli@latest agent setup) installe et configure OpenCode pour toi, avec M3 comme version par défaut. Passe ensuite à la version M3.1 à l'aide de /models. Les comptes sur la plateforme chinoise de MiniMax utilisent la version “ (minimax.cn) ” du fournisseur.
Étape 4 — Ajouter une configuration de projet
Les paramètres par défaut fonctionnent, mais un projet d'application mérite un fichier de configuration qui remplisse trois fonctions : orienter chaque agent vers le niveau de charge de travail approprié, définir des autorisations empêchant l'agent d'effectuer des actions irréversibles, et connecter tes serveurs MCP. Enregistre ce fichier sous le nom opencode.jsonc Dans le répertoire racine de ton projet :
jsonc
{
"$schema" : "https://opencode.ai/config.json",
// Modèle par défaut pour les nouvelles sessions
"model": "minimax-coding-plan/MiniMax-M3.1-Flash-Preview",
"providers": {
"minimax-coding-plan": {
"models": {
"MiniMax-M3.1-Flash-Preview": {
// L'exemple OpenCode de MiniMax limite la fenêtre à 512 Ko
"limit": { "context": 524288 },
// La réflexion est toujours activée et la valeur par défaut est " max ".
// Ces variantes envoient le champ output_config.effort documenté par MiniMax.
"variants" : [
{ "id" : "quick", "body" : { "output_config" : { "effort" : "low" } } },
{ "id": "steady", "body": { "output_config": { "effort": "medium" } } },
{ "id": "careful", "body": { "output_config": { "effort": "high" } } }
]
}
}
}
},
"agents" : {
// La planification bénéficie de l’effort par défaut maximal : un mauvais plan coûte le plus cher par la suite
"plan" : { "model" : "minimax-coding-plan/MiniMax-M3.1-Flash-Preview" },
// Construction : approfondie, mais plus rapide que " max "
"build": { "model": "minimax-coding-plan/MiniMax-M3.1-Flash-Preview#careful" },
// Recherche en lecture seule dans la base de code : la vitesse prime sur la profondeur
"explore": { "model": "minimax-coding-plan/MiniMax-M3.1-Flash-Preview#quick" }
},
"permissions" : [
{ "action" : "shell", "resource" : "*", "effect" : "ask" },
{ "action": "shell", "resource": "git status *", "effect": "allow" },
{ "action": "shell", "resource": "git diff *", "effect": "allow" },
{ "action": "shell", "resource": "git log *", "effect": "allow" },
{ "action": "shell", "resource": "npm test *", "effect": "allow" },
{ "action": "shell", "resource": "npx tsc *", "effect": "allow" },
{ "action": "shell", "resource": "npx expo lint *", "effect": "allow" },
{ "action" : "shell", "resource" : "git push *", "effect" : "deny" },
{ "action" : "shell", "resource" : "eas submit *", "effect" : "deny" },
{ "action" : "shell", "resource" : "firebase deploy *", "effect" : "deny" }
],
"mcp" : {
"servers" : {
// Serveur MCP de bureau de Figma (Partie 6). Local, donc pas d’OAuth.
"figma-desktop" : {
"type" : "remote",
"url" : "http://127.0.0.1:3845/mcp",
"oauth" : false
},
// Serveur MCP officiel de Firebase. Il demande confirmation avant de modifier ton projet.
"firebase" : {
"type" : "local",
"command" : ["npx", "-y", "firebase-tools@latest", "mcp"]
}
}
}
}
Quelques remarques pour que tu saches ce que tu colles :
- Les règles d'autorisation sont lues de haut en bas, et c'est la dernière correspondance qui prévaut. Chaque commande shell fait d'abord l'objet d'une vérification : les commandes Git et test, inoffensives, s'exécutent librement, tandis que trois opérations sont purement et simplement refusées : la publication de code, la soumission à l'App Store et le déploiement de ton backend. Tu effectues ces opérations toi-même, et ce, de manière délibérée.
- Remplace les commandes autorisées par celles de ta chaîne d'outils. Si tu développes en mode natif avec Xcode plutôt qu'avec Expo, remplace le
npxlignes contenant tes commandes de test et de vérification. - Si une variante ne semble pas avoir d'effet, courir
/modelspour vérifier les noms des variantes et consulter la requête dans les journaux d'OpenCode. MiniMax utilisemaxlorsqu'aucune requête n'est envoyée, le pire scénario est donc une réponse plus lente, et non une réponse erronée. - Les anciens exemples de type v1 fonctionnent toujours. Le guide de MiniMax utilise la version 1
fournisseurRemarque : OpenCode v2 lit les paramètres pris en charge de la v1 sans réécrire ton fichier.
Étape 5 — Créez un fichier AGENTS.md avant d'écrire la moindre ligne de code
OpenCode indique AGENTS.md au début de chaque session. C’est l’habitude la plus efficace qui soit dans le développement assisté par l’IA, et mon Guide de codage Vibe est intégré à l'ensemble du système. Pour une application, il doit contenir les règles relatives au produit ainsi que les commandes de compilation. Voici à quoi ressemble celui d'une application comme Stash :
markdown
# Notes à l'attention des développeurs (exemple pour une application de type Stash)
## En quoi consiste cette application ?
Stash mémorise l'emplacement des objets. Photo de l'endroit + nom + pièce = retrouvé en quelques secondes.
Si une modification ne permet pas d’accélérer l’enregistrement ou la recherche, elle n’a pas sa place ici.
## Les principes non négociables
- Priorité au mode hors ligne. Toutes les fonctionnalités fonctionnent sans connexion réseau. La synchronisation est un bonus.
- Le mode Invité ne télécharge jamais rien.
- Pas d’analyses, de publicités ni de SDK de suivi. Demande l’autorisation avant d’ajouter TOUTE dépendance.
- Aucun secret dans le bundle de l’application. Les opérations privilégiées s’effectuent dans Cloud Functions.
- Accessibilité : Dynamic Type, étiquettes VoiceOver, cibles tactiles de 44 x 44 pt.
- Mode clair et mode sombre pour chaque écran.
## Conception
- Les tokens se trouvent dans src/theme/tokens.ts. Ne code jamais en dur une couleur ou une taille de police.
- Lors de l’implémentation d’un cadre Figma : get_design_context, puis get_variable_defs,
puis get_screenshot pour comparer ton résultat.
## Commandes
- Installation : npm install
- Exécution : npx expo start
- Test : npm test
- Types : npx tsc --noEmit
- Lint : npx expo lint
## Définition de « terminé »
- Les tests, les types et le lint sont réussis
- Fonctionne en mode avion
- Fonctionne en mode clair et en mode sombre, avec la plus grande taille de texte
- Aucun nouvel avertissement dans la console
Étape 6 (facultative) — Lancez OpenCode depuis Xcode et mettez-lui à disposition les outils de Xcode
Xcode intègre désormais le codage agentique et prend en charge les agents externes de deux manières différentes. Il est utile de connaître ces deux méthodes si tu développes en mode natif.
OpenCode en tant qu'agent au sein de Xcode (ACP). Xcode peut héberger n'importe quel agent compatible avec le protocole Agent Client Protocol, ce qui est le cas d'OpenCode, via opencode acp.
- Commence par te connecter depuis le terminal :
Connexion à OpenCode via l'authentification. - Courir
quel opencodeet copiez le chemin d'accès absolu. Xcode ne développe pas~ou consulter la variable PATH de ton shell. - Dans Xcode, sélectionnez Xcode → Paramètres → Intelligence, puis, dans la rubrique « Agents », cliquez sur Ajouter un agent.
- Collez le chemin d'accès en tant que commande et ajoutez
acpcomme argument. - Lancez une nouvelle conversation dans la barre latérale « Intelligence » de Xcode, puis sélectionnez « OpenCode ».
Il n'est pas possible de changer de modèle depuis l'interface de Xcode ; tu dois donc définir ton modèle par défaut dans opencode.jsonc Tout d'abord.
Les outils Xcode intégrés à OpenCode (MCP). L'inverse est souvent plus pratique : OpenCode reste dans ton terminal, mais il peut compiler ton projet, exécuter des tests et afficher des aperçus SwiftUI via Xcode.
- En Xcode → Paramètres → Intelligence, dans « Model Context Protocol », activez Autoriser les prestataires externes à utiliser les outils Xcode.
- Ajouter le pont Xcode à OpenCode :
opencode mcp add xcode -- xcrun mcpbridge - Ouvre ton projet dans Xcode avant de lancer la requête. Le pont communique avec l'instance d'Xcode en cours d'exécution, et Xcode t'avertit lorsqu'un agent externe se connecte.
Quel niveau d'effort pour quelle tâche ?
| Tâche | Agent | Effort |
|---|---|---|
| Planification d'une fonctionnalité, du modèle de données ou de la logique de synchronisation | plan | max (par défaut) |
| Implémentation d'un écran à partir d'un cadre Figma | construire | élevé |
| Correction d'un bug dont la reproduction est facile à reproduire | construire | élevé; max s'il s'agit d'un bug lié à la synchronisation ou à une condition de concurrence |
| Rédaction de tests, changement de nom, petites refactorisations | construire | moyen |
| Rechercher dans le code source, lire la documentation | découvrir | faible |
| Modifications du texte et traductions des chaînes de caractères | construire | faible fido moyen |
Selon les propres termes de MiniMax, un effort plus important implique davantage de jetons de réflexion et davantage d’attente. La majeure partie du temps passé dans une boucle d’agent est consacrée à l’attente ; il convient donc d’adapter l’effort au risque.
Partie 5 — Concevoir ton application dans Figma quand tu n'es pas designer
Pas besoin d'être développeur pour créer une bonne première application. Il suffit de prendre quelques décisions, une seule fois, et de les noter à un endroit où l'agent pourra les consulter.
Commencez par les mots, pas par les rectangles
Avant d'ouvrir Figma, notez trois éléments dans un fichier texte brut :
- La promesse, en une phrase. Pour Stash : le moyen le plus rapide de se souvenir où l'on a rangé ses affaires.
- Trois récits d'utilisateurs. “ J'ai rangé mon passeport dans le tiroir du bureau et je veux le retrouver en mars. ” “ Je suis dans le garage, je n'ai pas de réseau, et je veux noter où j'ai rangé la perceuse. ” “ Je veux que les guirlandes de Noël me rappellent qu'elles existent en novembre. ”
- La liste des écrans. Stash comprend quatre onglets (« Accueil », « Recherche », « Salles » et « Paramètres »), ainsi qu'un écran « Ajouter » et une vue détaillée des éléments. Six écrans. C'est une application à part entière.
Ensuite, remettez ce fichier à la plan agent et demande-lui de se disputer avec toi : “ Lis ce document. Répertorie les parcours utilisateur, les cas de figure marginaux auxquels je n’ai pas pensé et les écrans qui manquent. Ensuite, dis-moi ce que je devrais supprimer. ” C'est exactement le genre de travail fastidieux et minutieux pour lequel “ max effort ” est fait : le genre de question « que se passe-t-il si l'utilisateur refuse l'accès à la caméra ? ». Dix minutes consacrées à cela peuvent t'éviter de devoir refaire la conception.
Définissez les variables avant de dessiner quoi que ce soit
Figma variables Il s'agit de valeurs prédéfinies : couleurs, espacements, rayons des coins, tailles. Configure-les en premier lieu, en prévoyant un mode clair et un mode sombre pour les couleurs, et ton application affichera une apparence cohérente par défaut.
Elles ont deux fois plus d’importance avec un agent IA. Lorsque l’agent génère un écran, le serveur MCP de Figma peut lui transmettre les variables exactes utilisées dans ce cadre (le get_variable_defs (outil), donc il écrit couleurs.vert au lieu d'essayer de deviner un code hexadécimal à partir d'une capture d'écran.
Voici la palette issue du concept de design rendu public par Stash :
| Jeton | Valeur | Utilisé pour | Contraste sur papier |
|---|---|---|---|
| Papier | #F6F4EE | Contexte de l'application | — |
| Surface | #FFFCF7 | Cartes et champs | — |
| Encre | #172E2A | Texte principal | 13.1 : 1 |
| Vert | #23594C | Boutons, états sélectionnés, marque | 7.3 : 1 |
| Vert tendre | #E1EBE4 | Les moments forts en toute tranquillité | — |
| Corail | #D46F4F | Point d'accent, un seul mot dans un titre | 3.1 : 1 |
| Corail tendre | #F8E8DE | Mèches aux tons chauds | — |
| En sourdine | #6E7D76 | Texte secondaire | 3.9 : 1 |
| Ligne | #DEDFD7 | Séparateurs et bordures | — |
Les titres sont en police à empattement ; tout le reste utilise la police sans empattement du système. Voilà tout le système typographique.
La colonne « Contraste » correspond à la partie à copier. Les couleurs « Encre » et « Vert » respectent largement le rapport de 4,5:1 exigé par les WCAG pour le texte normal. La couleur « Corail », avec un rapport d’environ 3:1, n’est acceptable que pour le texte en gros caractères ; elle doit donc être réservée aux gros titres et aux petits points d’accentuation, ce qui correspond exactement à l’utilisation qu’en fait Stash. Le gris discret présente un rapport de 3,9 : 1 ; il convient donc aux légendes de grande taille plutôt qu’aux petits caractères. Vérifiez cela dans Figma avant que le chargé de projet ne copie un élément à cinquante endroits différents.
Afficher l'image Neuf couleurs, deux polices de caractères, quelques éléments. Un système de design n'a pas besoin d'être vaste pour être utile ; il doit simplement être consigné par écrit.
Créez cinq composants, pas cinquante
Pour une première application, il te faudra environ cinq composants réutilisables : un bouton (primaire et silencieux), un champ de texte, un carte, un ligne ou vignette de liste (la tuile de la chambre de Stash) et la barre d'onglets. Créez-les sous forme de composants Figma avec des variantes pour leurs différents états : par défaut, enfoncé, désactivé, erreur.
Apple publie des ressources officielles de conception iOS pour Figma. Utilise-les comme référence pour les éléments du système tels que les fenêtres contextuelles, les alertes et le clavier, plutôt que de les redessiner. De toute façon, ton agent utilisera les véritables composants du système.
Concevez des écrans que l'agent oubliera
Les agents IA excellent dans le scénario idéal, mais sont en réalité catastrophiques dans tout ce qui s'en éloigne. Concevez-les délibérément ainsi :
- États vides. Le premier lancement : une pièce vide (la grille des pièces de Stash indique “ Aucun objet pour l'instant ”), une recherche sans résultat.
- Un texte très long. Règle ton téléphone sur la plus grande taille de police « Dynamic Type » et observe tes mises en page. Les noms d'éléments longs s'étendent sur plusieurs lignes. Les boutons s'agrandissent.
- Mode sombre, pour tous les écrans, pas seulement les plus jolis.
- Pas de photo. À quoi ressemble la fiche d'un article sans cela ?
- Autorisation refusée. L'utilisateur a refusé d'être filmé. Et maintenant ?
- Hors ligne. À quoi ressemble le message “ Enregistré, synchronisation ultérieure ” ?
Laisse l'IA t'aider dans Figma, mais garde le contrôle sur la source de vérité
L'IA de Figma a fait d'énormes progrès cette année. L' Agent Figma La version bêta ouverte a été lancée pour tous les abonnements payants lors de la conférence Config 2026, et elle est gratuite pendant la période de bêta pour les abonnements « Full ». Elle permet de générer et de remixer des designs directement dans ton fichier. Figma Make transforme les invites en prototypes cliquables. Tissage Ces outils permettent désormais d'effectuer des opérations sur les images, telles que le remplacement d'arrière-plan, sans quitter le fichier de conception.
Ils sont parfaits pour explorer différentes possibilités. Crée dix variantes d’un écran d’accueil, retiens la seule bonne idée, puis reconstruis-la avec tes propres composants et variables. Si les calques générés deviennent ta référence absolue, ton système de conception dérive, et l’agent de codage hérite de cette dérive.
Stash fait quelque chose que je recommanderais à tout le monde : ses idées expérimentales sont présentées dans une section interactive distincte et clairement identifiée sur le site web, et non dans l'application. Cela permet d'explorer ces fonctionnalités en toute transparence, sans faire miroiter des fonctionnalités qui n'existent pas encore.
Réalisez un prototype, puis observez trois personnes l'utiliser
Assemble les écrans pour créer un prototype interactif, confie ton téléphone à trois personnes et demande à chacune d’elles d’enregistrer quelque chose puis de le retrouver. Ne donne aucune explication. Observe les moments où elles hésitent. Ces trois personnes mettront en évidence la plupart des problèmes importants, et corriger un cadre dans Figma ne prend que quelques minutes, alors que le corriger une fois qu’il a été développé par l’agent nécessite une session entière.
Partie 6 — Connecter Figma à OpenCode : le piège du MCP
C'est la partie du flux de travail qui donne vraiment l'impression d'être dans le futur quand elle fonctionne : sélectionnez un cadre dans Figma, demandez à l'agent de le créer, et celui-ci analyse la mise en page réelle, les variables réelles et les composants réels, au lieu de devoir scruter une capture d'écran.
C'est aussi à ce stade que la plupart des guides omettent un détail qui te fera perdre une soirée.
Ce que le serveur Figma MCP apporte à un agent
Le MCP (Model Context Protocol) est la méthode standard permettant à un agent d'IA d'utiliser des outils externes. Le serveur MCP de Figma met à disposition un ensemble d'outils ; voici ceux qui sont essentiels pour développer une application :
| Outil | Ce qu'elle renvoie |
|---|---|
get_design_context | Le contexte de conception de la couche ou du cadre sélectionné. Figma l'appelle le « point de départ par défaut ». |
get_variable_defs | Les variables et les styles utilisés dans la sélection : tes couleurs, l'espacement, la police |
get_screenshot | Une image de la sélection, afin que l'agent puisse comparer son résultat |
get_metadata | Une structure XML succincte de l'architecture des couches |
get_code_connect_map | Correspondances entre les composants Figma et les composants de ton code réel |
créer_les_règles_du_système_de_conception | Une invite qui génère un fichier de règles décrivant ton système de conception pour l'agent |
Il y a également écrire outils (use_figma pour créer et modifier du contenu natif dans Figma, générer_un_design_Figma (pour convertir une interface web en cours d'exécution en calques Figma, entre autres), mais la quasi-totalité d'entre elles ne sont disponibles que sur le serveur distant. Gardez cela à l'esprit.
Serveur distant ou serveur de bureau ?
Figma exploite deux versions du serveur :
- Le serveur distant à
https://mcp.figma.com/mcp. Figma le recommande ; il ne nécessite pas l'application de bureau, fonctionne avec tous les types d'abonnements et toutes les formules, et dispose d'une gamme complète d'outils, y compris la possibilité d'écrire directement sur le canevas. - Le serveur de bureau à
http://127.0.0.1:3845/mcp, qui s'exécute au sein de l'application de bureau Figma. Elle nécessite un Licence « Dev » ou « Full » dans le cadre d'un forfait payant, et il est principalement en lecture seule.
Le hic : OpenCode n'est pas encore autorisé sur le serveur distant
Pendant sa phase bêta, le serveur distant n'accepte que les clients approuvés. La liste établie par Figma comprend notamment Claude Code, Codex, Cursor, VS Code, Gemini CLI, Kiro, Warp et Xcode. OpenCode n'y figure pas. Essaie de te connecter : l'étape d'inscription échoue et renvoie une erreur HTTP 403.
Il ne s'agit pas d'un bug de la part d'OpenCode. En mai, un membre de l'équipe de Figma a expliqué sur le forum de Figma que la portée de la connexion est “ accessible uniquement aux clients pris en charge pendant la phase bêta ”, et a redirigé les utilisateurs vers le serveur de bureau, qui “ contourne complètement le problème lié à OAuth et à la liste blanche. ” L'équipe d'OpenCode a lancé une pull request ouverte visant à ajouter un client Figma certifié ; celle-ci est toujours en attente de validation par Figma au moment de la rédaction de cet article.
Tu trouveras des messages te suggérant d'emprunter l'identifiant client OAuth d'une autre application pour contourner la liste blanche. Ne le fais pas. Utilise le serveur de bureau et attends la prise en charge officielle.
Afficher l'image Il existe trois voies pour passer de Figma à OpenCode. Une seule d'entre elles est une impasse, et c'est justement celle que Figma recommande à tout le monde.
Configuration du serveur de bureau avec OpenCode
- Installez le Application de bureau Figma et connecte-toi avec un compte disposant d'une licence « Dev » ou « Full » dans le cadre d'une formule payante. Dans la formule « Professional », une licence « Dev » coûte $12 par mois et une licence « Full » $16.
- Ouvre ton fichier de conception et passe à Mode développeur avec
Maj + D. - Dans le panneau d'inspection, recherchez le Serveur MCP rubrique, puis cliquez sur Activer le serveur MCP sur l'ordinateur de bureau.
- Ajoute-le à OpenCode. Tu peux soit utiliser le
figma-bureaubloc de la configuration de la partie 4, ou exécutez :
bash
opencode mcp add figma-desktop --url http://127.0.0.1:3845/mcp
Si OpenCode tente de lancer une connexion OAuth pour lui, définissez " oauth " : false sur le serveur dans opencode.jsonc. Le serveur de bureau est local et n'en a pas besoin. 5. Vérifiez qu'il est connecté à Liste des MCP OpenCode.
Veille à laisser l'application de bureau Figma ouverte pendant que tu travailles. Si Figma est fermée, les outils Figma de l'agent disparaissent tout simplement.
Faites attention aux limites de débit
Dans le cadre de la formule « Professional », les licences « Dev » et « Full » bénéficient d'un maximum de 200 appels par jour vers l'outil MCP et 10 par minute. Les abonnements « Organisation » donnent droit à 15 appels par minute ; les abonnements « Enterprise » à 600 appels par jour et 20 par minute. Les abonnements « View » et « Collab » sont limités à quelques appels par mois. Deux cents, ça peut sembler beaucoup, jusqu’à ce qu’un agent trop zélé passe un appel get_screenshot après chaque petite modification ; il faut donc lui indiquer, dans le fichier AGENTS.md, de comparer le résultat avec la capture d'écran une fois par écran plutôt qu'une fois par modification.
Le modèle de prompt qui fonctionne
Sélectionnez un cadre dans Figma, puis dans OpenCode :
Implémente le cadre Figma sélectionné pour créer l'écran « Ajouter un élément ». Commence par appeler les méthodes `get_design_context` et `get_variable_defs`. Utilise uniquement les jetons provenant du fichier `src/theme/tokens.ts` ; si une valeur manque, ajoute un jeton plutôt que de la coder en dur. Réutilise nos composants Button, TextField et Card existants. Une fois que tu as terminé, appelle get_screenshot et répertorie toutes les différences visibles entre le cadre et ce que tu as créé. Corrige-les ensuite.
Deux habitudes permettent d'améliorer considérablement la fiabilité :
- Courir
créer_les_règles_du_système_de_conceptionune fois au début du projet et enregistre le résultat dans une section de ton fichier AGENTS.md ou en tant que compétence dans.opencode/compétences/. À partir de là, chaque session connaît tes règles de mise en page sans qu'il soit nécessaire de les lui indiquer. - Une trame par requête. “ Compiler l'application entière à partir de ce fichier ” génère une application complète qui comporte des erreurs un peu partout. En compilant un écran à la fois, on obtient des écrans qui fonctionnent correctement.
Pas de place payante ? L'itinéraire gratuit
Tu peux faire tout cela sans MCP. M3.1 lit les images : il suffit donc d'exporter chaque image au format PNG en double résolution, de la joindre à ton invite, puis de coller tes valeurs de couleur et d'espacement dans un jetons fichier dans le référentiel. Tu perds les données exactes des calques et les recherches de variables ; attends-toi donc à davantage d'allers-retours concernant l'espacement. Pour une première application comportant six écrans, c'est tout à fait faisable, et cela ne coûte rien.
Partie 7 — Comment créer une application à partir de zéro, étape par étape
Voici la partie “ à partir de zéro ”. Sept étapes, dans l'ordre où je les réaliserais, avec les conseils et les pièges à éviter.
Phase 0 — Choisis ton framework
En 2026, trois options judicieuses s'offrent à toi, et le choix qui s'impose dépendra de l'environnement dans lequel ton application doit fonctionner.
| SwiftUI + Xcode 27 | Expo SDK 56 (React Native) | Flutter | |
|---|---|---|---|
| Fonctionne sous | iPhone, iPad, Mac, Apple Watch, Vision Pro | iPhone, iPad, Android, Web | iPhone, iPad, Android, Web, ordinateur de bureau |
| Langue | Swift 6.4 | TypeScript | Fléchette |
| Tu as besoin d'un Mac ? | Oui | Pas besoin de développer ni de soumettre : le service EAS d’Expo permet de créer des applications iOS dans le cloud | Oui, pour les versions iOS, sauf si tu utilises un environnement de CI dans le cloud |
| Widgets | WidgetKit natif | Version stable pour iOS depuis le SDK 56 | Grâce à des plugins et au code natif de WidgetKit |
| Convivialité pour les agents | Très bien, surtout avec les outils MCP intégrés à Xcode ; le compilateur Swift détecte beaucoup d'erreurs | Très bien : les types TypeScript, des rechargements rapides et une quantité impressionnante d'exemples de code accessibles à tous | Bon |
| Meilleur pour | Les applications exclusivement destinées à Apple qui souhaitent bénéficier de toutes les fonctionnalités natives | Une seule base de code pour iPhone et Android, développée par une seule personne | Une interface utilisateur identique sur toutes les plateformes |
Ma règle d'or :
- Tu n'utilises que des produits Apple et tu veux les dernières nouveautés de la plateforme (Les frameworks d'IA embarqués d'Apple, les Live Activities, l'intégration profonde au système) : SwiftUI, avec OpenCode s'exécutant au sein de Xcode ou à l'aide des outils de Xcode (4e partie).
- iPhone et Android à partir d'une seule base de code, et tu es seul : La version 56 du SDK Expo, publiée le 21 mai 2026 avec React Native 0.85, a relevé la version minimale requise à iOS 16.4, a rendu ses couches d'interface utilisateur SwiftUI et Jetpack Compose prêtes pour la production, et a fait passer les widgets iOS en version stable. Son service EAS permet de compiler et de soumettre des applications iOS depuis Windows ou Linux, et l'offre gratuite comprend 15 compilations iOS et 15 compilations Android par mois.
- Flutter si toi ou ton équipe le savez déjà.
La fiche de l'application Stash sur l'App Store indique qu'elle nécessite iOS 16.4, et sa politique de confidentialité mentionne déjà une version Android ; il est donc clair qu'elle est destinée à s'étendre au-delà de l'iPhone.
Phase 1 — Mise en place, validation, briefing
Crée le projet vide et assure-toi qu'il fonctionne avant que l'agent n'y touche.
Exposition :
bash
npx create-expo-app@latest my-app
cd my-app
npx expo start # ouvre-la sur ton téléphone avec Expo Go, ou dans le simulateur iOS
SwiftUI : Dans Xcode, sélectionnez Fichier → Nouveau → Projet → iOS → Application, sélectionnez SwiftUI, puis exécutez-le une fois dans le simulateur.
Ajoutez ensuite les fichiers de la partie 4 (AGENTS.md et opencode.jsonc), plus deux autres :
ROADMAP.md: la liste des tranches verticales ci-dessous, avec des cases à cocher. L'agent la consulte, coche les éléments au fur et à mesure, et tu sais toujours où tu en es.src/theme/tokens.ts(ou son équivalent en Swift) : tes variables Figma sous forme de code. Copie-les manuellement ou laisse l'agent les récupérer à l'aide deget_variable_defs.
Validez. Si Git n'est pas encore configuré, git init Tout d'abord. À partir de maintenant, chaque étape de travail se termine par un commit.
Phase 2 — Planifier le modèle de données avant de concevoir les écrans
Le modèle de données est la décision dont la modification ultérieure s'avère la plus coûteuse, car dès lors que les utilisateurs réels disposent de données réelles, toute modification nécessite une migration. Utilisez le plan agent à plein régime :
Tu prévois de développer une application du type “ Où est-ce que je l’ai mis ? ”. Lis les fichiers AGENTS.md, ROADMAP.md et le cahier des charges. Propose le modèle de données, l’approche de stockage local et la structure des dossiers. L’application doit fonctionner entièrement hors ligne, sans compte ; les comptes et la synchronisation viendront plus tard et ne doivent pas nécessiter de réécriture de la couche locale. Énumère les compromis, les migrations qui seraient nécessaires si l’on ajoutait la synchronisation ultérieurement, ainsi que tout élément ambigu du cahier des charges. N’écris pas encore de code.
Pour une application de type Stash, tu obtiendras quelque chose comme ceci (il s'agit d'une illustration, et non du schéma réel de Stash) :
ts
type Pièce = {
id : chaîne ;
nom : chaîne ; // " Couloir "
dateDeCréation : nombre ;
dateDeMiseÀJour : nombre ;
};
type Objet = {
id : chaîne de caractères ;
nom : chaîne de caractères ; // " Clés de la maison "
idSalle : chaîne de caractères ;
emplacement : chaîne de caractères ; // " Tiroir du haut "
note : chaîne de caractères ; // " Dans le plat en céramique à gauche "
photoPath?: chaîne de caractères; // fichier local en premier lieu ; copie sur le cloud uniquement avec un compte
voiceNotePath?: chaîne de caractères;
transcript?: chaîne de caractères; // ce qui rend les notes vocales consultables
remindAt?: nombre; // rappel saisonnier
createdAt: nombre;
updatedAt : nombre ; // utilisé pour résoudre les conflits de synchronisation
deletedAt? : nombre ; // suppression temporaire, afin que les suppressions puissent également être synchronisées
};
Lis attentivement le plan. Remets-le en question. C'est le moment du projet où changer d'avis te coûte le moins cher.
Phase 3 — Développement par tranches verticales
Une « tranche verticale » désigne une fonctionnalité qui fonctionne de bout en bout, de l'écran au stockage et inversement, avant de passer à la suivante. Voici l'ordre dans lequel je développerais une application de type Stash :
- Ajouter un article: nom, salle, emplacement et remarque, enregistrés localement.
- Photos: appareil photo et galerie de photos, stockés sous forme de fichiers locaux.
- Accueil: les éléments récemment enregistrés et la ligne « Pièces ».
- Recherche: par nom, salle et note, ainsi qu'un filtre “ avec photos ”.
- Détails de l'article et “ Je l'ai trouvé ”.
- Chambres: la grille, ainsi que l'ajout, le renommage et la suppression de salles.
- Notes vocales: enregistrer, transcrire, rendre la transcription consultable.
- Rappels: notifications locales concernant les articles saisonniers.
- Widgets pour l'écran d'accueil et l'écran de verrouillage.
- Paramètres: création, exportation et, une fois les comptes créés, suppression de ceux-ci.
- Comptes et synchronisation: le contenu de la version 2, si tu es raisonnable.
Chaque tranche suit la même boucle :
- Plan : le
planL'agent rédige un bref plan pour la séquence. Tu le corriges. - Conception : Sélectionnez le cadre Figma, puis utilisez le modèle de prompt de la partie 6.
- Version : le
construireL'agent met en œuvre les tests, les exécute et corrige les échecs. - Fais-le toi-même, sur un appareil, et essayez de le casser.
- Lisez le fichier diff. Toutes les lignes qui vont être expédiées.
- Valider, cochez la case dans ROADMAP.md, puis lancez une nouvelle session pour la tranche suivante.
Cette nouvelle session est plus importante qu'il n'y paraît. Même avec un million d'éléments de contexte, une session prolongée finit par accumuler des hypothèses obsolètes. Un nouveau départ, qui consiste à relire les fichiers AGENTS.md et ROADMAP.md, est souvent plus judicieux qu'une session prolongée.
Phase 4 — D'abord hors ligne, puis synchronisation
La politique de confidentialité de Stash illustre une approche que j'adopterais pour presque toutes les applications personnelles : Sans compte, toutes les données restent sur l'appareil ; avec un compte, elles sont synchronisées via un serveur. Cela simplifie la première version, facilite l'examen de l'application et renforce la confiance de tes utilisateurs.
L'ordre des opérations :
- Commencez par finaliser le calque local. SQLite via la bibliothèque d'Expo, ou SwiftData dans une application native. Les photos et les enregistrements sont stockés sous forme de fichiers sur l'appareil.
- Ajouter des comptes avec l'authentification Firebase. Une connexion par e-mail suffit pour commencer. Si tu ajoutes Google ou un autre service de connexion tiers comme moyen principal de connexion, la directive 4.8 d'Apple exige une option équivalente axée sur la confidentialité, telle que « Se connecter avec Apple ».
- Synchroniser les fiches d'articles vers Cloud Firestore, et les photos et les notes vocales vers Cloud Storage, chacune dans le répertoire propre à l'utilisateur.
- Effectuez les tâches nécessitant des droits d'accès élevés sur le serveur. Tout ce qui nécessite des droits d'administrateur, comme la suppression de tous les fichiers lors de la suppression d'un compte, doit être géré dans Cloud Functions, et en aucun cas dans le bundle de l'application.
- Renforcez la sécurité grâce à des règles de sécurité afin que chaque utilisateur ne puisse lire et écrire que ses propres données :
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{uid}/{document=**} {
allow read, write: if request.auth != null && request.auth.uid == uid;
}
}
}
Écris la règle équivalente pour Cloud Storage, puis demande à l’agent de créer des tests qui tentent de lire les données d’un autre utilisateur et échouent. Le serveur MCP officiel de Firebase (qui figure dans la configuration de la partie 4) permet à l’agent de comprendre et de valider tes règles, et te demande ton accord avant d’apporter la moindre modification au projet. Le déploiement reste ta responsabilité, c’est pourquoi déploiement Firebase est refusé dans les autorisations.
Deux points à retenir. La formule gratuite « Spark » de Firebase inclut l’authentification (50 000 utilisateurs par mois) et les quotas gratuits de Firestore (1 GiB de stockage, 50 000 lectures et 20 000 écritures par jour), mais Le stockage dans le cloud et les fonctions cloud nécessitent le forfait Blaze à la consommation. Blaze propose des quotas généreux et gratuits, notamment 5 Go de stockage et 2 millions d'appels de fonction par mois ; une petite application peut donc rester entièrement gratuite. Mettez tout de même en place une alerte budgétaire dès le premier jour.
Si tu souhaites en savoir plus sur les raisons profondes qui sous-tendent l'approche “ local-first ”, j'ai abordé ce sujet dans Pourquoi les logiciels « local-first » font leur grand retour.
Phase 5 — Les éléments spécifiques à l'iPhone
Voici les détails qui font la différence entre “ ça marche sur mon téléphone ” et “ ça passe la validation ” :
- Les demandes d'autorisation doivent être motivées par des raisons valables. L'appareil photo, la photothèque, le microphone et, si tu utilises le framework de reconnaissance vocale d'Apple, la reconnaissance vocale : chacun de ces éléments nécessite une chaîne de justification précisant exactement pourquoi. “ Pour photographier l'endroit où tu ranges quelque chose ” est un bon exemple. “ Cette application a besoin d'un accès ” est un motif de refus classique.
- Posez la question au bon moment. Demandez à recevoir des notifications lorsque quelqu'un configure son premier rappel, et non lors du premier lancement. Les gens acceptent plus facilement lorsque la raison est évidente.
- Privilégier la reconnaissance vocale intégrée à l'appareil lorsque le téléphone prend en charge cette fonctionnalité, et précise dans ta politique de confidentialité que le service de reconnaissance vocale de la plateforme peut traiter des données audio. C'est exactement ce que fait la politique de Stash.
- Les widgets sont de petites applications à part entière. Elles ont leur propre cycle de vie, leurs propres limites de mémoire et leur propre mode de lecture de tes données. Prévois une tranche complète pour elles.
- Déclarations de confidentialité. Depuis mai 2024, les applications (y compris les SDK qu'elles contiennent) doivent déclarer les motifs autorisés pour l'utilisation de certaines API système. Les SDK Firebase sont fournis avec leurs propres manifestes ; assure-toi que le tien existe également.
- Mode sombre, Dynamic Type, VoiceOver. Cochez les trois cases sur chaque écran. Les agents sont bien plus rigoureux en matière d'étiquettes d'accessibilité lorsque le fichier AGENTS.md les impose ; veillez donc à ce qu'il les impose.
Phase 6 — Testez en adoptant une attitude sceptique
L'agent te dira que c'est terminé. Il y aura souvent de petites erreurs, et parfois des plus importantes. Les agents de Xcode 27 peuvent désormais exécuter des tests et vérifier eux-mêmes les aperçus SwiftUI, ce qui est utile, mais rien ne remplace une personne avec un téléphone.
Automatisé : des tests unitaires pour la recherche, le modèle de données et surtout la logique de synchronisation et de fusion. Ce sont ces bugs qui entraînent la perte des données des utilisateurs.
Manuellement, avant chaque mise en ligne :
- Un véritable appareil, pas seulement le simulateur
- Mode avion : enregistre, effectue une recherche, modifie, puis reconnecte-toi et vérifie que la synchronisation s'effectue correctement
- Mode sombre et taille de texte maximale sur tous les écrans
- VoiceOver : peux-tu enregistrer et retrouver un élément les yeux fermés ?
- Chaque autorisation refusée, une par une
- Une nouvelle installation et une mise à jour par rapport à la version précédente (les données doivent être conservées)
- Supprimer un compte : tout a-t-il vraiment disparu ?
Quand quelque chose tombe en panne, notez-le. Utilisez la fonction d'enregistrement d'écran de l'iPhone, joignez la vidéo et demandez à M3.1 ce qui ne va pas. Il prend en charge les fichiers vidéo, et “ regardez ça ” vaut mieux que trois paragraphes de description.
Modèles de messages pour ce type d'application
Adaptez-les plutôt que de les copier bêtement.
Une part :
Mets en œuvre la partie 4 du fichier ROADMAP.md (recherche). Lis d'abord le fichier AGENTS.md. La recherche doit correspondre aux noms d'éléments, aux noms de pièces, aux notes et aux transcriptions de notes vocales, sans distinction de majuscules ou de minuscules, au fur et à mesure que l'utilisateur tape. Ajoute un filtre “ Avec photos ”. Écris d'abord les tests unitaires, puis l'implémentation. Exécute les tests et le vérificateur de types. Montre-moi les différences et une liste de toutes les hypothèses que tu as formulées.
Un bug :
Ci-joint un enregistrement d'écran. Sur un iPhone réglé sur la taille de texte maximale, le clavier masque le bouton « Enregistrer » sur l'écran « Ajouter ». Identifie la cause du problème, explique-la en deux phrases, corrige-la, puis vérifie si ce problème se pose également sur les autres formulaires de l'application.
Une critique :
Passez en revue toutes les modifications apportées depuis la dernière validation, en adoptant le regard critique d’un réviseur iOS expérimenté. Recherchez les plantages, les pertes de données, les failles de confidentialité, les étiquettes d’accessibilité manquantes, les couleurs codées en dur et tout ce qui empêche l’utilisation hors ligne. Ne corrigez rien pour l’instant ; fournissez-moi une liste numérotée, en classant les problèmes par ordre de gravité, du plus grave au moins grave.
Cette dernière invite mérite d'être exécutée avant chaque commit. Elle ne prend qu'une minute et permet de détecter les problèmes qui pourraient te faire perdre tout un week-end.
Partie 8 — Comment publier une application sur l'App Store en 2026
Développer l'application, c'est la partie la plus sympa. La publier, c'est une question de formalités administratives, et c'est justement là que les développeurs débutants perdent une semaine. Tu trouveras ici toutes les informations nécessaires en un seul endroit.
Exigences d'Apple à compter d'octobre 2026
| Exigence | Détails | En vigueur depuis |
|---|---|---|
| Programme pour les développeurs Apple | $99 par an (99 € en Allemagne). Les entreprises s'inscrivent en tant qu'organisation, ce qui nécessite un numéro D-U-N-S. | — |
| Outils de compilation | Les fichiers à télécharger doivent être créés avec Xcode 26 ou version ultérieure à l'aide du SDK iOS 26 | 28 avril 2026 |
| Objectif minimum | Les applications doivent cibler iOS 13 ou version ultérieure | 9 septembre 2026 |
| Classification par âge | Répondez aux nouvelles questions d'Apple concernant la classification par âge | 31 janvier 2026 |
| Charte de confidentialité | Motifs autorisés pour les API de type “ motif obligatoire ”, y compris dans les SDK tiers | 1er mai 2024 |
| Politique de confidentialité | Lien vers App Store Connect et accessible depuis l'application (directive 5.1.1(i)) | — |
| Suppression du compte | “ Si ton application permet la création d'un compte, tu dois également proposer la suppression de ce compte au sein même de l'application. ” (5.1.1(v)) | — |
| Statut d'opérateur de l'UE | Tous les promoteurs l'indiquent. L'adresse, le numéro de téléphone et l'adresse e-mail des agents immobiliers figurent sur la page du produit dans les 27 pays de l'UE. | — |
Les versions actuelles d’Apple sont Xcode 27 et iOS 27, toutes deux sorties le 14 septembre 2026. Tu n'es pas encore obligé de développer avec Xcode 27, mais tu ne peux plus publier d'applications développées avec Xcode 16 ou une version antérieure (Apple est passé directement de Xcode 16 à 26 lorsqu'il a adopté la numérotation des versions basée sur l'année).
Remarque à l'attention des développeurs allemands et européens : Si tu publies en tant qu’entreprise, tu es considéré comme un professionnel au sens de la loi européenne sur les services numériques (Digital Services Act), et Apple vérifie tes coordonnées avant de les afficher sur la page de ton produit. En février 2025, Apple a retiré des milliers d’applications des boutiques en ligne de l’UE parce que ces informations faisaient défaut. Ne fais pas partie de ces cas.
App Store Connect, champ par champ
Créez la fiche de l'application dans App Store Connect, puis renseignez les champs suivants :
- Identifiant du bundle. Un identifiant de domaine inversé qui ne change jamais, comme celui de Stash
network.grahammiranda.stash. Choisis-le avec soin. - Nom (30 caractères) et sous-titre (30). Utilisations de Stash Stash — Trouvez-le rapidement et Retrouve tout ce que tu as rangé: le nom de la marque suivi de l'avantage, puis l'avantage formulé en termes simples.
- Mots-clés (100 caractères), séparés par des virgules sans espaces. Ne répète pas les mots déjà présents dans ton nom ou ton sous-titre ; ils sont de toute façon pris en compte.
- Texte promotionnel (170 caractères), que tu peux modifier sans qu'un nouvel examen soit nécessaire, et le description (4,000).
- Captures d'écran. De 1 à 10 par format d'appareil, au format PNG ou JPEG, sans transparence. Pour l'iPhone, le format 6,9 pouces (1 320 × 2 868) ou le format 6,5 pouces (1 284 × 2 778) ; pour l'iPad, le format 13 pouces (2 064 × 2 752). Le pack de Stash utilise les formats 6,5 pouces et 13 pouces.
- Catégorie. Une catégorie principale et une catégorie secondaire facultative. La catégorie « Stash » correspond à la productivité, suivie de la catégorie « Utilitaires ».
- URL. Assistance, marketing et politique de confidentialité. Tout le monde doit s'y mettre.
- Confidentialité des applications, l“” étiquette nutritionnelle ». Nous y reviendrons plus loin, car c’est là que même les personnes honnêtes se trompent encore.
- Classification par âge questionnaire.
- Informations sur l'évaluation de l'application : tes coordonnées, des remarques à l'attention de l'évaluateur et, si ton application nécessite une connexion, un compte de démonstration. Un mode « invité » comme celui de Stash facilite la tâche de l'évaluateur.
- Conformité en matière d'exportation. Si ton application utilise uniquement le chiffrement intégré au système d'exploitation, tel que le protocole HTTPS, elle peut généralement bénéficier d'une dérogation. Consulte les recommandations d'Apple, puis configure
ITSAppUtiliseUnChiffrementNonExemptédans ton fichier Info.plist afin qu'on ne te le demande pas à chaque transfert.
Les champs de saisie constituent également un travail intéressant pour l'agent : “ Rédigez le sous-titre, les mots-clés, le texte promotionnel et la description destinés à l’App Store. Ne mentionnez que les fonctionnalités qui existent réellement dans le code ; indiquez le fichier dans lequel se trouve chaque fonctionnalité. ” Cette dernière instruction l'empêche d'inventer des fonctionnalités.
TestFlight avant toute autre chose
Importer une version (depuis l'Organizer d'Xcode, ou à l'aide de eas build --platform ios --auto-submit sur Expo) et le tester d'abord via TestFlight :
- Testeurs internes : Jusqu'à 100 personnes dans ton équipe : aucune validation n'est nécessaire.
- Testeurs externes : jusqu'à 10 000 personnes, invitées par e-mail ou via un lien public. La première version externe fait l'objet d'un bref examen dans le cadre du programme « Beta App Review ».
- Les versions restent testables pendant 90 jours.
Donne-le à cinq amis qui ont des téléphones différents pendant une semaine. Ils repéreront le plantage que tu n'as pas détecté.
Quelles sont les raisons qui entraînent le rejet des applications ?
Apple affirme que “ En moyenne, 90% de demandes sont examinées en moins de 24 heures ”, et que “ Plus de 40% de problèmes non résolus concernent la ligne directrice 2.1 : Exhaustivité de l'application ”: plantages, contenu provisoire, informations incomplètes et liens rompus. Les problèmes classiques d'une première application :
| Ligne directrice | Ce que cela signifie concrètement |
|---|---|
| 2.1 Exhaustivité de l'application | Pas de plantage, pas de “ Lorem ipsum ”, pas de liens morts, informations sur le compte démo si une connexion est requise |
| 4.2 Fonctionnalités minimales | “ Ton application doit comporter des fonctionnalités, du contenu et une interface utilisateur qui lui permettent de se démarquer d'un simple site web repensé. ” |
| 4.8 Services de connexion | Si tu utilises la connexion via un service tiers comme principal moyen d'authentification, tu dois également proposer une option respectueuse de la vie privée, telle que « Se connecter avec Apple ». |
| 5.1.1(i) Politique de confidentialité | Disponible sur App Store Connect et dans l'application ; précise quelles données sont collectées, qui les traite et comment s'effectue leur suppression |
| 5.1.1(v) Suppression d'un compte | Si les utilisateurs peuvent créer un compte, ils peuvent également le supprimer depuis l'application |
| Métadonnées précises | Les captures d'écran et les descriptions montrent ce que fait réellement le fichier binaire, et non la feuille de route. |
Stash présente ses expérimentations en matière de design sur son site web, clairement identifiées, et non sur la page de l'App Store, c'est-à-dire à droite de cette dernière ligne.
Mentions relatives à la confidentialité : veillez à ce qu'elles soient exactes, et pas seulement plausibles
La définition d'Apple est précise : “ Le terme ‘Collect’ désigne la transmission de données depuis l’appareil d’une manière qui te permet, à toi et/ou à tes partenaires tiers, d’y accéder pendant une durée supérieure à celle nécessaire pour traiter la demande transmise en temps réel. ” Les données traitées uniquement sur l'appareil ne sont pas collectées.
Concrètement, pour une application de type Stash :
- Mode invité uniquement (aucune donnée ne quitte le téléphone) : les données ne sont pas collectées.
- Comptes synchronisés : l'adresse e-mail, les photos, les enregistrements audio et les notes stockées sur ton serveur sont collectées, car elles quittent l'appareil et sont stockées sur un serveur, même si seul l'utilisateur peut les consulter. Elles sont répertoriées dans l'étiquette en tant que données liées à l'utilisateur, utilisées pour le fonctionnement de l'application, et non à des fins de suivi.
L'agent est ici un excellent outil d'audit, car il est capable d'analyser chaque appel réseau présent dans le code source :
Effectuez un audit de cette base de code pour chaque donnée qui quitte l'appareil : de quoi s'agit-il, où va-t-elle (quel SDK ou point de terminaison), est-elle stockée, pendant combien de temps, et est-elle associée à l'utilisateur ? Incluez les données envoyées par les SDK tiers. Générez un tableau que je pourrai utiliser pour remplir les questions relatives à la confidentialité des applications d’Apple et le formulaire de sécurité des données de Google Play.
Assure-toi ensuite que ces trois documents présentent une version cohérente : ta politique de confidentialité, ta fiche de confidentialité sur l'App Store et, si ton application est disponible sur Android, ton formulaire de sécurité des données sur Google Play. La politique de confidentialité de Stash précise que son tableau des données est rédigé de manière à correspondre aux déclarations des deux boutiques d'applications, ce qui constitue la norme à respecter.
Afficher l'image Imprimez-le, collez-le à côté de l'écran et cochez-le avant chaque première soumission.
Comment Stash a été expédié
Stash 1.0 a été mis en ligne le 23 septembre 2026. La version 1.0.1, avec “ Nouvelle conception et corrections de bugs ”, puis le 2 octobre, neuf jours plus tard. Lancer la version qui fonctionne, puis l'améliorer au fur et à mesure : c'est le rythme le plus sain que je connaisse pour une première application.
Partie 9 — “ Et tout ça ” : le kit de lancement autour de l'application
Une application sur l'App Store sans rien autour, c'est comme un magasin sans enseigne. Voici le reste de l'ensemble, en reprenant l'exemple de Stash.
Une page d'accueil proposant une démo interactive
Le site web de Stash Il présente quelques atouts que je m'inspirerais pour toute première application :
- Une promesse bien en vue. “ Range-le. N'oublie pas où tu l'as mis. ” Puis une phrase et deux boutons : télécharger l'application ou l'essayer dans le navigateur.
- Un aperçu en direct dans la section « Hero ». Le téléphone à droite n'est pas une image. Tu peux cliquer dessus.
- Une véritable démo dans un navigateur. A Exemple de page d'accueil où tu peux rechercher les clés, parcourir les pièces et ajouter un élément de test. La démo “ s'exécute dans l'onglet de ton navigateur ”, ne modifie pas les données de l'application et efface tout lorsque tu actualises la page. Cela permet aux utilisateurs de tester le concept avant de se lancer dans l'installation.
- Trois étapes, quatre fonctionnalités, pas de jargon. Prends une photo de l'endroit. Donne-lui un nom et attribue-lui une pièce. Retrouve-le quand tu en auras besoin.
- Les études de conception, clairement identifiées en tant que concepts plutôt qu'en tant que fonctionnalités.
- Dix langues (anglais, allemand, français, espagnol, italien, néerlandais, portugais brésilien, polonais, suédois et danois), chacun avec la
hreflangdes balises pour que les moteurs de recherche affichent la bonne page, ainsi qu'un bouton permettant de basculer entre un thème clair et un thème sombre. - Données structurées décrivant l'application comme une
Application mobile, en précisant son prix, les plateformes sur lesquelles elle est disponible et le lien vers l'App Store, afin que les moteurs de recherche comprennent que la page concerne une application. - Rien de bizarre. Le code du site ne contient ni outils d'analyse, ni pixels publicitaires, ni éléments intégrés issus des réseaux sociaux, ni polices externes, ni fonctionnalité de connexion, ni formulaire de contact. Il enregistre uniquement la langue et le thème que tu as choisis dans ton navigateur.
Afficher l'image La page d'accueil de Stash. Le téléphone à droite est une démo fonctionnelle, et non une capture d'écran.
Une page statique comme celle-ci constitue également un premier projet idéal pour la même configuration OpenCode et M3.1 : du HTML brut, du CSS et un peu de JavaScript, sans avoir besoin d'un framework, et tu peux voir chaque modification s'afficher instantanément dans un navigateur.
Mentions légales, si tu résides en Allemagne ou dans l'Union européenne
Il s'agit d'informations générales fournies par une personne qui a vécu cette situation, et non d'un avis juridique. En cas de doute, consultez un avocat.
Publier depuis l'Allemagne implique quelques pages supplémentaires par rapport à ce qu'un tutoriel américain t'indiquera :
- Mentions légales (Impressum) conformément à l'article 5 de la « Digitale-Dienste-Gesetz » (DDG), la loi allemande qui a remplacé l'ancienne « Telemediengesetz » en 2024 : raison sociale, adresse, dirigeant, inscription au registre du commerce, coordonnées et, le cas échéant, numéro de TVA.
- Deux textes distincts relatifs à la protection de la vie privée. Une pour le site web et une pour l'application, car elles traitent des données différentes. Stash propose les deux, et chacune indique clairement laquelle tu es en train de consulter.
- Une politique de confidentialité d'application qui a vraiment du sens. La politique de confidentialité de Stash couvre le responsable du traitement, un tableau détaillant précisément les données collectées et les raisons de cette collecte, la base juridique de chaque finalité au titre de l’article 6 du RGPD, les sous-traitants concernés (Firebase, de Google), les modalités des transferts internationaux (le cadre de protection des données UE-États-Unis et les clauses contractuelles types), la conservation et la suppression des données, les droits des utilisateurs, l’autorité de contrôle compétente, les enfants, la sécurité et la manière dont les modifications sont annoncées.
- Comment supprimer un compte en dehors de l'application. Stash propose un formulaire en ligne ainsi qu'une option intégrée à l'application. Google Play exige un lien vers une page Web pour la suppression de compte si ton application permet aux utilisateurs de créer des comptes ; tu en auras donc besoin de toute façon le jour de la mise en ligne sur Android.
- Les conditions relatives au traitement des données avec ton fournisseur de services backend, saisie dans sa console avant l'arrivée des données réelles des utilisateurs.
Les cookies constituent un autre casse-tête classique. Le site web de Stash contourne en grande partie ce problème en ne nécessitant aucun consentement : pas d’outils d’analyse, pas de pixels publicitaires, pas de suivi, juste la mémorisation de la langue et du thème choisis. La bannière de consentement la moins coûteuse est celle dont on n’a jamais besoin.

Optimisation de l'App Store sans remèdes miracles
La recherche sur l'App Store s'effectue à partir de ton nom, de ton sous-titre et de mots-clés, et les utilisateurs se font une opinion en quelques secondes en se basant sur ton icône et tes premières captures d'écran. Voici quelques règles à respecter :
- Nom : marque + avantage. “ Stash — Find It Fast ” explique à un inconnu à quoi sert l'application.
- Les captures d'écran racontent une histoire, dans l'ordre. Les six propositions de Stash se lisent comme une petite annonce : Chaque chose a sa place. Trouve-la. En quelques secondes. Garde cette place. Chez toi. Pièce par pièce. Souviens-toi des petits détails. Une vision claire. Quelle que soit la lumière. Beaucoup de gens ne font jamais défiler la page au-delà des deux ou trois premiers éléments ; c'est donc là que tu dois placer la boucle principale.
- Localiser l'annonce dans toutes les langues prises en charge par ton application.
- Demande aux gens de te noter lorsqu'ils sont de bonne humeur. La demande d'avis d'Apple peut s'afficher au maximum trois fois par an et par utilisateur ; ne la gaspillez donc pas dès le premier lancement. Dans une application comme Stash, le moment idéal se situe juste après que l'utilisateur a appuyé sur “ Je l'ai trouvé ”.
- Utilisez des textes promotionnels adaptés aux saisons. Le grand ménage de printemps, un déménagement, ranger les affaires d'hiver. Tout change sans qu'il soit nécessaire de faire le point.
Android, quand tu seras prêt
Si tu as développé ton application avec Expo ou Flutter, la version Android ne nécessite généralement qu'une seule compilation. Les formalités administratives sont moins lourdes, mais différentes :
- Google Play facture $25 une seule fois pour ouvrir un compte développeur.
- Nouveaux comptes personnels (créés après le 13 novembre 2023) doivent mener un test à huis clos avec au moins 12 testeurs, ayant donné leur accord pendant 14 jours consécutifs, avant de pouvoir publier. Les comptes d'organismes sont exonérés, ce qui constitue une raison supplémentaire de publier via une société si tu en as une.
- Le formulaire relatif à la sécurité des données Il s'agit de la version proposée par Google du label de confidentialité. Veille à ce qu'elle soit cohérente avec ta politique de confidentialité et tes réponses sur l'App Store.
Partie 10 — Combien coûte le développement d'une application intégrant l'IA en 2026 ?
Les logiciels de cette pile sont pour la plupart gratuits. Ce que tu paies, c'est le modèle, l'abonnement Apple et, en option, un abonnement Figma plus complet.
| Article | Prix catalogue | Quand tu en as besoin |
|---|---|---|
| Programme pour les développeurs Apple | $99 par an (99 € en Allemagne) | Pour pouvoir publier sur l'App Store |
| OpenCode v2 | Gratuit, licence MIT | Toujours |
| Formule MiniMax M | Go $22, Explore $55, Build $132 par mois (50% off le premier mois avec facturation mensuelle jusqu'au 14 octobre) | Pour utiliser M3.1-Flash-Preview |
| Figma | Version Starter gratuite ; licence Professional Dev : $12 par mois, licence complète : $16 | Une licence payante réservée au serveur MCP pour ordinateur de bureau |
| Xcode | Free | Versions natives, sur un Mac équipé d'Apple Silicon |
| Salon EAS | Formule gratuite comprenant 15 versions iOS et 15 versions Android par mois ; formule Starter : 1 TP4T19 par mois | Si tu utilises Expo pour la compilation |
| Firebase | Formule « Free Spark » ; « Blaze » est une formule prépayée avec des quotas gratuits | Comptes et synchronisation ; Stockage et fonctions nécessitent Blaze |
| Google Play | $25, une fois | Uniquement si tu publies sur Android |
| Page d'accueil | Quel que soit le coût de ton hébergement et de ton nom de domaine | Vivement recommandé |
Trois budgets réalistes pour une première année
| Budget | Que contient-il ? | Première année |
|---|---|---|
| Lean | Abonnement Apple + forfait M Plan Go ; Figma Starter avec exportation des cadres ; Expo, Firebase et OpenCode en version gratuite | $363 |
| Confortable | Lean + une licence Figma Dev pour le serveur MCP de bureau + Google Play | $532 |
| Puissance | Formule Apple + M Explore + un abonnement complet à Figma + Expo Starter + Google Play | $1,204 |
Afficher l'image L'abonnement au forfait est le poste le plus important de chaque budget. Les frais facturés par Apple sont les seuls que tu ne peux pas éviter.
Prix catalogue en dollars américains au 5 octobre 2026, hors TVA, aux tarifs mensuels pleins (sans remises de lancement). Le montant final de ta facture dépend du nombre d'utilisateurs ; à petite échelle, les quotas gratuits de Firebase suffisent généralement à couvrir les coûts. Pense tout de même à configurer une alerte budgétaire.
Le budget minimal s'élève à environ $30 par mois. Le véritable coût du projet ne figure toutefois pas sur la liste : ce sont tes soirées. L'IA réduit le temps passé à taper, mais pas celui consacré à la réflexion, et c'est cette dernière qui représente l'essentiel du travail.
Partie 11 — Dix erreurs à éviter lorsque tu développes ta première application avec l'IA
- Commencer par le code plutôt que par un brief. L'agent se fera un plaisir de développer très rapidement une application inadaptée.
- Tout construire en même temps. “ Créer l’application dans son intégralité ” te donne une application complète qui présente de petits dysfonctionnements un peu partout. Privilégie la création de tranches verticales.
- Ignorer le fichier AGENTS.md. Sans cela, chaque session recommence à zéro, et l'agent prend à nouveau des décisions que tu avais déjà prises.
- Permettre à l'agent d'ajouter librement des dépendances. Chaque paquet, c'est du code que tu n'as pas lu, un encombrement supplémentaire pour l'application et une mise à jour future à gérer. Fais en sorte qu'il te demande ton avis.
- Définition fixe des couleurs et des tailles. Dans ce cas, modifier la conception implique de modifier 140 fichiers. Les tokens, comme toujours.
- Croire que c’est “ terminé ”. Les agents font état de résultats positifs avec optimisme. Testez-le sur un vrai téléphone, en mode avion, en mode sombre et avec la taille de texte la plus grande.
- Intégrer des secrets dans l'application. Tout ce qui se trouve dans le fichier d'application peut être extrait. Les clés API payantes ou donnant accès aux droits d'administrateur sont hébergées sur un serveur.
- Un label de confidentialité qui semble plausible, mais qui n'est pas exact. Si les données quittent l'appareil et sont stockées sur un serveur, elles sont considérées comme collectées, même si seul l'utilisateur peut les consulter.
- Oubli de la suppression du compte. Apple l'exige dans l'application si tu autorises l'inscription ; Google Play exige également un lien vers un site web.
- Promettre ta feuille de route. Les captures d'écran et les descriptions présentent les fonctionnalités actuelles de l'application. Les concepts doivent figurer sur ton site web, sous la rubrique « Concepts ».
Et encore une, pour porter chance : ne pas consulter le fichier diff. Le « Vibe coding », ça veut dire ne pas écrire chaque ligne de code. Ça ne veut pas dire ne pas lire les lignes qui sont intégrées au code final. Les codes de sécurité dans mon État des lieux de l'IA en 2026 Les rafles en sont la cause.
Partie 12 — Faut-il utiliser précisément cette pile ? Six scénarios
1. “ Je n'ai jamais écrit une seule ligne de code. ”
Expo, l'application de bureau OpenCode, la version M3.1 du forfait « Go » du M Plan, et la formule gratuite de Figma avec exportation des cadres. Pour ta première application, limite-toi à une seule boucle principale, comme la fonction « enregistrer et rechercher » de Stash. Évite d'utiliser des commandes shell. demander, valider après chaque étape de travail, et utiliser /undo sans culpabilité.
2. “ Je ne m'intéresse qu'à l'iPhone, et je veux que l'application soit entièrement native. ”
SwiftUI dans Xcode 27, avec OpenCode soit directement dans Xcode via l'ACP, soit dans ton terminal à l'aide des outils MCP d'Xcode. M3.1 pour la conception et le développement. Tu bénéficieras d'un accès en avant-première aux tout derniers frameworks d'Apple et d'une intégration optimale avec le système.
3. “ Je paie déjà pour Claude ou ChatGPT. ”
Utilise ce dont tu disposes, et sois impartial quant à ses points forts. Claude Code, Codex et Cursor figurent désormais sur la liste des applications approuvées par Figma pour le serveur MCP distant, y compris les outils d’écriture sur le canevas auxquels OpenCode n’a pas encore accès. OpenCode peut se connecter directement avec ChatGPT Plus ou Pro. Ajoutez M3.1 via OpenCode pour les tâches où son contexte d’un million de tokens et son entrée vidéo font toute la différence.
4. “ Je veux que le coût de démarrage soit le plus bas possible. ”
MiniMax M3 au lieu de M3.1 (via OpenCode Go à $10 par mois, ou en paiement à l'utilisation), Figma Starter, les builds gratuits d'Expo et la formule gratuite de Firebase. L’abonnement Apple à $99 est le seul coût incontournable pour une application iPhone. Si tu n’es pas prêt à t’engager, commence par développer la version web.
5. “ Mon application traite des données sensibles. ”
Commence par concevoir pour le mode invité, limite au maximum l'utilisation des SDK tiers et réfléchis également à l'emplacement de ton code. Tes prompts et ton code source sont transmis au fournisseur du modèle. Pour les projets très sensibles, les modèles locaux via Ollama permettent de tout conserver sur ta propre machine (mon Article sur OpenCode v2 (cette configuration est prise en charge), et demandez à un spécialiste de la protection de la vie privée d'examiner l'application avant son lancement.
6. “ Je développe des applications pour des clients. ”
Un forfait « Figma Organization » avec Code Connect, les règles d'OpenCode permettant de contrôler les fournisseurs auxquels chaque projet client a accès, un forfait « M Plan » pouvant accueillir plusieurs agents en parallèle, ainsi que des versions EAS payantes. Enregistrez les règles de conception de chaque client dans une compétence validée ou dans le fichier AGENTS.md afin que chaque session et chaque membre de l'équipe parte des mêmes règles.
Partie 13 — À suivre au cours des prochains mois
- La version complète M3.1 de MiniMax. Sait-il si le produit sera commercialisé, s'il disposera d'un prix par jeton, de benchmarks publiés et de pondérations ouvertes comme M3, et si la préversion Flash sera disponible sur OpenRouter, OpenCode Go ou Ollama Cloud.
- OpenCode figure sur la liste blanche de Figma. La demande de modification (pull request) d'OpenCode concernant un client Figma enregistré est en attente sur Figma. Une fois qu'elle aura été validée, les outils d'écriture du serveur distant seront accessibles aux utilisateurs d'OpenCode.
- Tarification de la fonctionnalité « Write-to-Canvas » de Figma. Figma précise que ces fonctionnalités sont gratuites pendant la phase bêta et qu'elles seront facturées en fonction de l'utilisation par la suite.
- Calques de code Figma, présenté en avant-première lors de la conférence Config, qui promet de réunir le design et le code sur un même espace de travail.
- OpenCode v2 arrive à maturité : Le partage de session fait son retour, les plugins rattrapent leur retard et les versions 2.0.x se stabilisent.
- Prochaine date limite pour le SDK d'Apple. Si Apple suit son habitude, les versions compilées avec Xcode 27 deviendront obligatoires pour les mises en ligne vers le printemps prochain.
- Stash lui-même. Les trois pistes de conception présentées sur son site web (localisation précise, « Quick Move », cases et étiquettes) donnent une idée de la direction que prennent ces idées.
Foire aux questions
Puis-je créer une application en partant de zéro sans aucune expérience en programmation ?
Oui. En 2026, un agent de codage basé sur l’IA, tel qu’OpenCode, associé à un modèle performant comme MiniMax M3.1, écrira le code tandis que tu prendras les décisions : ce que fait l’application, son apparence, les données qu’elle stocke et la manière dont tu la testeras. Tu devras tout de même apprendre à lire un plan, à examiner un diff, à effectuer des tests sur un appareil réel et à utiliser App Store Connect. Commence par une application comportant une seule boucle principale et ne nécessitant aucun paiement.
Combien de temps faut-il pour développer une application utilisant l'IA ?
Cela dépend bien plus de l'ampleur du projet que des outils utilisés. Une petite application comportant une seule boucle principale, comme une application de sauvegarde et de recherche, ne prendra que quelques semaines de travail le soir plutôt que plusieurs mois, à condition de la développer par tranches verticales et de la tester au fur et à mesure. La publication ajoute quelques jours pour les formalités administratives liées à TestFlight et à l'App Store ; Apple indique que 90% des soumissions sont examinées en moins de 24 heures.
Qu'est-ce que MiniMax M3.1 ?
MiniMax M3.1 est la nouvelle génération de la gamme de modèles M3 de MiniMax. À compter d’octobre 2026, la seule version disponible sera MiniMax-M3.1-Flash-Preview, lancée le 27 septembre 2026 : un modèle de codage multimodal doté d’une fenêtre contextuelle de 1 000 000 de tokens, prenant en charge les entrées texte, image et vidéo, avec un mode de réflexion permanent et cinq niveaux d’effort allant de faible à maximal. Il est disponible uniquement via l’abonnement M Plan de MiniMax et l’application MiniMax Code.
MiniMax M3.1 est-il accessible via l'API ?
Uniquement avec une clé d'abonnement. M3.1-Flash-Preview fonctionne sur les terminaux MiniMax compatibles OpenAI et Anthropic, mais uniquement avec une clé d’abonnement au forfait M. Il n’y a pas encore de tarification à l’utilisation, pas de poids ouverts et pas de référencement sur OpenRouter, Ollama Cloud ou OpenCode Go. MiniMax M3 reste disponible en paiement à l'utilisation au tarif de $0,30 par million de tokens d'entrée et de $1,20 par million de tokens de sortie.
Comment utiliser MiniMax M3.1 dans OpenCode ?
Installe OpenCode v2, lance-le depuis le dossier de ton projet, puis exécute /connect, sélectionne “ MiniMax Token Plan (minimax.io) ” et colle ta clé d'abonnement au forfait M. Ensuite, exécute /models puis sélectionnez « MiniMax-M3.1-Flash-Preview ». Aucun fichier de configuration n'est nécessaire, bien qu'un projet opencode.jsonc te permet de définir des niveaux d'effort par agent et d'attribuer des autorisations.
Le serveur MCP de Figma est-il compatible avec OpenCode ?
En partie. Le serveur MCP distant de Figma n'accepte que les clients approuvés pendant sa phase bêta, et OpenCode ne figure pas encore sur la liste ; la connexion échoue donc avec une erreur HTTP 403. Le serveur MCP de bureau de Figma fonctionne quant à lui : activez-le en mode Dev dans l'application de bureau Figma et configurez OpenCode pour qu'il pointe vers http://127.0.0.1:3845/mcp. Il nécessite une licence « Dev » ou « Full » dans le cadre d'un forfait payant et propose principalement des outils en lecture seule.
Ai-je besoin d'un Mac pour développer une application iPhone ?
Pas forcément. Le développement natif avec Xcode nécessite un Mac, et Xcode 27 requiert un processeur Apple Silicon. Avec Expo, EAS compile ton application iOS dans le cloud et EAS Submit la télécharge sur App Store Connect depuis macOS, Windows ou Linux. Tu auras tout de même besoin d’un iPhone pour les tests, et tu devras être membre du programme Apple Developer Program pour publier ton application.
Combien coûte la publication d'une application sur l'App Store ?
Le programme Apple Developer coûte $99 par an, ou l'équivalent local (99 € en Allemagne). Apple ne facture pas de frais par application ni par soumission. Les coûts de développement dépendent des outils que tu utilises ; la configuration minimale présentée dans ce guide revient à environ $363 la première année, incluant un abonnement au forfait MiniMax M, avec des formules gratuites pour OpenCode, Figma, Expo et Firebase.
Combien de temps dure le processus de validation sur l'App Store ?
Selon Apple, 90% de soumissions en moyenne sont examinées en moins de 24 heures. La raison la plus fréquente pour laquelle les applications sont bloquées est la consigne 2.1, « Exhaustivité de l'application » : plantages, contenu provisoire, informations d'examen incomplètes et liens rompus, y compris les URL de l'assistance et de la politique de confidentialité.
Dois-je utiliser SwiftUI, React Native (Expo) ou Flutter ?
Utilise SwiftUI avec Xcode 27 si ton application est réservée aux appareils Apple et que tu souhaites bénéficier des dernières fonctionnalités de la plateforme. Utilise Expo (React Native) si tu souhaites disposer d'une base de code unique pour l'iPhone et Android et que tu travailles seul : le SDK 56 prend en charge iOS 16.4 et les versions ultérieures, propose des widgets iOS stables et permet de compiler dans le cloud. Utilise Flutter si toi ou ton équipe maîtrisez déjà le langage Dart.
Quelle est la différence entre le MiniMax M3 et le M3.1 ?
MiniMax M3, lancé le 1er juin 2026, est disponible au grand public avec des poids ouverts, des benchmarks publiés et une tarification au jeton, et fonctionne chez de nombreux fournisseurs. M3.1-Flash-Preview, lancé le 27 septembre 2026, est une version préliminaire accessible uniquement par abonnement, sans poids, prix ni benchmarks pour l'instant, avec une réflexion en continu et cinq niveaux d'effort. Les deux versions disposent d'un contexte de 1 million de tokens et acceptent du texte, des images et des vidéos.
Qu'est-ce que Stash ?
Stash — Find It Fast est une application gratuite pour iPhone et iPad développée par Graham Miranda UG qui t'aide à te souvenir de l'endroit où tu as rangé tes affaires. Il suffit de photographier l'endroit, de donner un nom à l'objet et de lui attribuer une pièce, puis de le rechercher plus tard par son nom, sa pièce, une note ou une note vocale transcrite. L'application propose également des rappels pour les objets saisonniers, des widgets, une utilisation hors ligne et une synchronisation entre l'iPhone et l'iPad. Elle a été lancée sur l'App Store le 23 septembre 2026.
Stash collecte-t-il mes données ?
Stash ne contient aucune publicité, n'utilise aucun outil de suivi analytique et ne vend pas de données. En mode invité, sans compte, tes pièces, tes objets, tes photos et tes notes vocales restent sur ton appareil. Si tu crées un compte, ces éléments se synchronisent via Google Firebase afin d’être disponibles sur ton iPhone et ton iPad, en toute isolation par rapport aux autres utilisateurs. Tu peux supprimer ton compte et tes données depuis les Réglages ou via un formulaire en ligne.
En résumé
En 2026, créer une application à partir de zéro ne se résume plus à savoir si l’on est capable d’écrire du code. Un agent tel qu’OpenCode v2, exécutant un modèle comme MiniMax M3.1, écrira en un après-midi plus de code que tu n’en lirais en une semaine. Le véritable travail s'est déplacé vers les marges : déterminer ce qu'est l'application, la concevoir avec suffisamment de précision pour qu'un agent ne puisse pas la mal interpréter, la tester avec un regard sceptique, et s'occuper de la paperasse peu glamour qui transforme un dossier de projet en quelque chose qu'un inconnu peut télécharger.
La pile présentée dans ce guide est celle que je recommanderais aujourd’hui. Figma pour des décisions visuelles. OpenCode v2 parce qu’il est ouvert, scriptable, rigoureux en matière d’autorisations et ne s’en tient à aucun modèle en particulier. MiniMax M3.1, car un million de jetons de contexte et l’entrée vidéo conviennent exceptionnellement bien au développement d’applications, à condition de considérer l’aperçu comme un simple aperçu. Et les “ éléments ” (Firebase, TestFlight, les mentions de confidentialité, une page d’accueil, les mentions légales), car c’est ce que les utilisateurs voient réellement.
Voici à quoi ressemble Stash à la livraison : une petite promesse, parfaitement tenue. Téléchargez Stash sur l'App Storeou Essaie la démo dans ton navigateur D'abord. Ensuite, va créer le tien.
Tu développes ta première application avec l'IA ? J'aimerais savoir quel framework tu as choisi, si tu as réussi à faire communiquer le serveur MCP de Figma avec ton agent, et ce que tu penses de MiniMax M3.1. Les corrections et les contre-arguments sont les bienvenus ; cet article sera mis à jour dès que la situation évoluera.
Mention légale : Stash est une application que j'ai développée moi-même et qui est éditée par ma société, Graham Miranda UG. Elle est gratuite, sans publicité ni achats intégrés. Cet article ne contient aucun lien d'affiliation, et aucune des entreprises mentionnées ne l'a sponsorisée ni évaluée avant sa publication.
Dernière mise à jour : 5 octobre 2026.



