Topics

Claude × Développement d'applications par des non-ingénieurs ① - Créer, tester, ajuster. Une nouvelle façon de concevoir des produits en « cultivant » votre application

  • column

« Créer une application avec l'IA » n'est plus une pratique aussi rare qu'avant.

Il y a peu de temps encore, l'IA était perçue comme un « assistant compétent » capable d'aider au résumé de textes et à la génération d'idées, mais elle est en train d'évoluer pour devenir un « partenaire fiable » qui pilote le développement lui-même.

Les membres de notre équipe ont de plus en plus d'occasions de travailler avec l'IA, et cette envie de « créer quelque chose soi-même » a marqué le début de ce projet de développement d'application.

Nous avons pensé « autant créer quelque chose d'utile pour le travail… », mais la première idée qui nous a traversé l'esprit n'était pas professionnelle, c'était un hobby.

Ces derniers temps, je suis devenu accro aux films et je regarde plusieurs films par semaine. J'écrivais tout dans l'appli Notes de mon iPhone : mes films à regarder et mes films préférés.

Mais la liste s'accumulait vite et avec beaucoup de titres similaires, j'ai souvent pensé « Attends, je l'ai déjà vu celui-ci ? ». À la fin, la gestion par Notes s'est effondrée.

J'ai donc créé « ma propre liste de films » pour résoudre ce problème — c'est l'application présentée aujourd'hui.

Créer une application avec des prompts imprécis, c'est possible

Quand on pense au développement avec l'IA, on s'imagine souvent devoir rédiger des prompts très détaillés avec tous les éléments précis du cahier des charges.

Nombreux sont ceux qui pensent que ce n'est qu'en organisant le contexte et les spécifications, puis en communiquant les exigences sans aucune omission, qu'on peut enfin créer quelque chose qui fonctionne correctement.

Bien sûr, il est préférable de pouvoir fournir un contexte et des spécifications bien documentés. Cependant, ce que j'ai découvert en essayant cette approche, c'est que même avec des instructions assez sommaires, Claude comprend vraiment mon intention et implémente le code en conséquence.

Je pense que c'est aussi parce que c'était une application relativement simple, mais même avec un prompt où j'ai simplement énuméré ce que je voulais faire, l'application a fonctionné correctement. Mon premier prompt ressemblait à ceci :

Je souhaite créer une liste de surveillance de films.
Pour l'instant, c'est un prototype, je veux que tout soit contenu dans un seul fichier HTML et que l'application fonctionne immédiatement quand j'ouvre le fichier dans un navigateur.
En termes de fonctionnalités, je veux pouvoir entrer et enregistrer le titre d'une œuvre et où elle est disponible en streaming (U-NEXT, Prime Video, etc.), et afficher une liste des œuvres enregistrées.
De plus, veuillez ajouter une option pour cocher « Regardé ».

Sans l'IA, le développement traditionnel, même pour les choses les plus simples, implique de « concevoir l'interface utilisateur », « sélectionner les technologies à utiliser » et « coder », ce qui consomme facilement plusieurs heures. Claude, en quelques minutes seulement, a compris ce que je voulais faire et a complété sans effort le choix optimal de l'interface utilisateur, la sélection des outils et l'implémentation.

J'étais tellement impressionné par cette rapidité que j'ai ressenti une légère crainte.

À cette vitesse, j'ai rapidement commencé à demander de plus en plus. Une fois que la base était prête, j'ai continué à envoyer une demande après l'autre. Ces prompts n'étaient pas non plus bien structurés ; je me contentais de lister les points à corriger en points à puce et de dire « corrige ça », d'une manière tellement sommaire qu'un développeur humain aurait certainement protesté.

Après avoir poursuivi ce type d'échange un peu aléatoire plusieurs fois, la structure générale de la liste de surveillance s'est rapidement achevée.
En incluant les ajustements, il n'a fallu qu'environ une heure pour que la première version de l'application soit prête.

Implémentation immédiate dès que l'idée surgit. Développement itératif en ajoutant des fonctionnalités

Quelques jours après la finalisation de la structure, une occasion a été organisée pour que les membres partagent les applications qu'ils avaient créées avec l'IA, et j'ai pu voir les travaux des autres. Parmi eux, il y avait quelqu'un qui avait créé une application utilisant Gemini Nano.

En voyant cela, je me suis dit : « Tiens, maintenant que j'y pense, j'utilise Gemini pour chercher des films à regarder. Et si j'intégrais cette fonctionnalité dans l'application ? Je pourrais chercher des films en me basant sur ma liste de surveillance. » J'ai alors repris le développement dès que je suis rentré à la maison.

Si je travaillais avec une personne, ce serait un acte audacieux qui me vaudrait de me faire gronder pour avoir arbitrairement augmenté les spécifications au cours du développement. Mais c'est justement ce qui est extraordinaire avec l'IA : elle gère ce genre de choses sans problème. Elle a implémenté la fonction de recherche de films en quelques minutes.

Après avoir réussi à implémenter la fonction de recherche, je me suis préoccupé de l'« exactitude » de celle-ci.

Au départ, j'avais une spécification très sommaire : recommander un certain nombre de films en me basant uniquement sur les titres et genres des films enregistrés dans la liste de surveillance. Cela causait un problème : même si le genre était correct, les films proposés ne correspondaient souvent pas à mes préférences. J'ai essayé plusieurs approches, comme changer les spécifications pour sélectionner des films en me basant sur les œuvres que j'avais marquées comme favorites, mais les résultats restaient inchangés.

