Sécurité d’une application web : la checklist minimale (OWASP)
Sécuriser une application web : l’OWASP Top 10 2025 expliqué simplement, puis la checklist minimale (accès, mots de passe, en-têtes, sauvegardes, RGPD).
9 min de lectureLire le guideCréer un SaaS étape par étape : problème, périmètre de la V1, parcours, choix techniques, sécurité, paiement et lancement, avec l’exemple réel de Docalio.

Créer un SaaS commence rarement par le code. Les projets qui s’enlisent ont souvent démarré par une liste de fonctions ou par le choix d’une technologie, avant d’avoir décidé pour qui, et pour quelle tâche précise, le produit existe. Résultat : une première version qui grossit, recule, et sort sans savoir ce qu’elle doit prouver.
La méthode qui suit tient en 7 étapes, de l’idée aux premiers utilisateurs. Je l’illustre avec Docalio, le portail client B2B que j’ai conçu pour demander des pièces et faire valider des documents. Le produit est en phase de lancement : je parle ici des décisions prises, pas de résultats chiffrés.
Le terme a été popularisé par Eric Ries, qui définit le minimum viable product comme « la version d’un nouveau produit qui permet à une équipe de recueillir le maximum d’apprentissage validé sur ses clients avec le moins d’effort » (traduction). Autrement dit, un MVP sert à apprendre, pas à impressionner.
Trois confusions à éviter :
Pour un SaaS B2B, j’ajoute une règle : le minimum ne s’applique jamais à la sécurité. Dès que des clients confient leurs données, la séparation entre comptes doit être parfaite dès le premier jour.
Écrivez le problème en une phrase, sur ce modèle : « [qui] perd [quoi] quand [situation] ». Si la phrase demande trois virgules et deux « et », le périmètre est déjà trop large.
Pour Docalio, le constat de départ est simple : cabinets comptables, juridiques, studios passent du temps à réclamer des pièces à leurs clients. Les documents arrivent par e-mail, en pièce jointe, dans le désordre, et l’on ne sait plus ce qui manque. J’ai choisi de recentrer le produit sur cette collecte de pièces plutôt que sur le partage de fichiers en général : un besoin précis et fréquent parle mieux qu’un espace de stockage de plus, et le partage devient un argument secondaire.
Posez aussi la question que l’on oublie souvent en B2B : celui qui paie est-il celui qui utilise ? Sur Docalio, il y a deux utilisateurs. Le professionnel crée les demandes et suit les dossiers ; son client dépose ou valide des documents. Le premier achète, mais c’est la facilité du second à répondre qui décide si le produit tient sa promesse.
C’est l’étape la plus difficile, et la plus rentable. Chaque fonction ajoutée coûte deux fois : une fois pour la construire, puis en continu pour la tester, la maintenir et la sécuriser. La règle que j’applique : une fonction entre dans la V1 seulement si, sans elle, le parcours principal ne peut pas aller au bout.
Exemple type, pour un SaaS B2B :
| Entre dans la V1 | Attend la suite |
|---|---|
| Connexion par e-mail | Connexion avec Google ou Microsoft |
| Deux rôles : administrateur et membre | Rôles personnalisables |
| Le parcours principal, de bout en bout | Les parcours secondaires |
| Un paiement par carte | Coupons, plusieurs devises, facturation sur devis |
| Un export CSV | Les intégrations avec les logiciels métier |
| Une interface web adaptée au mobile | Une application mobile |
Gardez précieusement la colonne de droite : c’est votre feuille de route. Elle rassure les premiers clients (« c’est prévu ») sans retarder le lancement. Si vous travaillez avec un prestataire, elle a sa place dans le cahier des charges.
Le parcours principal va du premier contact jusqu’au moment où l’utilisateur obtient ce qu’il est venu chercher. Écrivez-le comme une liste d’écrans numérotés, avec pour chacun une seule action attendue. Puis comptez : chaque écran, chaque champ, chaque e-mail de confirmation est une occasion d’abandon.
Sur Docalio, la décision structurante a porté sur le client final : il ouvre son portail par un lien sécurisé, sans inscription. Il consulte, dépose ou approuve un document sans mot de passe à créer ni compte à oublier. Ce choix simplifie l’usage, mais déplace la difficulté vers la sécurité : un lien qui donne accès à des documents doit être impossible à deviner et limité dans le temps. C’est l’objet de l’étape 5.
Avant de coder, testez ce parcours sur des maquettes cliquables avec quelques futurs utilisateurs. Vous ne cherchez pas leur avis sur les couleurs : vous regardez où ils hésitent.
Un MVP n’est pas le moment d’expérimenter. Choisissez des outils documentés, répandus, et qui vous évitent d’administrer des serveurs. Voici ce que je pratique sur mes deux produits :
Trois critères comptent plus que la mode. La réversibilité : PostgreSQL est un standard, vos données s’exportent si vous changez d’outil. L’emplacement des données : celles de Docalio sont hébergées en Europe, un argument concret pour des clients qui confient des documents sensibles. Des coûts qui suivent l’usage, pour ne pas payer une infrastructure dimensionnée pour mille clients quand vous en avez trois.
Un SaaS B2B est dit multi-locataire : plusieurs organisations partagent la même application et la même base, et chacune ne doit voir que ses propres données. C’est là que se joue le premier risque de l’OWASP Top 10:2025, le contrôle d’accès défaillant : un utilisateur change un identifiant dans une adresse et tombe sur le dossier d’un autre client.
Sur Docalio, trois principes ont été posés dès la conception :
Quel que soit l’outil, ces règles se vérifient côté serveur, jamais seulement dans l’interface. Si vous partez sur Supabase, par exemple, sa documentation demande d’activer la sécurité au niveau des lignes (RLS) sur chaque table d’un schéma exposé : une fois activée, aucune donnée n’est accessible par l’API avec la clé publique tant qu’une règle ne l’autorise pas. La clé secrète, qui contourne ces règles, ne doit jamais se retrouver dans le navigateur. Pour les fichiers, un compartiment privé n’a pas d’adresse publique, et l’on génère des liens signés à durée limitée.
Le RGPD entre en jeu au même moment. Son article 25 impose la protection des données dès la conception et par défaut, et la CNIL publie un guide RGPD du développeur très concret. Si votre SaaS traite les données des clients de vos clients, vous êtes en général leur sous-traitant au sens du RGPD, avec un contrat à prévoir. Le détail des contrôles à mettre en place est dans la checklist de sécurité d’une application web.
Le paiement est le dernier endroit où innover. Avec Stripe, la page de paiement Checkout gère les paiements ponctuels comme les abonnements, et le portail client permet à vos abonnés de changer de moyen de paiement, de résilier ou de télécharger leurs factures, sans que vous développiez ces écrans.
Le point technique à soigner, ce sont les webhooks : c’est par eux que Stripe prévient votre application qu’un paiement a abouti. La documentation fixe trois règles :
Sur Reviu, j’ai fait de Stripe la source de vérité des ventes : la provenance de la visite est recopiée dans les métadonnées Stripe de la commande, ce qui relie chaque vente à son canal. Testez tout dans un environnement de test (sandbox), avec les cartes de test de Stripe comme 4242 4242 4242 4242 : ces transactions ne déplacent aucun argent.
Faut-il faire payer dès le MVP ? En B2B, je le pense souvent : un paiement, même modeste, est le signal le plus fiable qu’un problème mérite d’être résolu. Un essai gratuit reste une bonne porte d’entrée (Docalio propose un parcours d’essai depuis son site), à condition de définir à l’avance ce qui comptera comme un succès.
La bonne question n’est pas « combien de personnes sont venues ? » mais « combien sont allées au bout du parcours principal, et sont revenues ? ». Choisissez deux ou trois indicateurs d’usage et suivez-les chaque semaine.
Sur Docalio, j’ai fait un choix assumé : aucun outil d’analytics tiers ni traceur publicitaire à ce stade. Pour des documents sensibles, la confiance passe avant la mesure marketing. Les indicateurs utiles viennent de l’application elle-même : pièces demandées, reçues, validées. Sur Reviu, au contraire, la boutique doit savoir quels canaux amènent des ventes : GA4 n’y est chargé qu’après consentement, avec un événement d’achat dédoublonné. J’explique cette mise en place dans le guide GA4 et consentement.
Ensuite, parlez à vos premiers utilisateurs, souvent. Notez chaque demande dans la colonne « attend la suite » de l’étape 2, et ne la faites entrer dans le produit que si elle revient chez plusieurs clients et sert le parcours principal.
Un MVP réussi est d’abord une suite de décisions écrites : un problème en une phrase, une liste de ce qui attend, un parcours principal testé sur maquette, une pile technique sans surprise, des données cloisonnées dès le premier client, un paiement confié à un spécialiste et deux ou trois indicateurs d’usage. Le code vient ensuite, et il avance plus vite parce qu’il sait où il va.
Vous avez une idée de SaaS ou un espace client à créer ? Je vous aide à cadrer la première version puis à la mettre en ligne : voir la création de SaaS et d’application web.
Un prototype sert à montrer ou à tester une idée, souvent sans vraies données ni vrais utilisateurs. Un MVP est un produit en service : de vrais utilisateurs y accomplissent une vraie tâche, ce qui permet de mesurer l’usage et, souvent, la volonté de payer. Le prototype précède généralement le MVP.
Il n’existe pas de prix type : le budget dépend du nombre de parcours et de rôles, du mode de paiement (achat unique ou abonnement), des intégrations et de la sensibilité des données. Il faut y ajouter des coûts récurrents : hébergement, base de données, envoi d’e-mails, frais de paiement. Réduire le périmètre de la première version reste le levier le plus efficace sur le budget.
Pour tester une idée, oui : les outils no-code permettent de monter un prototype ou un outil interne simple. Pour un produit qui héberge les données de plusieurs clients, le contrôle des accès, la sécurité et la réversibilité demandent une vraie maîtrise technique, en interne ou avec un prestataire. L’essentiel est que quelqu’un comprenne ce qui se passe sous le capot.
Une pile éprouvée et bien documentée plutôt qu’une technologie à la mode. Next.js pour l’interface, Supabase (PostgreSQL, authentification, stockage) pour les données et Stripe pour le paiement forment une base solide pour un SaaS B2B. Les critères qui comptent : réversibilité des données, lieu d’hébergement et coûts qui suivent l’usage.
Le plus souvent, oui. Quand votre SaaS traite des données personnelles pour le compte de vos clients, vous êtes leur sous-traitant, et l’article 28 du RGPD impose un contrat qui encadre ce traitement. Le guide du sous-traitant de la CNIL détaille les clauses attendues.
Sécuriser une application web : l’OWASP Top 10 2025 expliqué simplement, puis la checklist minimale (accès, mots de passe, en-têtes, sauvegardes, RGPD).
9 min de lectureLire le guide
Modèle de cahier des charges pour un site internet, commenté rubrique par rubrique : objectifs, pages, contenus, technique, SEO, RGPD et critères de recette.
9 min de lectureLire le guide
Excel structuré, Airtable, Power Apps, Notion ou application sur mesure : six critères et un tableau comparatif pour choisir l’outil métier de votre PME.
9 min de lectureLire le guide