Passer au contenu principal

Étude de cas · Rénovation domiciliaire · Web

Mosokna — Plateforme de cotation de fenêtres Laravel multi-tenant

Publié le · Mis à jour le · Par YuSMP Group Engineering

Comment nous avons livré une plateforme de cotation de fenêtres en production — un seul moteur de tarification Laravel, un seul configurateur React, un seul CRM, alimentant trois sites de marque distincts — qui permet aux clients d'obtenir un devis précis au millimètre en quelques minutes et offre à l'équipe commerciale une boîte de réception unifiée des leads, avec une posture prête à l'audit pour les États-Unis et l'UE.

SecteurRénovation domiciliaire · Web
Année du projet2023
EngagementPrix fixe + support
Mosokna — configurateur de fenêtres Laravel + React avec recherche par adresse, configurations multi-vitrage et panier d'achat

Le brief — trois sites de marque, trois calculateurs, une consolidation

Le fabricant Mosokna est arrivé avec trois sites de marque, trois calculateurs de devis indépendants et trois ensembles différents d'anomalies de tarification accumulées. La même fenêtre standard était proposée à trois prix différents selon le site de marque sur lequel le client atterrissait, et l'équipe commerciale ne disposait d'aucune boîte de réception unifiée pour les leads provenant des trois vitrines. Le cahier des charges était sans ambiguïté : consolider tous les calculateurs en un seul moteur, offrir aux clients aux États-Unis et dans l'Union européenne un devis précis au millimètre avec une saisie automatique des dimensions par adresse, et connecter l'entonnoir à un vrai CRM. Nous avons audité chaque calculateur hérité malgré une documentation incomplète, conçu un moteur de tarification Laravel qui centralise toutes les règles métier, développé un configurateur React qui pilote ce moteur, et mis en place un module CRM à ses côtés que l'équipe commerciale utilise au quotidien. Une architecture multi-tenant signifie qu'un seul déploiement alimente les trois sites de marque avec des layouts par marque, des adaptateurs de tarification par région et une piste d'audit partagée. Le produit en production est disponible sur mosokna.ru pour les audiences de rénovation domiciliaire aux États-Unis et dans l'UE.

Points clés du projet

Moteur de tarification Laravel — une source de vérité unique Machine à états du configurateur React Détection auto des dimensions par adresse Multi-tenant sur 3 sites de marque Configurations simple, double, triple vitrage Configurateur porte-balcon CRM avec scoring des leads Posture prête pour l'audit · US & UE

En chiffres

Un aperçu de ce que la consolidation Mosokna a permis de réaliser sur le moteur de tarification, le configurateur, le CRM et trois sites de marque au cours de son premier cycle de production.

3sites de marque servis par un seul moteur — layouts par marque et adaptateurs de tarification par région
1moteur de tarification — toutes les règles métier dans un seul service Laravel pour l'ensemble de la surface US & UE
0dérive de calculateur héritage — les trois calculateurs sont entièrement retirés, sans rustines provisoires
1mmprécision de devis — saisie au millimètre avec validation côté serveur
3configurations de vitrage — simple, double et triple vitrage plus sous-types porte-balcon
16–22 wkfenêtre de livraison typique pour une plateforme de cotation multi-tenant comparable avec CRM
Mosokna lead funnel — Laravel pricing engine consolidating three brand sites into one CRM inbox

Pourquoi un moteur Laravel multi-tenant plutôt que des plugins WordPress ou des configurateurs SaaS

La décision architecturale a dominé tous les autres leviers de la reconstruction. Nous avons choisi un moteur Laravel multi-tenant plutôt que des plugins WordPress de calculateur et un configurateur SaaS standard, car les compromis correspondaient à un fabricant exploitant trois sites de marque qui partagent la physique des produits mais pas l'identité de marque. Les plugins WordPress sont rapides à déployer et constituent précisément la raison pour laquelle Mosokna avait des problèmes : chaque site de marque disposait de sa propre copie de plugin, de son propre historique de bugs et de ses propres modifications de règles tarifaires que personne ne pouvait réconcilier. Un configurateur SaaS résout le problème du moteur de tarification, mais l'échange contre des contraintes de templates vendeur, le verrouillage des données chez le vendeur et l'impossibilité de lier un layout de marque au moteur sans contournements iframe.

