Difficile de surfer sur Internet en ce moment sans voir aucune référence au vibe-coding, un terme qui représente une nouvelle méthodologie pour le développement logiciel: le développement assisté par IA.
Je pense que l’on a trop tendance catégoriser cette nouvelle forme de développement sous le terme de vibe-coding à l’heure actuelle et qu’il existe différentes variantes de développement assistés par IA:
- vibe-coding
- assisted-vibe-coding
- assisted-development
La principale différence entre chacune de ces variantes repose sur la part d’implication et de contrôle du développeur, non pas sur le logiciel final, mais sur le code généré.
vibe-coding
Dans le cas du vibe-coding, le développeur cherche à résoudre un problème sans se soucier des moyens technologiques mis en place pour résoudre ce problème. En pratique, le code du logiciel devient une boîte noire et l’intérêt du développeur réside uniquement dans le produit fini - le logiciel généré.
assisted-vibe-coding
Similaire au vibe-coding mais avec un peu plus d’implication de la part du développeur, celui-ci pourra alors dicter des choix technologiques et architecturaux pour la création du logiciel sous forme de pré-requis que l’IA devra respecter lors de la génération du code et du logiciel.
Dans ce cas particulier, le développeur peut réutiliser son expérience pour faire des choix architecturaux et de sélection d’outils adaptés au contexte du logiciel et n’applique pas ou peu de contrôles sur le code généré.
assisted-development
Cette variante méthodologique requiert plus d’implication de la part du développeur. Ici, le développeur utilisera son expérience et ses connaissances pour la mise en place de pré-requis technologiques et architecturaux ainsi qu’une forme de contrôle sur le code généré. Cela peut se traduire, entre autres, par la définition de conventions, patrons et bonnes pratiques à respecter lors de la génération du code ainsi que la validation (automatisée ou non) du respect de ces règles.
Le but n’étant pas de contrôler chaque ligne de code produite par l’IA mais plutôt de mettre en place un harnais de sécurité et de vérifier que celle-ci respecte les plans et les règles imposés par le développeur.