Je passe du prototype à l’application quand le problème est validé, que la v1 est cadrée, que l’app tient sans démo, que les données sont stables et que l’authentification n’est plus bricolée. C’est là que le vrai produit commence.
Le problème est il vraiment validé ?
Un problème est vraiment validé quand les personnes concernées le ressentent déjà, sans que j’aie besoin de leur vendre l’idée. Elles savent de quoi je parle. Elles ont déjà bricolé des solutions. Elles peuvent expliquer comment elles contournent le sujet aujourd’hui, même si c’est moche, manuel, ou fait avec trois fichiers Excel et une règle dans Outlook.
Ce point est souvent sous-estimé. Beaucoup de prototypes plaisent en démo. Les gens sourient, disent que c’est malin, que ça pourrait servir. Mais ça ne veut pas dire que le problème est assez fréquent, assez douloureux, ou assez prioritaire pour mériter une vraie application.
Avant de passer en production, je pose toujours trois questions simples :
- Qui a ce problème ? Pas “les équipes”, pas “les utilisateurs”. Je veux savoir quels profils précis le vivent vraiment.
- À quelle fréquence ? Tous les jours, toutes les semaines, une fois par trimestre ? La réponse change tout.
- Comment ils font aujourd’hui ? S’il n’y a aucun contournement, aucune perte de temps, aucune frustration visible, je me méfie.
J’ai déjà vu des équipes confondre enthousiasme poli et vraie validation. Quelqu’un qui dit “c’est intéressant” vous donne une opinion. Quelqu’un qui demande “je peux l’utiliser quand ?” vous donne un signal. Ce n’est pas la même chose. Le deuxième a probablement déjà mal. Le premier est peut-être juste sympa.
Le lien avec le passage en production est direct. Si la douleur est claire, la v1 peut être très simple. Elle fait peu de choses, mais elle soulage un vrai problème. Si la douleur est floue, on commence souvent à ajouter des fonctions pour compenser. Un bouton ici, une option là, un tableau de bord en plus. Et souvent, c’est mauvais signe. On essaie de rendre séduisant un produit qui n’est pas encore nécessaire.
| Prototype encore fragile | Application prête à sortir |
| Validation basée sur des retours polis ou des avis généraux. | Validation basée sur une demande claire d’utilisation. |
| Usage imaginé pendant la démo. | Usage déjà identifié dans un contexte réel. |
| Fréquence du problème vague ou occasionnelle. | Problème fréquent, visible, et pénible. |
| Solution actuelle inconnue ou inexistante. | Contournement déjà en place, même manuel ou imparfait. |
Votre v1 a t elle une vraie limite ?
Une v1 a une vraie limite quand je peux dire simplement ce qui est dedans, ce qui est dehors, et quelle valeur minimale l’utilisateur reçoit dès la première version.
Finir une application, ce n’est pas tout prévoir. C’est livrer un périmètre assez petit pour être fiable, mais assez utile pour mériter une vraie utilisation. Si personne ne peut s’en servir sérieusement, ce n’est pas une v1. Si on doit encore ajouter quinze choses pour que ça serve à quelque chose, le périmètre n’est pas clair.
Le piège, je le vois souvent chez les clients, c’est le scope creep. C’est quand le périmètre grossit sans qu’on s’en rende compte. Et souvent, ça arrive avec des phrases très innocentes. On ajoute juste un petit filtre. Juste une option. Juste un écran. Juste un export. Chaque ajout paraît raisonnable, mais au bout de deux semaines, la v1 est devenue une v3 déguisée.
Il faut séparer deux choses. Une fonctionnalité nécessaire à la valeur, c’est ce qui permet à l’utilisateur d’obtenir le résultat attendu. Une amélioration confortable, c’est ce qui rend l’expérience plus agréable, plus complète, plus élégante, mais pas indispensable au premier usage.
C’est là que la notion de MVP est utile. MVP veut dire Minimum Viable Product, donc produit minimum viable. Minimum ne veut pas dire bâclé. Viable ne veut pas dire moche. Ça veut dire focalisé. Une version qui fait peu de choses, mais qui les fait correctement.
Par exemple, pour un outil interne de suivi de demandes, la v1 peut être très simple. Créer une demande. Suivre son statut. Notifier la bonne personne. Si ça marche, la valeur est déjà là. Les tableaux avancés, les rôles ultra fins, les exports Excel et les vues personnalisées peuvent attendre. Ils seront peut-être utiles, mais ils ne conditionnent pas forcément le lancement.
Avant de shipper la v1, je tranche ces questions noir sur blanc :
- Quelle action principale l’utilisateur doit pouvoir faire sans friction ?
- Quelle valeur concrète reçoit-il dès cette première version ?
- Quelles fonctionnalités sont indispensables pour livrer cette valeur ?
- Quelles demandes sont du confort et peuvent attendre ?
- Quel bug ou manque bloquerait une vraie utilisation ?
L’app tient elle sans votre démo ?
Une app tient sans votre démo le jour où je peux envoyer une URL à quelqu’un, le laisser seul devant son écran, et voir s’il comprend quoi faire sans que je parle. C’est un test très simple, presque brutal, mais il dit beaucoup de choses.
Une démonstration contrôlée masque énormément de problèmes. Quand je pilote le parcours, je sais où cliquer. Je saute les bugs connus. J’évite les zones encore bancales. J’explique les libellés flous avant même que la personne ait le temps de bloquer. Je rassure aussi, souvent sans m’en rendre compte. En production, personne n’est là pour traduire l’interface ou dire “Oui oui, c’est normal, cliquez ici”.
Ce que je regarde dans ce moment-là, ce n’est pas si l’utilisateur trouve l’app jolie. Je regarde s’il comprend l’objectif. Je regarde s’il bloque au premier écran. Je regarde s’il sait quoi faire après une erreur. Je regarde si les boutons, les champs et les messages parlent vraiment son langage. Je regarde surtout si le parcours principal arrive au bout sans intervention extérieure.
Avec les prototypes no-code et low-code, le piège est fréquent. Ces outils permettent d’aller très vite, et c’est une vraie force. Mais ils donnent parfois l’impression que le produit est prêt alors qu’il dépend encore trop de son créateur. J’ai vu des apps qui semblaient nickel en démo, puis complètement perdues dès que le fondateur arrêtait de commenter chaque clic.
Les signaux concrets que l’application peut être testée seule sont assez visibles :
- L’utilisateur comprend en moins d’une minute ce que l’application lui permet de faire.
- L’utilisateur sait quel premier bouton cliquer sans demander d’aide.
- L’utilisateur peut corriger une erreur grâce au message affiché.
- L’utilisateur ne dépend pas d’une explication orale pour comprendre les libellés.
- L’utilisateur termine le parcours principal avec de vraies informations.
- L’utilisateur pose des questions sur son besoin, pas sur le fonctionnement de base.
Quand on arrive là, le prototype commence à sortir du théâtre de la démo. Il devient utilisable dans un contexte réel. Et c’est souvent à ce moment-là qu’un autre sujet apparaît très vite : si les utilisateurs commencent à créer de vraies données, le modèle de données devient sérieux. Là, on ne bricole plus juste des écrans.
Vos données peuvent elles tenir ?
Oui, vos données peuvent tenir si le modèle couvre les cas d’usage principaux, accepte des évolutions raisonnables, et ne vous oblige pas à tout casser dès qu’une nouvelle idée arrive.
En prototype, je peux me permettre d’aller vite. Je renomme une colonne. Je change un champ. Je supprime des enregistrements de test. Je transforme un “type client” en “segment client” parce que ça arrange l’écran du moment. C’est normal, c’est même utile.
En production, ce n’est plus pareil. Les données deviennent un contrat. Des utilisateurs les remplissent, des automatisations les lisent, des exports partent chez la compta, des tableaux de bord s’appuient dessus, des workflows déclenchent des actions. Si je change un champ sans réfléchir, je ne casse pas juste une colonne. Je peux casser une partie du business.
Je ne cherche pas une architecture enterprise dès le premier jour. Franchement, ce serait souvent trop lourd. Je cherche une stabilité suffisante. Des fondations qui ne bougent pas à chaque réunion.
Les points que je regarde très vite sont simples :
- Les champs obligatoires sont clairs, sinon les données deviennent inutilisables.
- Les relations entre objets tiennent debout, par exemple un client, ses projets, ses factures.
- Les statuts sont normalisés, pas saisis librement avec dix variantes.
- Les identifiants sont stables, pour retrouver un objet même si son nom change.
- L’historique minimum existe, surtout quand une suppression ou un changement peut avoir un impact.
- Les règles de cohérence sont connues, par exemple une facture payée ne devrait pas revenir “brouillon” sans raison.
| Risque fréquent | Impact business |
| Champ texte utilisé pour tout | Données difficiles à filtrer, automatisations fragiles, reporting peu fiable. |
| Statuts non normalisés | Process flou, erreurs de suivi, tableaux de bord contradictoires. |
| Absence d’identifiant stable | Doublons, pertes de liens entre outils, rapprochements manuels. |
| Suppression de données sans historique | Perte de traçabilité, litiges compliqués, décisions impossibles à expliquer. |
En développement logiciel, on parle souvent de gestion de schéma et de migrations. Le schéma, c’est la structure des données. Une migration, c’est une modification contrôlée de cette structure. Je garde cette logique même en low code. Modifier un modèle de données en production doit devenir une opération volontaire, testée, documentée, et réversible autant que possible.
J’ai vu un client bloqué simplement parce qu’un champ “priorité” était un texte libre. Tout le monde écrivait autre chose. “Urgent”, “Haute”, “P1”, “À faire vite”. Le prototype marchait. La production, elle, ne savait plus quoi déclencher.
L’authentification est elle assez propre ?
L’authentification est assez propre quand je peux dire une chose simple : chaque utilisateur a son propre accès, les sessions sont gérées correctement, les mots de passe ne traînent pas dans un fichier ou un Slack, et les vérifications de base existent.
Personne n’a besoin d’un système enterprise complet le premier jour. Pas besoin de SSO, de gestion fine par organisation, de MFA obligatoire partout, ou d’un annuaire d’entreprise branché dans tous les sens. Mais un login partagé, des comptes de test permanents, ou des accès envoyés en clair, ça ne passe plus dès qu’on parle de vrais utilisateurs et de vraies données.
Les recommandations OWASP, qui sont une référence connue en sécurité applicative, disent surtout des choses assez simples à ce niveau : bien identifier l’utilisateur, protéger les mots de passe, limiter les sessions ouvertes trop longtemps, et éviter qu’un utilisateur puisse voir ou modifier ce qui ne lui appartient pas. Ce n’est pas un audit sécurité complet. C’est juste le minimum pour ne pas transformer un prototype utile en risque opérationnel.
Avant de livrer à des utilisateurs réels, je regarde au moins ces points :
- Chaque utilisateur a un compte nominatif, pas un accès commun partagé par toute l’équipe.
- La création de compte est propre, avec une invitation ou un parcours contrôlé.
- La réinitialisation de mot de passe existe, sans intervention manuelle bricolée par quelqu’un en interne.
- Les mots de passe sont stockés de façon sécurisée, idéalement hachés avec un mécanisme prévu pour ça, jamais visibles en clair.
- La session expire au bout d’un délai raisonnable, surtout sur des outils contenant des données sensibles.
- Les utilisateurs sont bien séparés, chacun voit ses données, pas celles du voisin.
- Les droits sont limités au nécessaire si plusieurs profils existent, par exemple admin, manager, utilisateur simple.
- Les données sensibles sont protégées, masquées ou limitées quand elles n’ont pas besoin d’être affichées.
J’ai vu des prototypes internes devenir des outils critiques avec un mot de passe partagé. Sur le moment, tout le monde trouve ça pratique. Le vrai problème arrive plus tard, quand il faut savoir qui a supprimé une donnée, qui a validé une action, ou qui a exporté un fichier client.
Quand le problème est validé, que la V1 est cadrée, que l’usage autonome devient possible, que les données sont assez stables, et que l’authentification est propre, on n’est plus juste en train de bricoler un prototype. On commence à avoir une vraie application.
Alors vous shippez ou vous continuez à bricoler ?
Je ne passe pas d’un prototype à une application parce que l’interface est jolie ou parce que la démo passe bien. Je le fais quand les signaux sont solides. Le problème existe vraiment, la v1 a une limite claire, l’utilisateur peut se débrouiller seul, les données ne changent pas tous les deux jours et l’authentification tient un minimum la route.
C’est souvent là que le mindset change. On arrête de prouver que c’est possible, on commence à servir des gens. Et pour vous, le bénéfice est simple. Moins de bricolage, moins de dette cachée, plus de chances de livrer une application utile.
FAQ
- Quelle différence entre un prototype et une vraie application ?
Un prototype sert à tester une idée, souvent dans un cadre contrôlé. Une vraie application doit fonctionner avec de vrais utilisateurs, de vraies données, des erreurs imprévues et des usages autonomes. Le changement est surtout mental. On ne cherche plus seulement à montrer que ça marche, on accepte de rendre un service fiable. - Comment savoir si mon prototype répond à un vrai problème ?
Je regarde si les utilisateurs parlent spontanément de la douleur, s’ils rencontrent le problème souvent, et s’ils ont déjà une manière de le contourner. Si personne ne cherche de solution aujourd’hui, le prototype peut être intéressant, mais le besoin n’est peut-être pas encore assez fort. - Une v1 doit elle être complète pour être lancée ?
Non. Une v1 doit être claire, utile et limitée. Elle n’a pas besoin de tout faire. Elle doit juste apporter une valeur réelle sur un périmètre maîtrisé. Le piège, c’est d’ajouter des options pour repousser le lancement au lieu de trancher ce qui est vraiment nécessaire. - Pourquoi le modèle de données devient critique en production ?
Parce qu’en production, les données ne sont plus jetables. Elles alimentent des parcours, des automatisations, des tableaux de bord, parfois des décisions business. Changer une structure à la légère peut casser des usages ou créer de la dette. Le modèle n’a pas besoin d’être parfait, mais il doit être assez stable. - Quel niveau d’authentification faut il avant de lancer ?
Il faut au minimum des comptes individuels, des sessions gérées proprement, une gestion correcte des mots de passe et des vérifications de base. Un login partagé ou des comptes de test ne suffisent pas dès qu’il y a de vrais utilisateurs. La sécurité peut rester simple, mais elle ne doit pas être improvisée.
A propos de l’auteur
Je suis Franck Scandolera, expert et formateur en tracking avancé server-side, Analytics Engineering, automatisation no-code et low-code avec n8n, intégration de l’IA en entreprise et SEO/GEO. J’accompagne des équipes qui veulent passer du prototype sympa au système fiable, mesurable et exploitable. J’ai travaillé avec des clients comme Logis Hôtel, Yelloh Village, BazarChic, la Fédération Française de Football ou Texdecor.
Je dirige l’agence webAnalyste et l’organisme Formations Analytics. Si vous voulez cadrer, automatiser ou fiabiliser vos applications business, contactez-moi.
⭐ Analytics engineer, Data Analyst et Automatisation IA indépendant ⭐
- Ref clients : Logis Hôtel, Yelloh Village, BazarChic, Fédération Football Français, Texdecor…
Mon terrain de jeu :
- Data Analyst & Analytics engineering : tracking avancé (GTM server, e-commerce, CAPI, RGPD), entrepôt de données (BigQuery, Snowflake, PostgreSQL, ClickHouse), modèles (Airflow, dbt, Dataform), dashboards décisionnels (Looker, Power BI, Metabase, SQL, Python).
- Automatisation IA des taches Data, Marketing, RH, compta etc : conception de workflows intelligents robustes (n8n, App Script, scraping) connectés aux API de vos outils et LLM (OpenAI, Mistral, Claude…).
- Engineering IA pour créer des applications et agent IA sur mesure : intégration de LLM (OpenAI, Mistral…), RAG, assistants métier, génération de documents complexes, APIs, backends Node.js/Python.