Le multi-tenant Laravel renverse les deux compromis. Un seul service centralise toutes les règles métier — nombre de vitres, familles de profils, options matérielles, majorations régionales — et les layouts par marque lisent depuis le même moteur via une API REST propre. La machine à états du configurateur réside dans Laravel et le frontend est un client React + Redux Toolkit léger qui rend ce que le moteur autorise, de sorte qu'un changement de tarification est déployé simultanément sur les trois sites de marque sans copie par site. Un futur quatrième site de marque est une ligne de configuration, pas un projet d'ingénierie.

Laravel multi-tenant vs WordPress + plugins vs configurateur SaaS — aperçu
Dimension Laravel multi-tenant (Mosokna) WordPress + plugins Configurateur SaaS
Isolation de la logique de configurationUn moteur, un ensemble de règles, adaptateurs par marqueCopie de plugin par site — dérive immédiatementPropriétaire vendeur — schéma fixe
Coût de reconstruction du moteur de tarificationModifier un service, livrer sur les trois sitesModifier trois plugins, espérer la paritéTicket vendeur — attendre la feuille de route
Couplage formulaire lead au CRMMême backend — écriture directe dans le CRMPlugin formulaire + plugin bridge + job syncWebhook vers CRM externe uniquement
Adéquation tarification régionale (US & UE)Adaptateur par région contre un seul moteurPlugin par région — dérive de schémaVerrouillé par région ou frais vendeur
Layout personnalisé par marqueCouche React indépendante par marqueTemplate de thème par marqueContraintes de template vendeur
Piste d'audit sur les sites de marqueUn journal d'audit — au niveau du moteurTrois journaux — réconciliation manuelleJournal vendeur — export limité
Verrouillage vendeur / dépendancesFramework ouvert — portableÉcosystème plugins — modéréVerrouillage vendeur fort

References: Laravel framework documentation, React documentation, OpenStreetMap Nominatim geocoding.

Mosokna conversion flow — React configurator with address lookup, pane selection, profile picker, and millimeter input

Build configurateur — React, Redux Toolkit et une machine à états

Le configurateur est développé en React avec Redux Toolkit pilotant une machine à états qui reflète exactement le moteur Laravel. Le client saisit une adresse, une étape de géocodage OpenStreetMap Nominatim la résout en un bâtiment, et une recherche de typologie dans les séries du bâtiment affiche les dimensions de fenêtres typiques pour cette unité. Chaque transition — adresse résolue, dimensions confirmées, nombre de vitres choisi, profil sélectionné, options matérielles ajoutées — est un état protégé dans la machine, de sorte que le moteur ne peut jamais recevoir une configuration malformée. La saisie au millimètre est d'abord validée côté client pour la réactivité, puis côté serveur pour l'autorité avant que le prix se fixe.

La même machine à états pilote chaque site de marque. Les thèmes React par marque fournissent la typographie, la palette de couleurs et la densité de layout que chaque marque exige, mais le graphe d'états et l'aller-retour avec le moteur sont identiques. Le résultat est un configurateur qu'un client aux États-Unis ou dans l'Union européenne peut compléter en quelques minutes, avec un prix ferme plutôt qu'indicatif, et un panier finalisé qui atterrit directement dans le CRM comme lead qualifié. La surface web de bout en bout est fournie dans le cadre de notre pratique de développement d'applications web.

Mosokna estimate flow — Laravel pricing engine, balcony-door configurator, per-region surcharge adapters

Moteur de tarification — Laravel, adaptateurs régionaux et le cas porte-balcon

Le moteur de tarification est développé en Laravel avec des services PHP centralisant toutes les règles métier accumulées sur deux décennies de fabrication de fenêtres. Les configurations simple, double et triple vitrage ont chacune leur propre physique et leurs composants de prix ; les sous-types de porte-balcon héritent du même moteur mais ajoutent des types d'ouverture supplémentaires, des ensembles de ferrures et des majorations d'installation. Les adaptateurs régionaux superposent des majorations par région, la devise et les multiplicateurs de main-d'œuvre afin que le même moteur calcule honnêtement le prix de la même configuration dans les marchés américains et européens sans bifurquer l'ensemble de règles.

Chaque anomalie des trois calculateurs retirés a été triée par rapport au nouveau moteur, et un harnais de parité a comparé plus de 4 000 devis historiques aux nouveaux prix ligne par ligne. Lorsque le résultat hérité était simplement erroné, le nouveau moteur fournit la bonne réponse ; lorsque le résultat hérité était une concession délibérée, le moteur la maintient avec un commentaire de règle métier explicite pour que le prochain ingénieur puisse la retrouver. Le moteur se trouve derrière la même API REST qu'utilise le configurateur, et le CRM y lit directement — aucune copie séparée de « capture du prix » ne dérive dans l'enregistrement du lead. La couche de tarification est fournie dans le cadre de notre pratique de développement logiciel sur mesure.

