Loading...
Cas d’usage · E-commerce

Tenir le Black Fridaysans payer une taxe sur chaque vente.

PrestaShop, WooCommerce ou Magento sur VPS européen, derrière un Load Balancer, avec un CDN global devant — scale horizontal pour le pic Black Friday, puis retour à la normale. Pas de commission sur ton CA, pas de lock-in payment provider, données clients en UE.

§ 01·Le stack · concept

Anatomie d’une boutique en ligne

Pour toi si…

Chaque % de CA compte.

Tu vends des produits physiques ou numériques en ligne et tu veux un stack que tu comprends et possèdes — PrestaShop, WooCommerce ou Magento sur une vraie machine Linux, avec le payment provider de ton choix, le data warehouse de ton choix, et zéro commission prélevée sur chaque vente. Coût fixe, upside GMV à toi.

Les 6 couches
Edge · CDN
Assets statiques cachés mondialement ; pages checkout restent dynamiques.
Load balancer
Distribue le trafic sur N nœuds web ; sticky sessions pour le panier.
Web + app server
Nginx + PHP-FPM (Magento/Presta/Woo) ou Node.js (Medusa/Saleor).
Base · MySQL/Postgres
Master + replica lecture dès VPS-BUSINESS. Dumps quotidiens.
Cache · Redis
Sessions, cache full-page, catalogue produits — lectures sub-ms.
Queue · Redis/RabbitMQ
Email commande async, sync ERP, resize images — checkout reste fluide.
À ne pas rater
PCI-DSS scope
Tokeniser les cartes via iframe Stripe/Mollie/PayPlug — tes serveurs ne touchent jamais un PAN.
Panier persistant
Sessions stockées dans Redis, répliquées — zéro panier perdu au redémarrage.
Cohérence stock
Écritures DB centralisées pour les stocks, avec verrouillage par ligne au checkout.
Multi-devise / TVA
TVA européenne auto par IP, switch devise — intégré à Magento et PrestaShop.
Flux checkout · panier → confirmation
le PSP prend le plus de temps
+ 0 msCDN edge+ 8 msload balancer+ 22 msweb · PHP-FPM+ 38 msDB · MySQL+ 290 msStripe / Mollie

Une requête checkout parcourt tout le chemin. L’essentiel de la latence vient du PSP — ton boulot est de garder le reste sous 100 ms pour que le total soit perçu comme instantané.

§ 02·Architecture · concept

Du VPS seul au cluster HA

Pour toi si…

Tu ne peux pas te permettre 5 min de panne.

Un VPS suffit pour une petite boutique. Le jour où une erreur PHP ou un pic Black Friday fait tomber la machine, tu perds le panier de chaque visiteur actif. La solution est architecturale : deux nœuds web derrière un Load Balancer avec health checks, et la DB sur un VPS séparé pour qu’elle ne se batte pas pour le CPU.

4 paliers
1 · VPS unique
VPS-PERFORMANCE — web + DB sur la même VM. Jusqu’à ~10 k visites/jour, OK si downtime acceptable.
2 · DB séparée
Déplacer MySQL sur son propre VPS. Le CPU du nœud web ne se bat plus avec les requêtes DB.
3 · LB + 2 nœuds web
Deux VPS web identiques derrière LB-BUSINESS — sticky sessions panier, failover auto.
4 · Replica lecture + autoscale
Replica DB lecture pour les requêtes catalogue ; 3e nœud web spawn uniquement aux heures de pic.
À surveiller
TTFB checkout
Ta métrique #1 — chaque 100 ms au-dessus de 600 ms coûte de la conversion mesurable.
Abandons panier
Les pics corrèlent avec des incidents infra — erreurs backend, queries lentes, panne PSP.
Slow query log DB
Magento et Presta livrent des requêtes lourdes — les indexer avant que ça devienne une bombe Black Friday.
Statut PSP
Stripe/Mollie ont des pannes — afficher une bannière, basculer sur un PSP de secours si tu en as.
Cluster HA · 2 nœuds web + DB master/replica
Bundle Growth
edgebalanceappdataCDN-PRO · global edgeLB-BUSINESSVPS-BUSINESSweb · 1VPS-BUSINESSweb · 2VPS-BUSINESSDB · masterVPS-PERFORMANCEDB · replicaasync repl