Je pensais que les informations basées uniquement sur le titre et le genre n'étaient pas suffisantes, alors j'ai décidé d'ajouter un synopsis pour chaque film. Cependant, je ne voulais absolument pas me donner la peine de saisir manuellement chaque synopsis. Après avoir réfléchi à la solution, j'ai décidé de faire appel à nouveau à l'IA.

J'ai modifié le système pour que « les synopsis s'enregistrent automatiquement en fonction des titres saisis dans la liste ». Pour assurer la précision des synopses, j'ai écrit un code qui récupère les informations correspondantes du titre enregistré via l'API de Wikipedia, puis génère automatiquement le synopsis en se basant sur ces données grâce à l'IA. C'est Claude qui a écrit ce code également.

Honnêtement, il reste encore quelques imprécisions, et j'envisage même une mise à jour vers l'intégration de l'API TMDB à terme. Néanmoins, j'ai atteint un niveau où je peux accepter « les petites erreurs comme faisant partie du charme ». Tout ce processus de micro-ajustements n'a pris que 2 à 3 heures.

Par ailleurs, quand j'ai essayé d'utiliser l'application sur un appareil réel par la suite, Gemini Nano ne semblait pas disponible, alors j'ai finalement basculé vers l'API Gemini. Bien que la version gratuite limite le nombre de requêtes, elle offre un meilleur modèle que Gemini Nano, ce qui a considérablement amélioré la précision.

Présentation rapide de l'application créée

Cet l'application, que j'ai littéralement « développée en l'utilisant », en apportant des améliorations au fur et à mesure, possède finalement tout cet ensemble de fonctionnalités.

【Liste de suivi】

  • Enregistrement des titres de films, genres, services de streaming et résumés
  • Génération automatique de résumés exploitant diverses API
  • Basculement entre les statuts « À regarder / Regardé »
  • Filtrage par genre, favoris, et statut de visionnage (à regarder / regardé)

【Recherche de films】

  • Gemini propose des films recommandés basés sur vos informations de favoris
  • Possibilité de spécifier le genre et le nombre de suggestions
  • Ajout en un seul clic des films recommandés à votre liste de suivi
  • Possibilité d'ajouter à la liste les films déjà regardés avec le statut correspondant

Les tâches de « recherche de films » et « enregistrement de films » qui étaient auparavant fragmentées se sont consolidées dans cette seule application.
Auparavant, j'devais expliquer mes préférences à l'IA à chaque recherche, mais je n'ai plus besoin de le faire, et je peux maintenant trouver les films que j'aime à tout moment.

La watchlist, qui était mon objectif initial, peut maintenant être filtrée par statut de visionnage, favoris et genre, ce qui la rend beaucoup plus facile à gérer qu'à l'époque des notes.

Ce qui me plaît particulièrement, c'est que quand je trouve une œuvre manquante dans la liste lors des résultats de recherche, je peux l'ajouter en un seul clic.
Cela m'épargne aussi la peine de devoir taper le titre et l'enregistrer manuellement.

Conclusion

Vous l'aurez peut-être remarqué en lisant jusqu'ici, mais lors du développement de cette application, je n'ai écrit une seule ligne de code. Je n'ai fait que communiquer « j'aimerais avoir cette fonctionnalité » par la parole, et Claude a tout implémenté pour moi.

La première chose que j'ai pensée en l'essayant, c'est que « je n'avais pas besoin de décider la forme finale dès le départ ». En utilisant l'application, j'ai réalisé « j'aimerais aussi avoir ça » ou « ce n'est pas tout à fait ce que je voulais », et j'ai communiqué ces observations à Claude au fur et à mesure. C'était moins comme « créer » une application et plus comme l'« élever ».

S'il y a quelqu'un qui hésite parce qu'il pense « Je dois rédiger des prompts avec soin », je vous encourage à d'abord à les soumettre sans trop de réflexion. S'il en résulte quelque chose de différent de votre vision, vous pouvez simplement l'affiner petit à petit, et il n'y a vraiment pas d'échec. Une fois que vous l'aurez essayé, vous comprendrez « Oh, c'est faisable après tout ».

N'hésitez pas à l'essayer sans pression.

Auteur de cet article

Directrice en pleine ascension depuis mon entrée en tant que nouvelle recrue ! Je relève des défis quotidiennement pour devenir un talent polyvalent maîtrisant tous les domaines, du design à la gestion des campagnes publicitaires. Au travail, je vise une direction intelligente, mais dans ma vie privée, je savoure la vie en recluse dans ma forteresse personnelle. J'aime les animes.

Handa

Directrice Web / Entrée en 2022

Voir les articles de ce membre

Notre équipe fiable et nos capacités de réactivité font notre fierté

Chez Liberogic, nos équipes expérimentées sont reconnues pour diriger activement les projets et sont hautement appréciées par nos clients.
Nous assignons correctement un chef de projet et un directeur, et veillons à assurer le déroulement fluide de l'ensemble du projet. Nous évitons une augmentation inutile des coûts en engagements complets, en allouant les ressources de manière optimale. Notre approche est réputée pour sa rapidité dans la compréhension des besoins, la création et la soumission des devis.

* Veuillez noter que nous n'engageons pas activement de missions d'intégration type SES.

Slack, Teams, Redmine, Backlog, Asana, Jira, Notion, Google Workspace, Zoom, Webex, et pratiquement tous les principaux outils de gestion de projet et de communication que vous utilisez.

Consultez-nous pour toute question ou préoccupation concernant le web.

Études de cas