Mosokna ops dashboard — CRM inbox, lead scoring, multi-tenant data isolation, audit-ready posture

CRM, isolation des données multi-tenant et posture de confidentialité

Le CRM est intégré à la même application Laravel que le moteur de tarification, de sorte qu'un lead atterrit dans la boîte de réception dès l'instant où le client finalise un panier — pas de ponts webhook, pas de tâches de synchronisation, pas de décalages de cohérence éventuelle. Les responsables commerciaux voient les leads regroupés par site de marque, scorés par complétude du configurateur et résolution de l'adresse, et acheminés automatiquement vers la bonne équipe de consultation. L'isolation des données multi-tenant fonctionne au niveau des lignes de la base de données : chaque enregistrement porte une clé de tenant, chaque requête l'applique, et un responsable de la marque A ne peut pas lire un lead de la marque B même avec une URL construite. Le contrôle d'accès basé sur les rôles détermine quel responsable peut lire quel lead, et les journaux d'audit enregistrent chaque lecture et écriture pour les revues de conformité.

La confidentialité des clients est intégrée à la plateforme dès le premier jour. Le flux de capture des leads est sensible à la région : les utilisateurs dans l'Union européenne reçoivent un écran de consentement granulaire RGPD avec des bascules distinctes pour le suivi marketing et les analyses de produit ; les utilisateurs en Californie reçoivent la divulgation CCPA / CPRA « Ne pas vendre ou partager mes informations personnelles » dans le même flux. Les enregistrements CRM sont limités en termes de conservation, les demandes de suppression constituent un seul travail backend sur les trois sites de marque, et le journal d'audit conserve la trace des preuves pour l'environnement réglementaire américain et européen.

Posture de conformité : Conforme RGPD · prêt ISO 27001 · SOC 2 Type II en cours · compatible HIPAA · CCPA reconnu.

Méthodologie de livraison

Un build en cinq phases qui a conduit Mosokna de trois calculateurs de marque dérivants à une plateforme multi-tenant consolidée avec CRM.

Phase 1

Audit héritage & extraction des règles

Trois calculateurs de sites de marque audités ligne par ligne, règles métier extraites en un ensemble canonique, historique d'anomalies trié, posture RGPD + CCPA cartographiée, modèle de données multi-tenant conçu.

Phase 2

Moteur & configurateur

Squelette du moteur de tarification Laravel, machine à états du configurateur, contrat API REST, client React + Redux Toolkit, détection automatique des dimensions par adresse via OpenStreetMap.

Phase 3

Layouts de marque & CRM

Thèmes React par marque lisant depuis un seul moteur, sous-type de configurateur porte-balcon, module CRM, scoring des leads, contrôle d'accès basé sur les rôles, acheminement vers les consultants.

Phase 4

Durcissement prêt pour l'audit

Isolation des données multi-tenant au niveau des lignes, politiques de conservation, flux de consentement sensibles à la région, harnais de parité comparant plus de 4 000 devis hérités au nouveau moteur, mise en place d'évaluation par des tiers.

Phase 5

Lancement & télémétrie

Bascule sur les trois sites de marque, calculateurs hérités retirés, intégration de l'équipe commerciale au CRM, télémétrie de l'entonnoir de conversion, boucle de correction du premier cycle sur les surfaces américaines et européennes.

CRM équipe commerciale, scoring des leads et fondation pour les canaux partenaires