Un nœud web qui tombe : le LB cesse d’y router le trafic — les visiteurs continuent d’acheter. Un master DB qui tombe : promotion manuelle de la replica (~2 min) — tu ne perds que les nouvelles commandes pendant la fenêtre, pas l’historique.

§ 02·Architecture · config

Config du load balancer · ce qui compte

lb.yaml · ce dont ta boutique a vraiment besoin
yaml
# LB-BUSINESS · the parts that matter for an online shop
listener:
port: 443
protocol: https
certificate: managed-letsencrypt
backend:
algorithm: least_connections # better than round-robin under uneven load
sticky_session:
cookie: PHPSESSID # so the cart sticks to the same web node
duration: 1h
health_check:
path: /health.php
interval: 5s
healthy_threshold: 2
unhealthy_threshold: 3
timeout: 2s
targets:
- vps-business-1.shop.internal:443
- vps-business-2.shop.internal:443
# add a 3rd target only during the Black Friday window
Checklist HA
avant le passage multi-nœud
  • Sessions dans Redis, pas sur disque local
  • Uploads sur bucket S3-compatible, pas en local
  • Sticky sessions activées sur le LB
  • Endpoint health teste la DB, pas que le web
  • Lag de la replica DB surveillé < 5 s
  • Runbook de promotion replica testé chaque trimestre
  • Purge CDN câblée dans le pipeline de deploy
§ 03·Échelle · concept

Tenir le pic Black Friday

Pour toi si…

Black Friday, c’est un x10, pas un x2.

Un site e-commerce moyen fait ~80 % de son trafic sur 4 heures de pic Black Friday. Ton stack doit absorber un x10 pendant quelques heures, puis revenir au baseline. Deux leviers : cache agressif (Redis + full-page) et un nœud web temporaire pour la journée. Les deux sont réversibles — tu ne paies pas le scale-up le reste de l’année.

Couches de cache
Cache full-page
Cacher la home, les catégories et les pages produit — court-circuite totalement PHP pour le trafic anonyme.
Redis · sessions + cart
Stockage panier + sessions hors DB — lectures sub-ms, sticky sur un nœud via le LB.
CDN · assets statiques
CSS, JS, images et photos produits servis depuis les PoPs — origine à peine touchée pendant les pics.
Queue async
Email commande, push ERP, resize image dans une queue — le checkout répond instantanément.
Leviers Black Friday
Ajouter un 3e nœud web · 24 h
VPS-BUSINESS facturation horaire — provisionner vendredi matin, terminer dimanche soir. ~5 € la journée.
Geler le travail admin
Désactiver updates plugins, édits thèmes, syncs ERP — chaque écriture admin se bat avec les checkouts.
Pré-chauffer le cache
Crawler tes 200 produits top 30 min avant l’ouverture — les premiers visiteurs tapent du cache chaud.
File de retry paiement
Si ton PSP rate-limit, retry async avec backoff exponentiel — ne jamais bloquer l’utilisateur.
Profil Black Friday 24 h · % du pic
+1 nœud web de 09:00 à 22:00
+1 web node2 web nodes baseline00h06h12h18h23h
§ 03·Échelle · mesures

Débit par configuration

Débit · Magento 2, browse catalogue + checkout
p95 soutenu, FPC actif
configreq/sTTFBcommandes/jourlecture
1× VPS-PERFORMANCE (no cache)45 rps480 ms~9 k/daybaseline
1× VPS-PERFORMANCE + Redis + FPC180 rps120 ms~36 k/dayle cache gagne
2× VPS-BUSINESS + LB + CDN620 rps95 ms~120 k/daybundle Growth
3× VPS-ENTERPRISE + LB + CDN-PRO1 850 rps85 ms~360 k/daybundle Scale

Chiffres = estimations de dimensionnement sur Magento 2 stock à 5 k SKUs — ton débit réel dépend des plugins, du thème, de la latence PSP. Toujours faire un load test la semaine avant le pic.

§ 04·Conversion · concept

La performance, c’est du CA

Pour toi si…

Gagner 100 ms = +1 conversion sur 100.

Plusieurs études Google et Akamai placent la sensibilité conversion e-commerce à 0,5 à 1,5 % par 100 ms de TTFB au-dessus de 1 s. Sur 1 M € de CA mensuel, chaque 100 ms gagnés sous 1 s vaut 5 à 15 k € de CA supplémentaire par mois — à zéro coût marketing. La perf n’est pas une métrique vanité, c’est ton 2e canal de growth le moins cher.

