« Développer une application grâce à l'IA » n'est plus vraiment une nouveauté aujourd'hui.
Il y a encore peu de temps, l'IA évoquait surtout un « assistant efficace » capable de résumer des textes ou de proposer des idées. Aujourd'hui, elle devient progressivement un « partenaire fiable » qui peut prendre la main sur le développement lui-même.
Les membres de notre équipe sont de plus en plus souvent amenés à utiliser l'IA. C'est en se disant « et si je créais moi aussi quelque chose ? » que ce projet d'application a vu le jour.
Nous voulions d'abord créer quelque chose d'utile au travail, mais l'idée qui nous est venue en premier relevait en fait du loisir plutôt que du professionnel.
Depuis peu, je me suis pris de passion pour le cinéma et je regarde plusieurs films chaque semaine. Je notais alors dans l'application Notes de mon iPhone les films à voir et ceux que j'avais aimés.
Mais la liste s'allongeait très vite, et beaucoup de titres se ressemblaient. « Attends, est-ce que j'ai déjà vu celui-là ? » revenait sans cesse, jusqu'à ce que la gestion dans Notes ne tienne plus.
J'ai donc décidé de créer mon propre outil : la « Watchlist de films » que je vous présente aujourd'hui.
Des applications fonctionnelles, même avec des prompts approximatifs
Quand on parle de développement avec l'IA, beaucoup imaginent qu'il faut rédiger un prompt détaillant chaque exigence dans le moindre recoin.
Beaucoup pensent aussi qu'il faut d'abord structurer le contexte et les spécifications, puis communiquer chaque exigence sans rien omettre, pour obtenir un résultat réellement fonctionnel.
Bien sûr, si l'on peut fournir d'un seul bloc le contexte et les spécifications, c'est préférable. Cependant, cette expérience m'a permis de constater que l'IA parvient à comprendre et à implémenter l'intention derrière des instructions très approximatives.
Il s'agissait certes d'une application simple, mais un prompt qui accumulait simplement tout ce que je voulais a suffi à produire une application fonctionnelle. Voici le prompt initial.
Je souhaite créer une liste de films à regarder.
Comme il s'agit d'un prototype, je voudrais que tout tienne dans un seul fichier HTML, afin qu'il fonctionne immédiatement en l'ouvrant dans le navigateur.
Côté fonctionnalités, il faut pouvoir enregistrer un film en saisissant son titre et les plateformes où il est diffusé (U-Next, Prime Video, etc.), puis afficher tous les films enregistrés dans une liste.
Il faut également pouvoir cocher un film comme « déjà vu ».
Avec un développement traditionnel sans IA, même un projet simple demande des heures de travail rien que pour « concevoir l'interface », « choisir les technologies » et « coder ». Claude a compris ce que je voulais en quelques minutes, puis a enchaîné sélection de l'interface et des outils adaptés, et implémentation complète, sans effort apparent.
La rapidité était telle que, au-delà de l'admiration, j'ai ressenti une légère inquiétude.
Une fois que c'est aussi rapide, l'envie d'aller plus loin vient naturellement. Après avoir posé la base, j'ai enchaîné les demandes au fil des idées. Mes prompts n'étaient pas soignés non plus : je listais les points qui me gênaient et j'écrivais simplement « corrige ceci ». Avec un ingénieur humain, ce genre de message serait sans doute très mal accueilli tant il est brut.
Après quelques allers-retours aussi désinvoltes, la structure générale de la liste de films était terminée sans difficulté.
Ajustements compris, il m'a fallu environ une heure pour obtenir une première version de l'application.
Implémenter dès qu'une idée vient. Faire grandir le projet au fil des ajouts.
Quelques jours après la mise en place du cadre, un temps a été prévu pour que chacun présente les applications qu'il avait créées avec l'IA, ce qui m'a permis de découvrir les travaux des autres membres. L'un d'eux avait développé une application intégrant « Gemini Nano ».
En voyant cela, je me suis dit : « Tiens, moi aussi j'utilise Gemini pour trouver les films que je veux regarder. Si je l'intègre à l'application, je pourrais chercher des films à partir de ma liste de suivi, non ? » Dès mon retour à la maison, j'ai aussitôt repris le développement.
Avec un humain, ajouter des fonctionnalités en cours de développement sans prévenir serait une imprudence qui vaudrait des reproches. Mais c'est là que l'IA est impressionnante : elle gère ce genre de demande sans sourciller. Elle a même implémenté la fonction de recherche de films en quelques minutes.
Une fois la fonction de recherche opérationnelle, c'est la « précision » qui a commencé à me préoccuper.
Au départ, j'avais opté pour une spécification assez générale : sur la base uniquement du titre et du genre des films de ma liste de suivi, l'IA me proposait quelques recommandations. Le problème était que, même si le genre correspondait, les films suggérés s'éloignaient souvent de mes goûts. J'ai essayé différentes approches, par exemple une sélection basée sur les films ajoutés aux favoris, mais le résultat restait le même.
Je me suis dit que le titre et le genre ne suffisaient pas, et j'ai décidé d'ajouter le synopsis de chaque film comme information. Cela dit, il était hors de question que je rédige moi-même chaque synopsis, c'est trop fastidieux... Après réflexion, j'ai là encore décidé de faire appel à l'IA.
J'ai remanié le système pour que les synopsis soient enregistrés automatiquement à partir des titres saisis dans la liste. Pour garantir leur fiabilité, j'ai à nouveau demandé à Claude d'écrire le code : il récupère les informations correspondantes via l'API de Wikipédia à partir du titre enregistré, puis l'IA génère automatiquement le synopsis à partir de ces données.
Pour être honnête, la précision n'est pas encore parfaite, et j'envisage à terme une mise à jour avec une intégration de l'API TMDB. Quoi qu'il en soit, on a atteint un niveau où « quelques erreurs passent » ! Le réglage fin de tout cela n'a pris que deux à trois heures environ.
En passant, lorsque je suis finalement passé à l'utilisation réelle sur appareil, Gemini Nano ne semblait pas disponible, j'ai donc basculé vers l'API Gemini. Le nombre de requêtes est limité avec l'offre gratuite, mais on accède à un modèle meilleur que Gemini Nano, et la précision s'est nettement améliorée.
Présentation rapide de l'application terminée
Au fil des ajouts et des retouches, cette application a été véritablement « façonnée par l'usage ». Et sans nous en rendre compte, elle s'est enrichie de toutes ces fonctionnalités.
« Liste de suivi »
- Enregistrement du titre du film, du genre, de la plateforme de streaming et du synopsis
- Génération automatique de synopsis grâce à diverses API
- Case à cocher pour basculer entre « Non vu » et « Déjà vu »
- Filtrage par genre, favoris et statut « Non vu » / « Déjà vu »
« Recherche de titres »
- Suggestions de films personnalisées par Gemini à partir de vos favoris
- Choix possible du genre et du nombre de suggestions
- Ajoutez en un seul geste les films recommandés à votre liste de suivi
- Les films déjà vus peuvent aussi être ajoutés à la liste, avec le statut « Déjà vu »
Les tâches qui étaient jusqu'ici dispersées entre « rechercher un film » et « noter un film » sont désormais regroupées dans cette seule application.
Auparavant, je devais expliquer mes goûts à une IA à chaque recherche, mais cette étape n'est plus nécessaire : vous pouvez désormais trouver un film qui vous plaît à tout moment.
Quant à la liste de suivi, qui était le but initial, vous pouvez désormais filtrer les films selon leur statut de visionnage, leurs favoris ou leur genre. La gestion est ainsi bien plus simple qu'avec un bloc-notes.
Ce que j'apprécie particulièrement, c'est que si un film manque dans les résultats de recherche, vous pouvez l'ajouter d'une seule touche.
Plus besoin de saisir laborieusement le titre pour l'enregistrer.
Conclusion
Vous l'avez peut-être remarqué en lisant jusqu'ici : pour le développement de cette application, je n'ai pas écrit une seule ligne de code. Il m'a suffi d'expliquer en mots les fonctionnalités souhaitées, et Claude a tout implémenté.
Ce qui m'a le plus frappé, c'est qu'il n'était pas nécessaire de définir la version finale dès le départ. En l'utilisant, on remarque « ce serait bien d'avoir aussi ceci » ou « ça ne correspond pas tout à fait », et on le communique à Claude au fur et à mesure. Plus que de « fabriquer » une application, j'ai eu le sentiment de la « faire grandir ».
Si vous hésitez à vous lancer parce que vous pensez qu'il faut écrire des prompts parfaits, essayez simplement, sans trop de soin. Si le résultat ne correspond pas à votre idée, il suffit de l'ajuster petit à petit ; il n'y a pas vraiment d'échec à proprement parler. Une fois essayé, vous saisirez sans doute que « ça marche finalement plutôt bien ».
N'hésitez pas à essayer, tout simplement.
Directeur en pleine ascension depuis son entrée dans l'entreprise en tant que jeune diplômé, actuellement très investi ! Il relève chaque jour le défi de devenir un profil polyvalent, maîtrisant tous les domaines, du design à la gestion publicitaire. Au travail, il vise une direction élégante et efficace, tandis que dans sa vie privée, il savoure pleinement une existence casanière dans sa forteresse qu'il appelle sa maison. Il aime aussi les animes.
Handan-chan
Directeur web / Entré en 2022