Le CRM de Mosokna a été conçu pour que l'équipe commerciale travaille avec une seule boîte de réception, et non trois. Chaque lead porte le site de marque source, le score de complétude du configurateur, l'état de résolution de l'adresse et l'historique complet de configuration que le client a construit — y compris les brouillons abandonnés que la machine à états du configurateur enregistre à chaque transition. Les responsables trient les leads par score, les leads chauds sont automatiquement acheminés vers des appels de consultation téléphonique, et les leads tièdes entrent dans un cadence de suivi avec des modèles pré-remplis avec la configuration que le client a réellement construite. Le modèle de scoring des leads est un objet de configuration que le responsable peut ajuster sans toucher au code, ce qui permet à l'entreprise de définir ce que signifie « qualifié » au fur et à mesure que l'entonnoir arrive à maturité. Un canal partenaire — les revendeurs et installateurs qui souhaitent intégrer le configurateur sur leur propre site sous leur propre marque — est une ligne de configuration multi-tenant plus un adaptateur de tarification par partenaire, pas un build distinct. L'ensemble du sous-système est conçu de sorte qu'un futur partenaire de financement, un niveau de tarification contractuelle B2B pour les États-Unis et l'Union européenne, ou un transfert vers de grandes chaînes de rénovation domiciliaire constitue un changement de configuration du moteur et du service d'habilitation, non une mise en production de code.

Lancement aux États-Unis et dans l'Union européenne

Mosokna a été lancé sur les trois sites de marque avec des espaces de vente actifs aux États-Unis et dans l'Union européenne. La version en langue anglaise dessert les clients en Californie, New York, Texas, Floride et Washington aux États-Unis, ainsi que les clients aux Pays-Bas, en Allemagne, en France, en Irlande et en Suède dans l'UE, sans base de code distincte par région. Les adaptateurs de tarification par région gèrent honnêtement la devise, les multiplicateurs de main-d'œuvre et la fiscalité, et le configurateur affiche une divulgation régionale sous chaque devis afin que le client voit ce qui est inclus et ce qui ne l'est pas avant que le prix se fixe. Les flux de consentement sont sensibles à la région au niveau du client : les utilisateurs dans l'UE et l'EEE reçoivent un écran de consentement granulaire de style RGPD avec des bascules distinctes pour le suivi marketing ; les utilisateurs en Californie reçoivent une divulgation de style CCPA « Ne pas vendre ou partager mes informations personnelles » dans le même flux. Les pratiques de traitement des données sont alignées sur le RGPD pour les utilisateurs européens et sur l'ensemble de lois américaines sur la confidentialité — CCPA / CPRA (Californie), VCDPA (Virginie), CPA (Colorado), CTDPA (Connecticut), UCPA (Utah), TDPSA (Texas) et Oregon CPA.

Le configurateur et le CRM ont été déployés en parallèle dans les régions de revendeurs américains et européens — Pays-Bas, Allemagne, France, Suède et Irlande pour la couverture UE ; territoires de revendeurs côte Est et côte Ouest des États-Unis pour l'Amérique du Nord — les leads de chaque région étant approvisionnés de façon identique contre la même base de données multi-tenant. Le service de correspondance qui sélectionne la bonne équipe de consultation par lead exécute des workers sans état qui peuvent être attachés indépendamment aux régions UE ou US pour de futurs engagements de résidence des données. L'équipe d'ingénierie à l'origine du build travaille sur le fuseau CET avec un chevauchement côte Est US (9h–13h ET) pour les stand-ups de l'équipe commerciale, la coordination côté fabricant et la gestion des incidents — le fuseau horaire qui permet à une équipe commerciale américaine et une équipe d'ingénierie européenne de partager quatre heures de chevauchement en direct chaque jour.

Stack technique et feuille de route

PHP Laravel React Redux Toolkit PostgreSQL Redis REST API Multi-tenant architecture OpenStreetMap Nominatim Pricing engine DSL Configurator state machine CRM module Lead scoring Webhook delivery Docker Nginx CDN Edge caching Audit log store

La feuille de route active de développement logiciel sur mesure pour Mosokna comprend une intégration de partenaire de financement qui affiche des devis d'acomptes dans le configurateur, un niveau de tarification contractuelle B2B avec gestion d'équipe, un portail de transfert aux installateurs pour les revendeurs partenaires, et un widget configurateur intégrable pour les sites de rénovation domiciliaire tiers. Une extension toiture et vitrage réutilisant le même moteur multi-tenant est planifiée, et le sous-système d'habilitation est déjà structuré pour l'attribution multi-sièges. Les plans d'infrastructure incluent une optimisation supplémentaire des performances du moteur de tarification, un harnais de régression interne contre l'ensemble de tests de parité et une future évaluation de conformité indépendante intégrée à la feuille de route cloud & DevOps.

Construire une plateforme de cotation similaire — parlons-en

