Vibe Coding : Créer une App pour iPhone avec GitHub Copilot
Peut-on réellement développer une application pour iPhone sans toucher une ligne de code, simplement en interagissant avec des IA avec des prompts ? J’ai tenté l’expérience en créant une app utilitaire et voici mon retour d’expérience, entre promesses de productivité et réalité technique.
Vibe Coding : coder sans coder, ou presque
Le « vibe coding », c’est cette nouvelle tendance qui consiste à concevoir des applications sans réellement écrire de code manuellement, en s’appuyant sur des outils d’IA comme ChatGPT, GitHub Copilot, Bolt ....
Une approche hybride qui promet de révolutionner le développement logiciel mais qui est à ses balbutiements.
Mon besoin concret : normaliser les contacts de mon iPhone
Depuis des années, mon carnet de contacts était un vrai bazar : prénoms en minuscules, noms en MAJUSCULES, parfois l’inverse… Impossible de garder une cohérence.
J'avais donc besoin d'une petite application ultra simple capable de formater automatiquement les noms et prénoms selon une logique définie (Première lettre en majuscule, le reste en minuscule, etc.).
Objectif : une interface minimaliste avec un seul écran, un bouton, et une fonctionnalité.
Le nom de l'application ? Je lui ai donné le nom de Contactidy. Simple à retenir et à trouver sur l'App Store d'Apple.
Les outils d’intelligence artificielle que j’ai utilisés
Pour développer cette app, j’ai mobilisé plusieurs outils d’IA :
- GitHub Copilot (mode agent) dans Xcode sur macOS, couplé au modèle Claude 3.7 pour la génération de code.
- ChatGPT (GPT-4o) pour tout le reste : génération du design de l’interface, rédaction des descriptions, création du logo, documentation, etc.
À l’époque du développement, les appels API premium vers Claude 3.7 via GitHub Copilot n’étaient pas encore soumis à quota, ce qui m’a permis de travailler sans contrainte en mode agent.
Les limites du vibe coding et des outils IA
Même si l’idée de ne pas coder soi-même semble séduisante, tout n’a pas été fluide :
📌 Code non conforme aux bonnes pratiques
Le code généré automatiquement ne respectait pas les standards de développement iOS en SwiftUI. J’ai dû guider Copilot pour refactorer le code généré en suivant le pattern MVVM, indispensable pour un projet maintenable pour iOS.
🔄 Complexité cyclomatique trop élevée
Le code généré était parfois inutilement complexe. Là encore, j’ai dû solliciter plusieurs refactorings pour obtenir un code lisible et compréhensible et le résultat est propre. Le simple prompt "le code possède une complexité cyclomatique trop importante, optimise le en respectant les principes de Clean Code" était suffisant pour l'agent Github Copilot.
📂 Gestion du fichier Info.plist
Il m'a été impossible de faire générer automatiquement un Info.plist
complet et fonctionnel afin de permettre de passer l'acceptation de l'application sur l'Apple Store. J’ai dû le modifier manuellement pour permettre une acceptation de l'application par Apple.
🔗 Problèmes de binding de variables
La gestion des mises à jour de vues avec les bindings SwiftUI n’était pas bien interprétée par l’IA. J’ai dû ajouter manuellement des annotations (@State
, @Binding
) pour que l’interface réagisse correctement aux changements de données. Une fois que l'on est à l'aise avec ces concepts, c'est très simple à corriger, mais quand on développe sa première application en SwitUI, le bug n'est pas aussi simple à trouver.
Après réflexion et avec suffisement d'expérience, un "system prompt" Github Copilot aurait pu peut-être mieux orienter l'agent dans ses tâches de développement. C'est une fonctionnalité disponible sur VSCode mais à priori encore absent sur le plugin Github Copilot pour XCode.
Mon ressenti sur cette méthode de développement
Malgré ces défis, l’expérience reste très positive. Avec mes compétences limitées en Swift et SwiftUI, j’ai pu développer une application mobile fonctionnelle et de qualité en une soirée — ce qui m’aurait pris plusieurs jours sans l’aide des IA. Petite anecdote, j'ai probablement passé plus de temps à publier l'application sur le store qu'à la développer.
L’agent Claude 3.7 m’a particulièrement impressionné par la pertinence de ses suggestions. Les refactorings proposés ont nettement amélioré la qualité du code. Je n'ai pas encore eu l'occasion de tester Claude 4, mais les derniers benchmarks partagés sont impressionnants. Le mode agent utilisé pour développer cet utilitaire aurait probablement atteint les nouveaux quotas de consommation des modèle d'AI premium sur Github Copilot.
Le seul bémol : plus le projet devenait complexe, plus les temps de réponse de l’agent s’allongeaient. Durant ces phases d’attente, j’en profitais pour peaufiner les éléments annexes : visuels, descriptions marketing, landing page… également générés avec GPT-4o.
L'IA a aussi été force de proposition sur le design de l'app, 90% de l'écran principal a été proposé par l'IA en une seule itération. J'ai généré un visuel de maquette avec GPT4o puis injecté cette maquette dans Github Copilot pour produire le code associé en SwiftUI.
L'application Contactidy est disponible !
Vous pouvez dès maintenant tester l’application Contactidy sur votre iPhone :
👉 Télécharger Contactidy sur l’App Store
Elle est disponible en anglais, français, italien, espagnol, portugais et allemand. Les traductions ont été réalisées automatiquement par le coding agent.
N’hésitez pas à la tester et à laisser un avis sur l’App Store si elle vous est utile !
En conclusion : coder sans coder, c’est possible… mais pas magique
Le vibe coding assisté par IA permet effectivement de gagner énormément de temps, surtout pour les projets informatiques simples pour le moment.
Ne vous attendez pas à une solution « plug and play » : un minimum de compréhension technique reste tout de même nécessaire pour corriger les erreurs et guider l'agent AI dès lors qu'il n'arrive pas à répondre à votre prompt.
Ce retour d’expérience montre qu’avec un peu de méthode et les bons outils, il est tout à fait envisageable de développer une petite application iOS en grande partie grâce à l’intelligence artificielle.
Et si dans le futur, créer une app devenait aussi simple que… rédiger un brief ?
N'hésitez pas à vous joindre au serveur Discord Geeek pour engager une discussion sur le sujet.