00:00:00La plupart des modèles d'IA pour le code ont un énorme problème : ils ne gèrent pas du tout Swift.
00:00:06On a tous vu les démos tape-à-l'œil d'agents créant des applis web et des outils JavaScript en quelques secondes,
00:00:11mais dès qu'on leur demande de toucher au code Swift, tout s'effondre très vite.
00:00:16Alors, pourquoi les modèles les plus intelligents au monde échouent-ils sur le développement iOS ?
00:00:22C'est ce que nous allons découvrir dans la vidéo d'aujourd'hui.
00:00:25Aujourd'hui, je soumets les meilleurs agents de code au même défi : coder une application Swift pour voir
00:00:30quels modèles s'en sortent vraiment et lesquels ne sont bons qu'à faire du développement web.
00:00:36Je vous spoile un peu : l'un de ces modèles a parfaitement réussi le test.
00:00:40Lequel ? Vous le saurez plus tard dans cette vidéo.
00:00:43Ça va être très intéressant, alors c'est parti.
00:00:50Tout d'abord, abordons le problème de fond.
00:00:52Pourquoi les modèles d'IA sont-ils mauvais en développement Swift ?
00:00:56Et soyons clairs, ce n'est pas seulement mon observation.
00:00:59Une étude intitulée “Évaluation des grands modèles de langage pour la génération de code - Étude comparative”
00:01:05sur Python, Java et Swift a révélé que pour tous les modèles testés, y compris GPT et Claude,
00:01:12les performances en Swift étaient systématiquement inférieures à celles en Python ou Java.
00:01:17Et la raison se résume à trois goulots d'étranglement principaux qui handicapent l'IA dès qu'elle touche
00:01:22à l'écosystème Apple.
00:01:24Premièrement, il y a le manque de données.
00:01:25Alors que le web regorge de code open source en JavaScript et Python, une grande partie du code
00:01:31professionnel Swift est cachée dans des dépôts privés ou commerciaux.
00:01:36Deuxièmement, il y a la dérive des API.
00:01:38Apple est réputé pour avancer vite et tout bousculer.
00:01:42SwiftUI et les modèles de concurrence de Swift ont plus évolué ces trois dernières années que
00:01:47certains standards du web en une décennie.
00:01:49Comme la plupart des IA ont une date limite de connaissances, elles tentent souvent d'écrire du Swift
00:01:54avec des règles obsolètes qui ne fonctionnent plus dans la dernière version de Xcode.
00:01:59Enfin, il y a le biais des benchmarks.
00:02:02La plupart des modèles testés aujourd'hui, comme Qwen ou Grok, sont entraînés pour des tests spécifiques.
00:02:08Ils sont optimisés pour réussir des benchmarks massifs comme HumanEval, qui sont presque entièrement
00:02:13axés sur Python et la logique web.
00:02:16Comme il existe peu de benchmarks majeurs pour les interfaces iOS complexes, ces modèles n'ont
00:02:21tout simplement pas été évalués sur leur capacité à créer une application fonctionnelle.
00:02:25J'ai donc choisi certains des modèles de code les plus populaires et je leur ai donné à chacun
00:02:30exactement le même prompt.
00:02:32Je les ai chargés de créer un clone d'application type Tinder en Swift, appelé DogTinder, où
00:02:38on vous présente différents chiens via l'API Dog CEO.
00:02:43Vous pouvez swiper à gauche ou à droite pour choisir ceux que vous aimez et, s'il y a un match,
00:02:47vous pouvez ouvrir un chat pour échanger des messages rigolos avec le chien.
00:02:52C'est censé être mignon et assez simple pour qu'un agent y arrive, tout en incluant
00:02:58des défis comme la création d'une animation de swipe en Swift natif.
00:03:03Pour les tests, nous allons commencer par le moins performant pour finir par le meilleur.
00:03:09À la dernière place, nous avons malheureusement le nouveau modèle Qwen 3 Coder Next.
00:03:15Qwen a présenté ce modèle comme une alternative open source aux poids lourds comme Kimi ou Claude,
00:03:20avec une taille plus réduite mais des performances supérieures.
00:03:25Si c'est peut-être vrai pour le web, ça ne s'est pas vérifié pour le défi Swift.
00:03:32Dès que possible, j'ai utilisé leurs propres outils en ligne de commande (CLI) et, dans ce cas,
00:03:37j'ai utilisé l'outil CLI de Qwen pour réaliser ce défi.
00:03:42Une fois le code généré, impossible d'ouvrir le fichier projet produit par Qwen.
00:03:48Je lui ai alors demandé de corriger l'erreur qui s'affichait à l'ouverture du fichier.
00:03:53Mais même là, Qwen n'a pas pu corriger l'erreur et m'a fourni à la place un long fichier lisez-moi
00:03:58expliquant comment créer le projet moi-même de zéro puis y copier les fichiers,
00:04:03ce que je ne voulais pas faire manuellement, car cela perdrait tout l'intérêt du défi.
00:04:09Comme vous le verrez, j'ai remarqué que certains modèles avaient beaucoup de mal à produire
00:04:14l'ensemble des fichiers du projet que l'on pourrait ouvrir du premier coup.
00:04:20Pour des cas comme Qwen, j'ai décidé de lui donner un défi plus facile.
00:04:26J'ai créé manuellement un nouveau projet iOS sur Xcode, et j'ai pensé que c'était le bon moment
00:04:31pour tester la nouvelle fonctionnalité d'IA intégrée à la dernière version de Xcode.
00:04:38C'est plutôt cool car Xcode a enfin sa propre fonction d'assistant IA.
00:04:43Je l'ai connecté à mon compte OpenRouter, j'ai choisi Qwen 3 Coder Next et j'ai retenté le défi.
00:04:52Malgré toute cette aide, Qwen n'a pas pu produire un projet fonctionnel du premier coup,
00:04:57notamment à cause d'erreurs dans la configuration des modèles Swift.
00:05:02Avec le nouvel assistant IA, on peut surligner tous ces problèmes et lui demander
00:05:07de générer un correctif pour toutes les erreurs sélectionnées d'un seul coup.
00:05:12Enfin, après quelques tours pour corriger les erreurs restantes, nous avons obtenu
00:05:16une version fonctionnelle de DogTinder, mais honnêtement, le résultat était médiocre.
00:05:23Il n'arrivait même pas à charger les images de l'API et l'interface était très rudimentaire.
00:05:32Sans oublier un bug dans la section des matchs où aucun match n'apparaissait.
00:05:37Malheureusement, Qwen a totalement échoué au défi Xcode.
00:05:42En avant-dernière position, nous avons Grok avec son modèle Grok Code Fast.
00:05:48Pour celui-ci, j'ai utilisé l'extension VS Copilot sur VS Code et, encore une fois,
00:05:53Grok n'a pas pu produire tous les fichiers nécessaires au projet Swift complet.
00:06:02Il m'a simplement donné des instructions pour copier les fichiers manuellement.
00:06:06J'ai donc dû repasser par l'assistant IA de Xcode en appelant le modèle Grok
00:06:12via OpenRouter.
00:06:14Grok a aussi rencontré quelques problèmes, j'ai dû le relancer deux fois pour corriger
00:06:19les erreurs restantes.
00:06:20Mais après tout cela, il a réussi à terminer l'application.
00:06:23Au premier coup d'œil, Grok a fait un travail terrible sur le design.
00:06:27Le visuel n'avait aucun intérêt et il n'y avait même pas de section pour voir les matchs.
00:06:33La seule raison pour laquelle je place Grok devant Qwen est que tout fonctionne
00:06:38techniquement, y compris le chat, mais les deux sont très proches dans la médiocrité.
00:06:48Rien dans cette appli n'est excitant ou visuellement agréable.
00:06:51Je ne dirais pas que Grok a échoué, mais il obtient la note de passage la plus basse possible.
00:06:58Le suivant sur notre liste est Kimi avec son tout nouveau modèle Kimi K2.5.
00:07:04Kimi a eu le même problème que Qwen : via son CLI natif, il a produit un fichier projet
00:07:08que je n'ai pas pu ouvrir.
00:07:11Même après avoir tenté de le corriger via le CLI, le problème persistait.
00:07:15Encore une fois, j'ai dû utiliser l'assistant IA de Xcode avec Kimi K2 via OpenRouter.
00:07:23La performance de Kimi était similaire à celle de Qwen et Grok car il n'a pas réussi
00:07:29le défi du premier coup.
00:07:31J'ai dû lui demander de corriger les erreurs restantes.
00:07:34Mais après un seul tour de corrections, Kimi a pu produire le résultat final.
00:07:39Cette version était un cran au-dessus de Qwen et Grok car, au moins, on avait une application
00:07:44qui ressemblait vraiment à Tinder.
00:07:47et un pop-up élégant lors d'un match.
00:07:53on the sides and a fancy pop-up when we got a match.
00:07:57Mais l'animation était très buggée et capricieuse.
00:08:00Parfois, l'image disparaissait complètement car elle flottait hors de l'écran.
00:08:05Mais au moins, Kimi enregistrait correctement les matchs.
00:08:08On avait une section pour voir nos matchs, en ouvrir un et commencer à discuter
00:08:12avec le chien en question.
00:08:14C'est déjà un grand pas en avant par rapport à Qwen et Grok.
00:08:18Mais comparé aux exemples suivants, je dirais que le résultat reste insuffisant.
00:08:25C'est pourquoi je place Kimi plus bas dans le classement.
00:08:29Ensuite, nous avons Gemini 3 Pro.
00:08:31Celui-ci est intéressant car j'ai obtenu des résultats totalement différents entre
00:08:36leur propre CLI et l'assistant IA de Xcode.
00:08:41Voyons d'abord ce que nous avons obtenu avec le CLI Gemini.
00:08:45Le CLI indiquait que le modèle était encore en mode aperçu.
00:08:49C'était peut-être là le cœur du problème.
00:08:50Encore une fois, avec le même prompt, il n'a pas pu me donner de fichier projet à la fin.
00:08:59Pour créer un projet Xcode, il faut d'abord un fichier YAML avec les détails,
00:09:04puis utiliser la commande CodeGen pour le générer.
00:09:09Mais pour une raison inconnue, certains modèles refusent de le faire ou ne savent pas comment.
00:09:14Pourtant, quand j'ai demandé spécifiquement à Gemini de créer le fichier, il l'a fait.
00:09:18J'ai juste dû l'autoriser à exécuter la commande CodeGen.
00:09:22Une fois le projet ouvert, il y avait une erreur d'asset.
00:09:25Mais Gemini l'a corrigée rapidement.
00:09:28Une fois résolu, l'application compilait enfin.
00:09:31Mais le résultat était mauvais, étonnamment mauvais.
00:09:35C'était cassé.
00:09:37Le système de matchs ne fonctionnait pas et tout était buggé.
00:09:41À ce stade, j'étais prêt à lui donner une note éliminatoire.
00:09:45Mais par curiosité, j'ai retenté le défi avec l'assistant natif de Xcode
00:09:50en utilisant Gemini 3 Pro via OpenRouter.
00:09:56Et cette fois, il a réussi du premier coup.
00:10:01Et non seulement ça, mais l'application était incroyablement réussie.
00:10:04Le design était superbe, les fonctionnalités étaient là.
00:10:08Il a même ajouté un joli petit logo en haut.
00:10:10Honnêtement, il n'y avait rien à redire sur cette version de l'appli.
00:10:14Je suis perplexe de voir comment le même prompt sur le même modèle, mais via
00:10:20des outils différents, a pu produire deux résultats aussi distincts.
00:10:24Quoi qu'il en soit, j'ai été très impressionné par la version fournie par Gemini via
00:10:29l'outil de Xcode, et du premier coup qui plus est.
00:10:32C'est pourquoi je place Gemini assez haut, car le résultat final était vraiment super.
00:10:38Bon, la suite du classement : GPT 5.3 Codecs.
00:10:43Comme OpenAI a sa propre application Codecs, j'ai fait le test depuis celle-ci.
00:10:49Contrairement aux modèles précédents, GPT 5.3 a réussi à produire
00:10:55un produit fonctionnel du premier coup.
00:10:58C'est déjà un grand pas en avant.
00:11:00Mais je dois dire que l'application en elle-même n'était pas très excitante.
00:11:03Elle avait un thème bleu très monotone.
00:11:06Le plus gros problème était qu'il ne parvenait pas à ajuster l'image au cadre de l'appli.
00:11:13Pour certains chiens, on se retrouvait avec un conteneur très étiré qui sortait
00:11:18des limites de l'écran.
00:11:20C'est un gros défaut de conception que Codecs n'a pas su gérer correctement.
00:11:25Mais l'appli est fonctionnelle avec tous les éléments d'interface nécessaires.
00:11:29La section des matchs fonctionnait aussi très bien pour discuter avec les chiens.
00:11:34Si je mets GPT 5.3 aussi haut, c'est parce que c'est le premier modèle capable
00:11:40de produire tout le projet Swift sans aucune aide et sans préparer de projet Xcode.
00:11:50Dans l'ensemble, c'est pas mal, mais sans plus.
00:11:54Et enfin, nous arrivons à la première place.
00:11:57Je vous laisse un instant pour deviner de quel modèle il s'agit.
00:12:01Et oui, je pense que nous savons tous lequel c'est.
00:12:04C'est bien sûr Opus 4.6, qui a absolument surclassé ce défi d'entrée de jeu.
00:12:11J'ai utilisé le même prompt, mais via leur propre outil CLI Claude Code.
00:12:17J'ai juste dû donner les permissions nécessaires.
00:12:20Le modèle a tout fait seul, y compris la création du fichier projet Xcode complet
00:12:27sans aucune préparation de ma part.
00:12:29Et en plus, l'application était absolument magnifique.
00:12:34Le design était là, les animations étaient fluides et agréables.
00:12:37La section des matchs et la fenêtre de chat fonctionnaient parfaitement.
00:12:41La seule chose manquante était un logo un peu plus travaillé comme celui de Gemini.
00:12:48Mais à part ça, c'était la plus belle version de toutes.
00:12:52Et il a réussi ça du premier coup.
00:12:55La performance d'Opus est incroyable comparée aux autres modèles.
00:13:01Il mérite donc amplement sa première place au classement.
00:13:05Mais attendez, ce n'est pas fini.
00:13:07Voici un petit bonus pour vous.
00:13:09Il reste un modèle à examiner qui n'est pas encore apparu dans le classement.
00:13:14Pendant que je préparais cette vidéo, GLM a annoncé la sortie de sa version 5,
00:13:18affirmant que ce modèle est encore plus performant en code qu'Opus 4.6.
00:13:26J'ai donc dû le tester sur ce même défi Swift.
00:13:31Comme GLM n'a pas son propre CLI, j'ai réutilisé l'assistant IA de Xcode
00:13:37via OpenRouter avec GLM 5.
00:13:41Déjà, GLM n'a pas réussi du premier coup.
00:13:45C'est donc déjà moins bien qu'Opus 4.6.
00:13:49Ensuite, j'ai dû passer par trois cycles de corrections pour que ça compile enfin.
00:13:56Voyons le résultat final pour GLM 5.
00:13:59Pour moi, c'est déjà un échec.
00:14:03Il ne semble pas charger les images de chiens.
00:14:06Il n'y a pas de fonctionnalité de swipe.
00:14:08Pire encore, il ne montre que trois chiens avant d'indiquer qu'il n'y en a plus.
00:14:15De plus, dans la section matchs, impossible de cliquer pour ouvrir le chat.
00:14:23Cette partie n'est visiblement pas terminée.
00:14:25Alors, où placer GLM avec une telle performance ?
00:14:29Hélas, en avant-dernière position, juste devant Qwen, car ce résultat
00:14:36est inacceptable et bien loin des autres modèles.
00:14:42Dire que GLM 5 est plus fort qu'Opus 4.6 est une affirmation très audacieuse.
00:14:47Je ne l'ai pas testé sur d'autres tâches de code, et il se peut que
00:14:52pour des projets web simples, il soit aussi bon, voire meilleur qu'Opus 4.6.
00:14:59Mais ce n'est certainement pas un bon modèle pour coder en Swift.
00:15:02Qu'avons-nous appris aujourd'hui ?
00:15:04L'IA avance à la vitesse de l'éclair, mais le problème du Swift est bien réel.
00:15:10Opus 4.6 et GPT 5.3 prouvent qu'avec un modèle assez large et un bon raisonnement,
00:15:18on peut surmonter le manque de données open source en Swift.
00:15:23Mais pour Qwen et Grok, le manque de données et la dérive des API pèsent lourd.
00:15:31J'ai aussi été surpris par l'utilité du nouvel assistant IA de Xcode pour les applis Swift.
00:15:36On l'a bien vu avec la différence entre les deux versions de Gemini.
00:15:40Si vous développez sur iOS, privilégiez les outils IA internes pour de meilleurs résultats.
00:15:47Voilà, j'espère que vous avez apprécié ce classement.
00:15:51Cela ouvre le débat sur la nécessité d'avoir des modèles spécifiques par langage.
00:15:57Car beaucoup de modèles sont trop biaisés vers le web, JavaScript ou Python.
00:16:04Pour des solutions sur mesure, nous aurons peut-être besoin de modèles dédiés.
00:16:09Et vous, quel est votre avis là-dessus ?
00:16:11Dites-le nous dans les commentaires.
00:16:13Si vous avez aimé cette vidéo, n'oubliez pas de lâcher un pouce bleu.
00:16:19Et abonnez-vous à notre chaîne.
00:16:22C'était Andris de Better Stack, on se retrouve dans les prochaines vidéos.