Si vous planifiez une plateforme de cotation, un configurateur multi-tenant ou toute consolidation pour des audiences aux États-Unis et dans l'UE, nous avons livré ce stack de bout en bout et pouvons réduire sensiblement le délai de développement. Le produit en production est disponible sur mosokna.ru, et l'équipe d'ingénierie derrière lui fait partie de YuSMP Group. Nous travaillons au prix fixe pour les MVP bien définis et avec des équipes de développement dédiées pour la livraison continue, avec une journée de travail CET et une fenêtre garantie de chevauchement côte Est US (9h–13h ET) pour les stand-ups, les démonstrations et la gestion des incidents.

Réserver un appel de découverte Voir les services de développement web

Questions fréquentes

Combien coûte la création d'une plateforme de cotation de fenêtres avec configurateur et CRM ?

Un MVP de cotation de fenêtres ciblé avec un moteur de tarification Laravel, un configurateur React, la recherche par adresse, un panier d'achat et un CRM de base pour la gestion des leads coûte généralement entre 120k et 240k USD. L'ajout de sites de marque multi-tenant partageant un seul moteur, d'un configurateur porte-balcon, d'adaptateurs de tarification régionaux, de bibliothèques de profils et d'options, et d'intégrations avec le système comptable du revendeur porte une plateforme complète à 260k–520k USD. Les principaux facteurs de coût sont la consolidation de la logique du moteur de tarification, la machine à états du configurateur et la couche d'isolation des données multi-tenant.

Pourquoi utiliser un moteur Laravel multi-tenant plutôt que des plugins WordPress ou un configurateur SaaS ?

Les plugins de calculateur WordPress sont rapides à déployer, mais verrouillent chaque site de marque dans sa propre copie de la logique de tarification, ce qui est exactement le problème qu'avait Mosokna avant la reconstruction — trois sites, trois calculateurs divergents, trois ensembles d'anomalies accumulées. Un configurateur SaaS résout le problème du moteur, mais cède chaque choix de layout, de CRM et de contenu aux templates du vendeur. Le multi-tenant Laravel offre à l'entreprise un seul moteur, un seul CRM et des layouts par marque avec des adaptateurs de tarification régionaux qui partagent la même piste d'audit.

Comment fonctionne la détection automatique des dimensions par adresse ?

Le client saisit une adresse ; une étape de géocodage OpenStreetMap la résout en un bâtiment, et une recherche de typologie dans les séries du bâtiment affiche les dimensions de fenêtres typiques pour cette unité. Le client confirme ou ajuste tout de même chaque dimension au millimètre avant que le prix se fixe, mais la détection automatique réduit considérablement les frictions de mesure pour les séries de bâtiments les plus courantes. Lorsqu'aucune correspondance de typologie n'existe, le client saisit les dimensions manuellement avec la même précision et validation.

À quoi ressemble la conformité RGPD et CCPA pour une plateforme de cotation avec CRM ?

Une plateforme de cotation avec CRM collecte de véritables données personnelles — noms, numéros de téléphone, adresses, historique de configuration — ce qui en fait des obligations de premier ordre. Le flux de capture des leads expose un écran de consentement granulaire pour les utilisateurs dans l'Union européenne satisfaisant le RGPD, et une divulgation CCPA / CPRA pour les utilisateurs en Californie dans le même flux. Les enregistrements CRM sont limités en termes de conservation, le contrôle d'accès basé sur les rôles détermine quel responsable peut lire quel lead, et une demande de suppression est un seul travail backend sur l'ensemble du plan de données multi-tenant.

Combien de temps faut-il pour livrer une plateforme de cotation multi-tenant avec CRM ?

Un MVP ciblé avec un moteur de tarification Laravel, un configurateur React, la recherche par adresse, un panier d'achat, un module CRM et un seul site de marque prend généralement 16 à 22 semaines. L'ajout d'un deuxième et d'un troisième site de marque partageant le même moteur, d'adaptateurs de tarification régionaux, d'un configurateur porte-balcon et du routage vers les consultants ajoute 6 à 10 semaines. Le passage de renforcement prêt à l'audit — isolation des données multi-tenant, contrôle d'accès basé sur les rôles, politiques de conservation et flux de consentement RGPD + CCPA — est fréquemment sous-estimé et devrait être budgétisé à 3 à 5 semaines.

Partager ce cas

LinkedIn X

Planifier un build similaire

Réserver un appel de découverte

Demander une proposition

Partagez quelques détails et un consultant senior vous répondra dans un jour ouvrable.

Vous préférez parler directement ? ☎ Appeler le +374 44 871 811 ✉ sales@yusmpgroup.com