Retour

Mettre votre prototype de logiciel en production

Avec l’intelligence artificielle, n’importe qui peut créer un logiciel en claquant des doigts. Par contre, ce n’est pas tout le monde qui est capable de le déployer en production. Beaucoup de projets s’arrêtent alors qu’ils sont si près du but.

On me montre souvent une démo qui fonctionne. Beaucoup plus rarement, des clients arrivent avec un produit prêt à servir leurs usagers. Entre les deux, il y a tout un travail que l’IA ne fera pas à votre place.

Sur votre ordinateur, tout va bien

Avec les outils modernes d’intelligence artificielle, vous pouvez tout simplement décrire ce que vous voulez créer, et l’outil le réalise pour vous ! Le logiciel se construit tout seul sous vos yeux. Je vous encourage à essayer cela, si vous ne l’avez pas déjà fait. C’est impressionnant, et ça ouvre la porte vers une foule de possibilités pour l’idéation, la création de prototypes et même pour concevoir de nouveaux produits.

Le prototype que vous créez ainsi fonctionne bien sur votre ordinateur, avec un seul usager. Les choses peuvent se corser quand vous publiez le tout sur un serveur public, le branchez à des API de services complémentaires, et que des centaines d’usagers s’y connectent. Les gens peuvent cliquer à des endroits où vous n’aviez pas prévu, et peut-être qu’il y a des trous de sécurité. Si ça plante aux petites heures du matin, ça restera hors service jusqu’à ce que vous le répariez.

C’est la différence entre un logiciel qui fonctionne et un logiciel qui tient. Un prototype doit convaincre. Un logiciel en production doit encaisser : des usagers imprévisibles, des pannes de réseau, des services externes qui changent leurs règles, et le simple passage du temps.

Ce que je regarde en premier

Quand j’hérite d’un projet logiciel et que je dois faire un audit, j’étudie le code source afin de déceler ses faiblesses. Je tente de voir ce qui brisera en premier lorsqu’il sera éprouvé par de véritables usagers. Ensuite, pour améliorer un projet, il y a des méthodes que j’ai apprises au fil des années et qui me permettent de livrer la bonne fonctionnalité, dans le bon ordre, en m’assurant que le reste du logiciel continue de bien fonctionner également.

Avec 23 ans de carrière comme développeur logiciel, j’ai eu la chance d’occuper tous les rôles d’une équipe : programmeur, architecte logiciel, designer d’expérience utilisateur, analyste d’affaires, Scrum Master, technicien DevOps, etc. J’ai même enseigné le développement logiciel au niveau collégial durant 4 ans.

Cette polyvalence change la façon de faire un audit. Une faiblesse technique est rarement seulement technique : un formulaire mal conçu devient un problème de données, une architecture trop ambitieuse devient un problème de budget, et une fonctionnalité livrée trop tôt devient un problème de confiance avec vos usagers. Je regarde donc le code, mais aussi ce que le code promet à votre clientèle.

Où ça casse, le plus souvent

Après avoir repris et réparé plusieurs projets logiciels, j’ai observé plusieurs points où ça peut être plus fragile : les droits d’accès à la base de données, la protection des données personnelles, les copies de sauvegarde automatisées, le manque de tests systématiques, l’explosion des coûts d’utilisation de l’IA, et surtout, du code que personne n’est capable de comprendre.

Les droits d’accès à la base de données. Dans un prototype, tout le monde a tous les droits — c’est plus rapide ainsi. En production, ça veut dire qu’un usager curieux peut parfois consulter les données d’un autre usager. C’est le genre de faille qu’on ne découvre pas soi-même : on l’apprend par un client fâché.

La protection des données personnelles. Au Québec, la Loi 25 encadre ce que vous avez le droit de collecter, où vous pouvez l’héberger et ce que vous devez faire en cas d’incident. Un prototype ne se pose jamais ces questions. Un produit qui sert de vrais usagers doit y répondre, et il vaut mieux le faire avant le lancement qu’après une plainte.

Les copies de sauvegarde automatisées. Une sauvegarde qui n’a jamais été restaurée n’est pas une sauvegarde : c’est une intention. Je vérifie qu’il y en a, qu’elles se font toutes seules, et surtout qu’on est capable de remonter le système à partir de celles-ci.

Le manque de tests systématiques. Sans tests automatisés, chaque nouvelle fonctionnalité risque d’en briser une ancienne, sans que personne s’en aperçoive. C’est ce qui fait qu’un projet devient de plus en plus lent à faire évoluer, jusqu’à ce que plus personne n’ose y toucher.

