Depuis les premiers pas de la programmation informatique, quelques visionnaires ont toujours rêvé de la possibilité de créer des logiciels sans compétences particulières. Après les vagues récentes des outils sans code (ou presque) puis des assistants intelligents, GitHub Spark esquisse maintenant la concrétisation de la promesse globale.
D'immenses progrès ont été accomplis au fil des années, par exemple depuis les langages de quatrième génération des années quatre-vingt-dix, mais les plates-formes qui vantent jusqu'à ce jour leur facilité de prise en main n'en restent pas moins destinées à des personnes qui, bien que n'ayant – dans le meilleur des cas – plus nécessairement besoin de maîtriser un langage de programmation, doivent malgré tout adopter un mode de pensée et un certain nombre de réflexes propres à cette discipline.
Dans une large mesure, les pionniers se sont essentiellement attachés à automatiser la génération de code mais pas véritablement la production d'applications en tant que telles. Voilà justement le terrain sur lequel GitHub Spark veut apporter une perspective réellement nouvelle grâce aux avancées de l'intelligence artificielle. Au-delà de l'écriture des instructions qui composent un module capable de traiter un problème, son objectif est de convertir l'énoncé d'une fonction en un service directement opérationnel.
En pratique, vous commencez par décrire ce que vous souhaitez accomplir (maintenir un agenda de groupe, suivre la distribution d'argent de poche à vos enfants, apprendre une langue étrangère…), vous spécifiez quelques éléments de présentation, vous choisissez votre modèle d'IA parmi les quatre proposés (dont l'incontournable ChatGPT)… et c'est tout. Vous disposez instantanément d'une micro-application que vous pouvez utiliser et partager avec vos amis ou une communauté étendue.
Les détails techniques d'implémentation sont totalement masqués (sauf pour ceux qui souhaitent les explorer, bien entendu) : le code lui-même, naturellement, mais également l'organisation et la gestion des données nécessaires, les problématiques de déploiement (via une interface web, qui peut aussi prendre la forme d'une app mobile)… L'utilisateur passe ainsi de la définition de la tâche à remplir, en langage naturel, à l'exécution du logiciel, sans plus de complication, de manière transparente.
Le même mécanisme opère ensuite pour des évolutions, qu'il s'agisse de modifier les comportements obtenus ou d'ajouter de nouvelles options : il suffit d'indiquer ses desiderata au moteur, en anglais, et le résultat est adapté en conséquence, toujours prêt à l'emploi. Si les demandes ne sont pas suffisamment précises, GitHub Spark vous livre entre 3 et 6 variantes parmi lesquelles vous êtes invité à faire votre choix. Et la faculté de revenir à tout moment à une version antérieure encourage l'expérimentation.
Après des décennies de rêves déçus, l'arrivée d'une plate-forme conçue pour transformer une simple idée en un logiciel fini est finalement en train d'émerger (quoique dans une approche de démonstration uniquement, pour l'instant). Il existe une certaine ironie à en voir une de ses premières incarnations émaner d'un fournisseur de solutions dédiées aux développeurs… qui ne craint probablement pas de voir son audience passer d'un cercle restreint de professionnels à l'ensemble du grand public.