Créer une application avec Claude Code : tutoriel iPhone
23 septembre 2026, 11 min
Installer Claude Code, créer le projet Expo, écrire le CLAUDE.md, prompter écran par écran, puis envoyer sur TestFlight avec EAS : le tutoriel complet.
Créer une application avec Claude Code : la réponse courte
Pour créer une application avec Claude Code, il te faut un abonnement Claude payant, Node.js, un iPhone avec Expo Go et un projet Expo. Tu écris un fichier CLAUDE.md qui décrit ta stack et tes règles, tu demandes un écran à la fois, tu testes chaque écran sur ton iPhone, puis tu envoies l'app sur TestFlight avec EAS.
Ce tutoriel complète mon guide créer une app iOS avec l'IA, qui explique ce que l'IA fait bien et ce qu'elle rate. Ici, on passe à la pratique : les commandes, les fichiers, les prompts.
Je code mes apps iOS avec Claude Code et Cursor tous les jours. Ma stack : React Native, Expo, EAS, RevenueCat et Supabase. Solys, un réveil à mini-jeux, et TradaZen, une app d'entraînement au trading, sont publiées sur l'App Store. Nolera et Clic ont été refusées par Apple, puis corrigées. Tout ce qui suit vient de ce travail.
Étape 1 : réunir les prérequis
Avant la première commande, vérifie que tu as tout ça.
Un compte Claude payant
Claude Code n'est pas inclus dans l'offre gratuite de claude.ai. D'après la documentation d'Anthropic, il faut un compte Pro, Max, Team, Enterprise ou Console. Pour débuter, l'offre Pro suffit.
Node.js et un terminal
Expo demande Node.js en version LTS, sur macOS, Windows ou Linux. Claude Code tourne sur macOS 13 ou plus, Windows 10 ou plus et les principales distributions Linux.
Un iPhone et Expo Go
Installe l'app Expo Go depuis l'App Store sur ton iPhone. C'est elle qui affiche ton app pendant le développement, sans compilation. Attention à un changement de mai 2026 : la version App Store d'Expo Go reste sur le SDK 54. Pour débuter gratuitement, tu crées donc un projet compatible avec elle (on le fait à l'étape 3). Les SDK plus récents passent par eas go, qui installe Expo Go via TestFlight et demande l'adhésion Apple payante.
Un Mac ? Pas obligatoire
Les builds iOS sont compilées sur les serveurs d'Expo avec EAS Build, et EAS Submit fonctionne sur macOS, Linux et Windows. Tu peux donc aller jusqu'à TestFlight depuis un PC. Le guide publier une app iOS sans Mac détaille cette chaîne.
Un compte Apple Developer, plus tard
Tu n'en as pas besoin pour coder et tester dans l'Expo Go de l'App Store. Il devient obligatoire au moment d'envoyer ton app sur TestFlight. On y revient à l'étape 7.
Étape 2 : installer Claude Code
Sur macOS, Linux ou WSL, la méthode recommandée par Anthropic est l'installateur natif :
curl -fsSL https://claude.ai/install.sh | bash
Sur Windows, dans PowerShell :
irm https://claude.ai/install.ps1 | iex
Vérifie ensuite que l'installation a marché :
claude --version
Si tu préfères npm, la commande est npm install -g @anthropic-ai/claude-code. N'utilise pas sudo devant, la documentation le déconseille explicitement.
Au premier lancement de claude, un navigateur s'ouvre pour te connecter à ton compte. Ensuite, tu écris en français : Claude lit tes fichiers, propose des modifications et lance des commandes, avec ton accord.
Étape 3 : créer le projet Expo
Place-toi dans le dossier où tu ranges tes projets et lance :
npx create-expo-app@latest mon-app
cd mon-app
npx expo start
À la création, l'outil te demande si tu veux un projet compatible avec l'Expo Go de l'App Store ou le dernier SDK. Pour tester sur ton iPhone sans rien payer, choisis la compatibilité avec Expo Go. Tu pourras monter de version plus tard, quand tu auras ton compte Apple Developer.
Un QR code apparaît dans le terminal. Scanne-le avec l'appareil photo de ton iPhone : l'app s'ouvre dans Expo Go. Un détail bloque souvent la première fois : Expo Go n'ouvre ton projet que si Expo CLI et Expo Go sont connectés au même compte Expo. Lance npx expo login sur ton ordinateur et connecte-toi avec le même compte dans l'app.
Pourquoi Expo plutôt que Swift ? Claude connaît très bien React Native, et tu testes sans Mac. J'explique ce choix sur la page React Native et Expo pour une app mobile.
Garde en tête une limite d'Expo Go : il ne contient que les modules natifs qu'il embarque déjà. Dès que tu ajoutes une librairie native qu'il ne connaît pas, les achats in-app par exemple, il te faudra une build de développement. Ce n'est pas un problème pour les premiers écrans.
Étape 4 : écrire le fichier CLAUDE.md du projet
C'est l'étape la plus rentable. Chaque session Claude Code repart d'un contexte vide. Le fichier CLAUDE.md, placé à la racine du projet, est chargé au début de chaque session. C'est là que tu écris ce que Claude ne peut pas deviner.
Dans le dossier du projet, lance claude, puis tape /init. Selon la documentation, Claude analyse le projet et génère un premier CLAUDE.md avec les commandes et les conventions qu'il trouve. Tu le complètes ensuite avec tes règles. Anthropic recommande de rester sous 200 lignes : plus le fichier est long, moins les consignes sont suivies.
Voici un exemple court, proche de ce que j'utilise :
# Mon app
## Stack
- Expo (SDK de create-expo-app), React Native, TypeScript strict
- Navigation : Expo Router, un fichier par écran dans app/
- Données : Supabase (plus tard), jamais de clé secrète dans l'app
## Règles
- Un écran à la fois. Ne touche pas aux fichiers hors de la demande.
- Aucune hauteur fixe en points : tailles relatives à l'écran,
ScrollView si le contenu peut dépasser.
- Chaque écran gère 3 états : chargement, vide, erreur.
- Textes de l'interface en français avec accents.
- Avant de coder plus de 2 fichiers : propose un plan et attends mon accord.
## Commandes
- Lancer : npx expo start
- Tests : npm test
- Types : npx tsc --noEmit
- Après chaque modification : lancer les tests et les types, puis me dire
ce qui a changé et comment le vérifier sur iPhone.
La règle sur les hauteurs fixes n'est pas là par hasard. On y revient à l'étape 6.
Étape 5 : prompter un écran à la fois
« Crée-moi une app de suivi d'habitudes avec abonnement » produit un projet énorme, fragile, impossible à relire. La méthode qui marche est inverse : une demande, un écran, un résultat que tu peux tester en cinq minutes.
Commence par un plan
Pour tout ce qui touche plusieurs fichiers, passe en mode plan. Appuie sur Shift+Tab jusqu'à voir plan mode on dans la barre d'état. Dans ce mode, Claude lit les fichiers et propose un plan, mais ne modifie rien avant ton accord. Tu relis, tu corriges, puis tu valides.
Un premier prompt de cadrage ressemble à ça :
Je veux une app de suivi d'habitudes. Version 1 : une seule fonction,
cocher les habitudes du jour. Propose la liste des écrans et la
structure des dossiers. Ne code rien pour l'instant.
Décris l'écran, ses états et ses limites
Ensuite, un prompt par écran. Plus tu nommes les cas limites, moins Claude les oublie :
Crée l'écran app/index.tsx qui liste les habitudes du jour.
- Chaque ligne : nom de l'habitude, case à cocher, série en cours.
- État vide : un texte et un bouton « Ajouter une habitude ».
- État de chargement et état d'erreur avec un bouton « Réessayer ».
- Les données viennent d'un tableau local pour l'instant.
- Doit tenir sur un iPhone SE comme sur le plus grand iPhone :
pas de hauteur fixe, la liste défile.
Lance les tests et les types à la fin.
Corrige sans laisser tout réécrire
Quand un détail ne va pas, reste précis et limite le périmètre :
Sur mon iPhone, le bouton « Ajouter une habitude » passe sous la barre
du bas quand la liste est longue. Corrige uniquement ce problème dans
app/index.tsx, sans toucher aux autres fichiers. Explique la cause.
Tu peux aussi coller une capture d'écran dans le terminal : Claude la lit.
Étape 6 : faire relire et tester
Claude Code écrit du code qui a l'air juste. Seuls tes tests et ton iPhone te disent s'il l'est.
Des tests pour ne pas casser ce qui marche
Plus ton app grandit, plus chaque demande risque de casser un écran déjà validé. Le projet créé par Expo n'a pas de tests : demande d'abord à Claude d'installer Jest avec jest-expo, comme le recommande la documentation d'Expo. Puis demande des tests pour la logique importante (calcul d'une série, validation d'un formulaire) et fais-les lancer après chaque modification. C'est pour ça que les commandes de test sont écrites dans le CLAUDE.md : Claude les exécute sans que tu aies à le rappeler. Avec un fichier de règles et des tests, l'IA casse beaucoup moins ce qui marchait déjà.
Relis chaque modification
Tu n'as pas besoin de comprendre chaque ligne. Tu dois savoir quels fichiers ont changé, et pourquoi. Si Claude a touché un fichier hors sujet, demande-lui la raison avant d'accepter. Puis pose la question : « qu'est-ce qui peut casser ici ? ».
Vérifie sur un petit et un grand iPhone
C'est la leçon qui m'a coûté le plus cher. Solys a été refusée par Apple au titre de la règle 2.1 : la démo de l'onboarding était impossible à gagner sur un iPad Air, où l'app tournait en mode compatibilité iPhone. La cause : des hauteurs codées en points fixes, pas relatives à la taille de l'écran. Sur mon iPhone, tout allait bien. Le code avait été relu, les tests étaient verts. Aucun outil n'avait regardé l'écran à une autre taille.
Depuis, je vérifie chaque écran au minimum sur le plus petit iPhone et sur le plus grand. Si tu n'as qu'un téléphone, le simulateur de Xcode sur Mac ou un ami équipé d'un autre modèle fera l'affaire. Regarde en particulier les textes longs, le clavier ouvert sur les formulaires et les boutons fixés en bas.
Ce que Claude Code fait mal
Claude Code excelle sur les écrans et la logique. Hors de ton dossier, il est beaucoup moins fiable.
La signature et les certificats
Claude ne voit pas ton compte Apple. Il peut inventer une procédure de certificats qui mélange Xcode et Expo. Laisse EAS gérer la signature : la documentation d'Expo explique qu'EAS CLI peut générer et stocker ces fichiers pour toi, après connexion à ton compte Apple Developer.
App Store Connect
La fiche de l'app, les déclarations de confidentialité, les captures, les liens vers les conditions d'utilisation : tout se remplit dans l'interface d'Apple. Claude ne peut pas cliquer à ta place, et ses descriptions de menus sont souvent datées.
Les abonnements
Écrire un paywall prend dix minutes. Faire concorder les produits d'App Store Connect, leur configuration dans RevenueCat et le code, c'est une autre histoire. Un identifiant différent d'un caractère et le paywall reste vide chez le reviewer. Les pièges les plus courants sont listés dans les erreurs de paywall iOS des débutants.
Les cas limites
Sans consigne, Claude traite le cas nominal. Pas de réseau, une liste vide, un achat interrompu : c'est à toi de les nommer.
La sécurité Supabase
Quand Claude crée des tables dans Supabase, vérifie que la sécurité au niveau des lignes (RLS) est activée, avec des politiques qui limitent chaque utilisateur à ses propres données. Vérifie aussi qu'aucune clé secrète ne se retrouve dans le code de l'app. Écris ces deux interdits dans ton CLAUDE.md dès que tu branches une base.
Étape 7 : passer sur TestFlight avec EAS
Ton app tourne dans Expo Go et tient sur toutes les tailles d'écran. Place à une vraie installation.
Préparer EAS
Il te faut maintenant un compte Apple Developer payant : Expo le rappelle, il est obligatoire pour envoyer une app à l'App Store. Ensuite, installe l'outil d'Expo et configure le projet :
npm install --global eas-cli
eas login
eas build:configure
Ajoute un identifiant de bundle unique dans app.json, sous ios.bundleIdentifier, par exemple com.tonnom.monapp.
Compiler et envoyer
eas build --platform ios --profile production
eas submit --platform ios
La première commande compile l'app sur les serveurs d'Expo. Au premier lancement, EAS te propose de se connecter à ton compte Apple pour créer les certificats. La seconde envoie la build à App Store Connect. Tu peux aussi tout faire d'un coup avec eas build --platform ios --auto-submit.
D'après Expo, la build apparaît dans TestFlight après son traitement par Apple, en général en 10 à 15 minutes. Tu l'installes alors sur ton iPhone avec l'app TestFlight. Les testeurs internes, externes et la revue bêta sont expliqués dans mon guide TestFlight pour tester son app iPhone.
Refais les vérifications de l'étape 6 sur cette build. Une app qui marche dans Expo Go peut encore planter en production, par exemple quand un module natif manque.
Combien ça coûte vraiment
Voici les prix publiés par chaque service, en dollars, à la date de cet article.
- Abonnement Claude : l'offre Pro est à 20 $ par mois, ou 17 $ par mois en paiement annuel. Les offres Max démarrent à 100 $ par mois, pour plus d'usage.
- Compte Apple Developer : 99 $ par an, obligatoire pour TestFlight et l'App Store.
- EAS : l'offre gratuite d'Expo inclut 15 builds iOS par mois, dans une file d'attente de basse priorité. L'offre Starter coûte 19 $ par mois, plus l'usage supplémentaire.
Pour une première app, Pro, le compte Apple et l'offre gratuite d'EAS suffisent. Le vrai coût, c'est ton temps, surtout sur la configuration des abonnements et la revue Apple.
Les limites honnêtes, et quand se faire accompagner
Claude Code a changé qui peut créer une app iPhone. Il n'a pas changé ce qu'Apple exige pour la publier. Un refus arrive vite : Solys en a pris, Nolera et Clic aussi. Les motifs les plus fréquents sont racontés dans pourquoi Apple refuse une app.
Tu peux aller seul jusqu'à TestFlight avec ce tutoriel. Là où on bloque le plus souvent, c'est après : brancher les abonnements, préparer le dossier pour le reviewer, comprendre un refus. Pour la vue d'ensemble du parcours, lis la page créer une application iPhone.
Si tu veux être guidé sur cette partie, c'est ce que je fais avec un petit groupe dans L'Accélérateur iOS : 4 semaines, 3 lives par semaine, pour publier ta propre app avec abonnement, avec ou sans IA. Le prix est de 489 €, ou 3 × 163 €. Tout le programme est sur la page formation Claude Code pour créer une app iOS.
Questions fréquentes
Peut-on créer une app iPhone avec Claude Code sans savoir coder ?
Oui pour les écrans et la logique simple, si tu relis et testes chaque étape. Non si tu espères ne rien comprendre du tout. Tu dois savoir lire un message d'erreur, lancer une commande et vérifier ce que Claude a modifié. Ça s'apprend vite en construisant.
Claude Code est-il gratuit ?
Non. Claude Code demande un compte Pro, Max, Team, Enterprise ou Console. L'offre gratuite de claude.ai ne l'inclut pas. L'offre Pro suffit pour débuter.
Faut-il un Mac pour créer une app iOS avec Claude Code ?
Non. Tu codes sur n'importe quel ordinateur, tu testes dans Expo Go sur ton iPhone, et EAS compile et envoie l'app sur les serveurs d'Expo. Un Mac reste pratique pour le simulateur, mais il n'est pas obligatoire.
Claude Code ou Cursor pour une app React Native ?
J'utilise les deux, tous les jours. Claude Code travaille dans le terminal et enchaîne seul modification et tests. Cursor est un éditeur. La méthode compte plus que l'outil : des règles, un écran à la fois, des tests.
Combien de temps pour publier une première app avec Claude Code ?
Ça dépend de la taille de l'app et de ton temps. Une app à une seule fonction va beaucoup plus vite. La partie la plus imprévisible reste la revue Apple.
Claude Code peut-il configurer les abonnements in-app ?
Il écrit le code du paywall et de RevenueCat. Il ne crée pas les produits dans App Store Connect et ne voit pas ta console RevenueCat. C'est à toi de vérifier que les identifiants concordent partout, et de tester l'achat sur TestFlight.