Gains gratuits
Optim image · WebP/AVIF
Les photos produits = 70 % du payload. Passer en WebP/AVIF et lazy-load — plus gros gain LCP.
HTTP/3 + Brotli
Transport moderne + meilleure compression. Activé d’office sur les CDNs VMCloud.
Éviter la soupe de tags tiers
Une boutique typique charge 18+ trackers. Audit et purge — le widget chat seul coûte souvent 600 ms LCP.
Rendu côté serveur
PrestaShop/Magento sont SSR par défaut. Headless Next.js : utiliser ISR, pas du CSR pur.
À mesurer
Taux panier → achat
Le ratio unique qui révèle la friction. Baseline industrie : 65–75 %. Sous 60 % = un vrai problème.
LCP / INP / CLS · p75
Google classe les pages sur le p75, pas la médiane. Suivre le p75 mobile spécifiquement.
Taux d’erreur checkout
4xx / 5xx pendant le checkout = commandes perdues, confiance perdue. Page à >0,5 %.
TTFB par région
Sans CDN, tes visiteurs Espagne ou Italie voient 2× le TTFB de Paris.
Funnel · 100 visiteurs → 6 payants
shop moyen · panier→payé 69 %
landing
100.0 %
product page
56.0 %
−44 %
add to cart
18.0 %
−68 %
checkout start
9.0 %
−50 %
paid
6.2 %
−31 %

Les deux plus gros drops sont à « ajouter au panier » (catalogue froid) et « début checkout » (friction formulaire + PSP lent). Les deux sont sensibles à l’infra : cacher le catalogue, garder le TTFB checkout sous 600 ms.

§ 04·Conversion · mesures

TTFB → conversion · étude cohorte

Panier→achat par cohorte TTFB · panier moyen 100 €
illustratif · faire ton propre A/B
TTFB cohortpanier→payéCA / 1 k visiteslecture
< 200 ms74 %€48 kCDN + cache hit
200–500 ms72 %€47 korigine chaud
500 ms–1 s68 %€44 kencore acceptable
1 s–2 s60 %€39 kperte mesurable
> 2 s48 %€31 kfuite de revenu

Chiffres calibrés sur des études publiques (Akamai 2017, Google CWV, Shopify 2023). La tendance est robuste, l’ampleur varie par vertical — ton propre A/B sur cache + CDN doit reproduire la tendance.

§ 05·Coût · concept

Pas de commission sur ton CA

Trois profils CA

Même stack, coût fixe.

Un SaaS comme Shopify Plus facture 2 300 $/mois plus 0,15 % du CA — à 1 M €/mois, ça fait 3 800 €. La même charge sur un bundle VMCloud (3 nœuds web + LB + CDN) reste sous 1 200 €, sans frais sur le CA, sans commission au checkout. Plus tu grandis, plus la commission SaaS s’accumule contre toi.

Formule TCO

TCO = bundle + PSP fees + dev time

Sur VMCloud le bundle est fixe : VPS + Load Balancer + CDN, tout depuis le catalogue Supabase, backups quotidiens inclus. Les frais PSP (Stripe ~1,4 % + 0,25 €, Mollie équivalent) sont incompressibles des deux côtés. Temps dev pour monter Magento ou PrestaShop : un senior le fait en une journée.

Ce que les SaaS cachent
Frais sur le CA
Shopify prend 0,5 % à 2 % par vente sauf si tu utilises Shopify Payments — c’est ça la vraie facture.
Taxes app store
Fidélité, avis, recherche, multilingue — 30 à 80 € par app par mois. Une vraie boutique en utilise 8 à 15.
Coûts thème & dev
Un thème Shopify Plus se reconstruit à partir de 15 k €. Un thème Magento : 5 à 10 k €. À prévoir dans ton TCO.
Lock-in vendor
Shopify exporte commandes + clients ; le code du thème, les data app et hooks GraphQL restent chez eux.
Bundles VMCloud · VPS + LB + CDN, mensuel flat
tarif public · UE
profilcapacitéVPSLBCDN€/mo
Boutique starter~10 k visites/jour1× VPS-PERFORMANCECDN-STARTER67.73
Boutique en croissance~50 k visites/jour · HA2× VPS-BUSINESSLB-BUSINESSCDN-PRO499.98
Boutique scale-up~200 k visits/jour · HA3× VPS-ENTERPRISELB-ENTERPRISECDN-BUSINESS1838.68
SaaS managés · mensuel + frais sur CA
$ / mo · Apr 2026
Shopify · Basic2 % per sale (no Shopify Payments)$ 39
Shopify · Standard1 %$ 105
Shopify · Advanced0.5 %$ 399
Shopify · Plus0.15 % over $800k$ 2 300
BigCommerce · Prono GMV fee$ 399
Adobe Commercelicense + GMV-based$ 1 833

