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 :
- Sauvegardes — automatiques, et déjà restaurées au moins une fois pour de vrai.
- Accès — chaque usager voit seulement ses propres données ; les clés et mots de passe ne sont pas dans le code.
- Données personnelles — vous savez ce que vous collectez, pourquoi, où c’est hébergé et pour combien de temps.
- Tests — les parcours critiques (inscription, paiement, envoi) sont couverts par des tests qui roulent automatiquement.
- Surveillance — vous êtes averti quand le service tombe, sans dépendre d’un usager qui vous écrit.
- Déploiement — remettre le logiciel en ligne est une opération reproductible, documentée, qui ne repose pas sur la mémoire d’une seule personne.
- Coûts — vous connaissez le coût mensuel par usager, incluant les appels aux services d’IA.
- Documentation — quelqu’un d’autre que vous pourrait reprendre le projet.
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 ?
Est-ce que je dois tout reprendre à zéro ?
Mon prototype a été généré par une intelligence artificielle. Est-ce un problème ?
Qu'est-ce qu'un audit de code source, concrètement ?
Et si je n'ai pas d'équipe technique pour la suite ?
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.