« Je pense que si vous deviez faire un choix, il est plus important d'apprendre à coder que d'apprendre une autre langue. » Huit ans plus tard, Tim Cook ferait-il la même déclaration ? La question peut se poser au moment où l’intelligence artificielle est en train de révolutionner la programmation. Xcode prend maintenant en charge le « codage agentique », qui permet grosso modo de déléguer tout le processus de développement à une IA générative. Peut-on vraiment créer une app iOS sans savoir aligner deux lignes de Swift ? J’ai tenté l’expérience.
Avant d’entrer dans le vif du sujet, quelques précisions s’imposent. Il va sans dire que la plupart des développeurs n’ont pas attendu Xcode 26.3 pour être épaulés par une IA générative. Avant même le pavé dans la mare qu’a constitué ChatGPT fin 2022, GitHub Copilot leur donnait déjà un coup de main en suggérant des blocs de code et des fonctions entières.

À mesure que les modèles se sont améliorés et que des éditeurs spécialisés comme Cursor ont émergé, il est devenu possible de s’appuyer toujours davantage sur l’IA. Au point qu’il n’apparait même plus vraiment nécessaire de vérifier le code généré. C’est le principe du vibe coding : on code au feeling, en donnant des instructions en langage naturel à une IA, sans inspecter le code produit. Une approche qui permet aux programmeurs d’aborder leur travail de manière différente, en expérimentant plus vite par exemple, et aux novices d’entrer de plain-pied dans le développement… comme moi.
Mes expériences en programmation se limitent principalement à des macros VBA dans le cadre de cours d’informatique assez légers en fac de lettres. Allez savoir pourquoi, je n’ai pas entretenu la flamme pour Excel une fois mes études terminées. Cela étant, le monde du développement logiciel ne m’est pas étranger non plus. Je baigne même complètement dedans depuis mon arrivée à MacG il y a une quinzaine d’années. À force de me documenter et d’échanger avec des développeurs, j’ai une bonne vision d’ensemble des sujets techniques. Mais il me manque l’essentiel pour mettre au point une application : savoir coder.
Des cases et des lettres
Cela faisait un moment que j’avais envie d’expérimenter la création d’une petite app iOS à l’aide d’une IA générative, mais je n’avais jusque-là pas franchi le pas pour toutes sortes d’excuses plus ou moins valables : pas le temps, pas le bon logiciel, pas le bon modèle, pas la bonne idée… Mais maintenant que Xcode prend en charge le codage agentique, c’est le moment ou jamais. Plus la peine d’installer une autre application pour vibe coder à fond, on peut tout faire, en théorie, avec l’environnement de développement (IDE) d’Apple.
Avant de me lancer, encore fallait-il une idée d’application. Après un petit brainstorming, j’ai opté pour une app servant à compter les points d’un jeu auquel je joue occasionnellement en famille, le Scrabble. Le périmètre me semble raisonnable pour un débutant, puisqu’il n’y a pas de services externes à intégrer ni beaucoup de vues à créer. Et comme je n’ai pas trouvé mon bonheur sur l’App Store, autant combler ce vide.
J’ai choisi de commencer par créer une version iPhone, simplement parce que c’est la plateforme la plus populaire, même si j’envisage surtout une utilisation sur iPad. J’avais plusieurs idées en tête pour exploiter des capacités récentes (résumé automatique des parties via Apple Intelligence, Activités en direct pour le score…), mais comme il ne faut pas mettre la charrue avant les bœufs, je me suis fixé comme objectif principal de créer une app fonctionnelle avant tout. Elle doit permettre de compter les points plus vite qu’avec un papier et un stylo, sinon elle n’a aucun intérêt, et de conserver un historique des parties.
Avant de lancer Xcode, il fallait encore trouver un nom pour cette app, parce que c’est l’une des premières choses demandées. Avec l’aide de Gemini (ChatGPT a été moins finaud pour cette tâche), j’ai retenu « Lettriscore », contraction de « lettres » et « score », et clin d’œil au Nutriscore. Je ne suis pas encore totalement convaincu, mais à un moment, il faut se lancer.
Code code Codex
Première étape : télécharger Xcode 26.3. Cette version n’est pas encore sur le Mac App Store, mais elle devrait y arriver très bientôt. En attendant, il faut la récupérer sur le portail développeur d’Apple. On peut s’enregistrer gratuitement comme développeur avec son compte Apple habituel sur cette page. Un compte développeur gratuit suffit pour créer une app iOS et l’installer sur ses appareils personnels. En revanche, pour la distribuer sur l’App Store ou même sur TestFlight, la plateforme dédiée aux apps en bêta, il faut un compte développeur payant à 99 $/an.

Une fois Xcode lancé, il faut configurer un « agent » dans les réglages. Les solutions d’OpenAI et Anthropic sont proposées, mais il est possible d’en choisir une autre, y compris en local, grâce au protocole MCP. Attention à une chose lors de cette étape : il existe deux types d’intégration des IA dans Xcode.
Avant la version 26.3, il était déjà possible d’avoir ChatGPT ou Claude dans une barre latérale pour assister l’écriture du code. La nouvelle intégration concerne Codex, l’agent d’OpenAI, et Claude Agent, celui d’Anthropic, qui sont beaucoup plus autonomes et capables d’agir sur l’ensemble du projet. J’ai connecté mon compte OpenAI, car j’avais déjà un abonnement ChatGPT Plus, le forfait à 23 €/mois. Les utilisateurs Free et Go peuvent eux aussi utiliser Codex, mais avec des limites d’usage plus strictes.

Xcode est intimidant pour un débutant car il comprend beaucoup d’outils et de menus, le tout exclusivement en anglais. À mon avis, c’est suffisant pour décourager les plus néophytes. C’est justement pour cela qu’il existe des logiciels plus simples pour générer des apps iOS, comme Bitrig. Mais restons focalisés sur Xcode.
Le moment est enfin venu de créer le projet. J’ai donc choisi une app iOS comme template, puis j’ai entré le nom du projet, « Lettriscore », en laissant les valeurs par défaut (interface SwiftUI, langage Swift, etc.). J’ai ensuite créé un dossier servant à accueillir tous les fichiers nécessaires.