L’explosion des coûts d’utilisation de l’IA. Un logiciel qui appelle un modèle d’intelligence artificielle à chaque clic coûte très peu avec dix usagers, et beaucoup trop avec mille. Il faut mesurer le coût par usager avant le lancement, pas en recevant la facture.

Du code que personne n’est capable de comprendre. C’est le point le plus important, et le plus sous-estimé. Un logiciel que vous ne comprenez pas est un logiciel dont vous n’êtes pas propriétaire. Le jour où il faudra le corriger d’urgence, la lisibilité du code vaudra bien plus que son élégance.

Une courte liste de vérification avant le lancement

Avant de mettre un prototype en production, je valide au minimum ceci :

Cette liste n’est pas exhaustive, mais un projet qui coche ces huit points a déjà franchi la majeure partie de la distance entre la démo et la production.

Par où commencer

La bonne nouvelle, c’est qu’on ne repart presque jamais de zéro. Votre prototype contient déjà le plus difficile : l’idée, les écrans, la logique d’affaires, et la preuve que ça intéresse quelqu’un. Ce qui manque, c’est la couche qui rend le tout fiable — et cette couche s’ajoute par étapes, en commençant par ce qui vous expose le plus.

C’est aussi le bon moment pour trancher ce qui doit être dans la première version publique et ce qui peut attendre. Un produit plus petit, mais solide, sert mieux vos usagers qu’un produit complet qui tombe en panne le vendredi soir. Je vous aide à faire ce tri, puis à livrer dans le bon ordre — c’est le cœur de mon travail de développement logiciel sur mesure.

Questions fréquentes

Combien de temps faut-il pour passer d'un prototype à la production ?

Ça dépend surtout de l’écart entre ce que le prototype fait et ce dont vos usagers ont réellement besoin. Pour un prototype simple, bien structuré, avec peu d’usagers et peu de données sensibles, on parle souvent de quelques jours à quelques semaines. Pour un produit qui traite des paiements, des données personnelles ou des volumes importants, il faut prévoir davantage. Un audit du code source de quelques heures suffit habituellement pour vous donner une fourchette réaliste.

Est-ce que je dois tout reprendre à zéro ?

Presque jamais. Dans la majorité des cas que je vois, le prototype contient déjà les bonnes idées, les bons écrans et la bonne logique d’affaires. Ce qui manque, c’est la couche qui le rend fiable : tests, sauvegardes, gestion des accès, journalisation, déploiement reproductible. On garde donc l’essentiel et on ajoute ce qui manque, section par section.

Mon prototype a été généré par une intelligence artificielle. Est-ce un problème ?

Non, pas en soi. J’utilise moi-même l’IA tous les jours pour écrire du code. Le vrai enjeu, c’est que le code généré doit être compris, testé et structuré par quelqu’un qui sait ce qu’il regarde. Un code que personne ne comprend est un risque, qu’il ait été écrit par une IA ou par un humain pressé.

Qu'est-ce qu'un audit de code source, concrètement ?

C’est une lecture méthodique de votre projet pour répondre à trois questions : qu’est-ce qui va briser en premier avec de vrais usagers, qu’est-ce qui vous expose sur le plan de la sécurité et des données personnelles, et dans quel ordre faut-il corriger tout ça. Vous repartez avec un rapport qui nomme les problèmes, leur gravité et l’effort estimé — pas avec un jargon incompréhensible.

Et si je n'ai pas d'équipe technique pour la suite ?

C’est une situation fréquente et elle se gère. On peut viser une architecture volontairement simple, que vous pouvez faire évoluer avec des outils d’IA, avec de la documentation écrite pour vous et non pour un service informatique. On peut aussi prévoir un accompagnement ponctuel, seulement quand vous en avez besoin.

Faire évaluer votre projet

Vous avez un prototype qui fonctionne et que vous souhaitez mettre en production ? Félicitations ! C’est le bon moment de le faire évaluer et corriger par un professionnel du développement logiciel. Réservez un appel gratuit de 30 minutes : nous verrons ensemble où en est votre projet et ce qu’il faut pour le mettre en production.

Pour aller plus loin, vous pouvez aussi lire mon article sur les raisons pour lesquelles j’ai abandonné WordPress au profit des sites statiques, ou consulter mes services en intelligence artificielle pour PME.