Tarifs publics hors taxes, hors add-ons app store. La colonne "frais sur CA" est ce que la plupart oublient en comparant des prix flat.

Bundle VMCloud vs SaaS managés · par CA
mensuel, hébergement + frais CA
CA / moisVMCloud€/moSaaS le plus proche$/molecture
10 k € CA / moisBoutique starter€68Shopify · Basic$239VMCloud gagne
50 k € CA / moisBoutique starter€68Shopify · Standard$605VMCloud gagne
200 k € CA / moisBoutique en croissance€500Shopify · Advanced$1 399VMCloud gagne
1 M € CA / moisBoutique scale-up€1 839Shopify · Plus$3 800VMCloud gagne

Lecture : une boutique starter est souvent moins chère sur Shopify Basic — moins d’ops, coût comparable. L’équation bascule vers 100 k € de CA/mois, et à 1 M € la seule commission SaaS dépasse le bundle VMCloud entier.

§ 06·Questions

De vraies questions de vraies boutiques

Compilé depuis les appels d’onboarding avec marchands et agences qui quittent les plateformes SaaS.

PrestaShop, WooCommerce ou Magento — lequel ?

WooCommerce si l’équipe vit déjà dans WordPress et que la boutique fait < 1 k SKUs. PrestaShop pour les boutiques européennes avec TVA stricte et multilingue. Magento (Adobe Commerce open-source) pour des catalogues > 5 k SKUs et la complexité B2B des grilles de prix. Les trois tournent sur le même bundle VPS-BUSINESS / LB / CDN.

Stripe, Mollie, PayPlug — ça change quoi ?

Pour des acheteurs FR/UE, Mollie et PayPlug acceptent les Cartes Bancaires (le réseau local) sans surcoût — Stripe ne l’a fait que récemment. Le gain de conversion au checkout est réel (+3 à +6 % sur le trafic français). Les trois s’intègrent proprement à PrestaShop, WooCommerce et Magento via les modules officiels.

Comment préparer Black Friday ?

Trois semaines avant : load test à 5× le pic actuel avec k6 ou Locust ; identifier requêtes lentes et indexes manquants. Une semaine avant : provisionner un 3e nœud web (facturation horaire, ~5 €/jour), pré-chauffer le cache avec un crawler. Le jour J : geler le travail admin, surveiller TTFB et statut PSP. La semaine d’après : terminer le nœud supplémentaire.

Êtes-vous PCI-DSS conformes ?

L’infra VMCloud opère sous des contrôles alignés SOC 2 et un alignement ISO 27001. Ta boutique atteint le scope PCI-DSS SAQ-A en tokenisant les cartes via l’iframe du PSP (Stripe Elements, Mollie Components, iframes PayPlug) — tes serveurs ne touchent jamais un PAN. La plupart des intégrations PSP managées sur PrestaShop/WooCommerce/Magento sont dans ce mode par défaut.

Puis-je migrer depuis Shopify ?

Oui. Shopify exporte commandes, clients et catalogue produit en CSV. Cart2Cart, LitExtension et Webkul publient des outils de migration qui mappent directement vers PrestaShop, WooCommerce ou Magento. Compter 2 à 4 semaines pour une boutique non triviale, incluant la reconstruction du thème et la reconnexion PSP. Notre équipe fournit un runbook.

Et le RGPD, la résidence des données clients ?

Tous les VPS, DB et backups sont dans des régions UE. Un DPA signé couvre les obligations RGPD du sous-traitant. Les données transactionnelles client (commandes, adresses, comptes) ne quittent pas l’UE. Le CDN réplique les assets statiques à l’international, mais tu peux tagger les chemins /checkout et /account en origin-only.

Prêt pour le pic ?

PrestaShop, WooCommerce ou Magento sur un bundle VPS européen, derrière un Load Balancer, avec un CDN global devant. Pas de commission sur ton CA, pas de frais par checkout, données clients en UE.