<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>eBusiness360</title>
	<atom:link href="https://www.ebusiness360.fr/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.ebusiness360.fr/</link>
	<description>Agence Magento 2</description>
	<lastBuildDate>Fri, 10 Jul 2026 06:00:00 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.1</generator>

<image>
	<url>https://www.ebusiness360.fr/wp-content/uploads/2026/05/eBusiness360-favicon-512-transparent-150x150.png</url>
	<title>eBusiness360</title>
	<link>https://www.ebusiness360.fr/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>UCP : le nouveau protocole qui va rebattre les cartes du e-commerce mondial</title>
		<link>https://www.ebusiness360.fr/2026/07/10/ucp-universal-commerce-protocol-ecommerce-agentique/</link>
		
		<dc:creator><![CDATA[Maxime]]></dc:creator>
		<pubDate>Fri, 10 Jul 2026 06:00:00 +0000</pubDate>
				<category><![CDATA[Actualités]]></category>
		<guid isPermaLink="false">https://www.ebusiness360.fr/?p=6254</guid>

					<description><![CDATA[<p>UCP (Universal Commerce Protocol) : le standard co-développé par Google et Shopify qui permet à des agents IA de mener des achats complets. Où en est ce protocole six mois après son lancement ?</p>
<p>L’article <a href="https://www.ebusiness360.fr/2026/07/10/ucp-universal-commerce-protocol-ecommerce-agentique/">UCP : le nouveau protocole qui va rebattre les cartes du e-commerce mondial</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></description>
										<content:encoded><![CDATA[

<p class="wp-block-paragraph">Le 11 janvier 2026, lors du salon NRF de New York, Google a présenté un protocole qui pourrait redessiner en profondeur la façon dont on achète en ligne : l&rsquo;Universal Commerce Protocol (UCP). L&rsquo;idée derrière ce standard : permettre à un agent IA — Gemini, un assistant conversationnel, une IA de recherche — de mener une transaction complète (recherche du produit, paiement, suivi de livraison) sans jamais que l&rsquo;internaute quitte la conversation.</p>



<p class="wp-block-paragraph">Ce n&rsquo;est pas un sujet Magento en particulier — c&rsquo;est un changement de fond qui concerne tout le e-commerce, quelle que soit la plateforme. Mais il aura forcément des répercussions sur la façon dont vous devrez structurer vos données produit, quel que soit votre outil. Voici où en est ce protocole aujourd&rsquo;hui, six mois après son lancement.</p>



<h2 class="wp-block-heading">UCP en une phrase</h2>



<p class="wp-block-paragraph">UCP est un standard ouvert, publié en open source, qui définit un langage commun entre les agents IA et les systèmes marchands. Concrètement : le commerçant publie un fichier de capacités (à l&rsquo;adresse <code>/.well-known/ucp</code> de son site), et n&rsquo;importe quel agent compatible peut le lire pour savoir quoi faire — rechercher un produit, ajouter au panier, finaliser un paiement, suivre une commande <em>(source : Google Developers Blog, « Under the Hood: Universal Commerce Protocol », 11 janvier 2026)</em>. Plus besoin de construire une intégration sur mesure pour chaque assistant IA : un seul protocole, potentiellement compatible avec tous.</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<p class="eb-title">Ce qu&rsquo;UCP change concrètement pour un marchand</p>
<div class="eb-grid eb-grid-3">
  <div class="eb-card"><div class="eb-head eb-head-navy">Nouveau canal</div><div class="eb-body">
    <p class="eb-item-desc">Un accès à des utilisateurs à forte intention d&rsquo;achat, directement dans les interfaces conversationnelles de Google</p>
  </div></div>
  <div class="eb-card"><div class="eb-head eb-head-navy">Merchant of Record</div><div class="eb-body">
    <p class="eb-item-desc">Le marchand reste le vendeur officiel — il garde ses données clients, sa relation SAV, sa politique de retours</p>
  </div></div>
  <div class="eb-card" style="border-color:#F26322"><div class="eb-head eb-head-orange">Compatible existant</div><div class="eb-body" style="background:#F26322">
    <p style="font-size:13px;color:rgba(255,255,255,0.95);line-height:1.45">S&rsquo;appuie sur un compte Google Merchant Center déjà configuré — pas besoin de repartir de zéro sur les données produit</p>
  </div></div>
</div>
</figure>



<h2 class="wp-block-heading">Ce qui a changé depuis le lancement — la situation en juillet 2026</h2>



<p class="wp-block-paragraph">UCP n&rsquo;est pas resté figé depuis janvier. Plusieurs évolutions importantes ont eu lieu, et elles changent la lecture qu&rsquo;on pouvait en avoir au lancement.</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<p class="eb-title">Chronologie d&rsquo;UCP depuis son lancement</p>
<div style="background:#fff;border-radius:10px;border:1.5px solid #E5E2DC;padding:14px">
  <div class="eb-step">
    <div class="eb-step-num">1</div>
    <div class="eb-step-body">
      <p class="eb-step-title">11 janvier 2026 — Lancement au NRF</p>
      <p class="eb-step-desc">Co-développé avec Shopify, Etsy, Wayfair, Target, Walmart. Endorsé par plus de 20 partenaires (Visa, Mastercard, Stripe, American Express&#8230;)</p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">2</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Mars 2026 — Nouvelles capacités</p>
      <p class="eb-step-desc">Ajout des fonctions Cart (panier multi-articles) et Product Discovery</p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">3</div>
    <div class="eb-step-body">
      <p class="eb-step-title">24 avril 2026 — Le Tech Council s&rsquo;élargit</p>
      <p class="eb-step-desc">Le comité qui pilote la direction technique d&rsquo;UCP passe à dix membres avec l&rsquo;arrivée d&rsquo;Amazon, Meta, Microsoft, Salesforce et Stripe <em>(source : Search Engine Land, Productrise)</em></p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">4</div>
    <div class="eb-step-body">
      <p class="eb-step-title">20 mai 2026 — Google Marketing Live</p>
      <p class="eb-step-desc">Lancement du Universal Cart (panier unifié multi-enseignes), intégration Buy Now Pay Later avec Affirm et Klarna dans Google Pay, extension vers l&rsquo;hôtellerie et la livraison de repas <em>(source : blog.google, Search Engine Land)</em></p>
    </div>
  </div>
  <div class="eb-step" style="border-bottom:none">
    <div class="eb-step-num eb-step-num-orange">5</div>
    <div class="eb-step-body">
      <p class="eb-step-title" style="color:#F26322">Aujourd&rsquo;hui — Déploiement progressif</p>
      <p class="eb-step-desc">Le checkout UCP fonctionne aux États-Unis avec Nike, Sephora, Target, Ulta Beauty, Walmart, Wayfair et des marchands Shopify comme Fenty et Steve Madden</p>
    </div>
  </div>
</div>
</figure>



<p class="wp-block-paragraph">Le point le plus surprenant : l&rsquo;entrée d&rsquo;Amazon dans le Tech Council d&rsquo;UCP. Ce même Amazon avait pourtant attaqué en justice l&rsquo;agent de shopping Comet de Perplexity AI en novembre 2025 — procès gagné en mars 2026, la justice ayant validé le droit d&rsquo;une plateforme à bloquer des bots même autorisés par l&rsquo;utilisateur. Deux mois plus tard, Amazon rejoignait pourtant le comité qui pilote UCP <em>(source : Productrise, citant la couverture CNBC du jugement)</em>. Ce n&rsquo;est donc pas la posture de franche opposition qu&rsquo;on pouvait anticiper au lancement — la réalité est plus nuancée et mérite d&rsquo;être suivie.</p>



<h2 class="wp-block-heading">ACP, le protocole concurrent d&rsquo;OpenAI</h2>



<p class="wp-block-paragraph">UCP n&rsquo;est pas seul sur ce terrain. OpenAI a lancé dès septembre 2025 son propre protocole, l&rsquo;Agentic Commerce Protocol (ACP), en partenariat avec Stripe, avec une fonctionnalité de paiement instantané dans ChatGPT. La philosophie diffère : ACP est plus pragmatique, centré sur le checkout à l&rsquo;intérieur de ChatGPT, tandis qu&rsquo;UCP vise plus large — standardiser le commerce agentique pour n&rsquo;importe quel agent, sur n&rsquo;importe quelle surface.</p>



<p class="wp-block-paragraph">Fait notable : Stripe, co-créateur d&rsquo;ACP avec OpenAI, est aussi partenaire d&rsquo;UCP. Les analystes s&rsquo;accordent sur un point : ce n&rsquo;est pas une bataille où un seul protocole gagnera — la plupart des acteurs sérieux du e-commerce devront composer avec les deux, chacun servant des moments différents du parcours client.</p>



<h2 class="wp-block-heading">Où ça en est géographiquement — et pourquoi ça compte pour vous</h2>



<p class="wp-block-paragraph">Point important à ne pas négliger : UCP est aujourd&rsquo;hui disponible pour une sélection de marchands américains uniquement. Google a confirmé une extension vers le Canada et l&rsquo;Australie « dans les mois à venir », puis le Royaume-Uni « plus tard cette année » — sans date précise. Le reste de l&rsquo;Europe, y compris la France, n&rsquo;apparaît à ce jour dans aucun plan de déploiement annoncé <em>(source : Search Engine Land, 26 mai 2026 ; support.google.com)</em>.</p>



<p class="wp-block-paragraph">Autrement dit : ce n&rsquo;est pas une urgence à traiter cette semaine si vous vendez en France. Mais ce n&rsquo;est pas une raison pour l&rsquo;ignorer — les standards de données produit qui accompagnent UCP (attributs conversationnels, réponses aux questions fréquentes, structuration fine du catalogue) sont utiles indépendamment de la disponibilité géographique du checkout, et ils prennent du temps à mettre en place correctement.</p>



<h2 class="wp-block-heading">Ce que ça implique vraiment pour votre boutique</h2>



<p class="wp-block-paragraph">Le point sur lequel s&rsquo;accordent tous les analystes sérieux du sujet : la vraie bataille ne se joue pas sur l&rsquo;infrastructure de paiement, mais sur la capacité d&rsquo;un agent IA à comprendre et à faire confiance à vos données produit. Un excellent flux de checkout ne sert à rien si l&rsquo;agent ne sait même pas que votre produit existe, ou s&rsquo;il ne parvient pas à en extraire les informations essentielles (prix, stock, politique de retour, variantes).</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<p class="eb-title">Ce qu&rsquo;on peut faire dès maintenant, indépendamment de la plateforme</p>
<div style="background:#fff;border-radius:10px;border:1.5px solid #E5E2DC;padding:14px">
  <div class="eb-row"><div><p class="eb-item-title">Fiabiliser son flux de données produit</p><p class="eb-item-desc">Prix exact, stock à jour, variantes complètes, politique de retour clairement renseignée — un flux Google Merchant Center propre reste la base, même sans activer UCP tout de suite</p></div></div>
  <div class="eb-row"><div><p class="eb-item-title">Structurer les pages produit</p><p class="eb-item-desc">Données structurées Product, informations de livraison et de retour balisées — pour rendre l&rsquo;offre lisible aussi bien par un moteur de recherche classique que par un futur agent</p></div></div>
  <div class="eb-row" style="border-bottom:none"><div><p class="eb-item-title">Tester la perception de ses produits par les IA</p><p class="eb-item-desc">Interroger ChatGPT ou Gemini sur des produits de sa catégorie révèle souvent des angles morts : la marque apparaît-elle ? Est-elle bien décrite ? Ce diagnostic simple donne une longueur d&rsquo;avance</p></div></div>
</div>
</figure>



<p class="wp-block-paragraph">Sur le plan e-commerce global — et ça vaut quelle que soit votre plateforme, Magento comme une autre — la vigilance à avoir aujourd&rsquo;hui porte moins sur « faut-il activer UCP » (la réponse est non, ça ne concerne pas encore la France) que sur « mes données produit sont-elles prêtes pour le jour où ça arrivera ». C&rsquo;est un travail qui a de la valeur dès maintenant, indépendamment du calendrier de déploiement de Google.</p>



<h2 class="wp-block-heading">FAQ</h2>



<h3 class="wp-block-heading">UCP va-t-il remplacer mon site e-commerce ?</h3>



<p class="wp-block-paragraph">Non. Google insiste explicitement sur le fait que le marchand reste « Merchant of Record » — le vendeur officiel, qui garde ses données clients et sa relation après-vente. UCP est un protocole de communication entre l&rsquo;interface conversationnelle et le back-end du marchand, pas une marketplace qui s&rsquo;interpose entre vous et vos clients.</p>



<h3 class="wp-block-heading">Dois-je m&rsquo;inquiéter dès maintenant si je vends en France ?</h3>



<p class="wp-block-paragraph">Pas dans l&rsquo;urgence. Le checkout UCP est aujourd&rsquo;hui limité à une sélection de marchands américains, avec une extension prévue vers le Canada, l&rsquo;Australie puis le Royaume-Uni. Aucune date n&rsquo;a été annoncée pour la France ou le reste de l&rsquo;Europe continentale. En revanche, travailler dès maintenant sur la qualité et la structuration de vos données produit reste pertinent, indépendamment du calendrier de déploiement.</p>



<h3 class="wp-block-heading">UCP et ACP, faut-il choisir l&rsquo;un ou l&rsquo;autre ?</h3>



<p class="wp-block-paragraph">Les deux protocoles répondent à des logiques différentes et ne sont pas mutuellement exclusifs. ACP est centré sur ChatGPT, avec une intégration plus rapide pour les marchands déjà équipés de Stripe. UCP vise une portée plus large, sur l&rsquo;écosystème Google (Search, Gemini) avec une ambition d&rsquo;interopérabilité multi-agents. La plupart des analystes recommandent de suivre l&rsquo;évolution des deux plutôt que de trancher prématurément.</p>



<div style="background:#0F1E4D;border-radius:12px;padding:1.75rem 2rem;margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
  <p style="margin:0 0 0.4rem;font-weight:800;color:#F26322;font-size:1rem;">Votre catalogue produit est-il prêt pour l&rsquo;ère du commerce conversationnel ?</p>
  <p style="margin:0 0 1.25rem;color:rgba(255,255,255,0.75);font-size:0.95rem;line-height:1.6;">Qu&rsquo;il s&rsquo;agisse de fiabiliser votre flux Merchant Center ou de structurer vos données produit sur Magento, on vous aide à poser des bases solides avant que ces standards n&rsquo;arrivent en France.</p>
  <a href="https://www.ebusiness360.fr/contact/" style="display:inline-block;background:#F26322;color:white;padding:0.65rem 1.4rem;border-radius:999px;text-decoration:none;font-size:0.9rem;font-weight:700;">Discuter de mon catalogue produit →</a>
</div>

<p>L’article <a href="https://www.ebusiness360.fr/2026/07/10/ucp-universal-commerce-protocol-ecommerce-agentique/">UCP : le nouveau protocole qui va rebattre les cartes du e-commerce mondial</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Cloudflare va bloquer Googlebot avec les bots IA si vous ne faites pas ça avant le 15 septembre</title>
		<link>https://www.ebusiness360.fr/2026/07/09/cloudflare-bloque-googlebot-15-septembre-magento-seo/</link>
		
		<dc:creator><![CDATA[Maxime]]></dc:creator>
		<pubDate>Thu, 09 Jul 2026 08:00:00 +0000</pubDate>
				<category><![CDATA[SEO]]></category>
		<guid isPermaLink="false">https://www.ebusiness360.fr/?p=6242</guid>

					<description><![CDATA[<p>Cloudflare va bloquer Googlebot le 15 septembre 2026 sur certaines boutiques. L'occasion de se poser la vraie question : avez-vous besoin de Cloudflare, ou un HAProxy bien configuré suffit-il ?</p>
<p>L’article <a href="https://www.ebusiness360.fr/2026/07/09/cloudflare-bloque-googlebot-15-septembre-magento-seo/">Cloudflare va bloquer Googlebot avec les bots IA si vous ne faites pas ça avant le 15 septembre</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></description>
										<content:encoded><![CDATA[

<p class="wp-block-paragraph">Le 1er juillet 2026, Cloudflare a annoncé un changement qui va directement affecter le référencement de certaines boutiques en ligne : à partir du <strong>15 septembre 2026</strong>, les sites ayant activé le blocage des bots d&rsquo;entraînement IA vont aussi bloquer, par effet de bord, les crawlers classiques qu&rsquo;on veut absolument laisser passer — dont Googlebot, Applebot et Bingbot <em>(source : blog officiel Cloudflare, « Content Independence Day »)</em>.</p>



<p class="wp-block-paragraph">Si votre boutique Magento passe par Cloudflare, c&rsquo;est le moment de vérifier votre configuration. Mais posons tout de suite la vraie question : avez-vous réellement besoin de Cloudflare pour filtrer vos bots ?</p>



<h2 class="wp-block-heading">Ce que Cloudflare va changer, en bref</h2>



<p class="wp-block-paragraph">Cloudflare proposait jusqu&rsquo;ici une case unique « bloquer les bots IA », qui regroupait sans distinction l&rsquo;entraînement de modèles et le crawling de recherche. Cloudflare a annoncé le remplacement de cette case par des contrôles plus granulaires — mais les sites ayant déjà activé l&rsquo;ancien blocage global verront, à partir du 15 septembre 2026, Googlebot et les autres crawlers multi-usages bloqués avec le reste <em>(source : blog officiel Cloudflare, 1er juillet 2026)</em>. Sur une boutique e-commerce, ça touche l&rsquo;indexation de tout le catalogue produit — pas seulement quelques pages.</p>



<p class="wp-block-paragraph">Ce changement ne concerne, par nature, que les boutiques qui utilisent Cloudflare comme couche de filtrage devant leur infrastructure. Et c&rsquo;est là que la question devient intéressante : toutes les boutiques Magento n&rsquo;en ont pas besoin.</p>



<h2 class="wp-block-heading">Cloudflare n&rsquo;est pas la seule façon de filtrer les bots</h2>



<p class="wp-block-paragraph">Cloudflare est une solution pratique, mais ce n&rsquo;est pas la seule architecture possible pour se protéger du trafic indésirable — scraping agressif, bots malveillants, tentatives d&rsquo;intrusion — tout en laissant passer sans ambiguïté les moteurs de recherche légitimes. Une infrastructure Magento bien pensée peut assurer ce filtrage directement au niveau du serveur, sans dépendre d&rsquo;une couche tierce et de ses décisions de configuration.</p>



<p class="wp-block-paragraph">Un point mérite d&rsquo;être clarifié, car il change beaucoup la donne financière : ce que la plupart des sites utilisent sur Cloudflare (Bot Fight Mode en gratuit, Super Bot Fight Mode sur les formules Pro à 20 $/mois ou Business à 200 $/mois) reste un filtrage relativement basique — un interrupteur qui challenge les bots détectés, sans règles fines par endpoint ni score de risque par requête. Le vrai filtrage granulaire, avec scoring de bot et règles personnalisées, correspond au produit « Bot Management », qui est réservé aux contrats Enterprise — sans palier intermédiaire en libre-service <em>(source : documentation officielle Cloudflare, developers.cloudflare.com/bots/)</em>. Ces contrats Enterprise démarrent généralement autour de plusieurs milliers de dollars par mois, négociés au cas par cas. Autrement dit, un filtrage de bots réellement fin sur Cloudflare n&rsquo;est pas à la portée d&rsquo;un simple upgrade de formule à 20 ou 200 $ : c&rsquo;est un saut budgétaire nettement plus important.</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}</style>
<p class="eb-title">Deux architectures possibles pour filtrer le trafic indésirable</p>
<div style="border-radius:10px;overflow:hidden;border:1.5px solid #E5E2DC;background:#fff">
  <div style="display:grid;grid-template-columns:1fr 1fr;background:#0F1E4D;padding:9px 14px;gap:8px">
    <span style="font-size:12px;font-weight:800;color:#fff">Cloudflare en amont</span>
    <span style="font-size:12px;font-weight:800;color:#F26322">Filtrage natif serveur (HAProxy)</span>
  </div>
  <div style="padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:20px">
    <div>
      <p style="font-size:12px;font-weight:800;color:#166534;margin-bottom:6px">✓ AVANTAGES</p>
      <p class="eb-item-desc" style="margin-bottom:8px">Filtrage effectué avant même que la requête n&rsquo;atteigne votre infrastructure</p>
      <p class="eb-item-desc" style="margin-bottom:14px">Pratique et rapide à mettre en place, sans expertise serveur poussée</p>
      <p style="font-size:12px;font-weight:800;color:#991b1b;margin-bottom:6px">✗ INCONVÉNIENTS</p>
      <p class="eb-item-desc" style="margin-bottom:8px">Vous dépendez des décisions de configuration d&rsquo;un tiers, avec un risque d&rsquo;effet de bord comme celui du 15 septembre</p>
      <p class="eb-item-desc">Le filtrage réellement fin (Bot Management) n&rsquo;est accessible qu&rsquo;en Enterprise, à plusieurs milliers de dollars par mois</p>
    </div>
    <div>
      <p style="font-size:12px;font-weight:800;color:#166534;margin-bottom:6px">✓ AVANTAGES</p>
      <p class="eb-item-desc" style="margin-bottom:8px">Règles entièrement maîtrisées, sans dépendre de la politique produit d&rsquo;un tiers</p>
      <p class="eb-item-desc" style="margin-bottom:14px">Pas de palier tarifaire caché : la finesse du filtrage dépend de l&rsquo;expertise investie, pas d&rsquo;un forfait</p>
      <p style="font-size:12px;font-weight:800;color:#991b1b;margin-bottom:6px">✗ INCONVÉNIENTS</p>
      <p class="eb-item-desc">Demande une expertise de configuration réelle et un suivi actif dans le temps</p>
    </div>
  </div>
</div>
</figure>



<h2 class="wp-block-heading">Ce qu&rsquo;implique un filtrage HAProxy bien conçu</h2>



<p class="wp-block-paragraph">Sans entrer dans le détail des règles — chaque infrastructure a ses propres contraintes et ce n&rsquo;est pas quelque chose qui se généralise dans un article de blog — voici les grands principes d&rsquo;une architecture de filtrage efficace au niveau du reverse proxy :</p>



<ul class="wp-block-list">
<li><strong>Distinguer les bots par leur comportement réel</strong>, pas seulement par leur nom déclaré — un attaquant peut se faire passer pour Googlebot, tandis qu&rsquo;un vrai Googlebot a des plages d&rsquo;IP vérifiables.</li>
<li><strong>Cibler les sources de trafic abusif identifiées</strong> (plages d&rsquo;hébergeurs cloud utilisées pour du scraping massif, bots connus) sans jamais toucher aux crawlers légitimes des moteurs de recherche.</li>
<li><strong>Faire évoluer les règles en continu</strong> — les sources de trafic indésirable changent, une configuration figée devient obsolète en quelques mois.</li>
<li><strong>Garder une visibilité complète via les logs</strong>, pour vérifier objectivement ce qui est bloqué et ce qui passe, plutôt que de faire confiance à une case à cocher opaque.</li>
</ul>



<p class="wp-block-paragraph">C&rsquo;est un travail de configuration fine et de suivi dans le temps — pas un réglage qu&rsquo;on fait une fois et qu&rsquo;on oublie. C&rsquo;est exactement le type d&rsquo;accompagnement qu&rsquo;on assure sur les infrastructures Magento qu&rsquo;on gère : un filtrage efficace, sans dépendre d&rsquo;un acteur tiers et de ses choix de politique produit.</p>



<h2 class="wp-block-heading">Le paramétrage Magento qui complète l&rsquo;architecture serveur</h2>



<p class="wp-block-paragraph">Le filtrage réseau ne suffit pas seul : la structure de vos URLs et vos directives d&rsquo;exploration comptent tout autant pour un bon référencement. Sur les boutiques équipées de modules de navigation par filtres et de SEO avancé — Amasty Layered Navigation et Mageworx SEO Ultimate en tête — plusieurs points méritent une attention régulière :</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}</style>
<p class="eb-title">Points de configuration Magento à surveiller</p>
<div style="background:#fff;border-radius:10px;border:1.5px solid #E5E2DC;padding:14px">
  <div class="eb-row"><div><p class="eb-item-title">Robots.txt et URLs de navigation à facettes</p><p class="eb-item-desc">Les URLs générées par la navigation par filtres doivent être maîtrisées pour ne pas gaspiller le budget de crawl, sans jamais bloquer les pages catégorie légitimes.</p></div></div>
  <div class="eb-row"><div><p class="eb-item-title">Sitemap XML à jour</p><p class="eb-item-desc">Le sitemap doit refléter fidèlement le catalogue actuel et être correctement soumis dans Google Search Console.</p></div></div>
  <div class="eb-row" style="border-bottom:none"><div><p class="eb-item-title">Balises canoniques sur les pages filtrées</p><p class="eb-item-desc">Les combinaisons de filtres doivent pointer vers l&rsquo;URL canonique de la catégorie pour éviter la duplication de contenu aux yeux de Google.</p></div></div>
</div>
</figure>



<h2 class="wp-block-heading">Alors, faut-il utiliser Cloudflare sur toutes les boutiques Magento ?</h2>



<p class="wp-block-paragraph">Non, sûrement pas de façon systématique. Cloudflare est un bon outil pour certains contextes — notamment quand on veut une mise en place rapide sans expertise serveur poussée en interne — mais ce n&rsquo;est pas une nécessité universelle. Il existe d&rsquo;autres moyens tout aussi efficaces pour filtrer le trafic indésirable, avec l&rsquo;avantage de rester entièrement maîtrisés par vous, sans dépendre des choix de configuration d&rsquo;un tiers qui peuvent, comme le 15 septembre le montre, changer avec des conséquences inattendues sur votre référencement.</p>



<p class="wp-block-paragraph">Le bon choix dépend de votre contexte : taille de l&rsquo;infrastructure, ressources techniques disponibles, niveau de menace réel sur votre boutique. Ce qui compte, dans tous les cas, c&rsquo;est que la décision soit prise consciemment — pas héritée d&rsquo;une configuration mise en place il y a longtemps et jamais revue depuis.</p>



<h2 class="wp-block-heading">FAQ</h2>



<h3 class="wp-block-heading">Comment savoir si ma boutique utilise Cloudflare ?</h3>



<p class="wp-block-paragraph">Le plus simple : vérifier les serveurs DNS de votre domaine, ou regarder si les en-têtes de réponse HTTP de votre site mentionnent Cloudflare. Si c&rsquo;est le cas, vérifiez dans le dashboard Cloudflare la configuration de gestion des bots avant le 15 septembre 2026.</p>



<h3 class="wp-block-heading">Migrer de Cloudflare vers un filtrage HAProxy, c&rsquo;est un gros chantier ?</h3>



<p class="wp-block-paragraph">Ça dépend entièrement de l&rsquo;infrastructure existante et du niveau de filtrage actuellement en place côté Cloudflare. Ce n&rsquo;est pas une réponse générique — chaque cas nécessite un audit préalable pour évaluer l&rsquo;effort réel et la meilleure trajectoire de migration.</p>



<h3 class="wp-block-heading">Sans Cloudflare, ma boutique est-elle plus vulnérable ?</h3>



<p class="wp-block-paragraph">Pas nécessairement — tout dépend de la qualité de la configuration mise en place au niveau serveur. Une architecture de filtrage bien conçue et activement maintenue peut offrir un niveau de protection tout à fait comparable, avec l&rsquo;avantage d&rsquo;un contrôle total sur les règles appliquées.</p>



<div style="background:#0F1E4D;border-radius:12px;padding:1.75rem 2rem;margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
  <p style="margin:0 0 0.4rem;font-weight:800;color:#F26322;font-size:1rem;">Cloudflare, HAProxy, ou les deux : quelle est la meilleure option pour votre boutique ?</p>
  <p style="margin:0 0 1.25rem;color:rgba(255,255,255,0.75);font-size:0.95rem;line-height:1.6;">On audite votre architecture actuelle et on vous recommande la solution de filtrage la plus adaptée à votre contexte — avec, si besoin, la mise en place et le suivi actif des règles serveur pour une protection efficace sans dépendre des choix d&rsquo;un tiers.</p>
  <a href="https://www.ebusiness360.fr/contact/" style="display:inline-block;background:#F26322;color:white;padding:0.65rem 1.4rem;border-radius:999px;text-decoration:none;font-size:0.9rem;font-weight:700;">Demander un audit d&rsquo;architecture →</a>
</div>

<p>L’article <a href="https://www.ebusiness360.fr/2026/07/09/cloudflare-bloque-googlebot-15-septembre-magento-seo/">Cloudflare va bloquer Googlebot avec les bots IA si vous ne faites pas ça avant le 15 septembre</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>La clé de chiffrement Magento : ce qu&#8217;elle protège et comment la gérer</title>
		<link>https://www.ebusiness360.fr/2026/07/08/cle-chiffrement-magento-2-crypt-key/</link>
		
		<dc:creator><![CDATA[Maxime]]></dc:creator>
		<pubDate>Wed, 08 Jul 2026 15:00:00 +0000</pubDate>
				<category><![CDATA[Sécurité]]></category>
		<guid isPermaLink="false">https://www.ebusiness360.fr/?p=6238</guid>

					<description><![CDATA[<p>La clé de chiffrement Magento (crypt-key) protège vos données sensibles et peut être une porte d'entrée pour un attaquant si elle fuite. Ce qu'elle fait, où elle vit, et comment la gérer sans risque.</p>
<p>L’article <a href="https://www.ebusiness360.fr/2026/07/08/cle-chiffrement-magento-2-crypt-key/">La clé de chiffrement Magento : ce qu&rsquo;elle protège et comment la gérer</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></description>
										<content:encoded><![CDATA[

<p class="wp-block-paragraph">Dans le fichier <code>app/etc/env.php</code> de chaque installation Magento 2 se trouve une chaîne de caractères discrète, sous la clé <code>crypt.key</code>. Elle ne ressemble à rien de spécial — une suite hexadécimale de 64 caractères — mais c&rsquo;est l&rsquo;un des secrets les plus sensibles de toute votre boutique. Si elle est perdue, une partie de vos données devient définitivement illisible. Si elle est volée, un attaquant peut potentiellement déchiffrer des informations sensibles ou forger un accès complet à votre administration.</p>



<p class="wp-block-paragraph">Voici ce que cette clé fait réellement, comment Magento l&rsquo;utilise, et comment la gérer sans mettre votre boutique en péril.</p>



<h2 class="wp-block-heading">Ce que la clé de chiffrement protège concrètement</h2>



<p class="wp-block-paragraph">Cette clé sert à chiffrer et déchiffrer les données sensibles que Magento a besoin de relire en clair par la suite — contrairement aux mots de passe, qui eux sont hachés à sens unique et jamais déchiffrés. La documentation officielle Adobe est claire sur ce point : un algorithme ChaCha20-Poly1305 avec une clé de 256 bits est utilisé pour chiffrer toutes les données nécessitant un déchiffrement, tandis qu&rsquo;un algorithme SHA-256 sert à hacher les données qui n&rsquo;en ont pas besoin <em>(source : Adobe Experience League, documentation « Encryption key »)</em>.</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<p class="eb-title">Ce que la clé de chiffrement protège</p>
<div class="eb-grid eb-grid-2">
  <div class="eb-card"><div class="eb-head eb-head-navy">Chiffré avec la crypt-key</div><div class="eb-body">
    <p class="eb-item-desc">Données de cartes bancaires enregistrées (tokens de paiement)</p>
    <p class="eb-item-desc">Mots de passe des modules d&rsquo;intégration paiement et livraison</p>
    <p class="eb-item-desc">Certains champs de configuration marqués comme chiffrés</p>
  </div></div>
  <div class="eb-card" style="border-color:#F26322"><div class="eb-head eb-head-orange">Haché, pas chiffré</div><div class="eb-body" style="background:#F26322">
    <p style="font-size:13px;color:rgba(255,255,255,0.95);line-height:1.45">Les mots de passe clients et admin ne passent jamais par la crypt-key : ils sont hachés à sens unique. Magento vérifie un mot de passe en le re-hachant à la connexion, il ne le déchiffre jamais.</p>
  </div></div>
</div>
</figure>



<p class="wp-block-paragraph">Cette distinction est importante et souvent confondue : la crypt-key n&rsquo;a strictement rien à voir avec le stockage des mots de passe. Elle sert uniquement au chiffrement <em>réversible</em> — ce que l&rsquo;application doit pouvoir relire plus tard pour renvoyer un token à un prestataire de paiement, ou réutiliser une clé API tierce.</p>



<h2 class="wp-block-heading">Où elle vit, et pourquoi ce fichier ne doit jamais être versionné</h2>



<p class="wp-block-paragraph">La clé est générée aléatoirement à l&rsquo;installation et stockée dans <code>app/etc/env.php</code>, sous la structure <code>'crypt' => ['key' => '...']</code>. Ce même fichier contient aussi les identifiants de connexion à votre base de données, le nom de domaine de votre back-office et la configuration des cookies de session. Autrement dit : c&rsquo;est probablement le fichier le plus sensible de toute votre installation Magento.</p>



<p class="wp-block-paragraph">La règle absolue : ce fichier ne doit jamais être commité dans un dépôt Git. Il est exclu par défaut via <code>.gitignore</code> sur une installation Magento standard — mais des réécritures de <code>.gitignore</code> personnalisées finissent parfois par l&rsquo;oublier, et un simple <code>git add app/etc</code> suffit à exposer l&rsquo;intégralité de vos secrets dans l&rsquo;historique du dépôt, de façon quasiment irréversible même après une suppression ultérieure.</p>



<h2 class="wp-block-heading">Pourquoi cette clé est une cible de choix pour un attaquant</h2>



<p class="wp-block-paragraph">Ce n&rsquo;est pas un risque théorique. La vulnérabilité CosmicSting (CVE-2024-34102, CVSS 9.8), l&rsquo;une des failles Magento les plus exploitées de ces dernières années, illustrait précisément ce danger : une faille d&rsquo;injection XML permettait à un attaquant non authentifié de lire des fichiers arbitraires sur le serveur — dont <code>app/etc/env.php</code>. Une fois la clé de chiffrement en main, l&rsquo;attaquant pouvait forger des jetons d&rsquo;authentification valides et obtenir un accès administrateur complet, sans jamais connaître le moindre mot de passe. Cette vulnérabilité a conduit à plus de 4 275 boutiques compromises.</p>



<p class="wp-block-paragraph">C&rsquo;est la raison pour laquelle, sur une boutique qui a pu être exposée à une faille de ce type, changer les mots de passe ne suffit jamais : il faut aussi faire tourner (rotation) la clé de chiffrement elle-même, sans quoi l&rsquo;ancienne clé reste valide pour forger de nouveaux accès.</p>



<h2 class="wp-block-heading">Changer la clé : ce qui a changé en 2.4.8</h2>



<p class="wp-block-paragraph">Point d&rsquo;actualité important si vous gérez plusieurs boutiques Magento : la fonctionnalité de changement de clé de chiffrement depuis l&rsquo;interface d&rsquo;administration est désormais dépréciée et a été retirée en Magento 2.4.8. La documentation officielle Adobe est explicite sur ce point : depuis cette version, il faut obligatoirement utiliser la commande en ligne de commande pour changer la clé après une mise à niveau vers 2.4.8 <em>(source : Adobe Experience League, documentation « Encryption key »)</em>.</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<p class="eb-title">Les grandes étapes d&rsquo;un changement de clé sécurisé</p>
<div style="background:#fff;border-radius:10px;border:1.5px solid #E5E2DC;padding:14px">
  <div class="eb-step">
    <div class="eb-step-num">1</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Sauvegarder avant toute manipulation</p>
      <p class="eb-step-desc">Une sauvegarde complète (fichiers + base de données) est indispensable avant de toucher à la clé de chiffrement.</p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">2</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Passer en mode maintenance</p>
      <p class="eb-step-desc">Le changement de clé implique de rechiffrer les données existantes en base — une opération qui doit se faire sans écriture concurrente pour éviter des lignes corrompues.</p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">3</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Utiliser la commande CLI officielle</p>
      <p class="eb-step-desc">La commande est <code>bin/magento encryption:key:change</code> — c&rsquo;est le seul chemin supporté depuis la dépréciation de l&rsquo;interface admin en 2.4.8. Vous pouvez vérifier qu&rsquo;elle est bien disponible sur votre installation avec <code>bin/magento list | grep encryption:key:change</code> avant de l&rsquo;exécuter.</p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">4</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Vider le cache</p>
      <p class="eb-step-desc">Comme après toute opération touchant à la configuration système.</p>
    </div>
  </div>
  <div class="eb-step" style="border-bottom:none">
    <div class="eb-step-num eb-step-num-orange">5</div>
    <div class="eb-step-body">
      <p class="eb-step-title" style="color:#F26322">Repasser en production et vérifier</p>
      <p class="eb-step-desc">Désactiver le mode maintenance, puis tester concrètement qu&rsquo;un paiement enregistré ou une intégration tierce fonctionne toujours normalement.</p>
    </div>
  </div>
</div>
</figure>



<p class="wp-block-paragraph">Attention à une conséquence directe et souvent ignorée : la rotation de la clé de chiffrement invalide immédiatement toutes les sessions clients et administrateurs actives (à l&rsquo;exception des utilisateurs d&rsquo;intégration), qui devront se reconnecter <em>(source : Adobe Experience League)</em>. Ce n&rsquo;est pas un bug — c&rsquo;est le comportement attendu, à anticiper en communiquant si besoin, ou en programmant l&rsquo;opération à un horaire de faible trafic.</p>



<h2 class="wp-block-heading">Le piège classique : restaurer une base sans la bonne clé</h2>



<p class="wp-block-paragraph">Une erreur fréquente, notamment lors d&rsquo;un travail en environnement local ou de staging : copier une base de données de production sur une nouvelle installation Magento sans transférer aussi le fichier <code>env.php</code> d&rsquo;origine. Résultat : les données chiffrées avec l&rsquo;ancienne clé (tokens de paiement enregistrés, identifiants d&rsquo;intégrations tierces, certains champs de configuration) deviennent totalement illisibles sur la nouvelle installation, puisque celle-ci a généré sa propre clé aléatoire à l&rsquo;installation.</p>



<p class="wp-block-paragraph">La règle à retenir : <strong>la clé de chiffrement doit toujours accompagner un export de base de données</strong>, exactement comme vous transféreriez un trousseau de clés avec la maison qu&rsquo;il ouvre. Sans elle, les données chiffrées sont perdues — pas corrompues, perdues, puisque le chiffrement fort n&rsquo;a par définition aucune porte dérobée.</p>



<h2 class="wp-block-heading">FAQ</h2>



<h3 class="wp-block-heading">Puis-je simplement remplacer la valeur dans env.php à la main ?</h3>



<p class="wp-block-paragraph">Non, ce n&rsquo;est pas la bonne méthode. Remplacer directement la valeur sans passer par la procédure officielle de changement de clé laisse toutes les données déjà chiffrées avec l&rsquo;ancienne clé irrécupérables, puisque Magento tentera de les déchiffrer avec la nouvelle valeur. La procédure documentée par Adobe rechiffre les données existantes avec la nouvelle clé avant de finaliser le changement — c&rsquo;est cette étape de rechiffrement qui rend l&rsquo;opération sûre.</p>



<h3 class="wp-block-heading">Que se passe-t-il si je perds définitivement la clé de chiffrement ?</h3>



<p class="wp-block-paragraph">Toutes les données chiffrées avec cette clé deviennent définitivement inaccessibles — un chiffrement fort par définition ne permet aucun contournement sans la clé. En pratique, cela signifie généralement que les clients devront ressaisir leurs informations de paiement, et que les intégrations avec des systèmes tiers devront être reconfigurées depuis l&rsquo;interface d&rsquo;administration. C&rsquo;est une raison suffisante pour sauvegarder cette clé séparément, dans un gestionnaire de mots de passe sécurisé, en plus de vos sauvegardes habituelles.</p>



<h3 class="wp-block-heading">À quelle fréquence faut-il changer cette clé ?</h3>



<p class="wp-block-paragraph">Adobe recommande de changer la clé de chiffrement régulièrement pour renforcer la sécurité, ainsi qu&rsquo;à chaque fois qu&rsquo;un risque de compromission est identifié <em>(source : Adobe Experience League)</em>. En pratique : après un changement de personnel technique ayant eu accès au serveur, après toute suspicion de fuite du fichier <code>env.php</code>, et systématiquement après un incident de sécurité avéré sur la boutique.</p>



<div style="background:#0F1E4D;border-radius:12px;padding:1.75rem 2rem;margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
  <p style="margin:0 0 0.4rem;font-weight:800;color:#F26322;font-size:1rem;">Vous ne savez pas si votre clé de chiffrement a déjà été exposée ?</p>
  <p style="margin:0 0 1.25rem;color:rgba(255,255,255,0.75);font-size:0.95rem;line-height:1.6;">On audite votre configuration de sécurité — fichier env.php, historique Git, exposition aux failles connues — et on effectue la rotation de clé en toute sécurité si nécessaire.</p>
  <a href="https://www.ebusiness360.fr/contact/" style="display:inline-block;background:#F26322;color:white;padding:0.65rem 1.4rem;border-radius:999px;text-decoration:none;font-size:0.9rem;font-weight:700;">Demander un audit de sécurité →</a>
</div>

<p>L’article <a href="https://www.ebusiness360.fr/2026/07/08/cle-chiffrement-magento-2-crypt-key/">La clé de chiffrement Magento : ce qu&rsquo;elle protège et comment la gérer</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Mon site Magento est en panne : le guide de dépannage d&#8217;urgence (Magento 2)</title>
		<link>https://www.ebusiness360.fr/2026/07/03/magento-2-site-en-panne-depannage-urgence/</link>
		
		<dc:creator><![CDATA[Maxime]]></dc:creator>
		<pubDate>Fri, 03 Jul 2026 12:00:00 +0000</pubDate>
				<category><![CDATA[Tech Magento 2]]></category>
		<guid isPermaLink="false">https://www.ebusiness360.fr/?p=6227</guid>

					<description><![CDATA[<p>Votre boutique Magento 2 est en panne ? Guide de dépannage d'urgence : erreur 503, page blanche, Access Denied, mot de passe admin perdu, lenteurs. Les commandes exactes pour rétablir le service.</p>
<p>L’article <a href="https://www.ebusiness360.fr/2026/07/03/magento-2-site-en-panne-depannage-urgence/">Mon site Magento est en panne : le guide de dépannage d&rsquo;urgence (Magento 2)</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></description>
										<content:encoded><![CDATA[

<p class="wp-block-paragraph">Votre boutique Magento est en panne, vous perdez des ventes à chaque minute, et vous cherchez une réponse rapide. Cet article est fait pour ça : les pannes Magento 2 les plus fréquentes, avec la commande exacte pour rétablir le service. Gardez-le en favori — le jour où votre site tombe, vous n&rsquo;aurez pas le temps de chercher.</p>



<p class="wp-block-paragraph">Un avertissement avant de commencer : toutes les commandes ci-dessous s&rsquo;exécutent en SSH sur votre serveur, depuis la racine de votre installation Magento. Si vous n&rsquo;avez pas d&rsquo;accès SSH ou si vous n&rsquo;êtes pas sûr de ce que fait une commande, arrêtez-vous et appelez quelqu&rsquo;un. Une mauvaise manipulation sur une boutique en production peut aggraver la panne. Toutes ces commandes concernent Magento 2.4.x — pas Magento 1, dont les manipulations sont radicalement différentes et obsolètes.</p>



<h2 class="wp-block-heading">Réflexe n°0 — activer l&rsquo;affichage des erreurs pour comprendre</h2>



<p class="wp-block-paragraph">Avant de tenter quoi que ce soit à l&rsquo;aveugle : une page blanche ou une erreur générique ne vous dit rien. Passez en mode développeur pour voir l&rsquo;erreur réelle, ou consultez directement les logs.</p>



<pre><code># Voir le mode actuel
php bin/magento deploy:mode:show

# Consulter les derniers rapports d'erreur
tail -n 50 var/log/exception.log
tail -n 50 var/log/system.log
ls -lt var/report/ | head</code></pre>



<p class="wp-block-paragraph">Le fichier le plus récent dans <code>var/report/</code> contient souvent l&rsquo;ID d&rsquo;erreur affiché à l&rsquo;écran et la trace complète. C&rsquo;est votre point de départ. Ne passez jamais une boutique de production en mode développeur de façon permanente — uniquement le temps du diagnostic, puis revenez en production.</p>



<h2 class="wp-block-heading">Panne n°1 — Erreur 503 / le site est bloqué en maintenance</h2>



<p class="wp-block-paragraph">Symptôme : le site affiche « Service Temporarily Unavailable » ou une page de maintenance, front et back inaccessibles. Cause la plus fréquente : un flag de maintenance qui n&rsquo;a pas été retiré après une opération (souvent un <code>setup:upgrade</code> interrompu).</p>



<pre><code># Solution propre
php bin/magento maintenance:disable

# Si la commande ne répond pas, supprimer le flag manuellement
rm -f var/.maintenance.flag</code></pre>



<p class="wp-block-paragraph">Si le 503 persiste après ça, vérifiez que ce n&rsquo;est pas votre serveur web ou Varnish qui renvoie l&rsquo;erreur — dans ce cas le problème est côté infrastructure, pas côté Magento.</p>



<h2 class="wp-block-heading">Panne n°2 — Page blanche ou erreur 500 après un déploiement</h2>



<p class="wp-block-paragraph">Symptôme classique après un <code>setup:upgrade</code> ou un déploiement : le site charge une page blanche, ou le front s&rsquo;affiche sans style (page « cassée », sans CSS ni images). Dans 9 cas sur 10, c&rsquo;est le contenu statique qui n&rsquo;a pas été redéployé.</p>



<pre><code># La séquence de récupération après un setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy -f fr_FR en_US
php bin/magento cache:flush</code></pre>



<p class="wp-block-paragraph">Adaptez les codes langue (<code>fr_FR en_US</code>) à ceux réellement configurés sur votre boutique. Si vous utilisez un thème spécifique, précisez-le avec <code>--theme</code>. Point important : la commande <code>setup:static-content:deploy</code> ne peut pas combiner <code>--theme</code> et <code>--exclude-theme</code> dans le même appel — il faut choisir l&rsquo;un ou l&rsquo;autre.</p>



<h2 class="wp-block-heading">Panne n°3 — « Access Denied » en accédant à l&rsquo;admin</h2>



<p class="wp-block-paragraph">Symptôme : vous êtes connecté au back-office mais chaque page affiche « Access Denied », ou un menu entier a disparu. Cause fréquente : les rôles ACL n&rsquo;ont pas été correctement régénérés après une mise à jour ou l&rsquo;ajout d&rsquo;un module.</p>



<pre><code># Régénérer et vider
php bin/magento cache:flush
php bin/magento setup:upgrade
php bin/magento cache:flush</code></pre>



<p class="wp-block-paragraph">Si le problème vient d&rsquo;un rôle utilisateur mal configuré, allez dans System → Permissions → User Roles, ouvrez le rôle concerné, et vérifiez que les ressources autorisées (« Role Resources ») sont bien cochées. Déconnexion/reconnexion après changement.</p>



<h2 class="wp-block-heading">Panne n°4 — Mot de passe admin oublié / plus aucun accès</h2>



<p class="wp-block-paragraph">Symptôme : vous ne pouvez plus vous connecter au back-office et la récupération par email ne fonctionne pas. La solution Magento 2 n&rsquo;est <strong>pas</strong> de modifier le mot de passe directement en base de données (contrairement à ce qu&rsquo;on lit sur d&rsquo;anciens tutoriels Magento 1 — le hash Magento 2 est bien plus complexe et une modification manuelle corromprait le compte). La bonne méthode : créer un nouvel admin en ligne de commande.</p>



<pre><code>php bin/magento admin:user:create \
  --admin-user="nouveladmin" \
  --admin-password="MotDePasseFort123!" \
  --admin-email="admin@votredomaine.com" \
  --admin-firstname="Prenom" \
  --admin-lastname="Nom"</code></pre>



<p class="wp-block-paragraph">Le mot de passe doit contenir au moins 7 caractères avec lettres et chiffres, sinon Magento le refuse. Une fois connecté avec ce nouveau compte, vous pourrez réinitialiser l&rsquo;ancien depuis l&rsquo;interface.</p>



<h2 class="wp-block-heading">Panne n°5 — Le site est devenu très lent d&rsquo;un coup</h2>



<p class="wp-block-paragraph">Symptôme : pas de panne franche, mais des temps de chargement qui explosent. Trois causes à vérifier dans l&rsquo;ordre.</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<p class="eb-title">Diagnostic d&rsquo;une lenteur soudaine</p>
<div style="background:#fff;border-radius:10px;border:1.5px solid #E5E2DC;padding:14px">
  <div class="eb-step">
    <div class="eb-step-num">1</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Vérifier l&rsquo;état des index</p>
      <p class="eb-step-desc"><code>php bin/magento indexer:status</code> — si des index sont « invalid », les reconstruire : <code>php bin/magento indexer:reindex</code></p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">2</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Vérifier le mode de déploiement</p>
      <p class="eb-step-desc"><code>php bin/magento deploy:mode:show</code> — une boutique de production en mode « developer » est dramatiquement lente. Elle doit être en « production ».</p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">3</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Vérifier que le cache est actif</p>
      <p class="eb-step-desc"><code>php bin/magento cache:status</code> — tous les caches doivent être à 1 (activés). Un cache désactivé par erreur écroule les performances.</p>
    </div>
  </div>
  <div class="eb-step" style="border-bottom:none">
    <div class="eb-step-num eb-step-num-orange">4</div>
    <div class="eb-step-body">
      <p class="eb-step-title" style="color:#F26322">Regarder les ressources serveur</p>
      <p class="eb-step-desc">Si tout est correct côté Magento, le problème est peut-être côté serveur : RAM saturée, swap, MySQL surchargé. Là, ça relève de l&rsquo;administration système.</p>
    </div>
  </div>
</div>
</figure>



<h2 class="wp-block-heading">Panne n°6 — Erreur après l&rsquo;installation d&rsquo;une extension</h2>



<p class="wp-block-paragraph">Symptôme : vous venez d&rsquo;installer un module et le site plante. La priorité est de désactiver le module fautif pour rétablir le service, puis de diagnostiquer à froid.</p>



<pre><code># Désactiver le module problématique
php bin/magento module:disable Vendor_ModuleName
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento cache:flush</code></pre>



<p class="wp-block-paragraph">Remplacez <code>Vendor_ModuleName</code> par le nom réel du module (visible dans <code>app/etc/config.php</code> ou dans le message d&rsquo;erreur). Ne supprimez pas les fichiers du module manuellement — <code>module:disable</code> est propre et réversible.</p>



<h2 class="wp-block-heading">Panne n°7 — Impossible de se connecter (cookies rejetés) après changement de domaine</h2>



<p class="wp-block-paragraph">Symptôme : après un changement de domaine ou une migration, la connexion admin tourne en boucle — vous entrez vos identifiants et revenez à la page de login. Le domaine de cookie configuré ne correspond plus à l&rsquo;URL réelle.</p>



<pre><code># Mettre à jour les URLs de base
php bin/magento config:set web/unsecure/base_url https://www.nouveaudomaine.com/
php bin/magento config:set web/secure/base_url https://www.nouveaudomaine.com/

# Purger le domaine de cookie hérité (via base de données)
# ATTENTION : sauvegardez la base avant toute requête SQL
php bin/magento cache:flush</code></pre>



<p class="wp-block-paragraph">Si le blocage persiste, le domaine de cookie est probablement figé dans <code>core_config_data</code> (chemins <code>web/cookie/cookie_domain</code>). La suppression de ces lignes en base résout le problème — mais toute manipulation SQL directe doit être précédée d&rsquo;une sauvegarde complète de la base.</p>



<h2 class="wp-block-heading">La commande qui résout une grande partie des cas</h2>



<p class="wp-block-paragraph">Si vous ne deviez retenir qu&rsquo;une séquence, c&rsquo;est celle-ci. Après la plupart des opérations qui tournent mal, ce nettoyage complet remet souvent les choses d&rsquo;aplomb :</p>



<pre><code>php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy -f fr_FR
php bin/magento cache:flush</code></pre>



<p class="wp-block-paragraph">Attention : <code>setup:di:compile</code> et <code>static-content:deploy</code> peuvent prendre plusieurs minutes et générer une brève indisponibilité. À exécuter de préférence en dehors des heures de forte affluence, et jamais à l&rsquo;aveugle sur une boutique en production si vous n&rsquo;êtes pas sûr de vous.</p>



<h2 class="wp-block-heading">FAQ</h2>



<h3 class="wp-block-heading">Je n&rsquo;ai pas d&rsquo;accès SSH — comment faire ?</h3>



<p class="wp-block-paragraph">La quasi-totalité de ces commandes nécessitent un accès SSH au serveur. Sans lui, vos options sont très limitées — vous pouvez parfois vider le cache depuis le back-office (System → Cache Management) si celui-ci est accessible, mais c&rsquo;est tout. Si votre site est en panne et que vous n&rsquo;avez pas d&rsquo;accès SSH, contactez votre hébergeur ou un prestataire Magento en urgence.</p>



<h3 class="wp-block-heading">Ces commandes fonctionnent-elles sur toutes les versions de Magento 2 ?</h3>



<p class="wp-block-paragraph">Oui, sur l&rsquo;ensemble des versions 2.4.x. La syntaxe des commandes CLI Magento 2 est stable depuis plusieurs versions. En revanche, elles ne s&rsquo;appliquent <strong>pas</strong> à Magento 1, dont l&rsquo;architecture et les commandes sont entièrement différentes — Magento 1 n&rsquo;est plus supporté depuis juin 2020 et ne devrait plus être en production.</p>



<h3 class="wp-block-heading">Dois-je sauvegarder avant d&rsquo;exécuter ces commandes ?</h3>



<p class="wp-block-paragraph">Pour les commandes de cache et de réindexation, le risque est faible. Pour tout ce qui touche à la base de données (requêtes SQL, changement de configuration critique) ou à la structure (<code>setup:upgrade</code>), une sauvegarde préalable de la base et des fichiers est fortement recommandée. Sur une boutique de production, la règle est simple : sauvegarde systématique avant toute opération non triviale.</p>



<div style="background:#0F1E4D;border-radius:12px;padding:1.75rem 2rem;margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
  <p style="margin:0 0 0.4rem;font-weight:800;color:#F26322;font-size:1rem;">Votre boutique est en panne et vous êtes bloqué ?</p>
  <p style="margin:0 0 1.25rem;color:rgba(255,255,255,0.75);font-size:0.95rem;line-height:1.6;">On intervient en urgence sur les pannes Magento 2 — diagnostic, remise en ligne, et analyse de la cause pour éviter que ça se reproduise. Plus vite vous nous contactez, moins vous perdez de ventes.</p>
  <a href="https://www.ebusiness360.fr/contact/" style="display:inline-block;background:#F26322;color:white;padding:0.65rem 1.4rem;border-radius:999px;text-decoration:none;font-size:0.9rem;font-weight:700;">Contacter en urgence →</a>
</div>

<p>L’article <a href="https://www.ebusiness360.fr/2026/07/03/magento-2-site-en-panne-depannage-urgence/">Mon site Magento est en panne : le guide de dépannage d&rsquo;urgence (Magento 2)</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Thèmes Magento 2 : Porto, Hyvä, Breeze — ce qu&#8217;ils apportent vraiment</title>
		<link>https://www.ebusiness360.fr/2026/07/02/themes-magento-2-porto-hyva-breeze-comparatif/</link>
		
		<dc:creator><![CDATA[Maxime]]></dc:creator>
		<pubDate>Thu, 02 Jul 2026 14:00:00 +0000</pubDate>
				<category><![CDATA[Tech Magento 2]]></category>
		<guid isPermaLink="false">https://www.ebusiness360.fr/2026/07/02/themes-magento-2-porto-hyva-breeze-comparatif/</guid>

					<description><![CDATA[<p>Porto, Hyvä, Breeze : les thèmes Magento 2 les plus répandus n'ont pas la même logique. Thèmes riches vs reconstruction performance — ce qu'ils apportent vraiment et comment choisir.</p>
<p>L’article <a href="https://www.ebusiness360.fr/2026/07/02/themes-magento-2-porto-hyva-breeze-comparatif/">Thèmes Magento 2 : Porto, Hyvä, Breeze — ce qu&rsquo;ils apportent vraiment</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></description>
										<content:encoded><![CDATA[

<p class="wp-block-paragraph">Le choix du thème n&rsquo;est pas une décision cosmétique : il détermine la vitesse de votre boutique, vos scores Core Web Vitals, votre référencement et le temps que votre équipe technique passera en maintenance. Sur Magento 2, trois thèmes reviennent constamment dans les projets : Porto, Hyvä et Breeze. Mais ils ne jouent pas dans la même catégorie — et confondre leurs logiques est l&rsquo;erreur la plus fréquente.</p>



<p class="wp-block-paragraph">Précision méthodologique : il n&rsquo;existe pas de statistique publique fiable classant « les thèmes les plus installés » sur Magento 2. Les seuls chiffres d&rsquo;adoption documentés concernent Hyvä, et ils varient selon les sources. Cet article ne propose donc pas un classement, mais un panorama des thèmes les plus répandus et de ce qu&rsquo;ils apportent réellement.</p>



<h2 class="wp-block-heading">Deux familles de thèmes, deux philosophies opposées</h2>



<p class="wp-block-paragraph">Avant de comparer, il faut comprendre une distinction fondamentale. Le paysage des thèmes Magento 2 s&rsquo;est structuré autour de deux approches radicalement différentes <em>(source : WeltPixel, avril 2026 ; mgt-commerce, avril 2026)</em>.</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}</style>
<div class="eb-grid eb-grid-2">
  <div class="eb-card"><div class="eb-head eb-head-navy">Thèmes riches (Luma-based)</div><div class="eb-body">
    <p class="eb-item-title">Porto, Breeze Enterprise</p>
    <p class="eb-item-desc">Ils enrichissent le socle Luma de Magento avec des fonctionnalités prêtes à l&#8217;emploi : méga-menu, sliders, labels produits, blocs marketing, layouts multiples. Logique : donner un maximum de fonctions configurables sans développement.</p>
  </div></div>
  <div class="eb-card" style="border-color:#F26322"><div class="eb-head eb-head-orange">Reconstruction performance</div><div class="eb-body" style="background:#F26322">
    <p style="font-size:13px;font-weight:700;color:#fff;margin-bottom:2px">Hyvä</p>
    <p style="font-size:13px;color:rgba(255,255,255,0.92);line-height:1.45">Il ne « rajoute » rien : il remplace toute la couche frontend de Luma (RequireJS, KnockoutJS) par Alpine.js et Tailwind CSS. Logique inverse : retirer le poids pour gagner en vitesse.</p>
  </div></div>
</div>
</figure>



<p class="wp-block-paragraph">Cette distinction change tout : comparer Porto et Hyvä sur les « fonctionnalités incluses » n&rsquo;a pas de sens, puisque Hyvä est conçu pour être une base minimale et rapide, pas un catalogue de fonctions.</p>



<h2 class="wp-block-heading">Porto — le polyvalent riche en fonctionnalités</h2>



<p class="wp-block-paragraph">Porto est le thème Magento 2 le plus téléchargé sur ThemeForest, avec plus de 20 layouts de page d&rsquo;accueil, pour un prix d&rsquo;environ 129 $ <em>(source : WeltPixel, avril 2026)</em>. Il s&rsquo;adapte à de nombreux secteurs — mode, électronique, mobilier, accessoires — et embarque nativement les fonctionnalités que la plupart des marchands attendent.</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}</style>
<p class="eb-title">Ce que Porto apporte à Magento</p>
<div style="background:#fff;border-radius:10px;border:1.5px solid #E5E2DC;padding:14px">
  <div class="eb-row"><span class="eb-row-label">Méga-menu</span><span class="eb-row-val">Menu principal en bannière type Amazon / Best Buy</span></div>
  <div class="eb-row"><span class="eb-row-label">Layouts multiples</span><span class="eb-row-val">20+ pages d&rsquo;accueil, pages catégorie personnalisables</span></div>
  <div class="eb-row"><span class="eb-row-label">Labels produits</span><span class="eb-row-val">Étiquettes promo / nouveauté ajustables</span></div>
  <div class="eb-row" style="border-bottom:none"><span class="eb-row-label">Structure SEO</span><span class="eb-row-val">Responsive, orientée référencement</span></div>
</div>
</figure>



<p class="wp-block-paragraph">La limite est structurelle et honnête : tout thème multipurpose devient lourd si l&rsquo;on active trop de démos, scripts, sliders ou extensions. Porto contient beaucoup plus de code que Hyvä et se charge donc moins vite <em>(source : liquidweb, mai 2026 ; humcommerce, février 2026)</em>. C&rsquo;est le compromis assumé du thème « riche » : polyvalence contre performance brute.</p>



<h2 class="wp-block-heading">Hyvä — la performance avant tout</h2>



<p class="wp-block-paragraph">Hyvä a été créé par Willem Wigman, développeur néerlandais, et lancé en 2021 <em>(source : Qarbi, avril 2026)</em>. Son principe : remplacer la pile JavaScript historique de Luma par Alpine.js et Tailwind CSS, réduisant le poids du frontend de l&rsquo;ordre de 80 à 90%. En pratique, le frontend passe d&rsquo;environ 900 KB (Luma) à 100-150 KB, avec des scores Lighthouse fréquemment au-dessus de 90 <em>(source : mgt-commerce, avril 2026)</em>.</p>



<p class="wp-block-paragraph">Bonne nouvelle côté budget : <strong>le thème Hyvä est désormais gratuit et open source</strong>. Annoncé le 6 novembre 2025 lors du Meet Magento Netherlands et effectif depuis le 10 novembre 2025, Hyvä Theme est relicencié sous OSL-3.0 + AFL-3.0 — les mêmes licences que Magento Open Source — et disponible librement sur GitHub <em>(source : blog officiel Hyvä, hyva.io, 6 novembre 2025)</em>. Il était auparavant commercialisé sous licence payante annuelle par boutique. Attention toutefois : seul le thème est gratuit. Les autres produits de la gamme restent payants — Hyvä UI (250 € one-off), Hyvä Checkout (1 000 €), Hyvä Commerce (3 000 €/an) et Hyvä Enterprise (7 500 €/an) <em>(source : hyva.io, tarifs consultés en juillet 2026)</em>.



<p class="wp-block-paragraph">La contrepartie de Hyvä est réelle et doit être posée clairement : ce n&rsquo;est pas une solution clé en main. À éviter si votre équipe n&rsquo;est pas à l&rsquo;aise avec Tailwind CSS, si vous voulez un thème prêt à l&#8217;emploi avec des démos, ou si vous dépendez d&rsquo;extensions tierces qui n&rsquo;ont pas encore de module de compatibilité Hyvä <em>(source : WeltPixel, avril 2026)</em>. La compatibilité Page Builder est en revanche complète depuis la version 1.3 <em>(source : mgt-commerce, avril 2026)</em>.</p>



<p class="wp-block-paragraph">C&rsquo;est une conséquence directe de la reconstruction du frontend : parce que Hyvä remplace la couche Luma, une extension qui affiche quelque chose côté client ne fonctionne pas telle quelle — elle a besoin d&rsquo;un module de compatibilité Hyvä spécifique. La bonne nouvelle : les éditeurs d&rsquo;extensions sérieux indiquent désormais explicitement la compatibilité Hyvä sur leurs fiches produit. Avant toute migration vers Hyvä, il faut donc auditer chacune de vos extensions et vérifier qu&rsquo;une version compatible existe — sans quoi la fonctionnalité concernée devra être redéveloppée.</p>



<h2 class="wp-block-heading">Breeze (Swissup) — le compromis vitesse sans reconstruction</h2>



<p class="wp-block-paragraph">Breeze, développé par Swissup Labs, occupe une position intermédiaire intéressante : il remplace le frontend JavaScript de Magento pour gagner en vitesse, mais sans imposer la reconstruction complète qu&rsquo;exige Hyvä. La brique Breeze de base est gratuite depuis son lancement en 2022 <em>(source : swissuplabs.com, consulté en juillet 2026)</em>.</p>



<p class="wp-block-paragraph">La gamme Swissup Breeze se décline en plusieurs produits <em>(source : swissuplabs.com/breeze-extensions-and-templates.html, consulté en juillet 2026 — tarif exact à vérifier sur le site officiel car susceptible d&rsquo;évoluer)</em> :</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}</style>
<p class="eb-title">La gamme Breeze de Swissup Labs</p>
<div style="background:#fff;border-radius:10px;border:1.5px solid #E5E2DC;padding:14px">
  <div class="eb-row"><span class="eb-row-label">Module Breeze (frontend JS)</span><span class="eb-row-val">Gratuit — la brique de base</span></div>
  <div class="eb-row"><span class="eb-row-label">Breeze Evolution (thème)</span><span class="eb-row-val">Gratuit</span></div>
  <div class="eb-row"><span class="eb-row-label">Breeze Blank (thème)</span><span class="eb-row-val">Gratuit</span></div>
  <div class="eb-row" style="border-bottom:none"><span class="eb-row-label">Breeze Enterprise Frontend</span><span class="eb-row-val">Payant — 207 $ (source Swissup, juillet 2026)</span></div>
</div>
</figure>



<p class="wp-block-paragraph">L&rsquo;intérêt de Breeze : obtenir un gain de performance significatif tout en restant dans un environnement plus familier que Hyvä, sans réécrire tout le frontend en Tailwind. C&rsquo;est une voie médiane pour les boutiques qui veulent accélérer sans lancer un chantier de migration lourd.</p>



<h2 class="wp-block-heading">Lequel pour quel projet ?</h2>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}</style>
<div class="eb-grid eb-grid-3">
  <div class="eb-card"><div class="eb-head eb-head-navy">Porto</div><div class="eb-body">
    <p class="eb-item-desc">Vous voulez un thème riche, beaucoup de fonctionnalités configurables sans développement, un budget maîtrisé, et la performance brute n&rsquo;est pas votre priorité absolue.</p>
  </div></div>
  <div class="eb-card"><div class="eb-head eb-head-navy">Hyvä</div><div class="eb-body">
    <p class="eb-item-desc">La performance et les Core Web Vitals sont votre priorité, vous avez une équipe technique à l&rsquo;aise avec Tailwind, et vous acceptez un chantier de reconstruction frontend.</p>
  </div></div>
  <div class="eb-card" style="border-color:#F26322"><div class="eb-head eb-head-orange">Breeze</div><div class="eb-body" style="background:#F26322">
    <p style="font-size:13px;color:rgba(255,255,255,0.92);line-height:1.45">Vous voulez accélérer une boutique existante sans réécrire tout le frontend, en restant sur une base proche de Luma. Version gratuite pour tester, Enterprise pour aller plus loin.</p>
  </div></div>
</div>
</figure>



<p class="wp-block-paragraph">Un point que tous les comparatifs oublient : la performance réelle ne dépend pas que du thème. Elle dépend aussi de l&rsquo;hébergement, du cache, des extensions installées, du poids des images, de la qualité du développement et de la maintenance <em>(source : liquidweb, mai 2026)</em>. Un excellent thème sur un serveur mal configuré donnera de mauvais résultats. Le thème est une brique — pas une garantie.</p>



<h2 class="wp-block-heading">FAQ</h2>



<h3 class="wp-block-heading">Peut-on changer de thème sans tout casser sur une boutique existante ?</h3>



<p class="wp-block-paragraph">Changer de thème Luma-based vers un autre thème Luma-based (ex : Luma vers Porto) est relativement direct. Passer vers Hyvä est un chantier de migration à part entière : le frontend étant reconstruit en Tailwind/Alpine, vos personnalisations et l&rsquo;affichage de vos extensions doivent être refaits ou vérifiés un à un. Prévoir un environnement de staging et un audit de compatibilité des extensions avant toute décision.</p>



<h3 class="wp-block-heading">Un thème gratuit vaut-il un thème payant ?</h3>



<p class="wp-block-paragraph">Ça dépend de ce que vous cherchez. Un thème gratuit bien maintenu (Breeze Evolution, ou Hyvä si son modèle open source est confirmé) peut parfaitement convenir. Avant de choisir un thème gratuit, vérifiez le support, l&rsquo;historique des mises à jour, la documentation et la compatibilité avec votre version de Magento <em>(source : liquidweb, mai 2026)</em>. Un thème sans mise à jour depuis plus de 6 mois est un signal d&rsquo;alerte.</p>



<h3 class="wp-block-heading">Le thème influence-t-il vraiment le référencement ?</h3>



<p class="wp-block-paragraph">Oui, indirectement mais réellement. Les signaux d&rsquo;expérience de page de Google (Core Web Vitals) influencent le classement, et ces scores dépendent directement de la vitesse et de la légèreté du frontend — donc du thème <em>(source : WeltPixel, avril 2026)</em>. C&rsquo;est pour cela que le choix du thème est une décision business, pas seulement esthétique.</p>



<div style="background:#0F1E4D;border-radius:12px;padding:1.75rem 2rem;margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
  <p style="margin:0 0 0.4rem;font-weight:800;color:#F26322;font-size:1rem;">Vous hésitez sur le thème adapté à votre boutique ?</p>
  <p style="margin:0 0 1.25rem;color:rgba(255,255,255,0.75);font-size:0.95rem;line-height:1.6;">On évalue votre projet — objectifs de performance, extensions en place, budget, ressources techniques — et on vous oriente vers le thème réellement adapté, sans vous vendre une migration dont vous n&rsquo;avez pas besoin.</p>
  <a href="https://www.ebusiness360.fr/contact/" style="display:inline-block;background:#F26322;color:white;padding:0.65rem 1.4rem;border-radius:999px;text-decoration:none;font-size:0.9rem;font-weight:700;">Demander conseil sur votre thème →</a>
</div>

<p>L’article <a href="https://www.ebusiness360.fr/2026/07/02/themes-magento-2-porto-hyva-breeze-comparatif/">Thèmes Magento 2 : Porto, Hyvä, Breeze — ce qu&rsquo;ils apportent vraiment</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Mage-OS 3 : le fork communautaire de Magento — faut-il s&#8217;y intéresser ?</title>
		<link>https://www.ebusiness360.fr/2026/07/02/mage-os-3-fork-communautaire-magento-analyse/</link>
		
		<dc:creator><![CDATA[Maxime]]></dc:creator>
		<pubDate>Thu, 02 Jul 2026 12:00:00 +0000</pubDate>
				<category><![CDATA[Tech Magento 2]]></category>
		<guid isPermaLink="false">https://www.ebusiness360.fr/?p=6222</guid>

					<description><![CDATA[<p>Mage-OS 3.0, le fork communautaire de Magento sorti le 18 mai 2026 : installateur interactif, RMA natif, indépendance Adobe. Analyse technique et conseil : faut-il migrer, et pour qui ?</p>
<p>L’article <a href="https://www.ebusiness360.fr/2026/07/02/mage-os-3-fork-communautaire-magento-analyse/">Mage-OS 3 : le fork communautaire de Magento — faut-il s&rsquo;y intéresser ?</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></description>
										<content:encoded><![CDATA[

<p class="wp-block-paragraph">Si vous payez une licence Adobe Commerce ou si vous redoutez la dépendance à Adobe sur votre Magento Open Source, une alternative crédible existe désormais : Mage-OS 3.0, sortie le 18 mai 2026. C&rsquo;est un fork communautaire de Magento Open Source, indépendant d&rsquo;Adobe, qui ajoute des fonctionnalités qu&rsquo;Adobe n&rsquo;a jamais livrées — et qui s&rsquo;installe sans identifiants Adobe Marketplace. Avant de vous emballer : ce n&rsquo;est pas pour tout le monde, et je vais vous dire pour qui.</p>



<p class="wp-block-paragraph">Note de transparence : je n&rsquo;ai pas encore déployé Mage-OS en production sur les boutiques que je gère. Cet article est une analyse technique basée sur la documentation officielle et le code source, pas un retour d&rsquo;expérience terrain. Je vous le dis parce que la différence compte.</p>



<h2 class="wp-block-heading">Mage-OS, c&rsquo;est quoi exactement ?</h2>



<p class="wp-block-paragraph">Mage-OS est une distribution indépendante et à but non lucratif de Magento Open Source, portée par l&rsquo;association Mage-OS et une communauté de contributeurs (netz98, Elgentos, Swissup, integer_net, entre autres). Le projet n&rsquo;est affilié ni à Adobe ni à Magento. L&rsquo;idée : garantir la pérennité de Magento Open Source en dehors des décisions stratégiques d&rsquo;Adobe, et livrer des fonctionnalités que la communauté attend depuis longtemps.</p>



<p class="wp-block-paragraph">Mage-OS 3.0 est construit sur Magento Open Source 2.4.9. Autrement dit : vous gardez tout ce que vous connaissez de Magento, plus une couche de fonctionnalités et d&rsquo;outillage. La prochaine version fonctionnelle est prévue pour octobre 2026, et Mage-OS 3.1.0 est déjà sorti le 18 juin 2026 comme mise à jour drop-in à faible risque. <em>(Source : mage-os.org, release notes du 18 mai et 18 juin 2026.)</em></p>



<h2 class="wp-block-heading">Ce que Mage-OS 3 apporte que Magento n&rsquo;a pas</h2>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}</style>
<p class="eb-title">Les fonctionnalités natives de Mage-OS 3.0</p>
<div class="eb-grid eb-grid-2">
  <div class="eb-card"><div class="eb-head eb-head-navy">Installateur interactif</div><div class="eb-body">
    <p class="eb-item-desc">La commande <code>bin/magento install</code> lance un assistant guidé : détection automatique des services (MySQL, Redis, OpenSearch, RabbitMQ), reprise après échec, installation de Hyvä en option. La commande <code>setup:install</code> classique reste disponible pour l&rsquo;automatisation.</p>
  </div></div>
  <div class="eb-card"><div class="eb-head eb-head-navy">RMA natif</div><div class="eb-body">
    <p class="eb-item-desc">Module <code>mage-os/module-rma</code> — gestion des retours produits intégrée : le client demande un retour depuis son compte, le marchand valide. Une fonctionnalité qu&rsquo;Adobe réserve à la version Commerce payante.</p>
  </div></div>
  <div class="eb-card"><div class="eb-head eb-head-navy">Admin Activity Log</div><div class="eb-body">
    <p class="eb-item-desc">Journal d&rsquo;audit natif : qui a modifié quoi, et quand. Utile pour la conformité et le suivi d&rsquo;équipe. Basé sur l&rsquo;extension open source KiwiCommerce, refondue et sécurisée.</p>
  </div></div>
  <div class="eb-card" style="border-color:#F26322"><div class="eb-head eb-head-orange">Outillage développeur bundlé</div><div class="eb-body" style="background:#F26322">
    <p style="font-size:13px;color:rgba(255,255,255,0.95);line-height:1.45">n98-magerun2 (le CLI de référence), Ignition (pages d&rsquo;erreur détaillées), Varnish Extended et logo admin personnalisable — livrés par défaut, plus besoin de les installer manuellement.</p>
  </div></div>
</div>
</figure>



<p class="wp-block-paragraph">Deux autres points valent d&rsquo;être signalés. D&rsquo;abord un indicateur « Update available » directement dans le footer admin, qui vérifie en arrière-plan vos dépôts Composer. Ensuite une <strong>distribution Minimale</strong> (<code>mage-os/product-minimal-edition</code>) : une installation allégée à environ 98 packages de base, où vous n&rsquo;ajoutez que ce que vous utilisez. Intéressant pour les équipes qui veulent optimiser chaque milliseconde, mais qui demande de savoir composer sa propre stack.</p>



<h2 class="wp-block-heading">L&rsquo;argument qui compte : l&rsquo;indépendance vis-à-vis d&rsquo;Adobe</h2>



<p class="wp-block-paragraph">Le vrai différenciateur n&rsquo;est pas dans les fonctionnalités — c&rsquo;est dans le modèle. Mage-OS maintient un miroir public (mirror.mage-os.org) présenté comme un remplacement direct de repo.magento.com, installable <strong>sans identifiants Adobe Marketplace</strong>. <em>(Source : release note officielle du 18 mai 2026.)</em> Pour quiconque a déjà galéré avec les clés d&rsquo;authentification Adobe et les changements de conditions de Marketplace, c&rsquo;est un argument concret.</p>



<p class="wp-block-paragraph">Sur la sécurité, Mage-OS incorpore les patches de sécurité de Magento Open Source dans ses propres releases — la version 2.3.0 (13 mai 2026) a par exemple intégré les correctifs de sécurité de 2.4.8-p5. Le projet a aussi traité une vulnérabilité critique d&rsquo;upload dans sa version 2.2.1 du 18 mars 2026. <em>(Source : mage-os.org, release notes.)</em> Je ne dispose pas de données comparatives fiables sur les délais de réponse aux failles entre Mage-OS et Adobe — je ne vais donc pas affirmer que l&rsquo;un est plus rapide que l&rsquo;autre sans preuve.</p>



<h2 class="wp-block-heading">Les breaking changes à connaître avant tout upgrade</h2>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}</style>
<p class="eb-title">Ruptures de compatibilité en Mage-OS 3.0</p>
<div style="background:#fff;border-radius:10px;border:1.5px solid #E5E2DC;padding:14px">
  <div class="eb-row"><span class="eb-row-label">PHP 8.2 supprimé</span><span class="eb-row-val">Minimum PHP 8.3, PHP 8.4 recommandé, PHP 8.5 supporté</span></div>
  <div class="eb-row"><span class="eb-row-label">Symfony 6 → 7</span><span class="eb-row-val">Les extensions qui étendent symfony/console, mailer, mime, process, string doivent être mises à jour</span></div>
  <div class="eb-row"><span class="eb-row-label">Modules analytics Adobe retirés</span><span class="eb-row-val">Retirer les références à module-analytics et dérivés avant l&rsquo;upgrade</span></div>
  <div class="eb-row"><span class="eb-row-label">Magento_Backup retiré</span><span class="eb-row-val">La commande setup:backup n&rsquo;existe plus — utiliser des outils de sauvegarde système</span></div>
  <div class="eb-row" style="border-bottom:none"><span class="eb-row-label">ext-ftp retiré</span><span class="eb-row-val">Plus requis par défaut</span></div>
</div>
<p style="font-size:0.875rem;color:#6B7280;margin-top:0.75rem;font-family:'Manrope',system-ui,sans-serif;">Source : Mage-OS 3.0 release notes, section « Breaking changes », 18 mai 2026</p>
</figure>



<p class="wp-block-paragraph">Le passage Symfony 6 → 7 est le point le plus sensible : si vous utilisez des extensions tierces qui étendent des commandes CLI ou manipulent les composants Symfony, elles risquent de casser. À auditer impérativement avant toute migration.</p>



<h2 class="wp-block-heading">Faut-il migrer ? Mon analyse</h2>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}</style>
<div class="eb-grid eb-grid-2">
  <div class="eb-card"><div class="eb-head eb-head-navy">Pertinent si&#8230;</div><div class="eb-body">
    <p class="eb-item-desc">Vous êtes sur Magento Open Source et fatigué de la dépendance Adobe Marketplace</p>
    <p class="eb-item-desc">Vous voulez RMA ou un journal d&rsquo;audit sans passer à Adobe Commerce payant</p>
    <p class="eb-item-desc">Vous avez une équipe technique à l&rsquo;aise avec Composer et les montées de version</p>
    <p class="eb-item-desc">Vous démarrez un nouveau projet et pouvez choisir la base librement</p>
  </div></div>
  <div class="eb-card" style="border-color:#F26322;background:#F26322"><div class="eb-head eb-head-orange">À éviter pour l&rsquo;instant si&#8230;</div><div class="eb-body" style="background:#F26322">
    <p style="font-size:13px;color:rgba(255,255,255,0.95);line-height:1.45">Votre boutique tourne bien sur Magento Open Source et vous n&rsquo;avez aucun besoin spécifique</p>
    <p style="font-size:13px;color:rgba(255,255,255,0.95);line-height:1.45">Vous dépendez de nombreuses extensions tierces non testées sur Symfony 7</p>
    <p style="font-size:13px;color:rgba(255,255,255,0.95);line-height:1.45">Vous n&rsquo;avez pas d&rsquo;environnement de staging pour tester sereinement</p>
  </div></div>
</div>
</figure>



<p class="wp-block-paragraph">Ma position, sans détour : Mage-OS est un projet sérieux, porté par des acteurs reconnus de l&rsquo;écosystème Magento, et son existence est une bonne nouvelle pour tout le monde — y compris ceux qui resteront sur Magento Open Source, car elle met une pression saine sur Adobe. Mais migrer une boutique en production n&rsquo;est jamais anodin. Pour une boutique qui fonctionne sans friction, le principe « on ne change pas une équipe qui gagne » s&rsquo;applique. Pour un nouveau projet, ou une boutique qui souffre de la dépendance Adobe, Mage-OS mérite une évaluation sérieuse.</p>



<p class="wp-block-paragraph">La bonne démarche : tester Mage-OS sur un environnement de staging, cloner votre boutique existante, auditer la compatibilité de vos extensions avec Symfony 7 et PHP 8.3+, et mesurer ce que vous gagnez réellement. C&rsquo;est exactement le type d&rsquo;évaluation qu&rsquo;on peut mener ensemble avant toute décision.</p>



<h2 class="wp-block-heading">FAQ</h2>



<h3 class="wp-block-heading">Mage-OS est-il compatible avec mes extensions Magento actuelles ?</h3>



<p class="wp-block-paragraph">En théorie oui, puisque Mage-OS 3.0 est basé sur Magento Open Source 2.4.9 et conserve la même architecture. En pratique, le passage à Symfony 7 et PHP 8.3 minimum peut casser certaines extensions non maintenues. Il faut auditer chaque extension tierce avant migration — il n&rsquo;y a pas de réponse universelle.</p>



<h3 class="wp-block-heading">Peut-on revenir à Magento Open Source après avoir migré vers Mage-OS ?</h3>



<p class="wp-block-paragraph">Je ne dispose pas d&rsquo;information officielle claire sur une procédure de retour arrière documentée. Comme pour toute migration, la sauvegarde complète avant opération et un environnement de staging sont indispensables. À vérifier auprès de la documentation Mage-OS ou via un test réel avant de s&rsquo;engager sur une boutique de production.</p>



<h3 class="wp-block-heading">Mage-OS est-il gratuit ?</h3>



<p class="wp-block-paragraph">Oui — c&rsquo;est une distribution open source à but non lucratif, comme Magento Open Source. Vous ne payez pas de licence. Les coûts restent ceux de l&rsquo;hébergement, du développement et de la maintenance, comme sur n&rsquo;importe quelle installation Magento self-hosted.</p>



<div style="background:#0F1E4D;border-radius:12px;padding:1.75rem 2rem;margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
  <p style="margin:0 0 0.4rem;font-weight:800;color:#F26322;font-size:1rem;">Vous vous demandez si Mage-OS a du sens pour votre boutique ?</p>
  <p style="margin:0 0 1.25rem;color:rgba(255,255,255,0.75);font-size:0.95rem;line-height:1.6;">On évalue ensemble la compatibilité de vos extensions, ce que vous gagneriez concrètement, et on teste sur un environnement de staging avant toute décision — sans vous pousser à migrer si ce n&rsquo;est pas pertinent.</p>
  <a href="https://www.ebusiness360.fr/contact/" style="display:inline-block;background:#F26322;color:white;padding:0.65rem 1.4rem;border-radius:999px;text-decoration:none;font-size:0.9rem;font-weight:700;">Demander une évaluation Mage-OS →</a>
</div>

<p>L’article <a href="https://www.ebusiness360.fr/2026/07/02/mage-os-3-fork-communautaire-magento-analyse/">Mage-OS 3 : le fork communautaire de Magento — faut-il s&rsquo;y intéresser ?</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Quality Patches Magento 2 : les correctifs incontournables sur 2.4.6 → 2.4.8</title>
		<link>https://www.ebusiness360.fr/2026/06/28/quality-patches-magento-2-correctifs-incontournables/</link>
		
		<dc:creator><![CDATA[Maxime]]></dc:creator>
		<pubDate>Sun, 28 Jun 2026 06:00:00 +0000</pubDate>
				<category><![CDATA[Tech Magento 2]]></category>
		<guid isPermaLink="false">https://www.ebusiness360.fr/?p=6202</guid>

					<description><![CDATA[<p>Quality Patches Magento 2 : ACSD-63326 (Calendar/ICU), CosmicSting CVE-2024-34102, SessionReaper, phpspreadsheet. Guide des correctifs incontournables sur 2.4.6 à 2.4.8 et comment utiliser le QPT.</p>
<p>L’article <a href="https://www.ebusiness360.fr/2026/06/28/quality-patches-magento-2-correctifs-incontournables/">Quality Patches Magento 2 : les correctifs incontournables sur 2.4.6 → 2.4.8</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></description>
										<content:encoded><![CDATA[

<p class="wp-block-paragraph">Novembre 2025. On ouvre l&rsquo;admin d&rsquo;une boutique Magento 2.4.7 installée en environnement de développement et on tombe sur une page blanche avec une exception incompréhensible dans <code>Calendar.php</code>. Le serveur a été mis à jour, PHP est à jour, Magento est à jour — et pourtant le back-office est inaccessible. Après investigation : une mise à jour de la bibliothèque ICU (International Components for Unicode) avait supprimé les marqueurs AM/PM pour les langues qui utilisent nativement le format 24 heures, comme le français. Magento cherchait ces valeurs, ne les trouvait pas, et plantait.</p>



<p class="wp-block-paragraph">Ce bug a mis <strong>17 mois</strong> à obtenir un patch officiel dans le Quality Patches Tool d&rsquo;Adobe, sous la référence ACSD-63326. Il est corrigé nativement en 2.4.8. C&rsquo;est un exemple parfait de ce que sont les quality patches — et de pourquoi savoir les utiliser est une compétence clé dans la maintenance d&rsquo;une boutique Magento.</p>



<h2 class="wp-block-heading">Quality patches vs patches de sécurité — la distinction fondamentale</h2>



<p class="wp-block-paragraph">Adobe publie deux types de correctifs pour Magento, qu&rsquo;il ne faut pas confondre :</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-row-val-orange{font-size:13px;font-weight:700;color:var(--orange)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}.eb-badge-red{background:#fee2e2;color:#991b1b}.eb-badge-orange{background:rgba(242,99,34,0.15);color:var(--orange)}.eb-badge-green{background:#dcfce7;color:#166534}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<div class="eb-grid eb-grid-2">
  <div class="eb-card"><div class="eb-head eb-head-navy">Patches de sécurité (APSB)</div><div class="eb-body">
    <p class="eb-item-desc">Corrigent des vulnérabilités exploitables par des attaquants — risque de compromission</p>
    <p class="eb-item-desc" style="margin-top:6px">Publiés selon un calendrier mensuel depuis janvier 2026 — auparavant trimestriel</p>
    <p class="eb-item-desc" style="margin-top:6px">Disponibles sous forme de versions patch (2.4.7-p5, 2.4.8-p1…)</p>
    <p class="eb-item-cta eb-cta-orange" style="margin-top:8px">Priorité absolue — appliquer dans les jours qui suivent la sortie</p>
  </div></div>
  <div class="eb-card" style="border-color:#F26322"><div class="eb-head eb-head-orange">Quality Patches (ACSD, MDVA)</div><div class="eb-body" style="background:#F26322">
    <p style="font-size:13px;color:rgba(255,255,255,0.95);line-height:1.45">Corrigent des bugs de qualité — dysfonctionnements, erreurs, comportements inattendus</p>
    <p style="font-size:13px;color:rgba(255,255,255,0.9);line-height:1.45;margin-top:6px">Disponibles via le Quality Patches Tool (QPT) — applicables sans upgrade complet</p>
    <p style="font-size:13px;color:rgba(255,255,255,0.9);line-height:1.45;margin-top:6px">Chaque patch cible une version ou une plage de versions précise</p>
    <p style="font-size:13px;font-weight:700;color:#fff;margin-top:8px">Appliquer selon les bugs rencontrés sur votre boutique</p>
  </div></div>
</div>
</figure>



<p class="wp-block-paragraph">Le QPT est livré sous forme de package Composer et s&rsquo;installe en une commande. Il permet de lister les patches disponibles pour votre version, de les appliquer et de les annuler sans toucher au code core de Magento.</p>



<pre><code># Installer le QPT
composer require magento/quality-patches

# Lister les patches disponibles pour votre version
./vendor/bin/magento-patches status

# Appliquer un patch
./vendor/bin/magento-patches apply ACSD-63326

# Annuler un patch
./vendor/bin/magento-patches revert ACSD-63326</code></pre>



<h2 class="wp-block-heading">ACSD-63326 — Calendar.php et ICU 74+ (le bug du fil rouge)</h2>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-row-val-orange{font-size:13px;font-weight:700;color:var(--orange)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}.eb-badge-red{background:#fee2e2;color:#991b1b}.eb-badge-orange{background:rgba(242,99,34,0.15);color:var(--orange)}.eb-badge-green{background:#dcfce7;color:#166534}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<div class="eb-grid eb-grid-3">
  <div class="eb-card"><div class="eb-head eb-head-navy">Versions affectées</div><div class="eb-body">
    <p class="eb-item-desc">2.4.6 à 2.4.7-px inclus<br>Avec ICU ≥ 74.1 sur le serveur</p>
  </div></div>
  <div class="eb-card"><div class="eb-head eb-head-navy">Symptôme</div><div class="eb-body">
    <p class="eb-item-desc">Back-office inaccessible ou page blanche — erreur sur <code>Calendar.php</code> ligne 114</p>
  </div></div>
  <div class="eb-card" style="border-color:#F26322"><div class="eb-head eb-head-orange">Statut</div><div class="eb-body" style="background:#F26322">
    <p style="font-size:13px;color:rgba(255,255,255,0.95)">ACSD-63326 disponible via QPT v1.1.57</p>
    <p style="font-size:13px;color:rgba(255,255,255,0.9);margin-top:4px">Corrigé nativement en 2.4.8</p>
  </div></div>
</div>
</figure>



<p class="wp-block-paragraph">La cause : la bibliothèque ICU, utilisée par l&rsquo;extension PHP <code>intl</code>, a supprimé les balises AM/PM pour les langues qui n&rsquo;en ont pas besoin (format 24h, comme le français). Magento cherchait <code>$localeData['calendar']['gregorian']['AmPmMarkers']['0']</code>, obtenait <code>null</code>, et PHP 8 transformait cet accès en exception fatale.</p>



<p class="wp-block-paragraph">Trois solutions selon votre contexte :</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-row-val-orange{font-size:13px;font-weight:700;color:var(--orange)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}.eb-badge-red{background:#fee2e2;color:#991b1b}.eb-badge-orange{background:rgba(242,99,34,0.15);color:var(--orange)}.eb-badge-green{background:#dcfce7;color:#166534}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<p class="eb-title">Trois façons de corriger ACSD-63326 selon votre situation</p>
<div style="background:#fff;border-radius:10px;border:1.5px solid #E5E2DC;padding:14px">
  <div class="eb-step">
    <div class="eb-step-num">1</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Patch direct sur vendor/ (le plus rapide)</p>
      <p class="eb-step-desc">Remplacer les deux lignes problématiques par une version avec opérateur <code>??</code> — attention : ce patch est écrasé à chaque upgrade Magento et doit être réappliqué</p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">2</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Module Maxcode_CalendarFix (le plus robuste avant 2.4.8)</p>
      <p class="eb-step-desc">Un module de preference qui surcharge la méthode <code>_toHtml()</code> avec un guard sur <code>isset()</code> — survit aux upgrades, maintenable proprement via Composer</p>
    </div>
  </div>
  <div class="eb-step" style="border-bottom:none">
    <div class="eb-step-num eb-step-num-orange">3</div>
    <div class="eb-step-body">
      <p class="eb-step-title" style="color:#F26322">ACSD-63326 via QPT (la solution officielle)</p>
      <p class="eb-step-desc">Disponible depuis QPT v1.1.57 — solution propre, traçable, réversible. À préférer sur les versions 2.4.6 et 2.4.7 tant que la migration vers 2.4.8 n&rsquo;est pas faite</p>
    </div>
  </div>
</div>
</figure>



<h2 class="wp-block-heading">CosmicSting — CVE-2024-34102 (CVSS 9.8)</h2>



<p class="wp-block-paragraph">CosmicSting est la vulnérabilité Magento la plus exploitée de 2024. Une faille d&rsquo;injection XML externe (XXE) dans l&rsquo;API REST permettait à un attaquant non authentifié de lire des fichiers arbitraires sur le serveur — dont le fichier <code>app/etc/env.php</code> qui contient la clé de chiffrement. Avec cette clé, l&rsquo;attaquant pouvait forger des tokens JWT valides et obtenir un accès admin complet, puis enchaîner avec une exécution de code à distance via une faille glibc (CVE-2024-2961).</p>



<p class="wp-block-paragraph">Cette vulnérabilité a conduit à plus de 4 275 boutiques compromises, réparties entre sept groupes d&rsquo;attaquants distincts. Elle affectait toutes les versions de Magento jusqu&rsquo;à 2.4.7 inclus avant le patch.</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-row-val-orange{font-size:13px;font-weight:700;color:var(--orange)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}.eb-badge-red{background:#fee2e2;color:#991b1b}.eb-badge-orange{background:rgba(242,99,34,0.15);color:var(--orange)}.eb-badge-green{background:#dcfce7;color:#166534}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<div class="eb-grid eb-grid-3">
  <div class="eb-card" style="border-color:#F26322"><div class="eb-head eb-head-orange">CVE-2024-34102</div><div class="eb-body">
    <p class="eb-item-title">CVSS 9.8 — Critique</p>
    <p class="eb-item-desc">XXE unauthenticated — lecture de fichiers serveur, forge de tokens admin, exécution de code</p>
    <p class="eb-item-cta" style="color:#F26322;margin-top:8px;font-size:13px;font-weight:700">4 275 boutiques compromises</p>
  </div></div>
  <div class="eb-card"><div class="eb-head eb-head-navy">Versions affectées</div><div class="eb-body">
    <p class="eb-item-desc">2.4.4 à 2.4.4-p8<br>2.4.5 à 2.4.5-p7<br>2.4.6 à 2.4.6-p5<br>2.4.7 (non patché)</p>
  </div></div>
  <div class="eb-card"><div class="eb-head eb-head-navy">Correctif</div><div class="eb-body">
    <p class="eb-item-desc">Patch isolé APSB24-40 sur Adobe Experience League</p>
    <p class="eb-item-desc" style="margin-top:6px">Inclus dans 2.4.6-p6, 2.4.5-p8, 2.4.4-p9, 2.4.7-p1</p>
    <p class="eb-item-desc" style="margin-top:6px">+ Rotation des clés de chiffrement recommandée si exposition possible</p>
  </div></div>
</div>
</figure>



<p class="wp-block-paragraph">Un point crucial souvent négligé : appliquer le patch ne suffit pas si votre boutique a déjà été exposée avant. La clé de chiffrement peut avoir été lue. Il faut dans ce cas effectuer une rotation de clé via <code>php bin/magento encryption:key:change</code> (disponible nativement en 2.4.8, nécessite un patch sur les versions antérieures) et vérifier l&rsquo;absence de backdoor dans les fichiers.</p>



<h2 class="wp-block-heading">SessionReaper — CVE-2025-54236 (CVSS 9.1)</h2>



<p class="wp-block-paragraph">Plus récent et tout aussi préoccupant : SessionReaper est une faille de validation d&rsquo;entrée dans l&rsquo;API REST de Magento qui permettait à un attaquant de détourner des comptes clients et d&rsquo;obtenir un accès serveur par exécution de code à distance. Plus de 250 boutiques ont été compromises dans les 24 heures suivant la publication du patch en octobre 2025. Six semaines après la sortie du correctif, 62% des boutiques Magento restaient encore vulnérables.</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-row-val-orange{font-size:13px;font-weight:700;color:var(--orange)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}.eb-badge-red{background:#fee2e2;color:#991b1b}.eb-badge-orange{background:rgba(242,99,34,0.15);color:var(--orange)}.eb-badge-green{background:#dcfce7;color:#166534}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<div class="eb-grid eb-grid-3">
  <div class="eb-card" style="border-color:#F26322"><div class="eb-head eb-head-orange">CVE-2025-54236</div><div class="eb-body">
    <p class="eb-item-title">CVSS 9.1 — Critique</p>
    <p class="eb-item-desc">Hijacking de comptes clients via API REST + exécution de code à distance</p>
    <p class="eb-item-cta" style="color:#F26322;margin-top:8px;font-size:13px;font-weight:700">250+ boutiques en 24h</p>
  </div></div>
  <div class="eb-card"><div class="eb-head eb-head-navy">Fenêtre d&rsquo;exposition</div><div class="eb-body">
    <p class="eb-item-desc">Exploitée massivement dès la publication du patch</p>
    <p class="eb-item-desc" style="margin-top:6px">62% des boutiques encore exposées 6 semaines après</p>
  </div></div>
  <div class="eb-card"><div class="eb-head eb-head-navy">Leçon</div><div class="eb-body">
    <p class="eb-item-desc">Les attaquants analysent les patches dès leur sortie pour reverse-engineer les failles</p>
    <p class="eb-item-desc" style="margin-top:6px">La fenêtre entre sortie du patch et exploitation active se réduit d&rsquo;année en année</p>
  </div></div>
</div>
</figure>



<h2 class="wp-block-heading">phpspreadsheet — CVEs sur la librairie d&rsquo;import/export</h2>



<p class="wp-block-paragraph">Magento utilise la bibliothèque <code>phpoffice/phpspreadsheet</code> pour toutes les opérations d&rsquo;import et d&rsquo;export de données (produits, clients, commandes). Cette bibliothèque a été affectée par plusieurs CVEs en 2024-2025, dont des failles permettant l&rsquo;injection de formules dans les fichiers Excel générés (CSV injection) et des failles de traversée de répertoire.</p>



<p class="wp-block-paragraph">Ces vulnérabilités ne sont pas des patches Magento à proprement parler — elles se corrigent en mettant à jour la version de phpspreadsheet dans le <code>composer.json</code> de votre projet. La version 1.30.4+ (pour Magento 2.4.7 et antérieur) ou 2.x (pour les projets qui peuvent migrer) corrige les CVEs documentées. C&rsquo;est un point systématiquement vérifié dans nos interventions de maintenance.</p>



<h2 class="wp-block-heading">ACSD-51892 — Config files chargés plusieurs fois</h2>



<p class="wp-block-paragraph">Ce patch corrige un problème de performance où les fichiers de configuration Magento étaient chargés plusieurs fois lors d&rsquo;un même cycle de requête, entraînant une dégradation notable des temps de réponse de l&rsquo;admin sur les boutiques avec une configuration volumineuse. Il a été absorbé nativement dans les patches 2.4.6-p2 et 2.4.6-p3 — si vous êtes encore sur 2.4.6-p1, ce patch seul peut régler des lenteurs inexpliquées dans le back-office.</p>



<h2 class="wp-block-heading">Tableau récapitulatif — patches par version</h2>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-row-val-orange{font-size:13px;font-weight:700;color:var(--orange)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}.eb-badge-red{background:#fee2e2;color:#991b1b}.eb-badge-orange{background:rgba(242,99,34,0.15);color:var(--orange)}.eb-badge-green{background:#dcfce7;color:#166534}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<p class="eb-title">Patches incontournables selon votre version Magento</p>
<div style="border-radius:10px;overflow:hidden;border:1.5px solid #E5E2DC;background:#fff">
  <div style="display:grid;grid-template-columns:1fr 1fr 1fr 1fr;background:#0F1E4D;padding:9px 14px;gap:8px">
    <span style="font-size:12px;font-weight:800;color:#fff">Patch / CVE</span>
    <span style="font-size:12px;font-weight:800;color:rgba(255,255,255,0.7)">Criticité</span>
    <span style="font-size:12px;font-weight:800;color:rgba(255,255,255,0.7)">Versions concernées</span>
    <span style="font-size:12px;font-weight:800;color:#F26322">Statut en 2.4.8</span>
  </div>
  <div style="padding:0 14px">
    <div style="display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #E5E2DC">
      <span style="font-size:12px;font-weight:700;color:#0B1426">CVE-2024-34102<br><small style="font-weight:400;color:#6B7280">CosmicSting</small></span>
      <span class="eb-badge eb-badge-red">CVSS 9.8</span>
      <span style="font-size:13px;color:#6B7280">2.4.4 → 2.4.7</span>
      <span style="font-size:13px;font-weight:700;color:#166534">✓ Natif</span>
    </div>
    <div style="display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #E5E2DC">
      <span style="font-size:12px;font-weight:700;color:#0B1426">CVE-2025-54236<br><small style="font-weight:400;color:#6B7280">SessionReaper</small></span>
      <span class="eb-badge eb-badge-red">CVSS 9.1</span>
      <span style="font-size:13px;color:#6B7280">2.4.6 → 2.4.8-p4</span>
      <span style="font-size:13px;font-weight:700;color:#F26322">Patch requis</span>
    </div>
    <div style="display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #E5E2DC">
      <span style="font-size:12px;font-weight:700;color:#0B1426">ACSD-63326<br><small style="font-weight:400;color:#6B7280">Calendar / ICU</small></span>
      <span class="eb-badge eb-badge-orange">Qualité</span>
      <span style="font-size:13px;color:#6B7280">2.4.6 → 2.4.7-px</span>
      <span style="font-size:13px;font-weight:700;color:#166534">✓ Natif</span>
    </div>
    <div style="display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #E5E2DC">
      <span style="font-size:12px;font-weight:700;color:#0B1426">phpspreadsheet<br><small style="font-weight:400;color:#6B7280">CVEs multiples</small></span>
      <span class="eb-badge eb-badge-orange">Moyen</span>
      <span style="font-size:13px;color:#6B7280">Toutes versions</span>
      <span style="font-size:13px;font-weight:700;color:#F26322">Composer update</span>
    </div>
    <div style="display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;align-items:center;padding:8px 0">
      <span style="font-size:12px;font-weight:700;color:#0B1426">ACSD-51892<br><small style="font-weight:400;color:#6B7280">Config load perf</small></span>
      <span class="eb-badge" style="background:#f1efe8;color:#444">Perf</span>
      <span style="font-size:13px;color:#6B7280">2.4.6 → 2.4.6-p1</span>
      <span style="font-size:13px;font-weight:700;color:#166534">✓ Depuis p2</span>
    </div>
  </div>
</div>
<p style="font-size:0.875rem;color:#6B7280;margin-top:0.75rem;font-family:'Manrope',system-ui,sans-serif;">Vérifie ça avant d&rsquo;agir — les versions affectées peuvent évoluer avec les nouvelles releases. Source : Adobe Experience League, Sansec</p>
</figure>



<h2 class="wp-block-heading">Comment utiliser le QPT efficacement</h2>



<p class="wp-block-paragraph">Quelques règles de bonne pratique issues de notre usage quotidien du QPT sur des boutiques en production :</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-row-val-orange{font-size:13px;font-weight:700;color:var(--orange)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}.eb-badge-red{background:#fee2e2;color:#991b1b}.eb-badge-orange{background:rgba(242,99,34,0.15);color:var(--orange)}.eb-badge-green{background:#dcfce7;color:#166534}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<p class="eb-title">Bonnes pratiques QPT</p>
<div class="eb-grid eb-grid-2">
  <div class="eb-card"><div class="eb-head eb-head-navy">✓ À faire</div><div class="eb-body">
    <div><p class="eb-item-title">Toujours tester en staging d&rsquo;abord</p><p class="eb-item-desc">Un patch peut résoudre un bug et en introduire un autre — staging obligatoire</p></div>
    <div><p class="eb-item-title">Documenter les patches appliqués</p><p class="eb-item-desc">Tenir un registre des patches actifs — indispensable lors d&rsquo;un futur upgrade</p></div>
    <div><p class="eb-item-title">Vérifier la compatibilité avant upgrade</p><p class="eb-item-desc">Certains patches ACSD ne sont plus nécessaires en version supérieure — les révoquer avant</p></div>
  </div></div>
  <div class="eb-card" style="border-color:#F26322"><div class="eb-head eb-head-orange">✗ À éviter</div><div class="eb-body">
    <div><p class="eb-item-desc">Appliquer en masse sans vérifier les conflits entre patches</p></div>
    <div><p class="eb-item-desc">Oublier de réappliquer les patches après un upgrade de Magento</p></div>
    <div><p class="eb-item-desc">Confondre patch qualité et patch sécurité — priorités très différentes</p></div>
    <div><p class="eb-item-desc">Adobe le dit lui-même : ne pas appliquer un grand nombre de patches en même temps — ça complexifie les futurs upgrades</p></div>
  </div></div>
</div>
</figure>



<h2 class="wp-block-heading">La vraie difficulté : savoir quels patches s&rsquo;appliquent à vous</h2>



<p class="wp-block-paragraph">Le QPT liste des centaines de patches disponibles. La commande <code>./vendor/bin/magento-patches status</code> filtre automatiquement ceux compatibles avec votre version — mais elle ne vous dit pas lesquels vous concernent réellement. Un patch qui corrige un bug sur les produits téléchargeables n&rsquo;est pas pertinent si vous ne vendez que du physique. Un patch de performance sur GraphQL n&rsquo;a pas d&rsquo;intérêt si vous n&rsquo;utilisez pas d&rsquo;application headless.</p>



<p class="wp-block-paragraph">C&rsquo;est là que l&rsquo;expérience terrain fait la différence. Savoir identifier les patches pertinents selon la configuration d&rsquo;une boutique spécifique — ses extensions, ses personnalisations, son usage de l&rsquo;API — c&rsquo;est une partie non négligeable du travail de maintenance proactive.</p>



<h2 class="wp-block-heading">FAQ</h2>


<!-- wp:heading level -->
<h3>Les patches QPT sont-ils écrasés lors d&rsquo;un upgrade Magento ?</h3>
<!-- /wp:post-content -->

<!-- wp:paragraph -->
<p>Les patches QPT modifient les fichiers vendor via un mécanisme de patching Composer — ils sont donc effectivement écrasés lors d&rsquo;un <code>composer update</code>. C&rsquo;est une des raisons pour lesquelles il faut documenter les patches appliqués et vérifier, après chaque upgrade, si les patches sont toujours nécessaires (parfois le bug est corrigé nativement dans la nouvelle version) et si oui, les réappliquer.</p>
<!-- /wp:paragraph -->

<!-- wp:heading level -->
<h3>Comment savoir si mon site a déjà été compromis via CosmicSting ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Les indicateurs à vérifier : présence de fichiers PHP suspects dans <code>pub/media/</code> ou <code>pub/static/</code>, comptes admin créés récemment que vous ne reconnaissez pas, modifications dans les blocs CMS de la page checkout. L&rsquo;outil Sansec Ecomscan est une référence pour détecter les traces de compromission sur une boutique Magento. Si vous avez un doute, une analyse approfondie par un prestataire spécialisé est recommandée avant de simplement appliquer le patch.</p>
<!-- /wp:paragraph -->

<!-- wp:heading level -->
<h3>Faut-il appliquer tous les patches ACSD disponibles pour ma version ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Non — et Adobe le déconseille explicitement. Appliquer un grand nombre de patches augmente la complexité du code et rend les futurs upgrades plus difficiles. La bonne approche est de cibler les patches qui correspondent à des bugs réellement rencontrés sur votre boutique, ou aux quelques patches de performance/qualité reconnus comme bénéfiques pour la majorité des installations.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="background:#0F1E4D;border-radius:12px;padding:1.75rem 2rem;margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
  <p style="margin:0 0 0.4rem;font-weight:800;color:#F26322;font-size:1rem;">Vous ne savez pas quels patches s&rsquo;appliquent à votre boutique ?</p>
  <p style="margin:0 0 1.25rem;color:rgba(255,255,255,0.75);font-size:0.95rem;line-height:1.6;">Dans notre forfait de maintenance mensuelle, on audit les patches applicables, on identifie ceux qui vous concernent et on les applique proprement — avec documentation et tests. Aucune surprise lors de vos prochains upgrades.</p>
  <a href="https://www.ebusiness360.fr/contact/" style="display:inline-block;background:#F26322;color:white;padding:0.65rem 1.4rem;border-radius:999px;text-decoration:none;font-size:0.9rem;font-weight:700;">Demander un audit patches →</a>
</div>
<!-- /wp:html -->
<p>L’article <a href="https://www.ebusiness360.fr/2026/06/28/quality-patches-magento-2-correctifs-incontournables/">Quality Patches Magento 2 : les correctifs incontournables sur 2.4.6 → 2.4.8</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Intrusion sur une boutique Magento : retour d&#8217;expérience d&#8217;une remédiation en 4h</title>
		<link>https://www.ebusiness360.fr/2026/06/27/intrusion-boutique-magento-remediation-48h/</link>
		
		<dc:creator><![CDATA[Maxime]]></dc:creator>
		<pubDate>Sat, 27 Jun 2026 06:00:00 +0000</pubDate>
				<category><![CDATA[Cas client]]></category>
		<category><![CDATA[Sécurité]]></category>
		<guid isPermaLink="false">https://www.ebusiness360.fr/?p=6206</guid>

					<description><![CDATA[<p>Retour d'expérience : une boutique Magento compromise par PolyShell — webshells, skimmer JS, compte admin frauduleux. Chronologie de la remédiation complète en 48 heures.</p>
<p>L’article <a href="https://www.ebusiness360.fr/2026/06/27/intrusion-boutique-magento-remediation-48h/">Intrusion sur une boutique Magento : retour d&rsquo;expérience d&rsquo;une remédiation en 4h</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></description>
										<content:encoded><![CDATA[

<p class="wp-block-paragraph">Un vendredi soir, le propriétaire d&rsquo;une boutique Magento reçoit un signalement inhabituel : des clients se plaignent de débits bancaires suspects après avoir commandé. Ce n&rsquo;est pas un bug de caisse. Ce n&rsquo;est pas une erreur de paiement. C&rsquo;est une intrusion — un attaquant a compromis la boutique, déposé un skimmer JavaScript dans le processus de checkout, et collectait silencieusement les données bancaires depuis plusieurs semaines.</p>



<p class="wp-block-paragraph">Voici le déroulement de cette intervention, de la détection à la remédiation complète, en moins de 4 heures.</p>



<h2 class="wp-block-heading">Le contexte de l&rsquo;intrusion</h2>



<p class="wp-block-paragraph">La boutique concernée tournait sur Magento 2.4.6 avec des mises à jour de sécurité partielles — le dernier patch de sécurité n&rsquo;avait pas été appliqué depuis plusieurs mois. Le vecteur d&rsquo;intrusion identifié a posteriori : la faille PolyShell, exploitée via l&rsquo;upload de fichiers malveillants dans le dossier des options de commande personnalisées (<code>pub/media/custom_options/quote/</code>). Cette faille permettait à un attaquant de déposer un fichier PHP déguisé en fichier image et de l&rsquo;exécuter directement via son URL.</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<p class="eb-title">Ce que l&rsquo;attaquant avait mis en place</p>
<div class="eb-grid eb-grid-3">
  <div class="eb-card" style="border-color:#F26322"><div class="eb-head eb-head-orange">Webshells</div><div class="eb-body" style="background:#F26322">
    <p style="font-size:13px;color:rgba(255,255,255,0.95);line-height:1.45">Plus de 400 fichiers PHP malveillants dans <code style="background:rgba(0,0,0,0.25);color:#fff;padding:1px 5px;border-radius:4px">pub/media/</code> — portes dérobées permanentes donnant accès complet au serveur</p>
  </div></div>
  <div class="eb-card"><div class="eb-head eb-head-navy">Skimmer JS</div><div class="eb-body">
    <p class="eb-item-desc">Code JavaScript injecté dans un bloc CMS de la page checkout — capturait les données de carte bancaire à la saisie et les exfiltrait vers un serveur externe</p>
  </div></div>
  <div class="eb-card"><div class="eb-head eb-head-navy">Compte admin frauduleux</div><div class="eb-body">
    <p class="eb-item-desc">Un compte administrateur créé à l&rsquo;insu du propriétaire — permettait un accès persistant à l&rsquo;interface d&rsquo;administration même sans les webshells</p>
  </div></div>
</div>
</figure>



<h2 class="wp-block-heading">Heure par heure — les 4 heures d&rsquo;intervention</h2>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<p class="eb-title">Chronologie de la remédiation</p>
<div style="background:#fff;border-radius:10px;border:1.5px solid #E5E2DC;padding:14px">
  <div class="eb-step">
    <div class="eb-step-num">H+0</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Signalement et triage</p>
      <p class="eb-step-desc">Réception du signalement client. Première analyse des logs serveur et des fichiers récemment modifiés. Confirmation de la compromission — décision de passer en mode incident.</p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">H+0.5</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Isolation et préservation</p>
      <p class="eb-step-desc">Activation du mode maintenance Magento pour isoler la boutique sans couper le serveur. Sauvegarde complète de l&rsquo;état compromis pour analyse forensique. Purge du cache Varnish pour supprimer immédiatement le skimmer JS du cache.</p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">H+1</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Détection des webshells</p>
      <p class="eb-step-desc">Scan systématique du répertoire <code>pub/media/</code> à la recherche de fichiers PHP — 400+ fichiers malveillants identifiés et supprimés. Vérification étendue à l&rsquo;ensemble des répertoires accessibles publiquement.</p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">H+2</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Nettoyage du skimmer et du compte frauduleux</p>
      <p class="eb-step-desc">Identification du bloc CMS contenant le code malveillant via analyse SQL directe en base. Suppression du script JavaScript d&rsquo;exfiltration. Audit complet des comptes administrateurs — identification et désactivation du compte créé par l&rsquo;attaquant. Réinitialisation des mots de passe et tokens de session.</p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">H+3</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Correction de la vulnérabilité</p>
      <p class="eb-step-desc">Déploiement du module <code>Maxcode_FileOptionFix</code> — patch applicatif corrigeant la validation des uploads de fichiers sur les options de commande. Tests approfondis sur l&rsquo;ensemble des fonctionnalités affectées.</p>
    </div>
  </div>
  <div class="eb-step" style="border-bottom:none">
    <div class="eb-step-num eb-step-num-orange">H+4</div>
    <div class="eb-step-body">
      <p class="eb-step-title" style="color:#F26322">Upgrade et remise en ligne</p>
      <p class="eb-step-desc">Upgrade vers Magento 2.4.7-p9 incluant le correctif natif de PolyShell. Application des patches de sécurité en attente. Tests tunnel de commande complets. Désactivation du mode maintenance — boutique remise en ligne.</p>
    </div>
  </div>
</div>
</figure>



<h2 class="wp-block-heading">Le vecteur d&rsquo;attaque — comprendre PolyShell</h2>



<p class="wp-block-paragraph">La faille exploitée ici est connue sous le nom de PolyShell. Elle tire son origine d&rsquo;une validation insuffisante des fichiers uploadés via les options de commande personnalisées de type « File » dans Magento. Un attaquant pouvait déposer un fichier PHP dont l&rsquo;extension était masquée ou dont le type MIME était falsifié. Magento stockait ce fichier dans un répertoire accessible publiquement sur le web, et l&rsquo;attaquant pouvait ensuite l&rsquo;exécuter directement via son URL — lui donnant un accès shell complet au serveur.</p>



<p class="wp-block-paragraph">Cette vulnérabilité existait depuis les premières versions de Magento 2 et n&rsquo;a reçu un correctif natif officiel qu&rsquo;avec le bulletin APSB26-05 intégré dans les patches de sécurité de début 2026. Pendant toute cette période, les boutiques exposées pouvaient être compromises sans qu&rsquo;aucune erreur visible ne se manifeste côté utilisateur.</p>



<h2 class="wp-block-heading">Les trois indicateurs qui auraient permis une détection plus précoce</h2>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<div class="eb-grid eb-grid-3">
  <div class="eb-card"><div class="eb-head eb-head-navy">Fichiers suspects dans pub/media/</div><div class="eb-body">
    <p class="eb-item-desc">Des fichiers avec des extensions <code>.php</code> dans un répertoire normalement réservé aux médias — un scan régulier de ce type de fichiers aurait détecté l&rsquo;intrusion bien plus tôt</p>
  </div></div>
  <div class="eb-card"><div class="eb-head eb-head-navy">Requêtes réseau vers l&rsquo;extérieur</div><div class="eb-body">
    <p class="eb-item-desc">Le skimmer JS envoyait des données vers un domaine externe — visible dans les logs réseau ou les rapports Content Security Policy si la boutique en avait une</p>
  </div></div>
  <div class="eb-card" style="border-color:#F26322"><div class="eb-head eb-head-orange">Compte admin inconnu</div><div class="eb-body" style="background:#F26322">
    <p style="font-size:13px;color:rgba(255,255,255,0.95);line-height:1.45">Un compte administrateur que personne ne reconnaît — une vérification périodique de la liste des comptes admin est un réflexe de sécurité basique souvent négligé</p>
  </div></div>
</div>
</figure>



<h2 class="wp-block-heading">Ce qui a été mis en place pour éviter la récidive</h2>



<p class="wp-block-paragraph">Au-delà de la remédiation immédiate, plusieurs mesures structurelles ont été déployées pour réduire durablement la surface d&rsquo;attaque :</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<div style="background:#fff;border-radius:10px;border:1.5px solid #E5E2DC;padding:14px">
  <div class="eb-row"><div><p class="eb-item-title">Règle Apache — blocage de l&rsquo;exécution PHP dans pub/media/</p><p class="eb-item-desc">Une règle <code>.htaccess</code> empêchant l&rsquo;exécution de tout fichier PHP dans les répertoires de médias — même si un webshell réussissait à s&rsquo;y déposer, il ne pourrait plus être exécuté</p></div></div>
  <div class="eb-row"><div><p class="eb-item-title">Module Maxcode_FileOptionFix</p><p class="eb-item-desc">Patch applicatif sur la validation des uploads — renforcement du contrôle du type MIME et de l&rsquo;extension réelle des fichiers uploadés via les options de commande</p></div></div>
  <div class="eb-row"><div><p class="eb-item-title">Surveillance des fichiers PHP dans pub/</p><p class="eb-item-desc">Mise en place d&rsquo;un scan automatique périodique pour détecter l&rsquo;apparition de fichiers PHP dans les répertoires publics</p></div></div>
  <div class="eb-row"><div><p class="eb-item-title">Audit des comptes admin</p><p class="eb-item-desc">Revue et nettoyage des comptes administrateurs — restriction des accès au strict nécessaire</p></div></div>
  <div class="eb-row" style="border-bottom:none"><div><p class="eb-item-title">Processus de mise à jour régularisé</p><p class="eb-item-desc">Mise en place d&rsquo;un suivi mensuel des patches de sécurité — les délais d&rsquo;application sont désormais de quelques jours, pas de plusieurs mois</p></div></div>
</div>
</figure>



<h2 class="wp-block-heading">Ce que ce cas illustre sur la sécurité Magento</h2>



<p class="wp-block-paragraph">Plusieurs enseignements ressortent de cette intervention, qu&rsquo;on retrouve dans la quasi-totalité des cas de compromission Magento que nous traitons :</p>



<p class="wp-block-paragraph"><strong>La compromission précède toujours le signalement de plusieurs semaines.</strong> Dans ce cas, le skimmer était actif depuis environ trois semaines avant que les premiers clients se manifestent. Pendant ce temps, des centaines de transactions avaient eu lieu avec le code malveillant actif.</p>



<p class="wp-block-paragraph"><strong>Les patches de sécurité en retard sont le vecteur numéro un.</strong> La faille exploitée était connue, documentée, et un patch existait. Le délai d&rsquo;application — plusieurs mois — a suffi aux attaquants pour exploiter la fenêtre d&rsquo;exposition.</p>



<p class="wp-block-paragraph"><strong>La remédiation ne se limite pas à supprimer les fichiers malveillants.</strong> Supprimer les webshells sans colmater la brèche d&rsquo;origine ne sert à rien — l&rsquo;attaquant peut re-déposer ses fichiers en quelques minutes. La séquence correcte est : isoler → analyser → corriger la vulnérabilité → nettoyer → surveiller.</p>



<h2 class="wp-block-heading">FAQ</h2>


<!-- wp:heading level -->
<h3>Comment savoir si ma boutique a été compromise de la même façon ?</h3>
<!-- /wp:post-content -->

<!-- wp:paragraph -->
<p>La commande suivante permet de détecter la présence de fichiers PHP dans les répertoires publics de Magento :</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre><code>find pub/media/ pub/static/ -name "*.php" -type f 2>/dev/null</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>Si cette commande retourne des résultats, c&rsquo;est un signal d&rsquo;alerte fort. Vérifiez également la liste des comptes administrateurs et l&rsquo;ensemble des blocs CMS de votre page checkout pour détecter la présence de code JavaScript inattendu.</p>
<!-- /wp:paragraph -->

<!-- wp:heading level -->
<h3>Mes clients dont les données ont été volées doivent-ils être prévenus ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Oui — et c&rsquo;est une obligation légale en France. Le RGPD impose de notifier la CNIL dans les 72 heures suivant la découverte d&rsquo;une violation de données à caractère personnel, et d&rsquo;informer les personnes concernées si la violation est susceptible d&rsquo;engendrer un risque élevé pour leurs droits et libertés. Une compromission de données bancaires entre dans ce cadre. Consultez un professionnel juridique pour vous accompagner dans cette démarche.</p>
<!-- /wp:paragraph -->

<!-- wp:heading level -->
<h3>Puis-je gérer ce type d&rsquo;incident seul ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La partie technique de la remédiation — suppression des webshells, nettoyage des blocs CMS, correction de la vulnérabilité — est faisable avec de bonnes compétences Magento et Linux. Ce qui est plus difficile à gérer seul : s&rsquo;assurer qu&rsquo;aucune backdoor ne subsiste, identifier avec certitude toute la durée d&rsquo;exposition, et mettre en place les mesures structurelles pour éviter la récidive. Une deuxième paire d&rsquo;yeux spécialisée sur un incident de ce type vaut toujours l&rsquo;investissement.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="background:#0F1E4D;border-radius:12px;padding:1.75rem 2rem;margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
  <p style="margin:0 0 0.4rem;font-weight:800;color:#F26322;font-size:1rem;">Vous avez un doute sur l&rsquo;état de sécurité de votre boutique Magento ?</p>
  <p style="margin:0 0 1.25rem;color:rgba(255,255,255,0.75);font-size:0.95rem;line-height:1.6;">On fait un audit de sécurité complet — fichiers suspects, comptes admin, patches manquants, blocs CMS — et on vous donne un rapport clair sur ce qui nécessite une action immédiate.</p>
  <a href="https://www.ebusiness360.fr/contact/" style="display:inline-block;background:#F26322;color:white;padding:0.65rem 1.4rem;border-radius:999px;text-decoration:none;font-size:0.9rem;font-weight:700;">Demander un audit de sécurité →</a>
</div>
<!-- /wp:html -->
<p>L’article <a href="https://www.ebusiness360.fr/2026/06/27/intrusion-boutique-magento-remediation-48h/">Intrusion sur une boutique Magento : retour d&rsquo;expérience d&rsquo;une remédiation en 4h</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Améliorer les grilles commandes et clients Magento 2 avec Amasty</title>
		<link>https://www.ebusiness360.fr/2026/06/26/ameliorer-grilles-commandes-clients-magento-2-amasty/</link>
		
		<dc:creator><![CDATA[Maxime]]></dc:creator>
		<pubDate>Fri, 26 Jun 2026 06:00:00 +0000</pubDate>
				<category><![CDATA[Tutoriel]]></category>
		<guid isPermaLink="false">https://www.ebusiness360.fr/?p=6189</guid>

					<description><![CDATA[<p>Les grilles commandes et clients Magento 2 par défaut sont limitées. Découvrez comment les enrichir avec Amasty Extended Order Grid : filtres, miniatures, colonnes personnalisées.</p>
<p>L’article <a href="https://www.ebusiness360.fr/2026/06/26/ameliorer-grilles-commandes-clients-magento-2-amasty/">Améliorer les grilles commandes et clients Magento 2 avec Amasty</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></description>
										<content:encoded><![CDATA[

<p class="wp-block-paragraph">Ouvrez la grille des commandes de votre admin Magento. Combien de colonnes voyez-vous ? Probablement les mêmes huit ou neuf qu&rsquo;à l&rsquo;installation par défaut : numéro de commande, date, client, statut, total. Pratique pour démarrer, mais largement insuffisant dès que votre activité grossit. Pas de miniature produit, pas de filtre par mode de paiement, pas de recherche par numéro de téléphone — vous perdez un temps précieux à ouvrir chaque commande pour voir ce qui s&rsquo;y trouve réellement.</p>



<p class="wp-block-paragraph">La bonne nouvelle : Magento 2 permet de transformer ces grilles en véritables tableaux de bord opérationnels. Et dans la majorité des cas, la solution la plus rapide à mettre en place passe par une extension plutôt que par du développement sur-mesure.</p>



<h2 class="wp-block-heading">Pourquoi la grille par défaut ne suffit pas longtemps</h2>



<p class="wp-block-paragraph">Tant que vous traitez cinq commandes par jour, la grille standard fait le travail. Le problème arrive avec le volume : vous devez identifier rapidement les commandes urgentes, repérer celles payées par un mode de paiement spécifique, retrouver un client par son numéro de téléphone plutôt que par son email exact. Sans ces informations directement visibles dans la liste, chaque commande nécessite un clic supplémentaire pour être ouverte — et ces clics s&rsquo;additionnent vite sur une équipe qui traite des dizaines, voire des centaines de commandes quotidiennement.</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:12px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:12px;color:var(--muted);line-height:1.45}.eb-item-cta{font-size:12px;font-weight:700;margin-top:4px}.eb-cta-navy{color:var(--navy)}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:12px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:12px;color:var(--muted)}.eb-row-val-orange{font-size:12px;font-weight:700;color:var(--orange)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:12px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:12px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<p class="eb-title">Grille par défaut vs grille optimisée</p>
<div class="eb-grid eb-grid-2">
  <div class="eb-card"><div class="eb-head eb-head-navy">Grille Magento par défaut</div><div class="eb-body">
    <div><p class="eb-item-desc">Numéro de commande, date, client, statut, total</p></div>
    <div><p class="eb-item-desc">Pas de visuel produit</p></div>
    <div><p class="eb-item-desc">Pas de filtre par mode de paiement ou de livraison</p></div>
    <div><p class="eb-item-desc">Recherche limitée au nom ou à l&#8217;email exact</p></div>
  </div></div>
  <div class="eb-card" style="border-color:#F26322"><div class="eb-head eb-head-orange">Grille optimisée (Amasty)</div><div class="eb-body" style="background:#F26322">
    <div><p style="font-size:12px;color:rgba(255,255,255,0.95)">Miniatures produit directement dans la liste</p></div>
    <div><p style="font-size:12px;color:rgba(255,255,255,0.95)">Filtres par poids, sous-total, remise, groupe client</p></div>
    <div><p style="font-size:12px;color:rgba(255,255,255,0.95)">Recherche par téléphone, SKU, mode de paiement</p></div>
    <div><p style="font-size:12px;color:rgba(255,255,255,0.95)">Plusieurs modèles de grille selon les besoins de l&rsquo;équipe</p></div>
  </div></div>
</div>
</figure>



<h2 class="wp-block-heading">Deux approches possibles — sur-mesure ou extension</h2>



<p class="wp-block-paragraph">Techniquement, ajouter une colonne à une grille Magento est possible nativement : créer un module, un Resource Model, un composant UI XML. C&rsquo;est un développement standard, mais qui prend du temps pour chaque colonne ou filtre ajouté, et qui nécessite une intervention de développeur à chaque évolution future.</p>



<p class="wp-block-paragraph">Pour la grande majorité des besoins — et c&rsquo;est le choix qu&rsquo;on recommande dans la plupart de nos accompagnements — une extension comme <strong>Amasty Extended Order Grid</strong> couvre déjà tout ce dont une équipe a besoin, avec une interface de configuration sans code. Le développement sur-mesure garde son intérêt pour des besoins vraiment spécifiques que l&rsquo;extension ne couvre pas.</p>



<h2 class="wp-block-heading">Ce qu&rsquo;apporte Amasty Extended Order Grid</h2>



<p class="wp-block-paragraph">Cette extension est l&rsquo;une des plus installées sur les boutiques Magento que nous gérons, et pour de bonnes raisons concrètes :</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:12px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:12px;color:var(--muted);line-height:1.45}.eb-item-cta{font-size:12px;font-weight:700;margin-top:4px}.eb-cta-navy{color:var(--navy)}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:12px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:12px;color:var(--muted)}.eb-row-val-orange{font-size:12px;font-weight:700;color:var(--orange)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:12px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:12px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<p class="eb-title">Fonctionnalités clés d&rsquo;Amasty Extended Order Grid</p>
<div class="eb-grid eb-grid-3">
  <div class="eb-card"><div class="eb-head eb-head-navy">Filtres avancés</div><div class="eb-body">
    <p class="eb-item-desc">Par poids de commande, sous-total, montant de remise, groupe client, téléphone</p>
  </div></div>
  <div class="eb-card"><div class="eb-head eb-head-navy">Visuels produit</div><div class="eb-body">
    <p class="eb-item-desc">Miniatures directement dans la grille — identifiez le contenu d&rsquo;une commande sans l&rsquo;ouvrir</p>
  </div></div>
  <div class="eb-card"><div class="eb-head eb-head-navy">Colonnes personnalisées</div><div class="eb-body">
    <p class="eb-item-desc">Ajout d&rsquo;attributs personnalisés, masquage des colonnes inutiles, renommage des titres</p>
  </div></div>
  <div class="eb-card"><div class="eb-head eb-head-navy">Modes de paiement et livraison</div><div class="eb-body">
    <p class="eb-item-desc">Affichage et filtre direct — utile pour prioriser le traitement selon le transporteur</p>
  </div></div>
  <div class="eb-card"><div class="eb-head eb-head-navy">Plusieurs modèles de grille</div><div class="eb-body">
    <p class="eb-item-desc">Créez différentes vues selon les besoins — un modèle pour la logistique, un pour le SAV</p>
  </div></div>
  <div class="eb-card" style="border-color:#F26322"><div class="eb-head eb-head-orange">Sans développement</div><div class="eb-body" style="background:#F26322">
    <p style="font-size:12px;color:rgba(255,255,255,0.95);line-height:1.45">Configuration entièrement dans l&rsquo;admin — votre équipe peut ajuster les grilles elle-même</p>
  </div></div>
</div>
</figure>



<h2 class="wp-block-heading">Configurer la grille des commandes en pratique</h2>



<p class="wp-block-paragraph">Une fois l&rsquo;extension installée, l&rsquo;ajout de colonnes se fait directement depuis l&rsquo;interface d&rsquo;administration, sans toucher au code.</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:12px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:12px;color:var(--muted);line-height:1.45}.eb-item-cta{font-size:12px;font-weight:700;margin-top:4px}.eb-cta-navy{color:var(--navy)}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:12px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:12px;color:var(--muted)}.eb-row-val-orange{font-size:12px;font-weight:700;color:var(--orange)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:12px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:12px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<p class="eb-title">Ajouter une colonne à la grille des commandes</p>
<div style="background:#fff;border-radius:10px;border:1.5px solid #E5E2DC;padding:14px">
  <div class="eb-step">
    <div class="eb-step-num">1</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Aller dans Sales → Orders</p>
      <p class="eb-step-desc">La grille des commandes s&rsquo;affiche avec son menu déroulant « Columns » en haut à droite</p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">2</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Ouvrir le menu Columns</p>
      <p class="eb-step-desc">Plusieurs onglets apparaissent regroupant les attributs par catégorie : commande, client, paiement, livraison</p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">3</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Cocher les colonnes souhaitées</p>
      <p class="eb-step-desc">Téléphone client, mode de paiement, poids total, transporteur — sélectionnez ce qui est utile à votre équipe</p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">4</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Personnaliser les titres si besoin</p>
      <p class="eb-step-desc">Renommez les colonnes pour qu&rsquo;elles parlent immédiatement à votre équipe opérationnelle</p>
    </div>
  </div>
  <div class="eb-step" style="border-bottom:none">
    <div class="eb-step-num eb-step-num-orange">5</div>
    <div class="eb-step-body">
      <p class="eb-step-title" style="color:#F26322">Sauvegarder et créer un second modèle si nécessaire</p>
      <p class="eb-step-desc">L&rsquo;extension permet de garder plusieurs configurations de grille et de basculer entre elles selon le contexte</p>
    </div>
  </div>
</div>
</figure>



<h2 class="wp-block-heading">Et côté grille clients ?</h2>



<p class="wp-block-paragraph">La même logique s&rsquo;applique à la grille des clients. Par défaut, vous voyez le nom, l&#8217;email, le groupe et la date d&rsquo;inscription — pas grand-chose pour identifier vos meilleurs clients ou ceux qui n&rsquo;ont jamais commandé depuis leur création de compte.</p>



<p class="wp-block-paragraph">Les extensions Amasty dédiées aux attributs et grilles clients permettent d&rsquo;ajouter le nombre total de commandes, le chiffre d&rsquo;affaires généré, la date de dernière commande, ou tout attribut personnalisé que vous avez créé (origine d&rsquo;acquisition, segment marketing, niveau de fidélité). C&rsquo;est ce qui transforme une simple liste de contacts en un outil de pilotage commercial réel.</p>




<h2 class="wp-block-heading">La grille produits — un gain de temps tout aussi important</h2>



<p class="wp-block-paragraph">Si la grille des commandes mérite d&rsquo;être enrichie, la grille des produits le mérite tout autant — c&rsquo;est même souvent là que le gain de temps quotidien est le plus net. Modifier un prix, ajuster un stock, changer une visibilité : par défaut, chacune de ces actions oblige à ouvrir la fiche produit complète, l&rsquo;enregistrer, puis revenir à la liste. Sur un catalogue de plusieurs centaines de références, ces allers-retours représentent des heures perdues chaque mois.</p>



<p class="wp-block-paragraph"><strong>Amasty Extended Product Grid with Editor</strong> est l&rsquo;extension que nous installons systématiquement sur les boutiques avec un catalogue actif. Son principe : permettre l&rsquo;édition directement depuis la grille, sans ouvrir chaque fiche produit.</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:12px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:12px;color:var(--muted);line-height:1.45}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:12px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:12px;color:var(--muted);line-height:1.45;margin-top:2px}</style>
<p class="eb-title">Ce qu&rsquo;Amasty Extended Product Grid permet d&rsquo;éditer directement</p>
<div class="eb-grid eb-grid-3">
  <div class="eb-card"><div class="eb-head eb-head-navy">Prix et stocks</div><div class="eb-body">
    <p class="eb-item-desc">Prix, prix spécial, coût, quantité — y compris avec ajustement relatif (« +10 » ou « -5 ») calculé automatiquement</p>
  </div></div>
  <div class="eb-card"><div class="eb-head eb-head-navy">Visibilité et statut</div><div class="eb-body">
    <p class="eb-item-desc">Activation, désactivation, visibilité catalogue/recherche, disponibilité en stock</p>
  </div></div>
  <div class="eb-card" style="border-color:#F26322"><div class="eb-head eb-head-orange">Édition en masse</div><div class="eb-body" style="background:#F26322">
    <p style="font-size:12px;color:rgba(255,255,255,0.95);line-height:1.45">Modifiez plusieurs cellules puis enregistrez en un seul clic — idéal pour les mises à jour de fin de saison ou de soldes</p>
  </div></div>
</div>
</figure>



<p class="wp-block-paragraph">L&rsquo;extension propose deux modes de sauvegarde : <strong>cellule par cellule</strong>, où chaque modification s&rsquo;enregistre immédiatement (le plus sûr, recommandé pour des changements ponctuels), et <strong>en masse</strong>, où vous modifiez plusieurs champs puis validez en une seule fois (plus rapide pour les gros volumes, mais à utiliser avec un peu plus de vigilance pour éviter une erreur de saisie qui s&rsquo;appliquerait à plusieurs lignes d&rsquo;un coup).</p>



<p class="wp-block-paragraph">Autre point pratique : la grille supporte la <strong>gestion multi-source</strong> si votre boutique gère plusieurs entrepôts ou points de stock — vous pouvez ajuster la quantité disponible par source directement depuis une fenêtre contextuelle, sans changer d&rsquo;écran.</p>



<h3 class="wp-block-heading">Combinée à Mass Product Actions</h3>



<p class="wp-block-paragraph">Pour aller plus loin, Amasty propose une extension complémentaire — <strong>Mass Product Actions</strong> — qui permet d&rsquo;appliquer des opérations encore plus poussées sur une sélection de produits : ajuster un prix de +10€ sur toute une catégorie en une seule action, dupliquer une image vers plusieurs fiches produit, changer un jeu d&rsquo;attributs en masse. La combinaison des deux extensions couvre la quasi-totalité des besoins de gestion catalogue au quotidien, sans jamais ouvrir une fiche produit individuellement.</p>



<h2 class="wp-block-heading">Les limites à connaître</h2>



<p class="wp-block-paragraph">Les extensions de grille ne sont pas une solution magique universelle. Pour des besoins vraiment spécifiques — un calcul métier complexe affiché en colonne, une logique conditionnelle propre à votre activité — un développement sur-mesure reste parfois nécessaire. De même, l&rsquo;ajout de nombreuses colonnes calculées peut légèrement ralentir le chargement de la grille sur un très gros volume de commandes ; un bon prestataire saura identifier l&rsquo;équilibre entre richesse d&rsquo;information et performance.</p>



<h2 class="wp-block-heading">FAQ</h2>


<!-- wp:heading level -->
<h3>Cette extension fonctionne-t-elle avec Magento 2.4.8 et 2.4.9 ?</h3>
<!-- /wp:post-content -->

<!-- wp:paragraph -->
<p>Amasty maintient ses extensions à jour avec les dernières versions Magento — vérifiez toujours la compatibilité exacte sur la fiche produit avant l&rsquo;achat, car les correctifs de compatibilité sont publiés progressivement après chaque sortie majeure de Magento.</p>
<!-- /wp:paragraph -->

<!-- wp:heading level -->
<h3>Faut-il un développeur pour l&rsquo;installer ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>L&rsquo;installation initiale (déploiement du module, mise en cache) nécessite un accès technique standard à votre serveur. Une fois installée, la configuration quotidienne des colonnes et filtres se fait sans aucune compétence en développement.</p>
<!-- /wp:paragraph -->

<!-- wp:heading level -->
<h3>Peut-on revenir à la grille par défaut si besoin ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Oui — les colonnes ajoutées sont simplement décochables depuis le menu Columns, et l&rsquo;extension peut être désactivée sans perte de données sur vos commandes ou vos clients.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<div style="background:#0F1E4D;border-radius:12px;padding:1.75rem 2rem;margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
  <p style="margin:0 0 0.4rem;font-weight:800;color:#F26322;font-size:1rem;">Votre équipe perd du temps à ouvrir chaque commande pour voir ce qu&rsquo;elle contient ?</p>
  <p style="margin:0 0 1.25rem;color:rgba(255,255,255,0.75);font-size:0.95rem;line-height:1.6;">On installe et configure les grilles adaptées à votre activité — commandes, clients, et au-delà — pour que votre équipe gagne un temps réel au quotidien.</p>
  <a href="https://www.ebusiness360.fr/contact/" style="display:inline-block;background:#F26322;color:white;padding:0.65rem 1.4rem;border-radius:999px;text-decoration:none;font-size:0.9rem;font-weight:700;">Demander une démonstration →</a>
</div>
<!-- /wp:html -->
<p>L’article <a href="https://www.ebusiness360.fr/2026/06/26/ameliorer-grilles-commandes-clients-magento-2-amasty/">Améliorer les grilles commandes et clients Magento 2 avec Amasty</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bouton de rétractation obligatoire depuis le 19 juin 2026 : ce que ça coûte vraiment aux e-commerçants</title>
		<link>https://www.ebusiness360.fr/2026/06/25/bouton-retractation-obligatoire-19-juin-2026-ecommerce/</link>
		
		<dc:creator><![CDATA[Maxime]]></dc:creator>
		<pubDate>Thu, 25 Jun 2026 13:00:00 +0000</pubDate>
				<category><![CDATA[Réglementation]]></category>
		<guid isPermaLink="false">https://www.ebusiness360.fr/?p=6218</guid>

					<description><![CDATA[<p>Depuis le 19 juin 2026, le bouton de rétractation est obligatoire sur tous les sites e-commerce B2C. Ce que dit la loi, ce que ça coûte techniquement, et le risque d'abus que personne n'évoque.</p>
<p>L’article <a href="https://www.ebusiness360.fr/2026/06/25/bouton-retractation-obligatoire-19-juin-2026-ecommerce/">Bouton de rétractation obligatoire depuis le 19 juin 2026 : ce que ça coûte vraiment aux e-commerçants</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></description>
										<content:encoded><![CDATA[

<p class="wp-block-paragraph">Depuis le <strong>19 juin 2026</strong>, chaque boutique en ligne vendant à des particuliers en France doit proposer un bouton de rétractation accessible directement sur le site. Si vous ne l&rsquo;avez pas encore mis en place, vous êtes en infraction à partir d&rsquo;aujourd&rsquo;hui même. L&rsquo;amende peut atteindre 75 000 € — et surtout, en cas de non-conformité, le délai de rétractation de vos clients se prolonge automatiquement à 12 mois et 14 jours.</p>



<p class="wp-block-paragraph">C&rsquo;est une bonne nouvelle pour les consommateurs. C&rsquo;est aussi, encore une fois, un développement que les commerçants doivent financer, implémenter et maintenir à leurs frais — avec un délai de mise en conformité qui frise le ridicule.</p>



<h2 class="wp-block-heading">Ce que dit la loi — les textes exacts</h2>



<p class="wp-block-paragraph">L&rsquo;obligation découle de la directive européenne (UE) 2023/2673, transposée en droit français par l&rsquo;<strong>ordonnance n°2026-2</strong> et le <strong>décret n°2026-3 du 5 janvier 2026</strong>, publiés au Journal Officiel le 6 janvier 2026. Ces textes modifient les articles L.221-21 et D.221-5 du Code de la consommation.</p>



<p class="wp-block-paragraph">Initialement pensée pour les services financiers, la directive est étendue à <em>l&rsquo;ensemble des contrats B2C conclus en ligne</em> — tous secteurs confondus, sans seuil de chiffre d&rsquo;affaires. Une seule vente en ligne à un particulier suffit à déclencher l&rsquo;obligation.</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}.eb-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}.eb-badge-red{background:#fee2e2;color:#991b1b}.eb-badge-orange{background:rgba(242,99,34,0.15);color:var(--orange)}</style>
<p class="eb-title">Les 4 critères cumulatifs du bouton conforme</p>
<div style="background:#fff;border-radius:10px;border:1.5px solid #E5E2DC;padding:14px">
  <div class="eb-row"><div><p class="eb-item-title">1. Visible en permanence</p><p class="eb-item-desc">Pas seulement dans le tunnel d&rsquo;achat ou dans l&rsquo;espace client — accessible à tout moment pendant la durée légale de rétractation (14 jours)</p></div></div>
  <div class="eb-row"><div><p class="eb-item-title">2. Gratuit pour le consommateur</p><p class="eb-item-desc">Pas de SMS surtaxé, pas d&rsquo;inscription préalable, pas de CAPTCHA dissuasif. La gratuité du processus est explicitement requise par le texte.</p></div></div>
  <div class="eb-row"><div><p class="eb-item-title">3. Libellé non ambigu</p><p class="eb-item-desc">Le décret recommande « Renoncer au contrat ici » — des formulations vagues comme « Annuler », « Retour » ou « Contactez-nous » ne satisfont pas l&rsquo;exigence. L&rsquo;expérience avec le bouton de commande a montré la sévérité des condamnations sur ce point.</p></div></div>
  <div class="eb-row" style="border-bottom:none"><div><p class="eb-item-title">4. Accusé de réception automatique</p><p class="eb-item-desc">À chaque rétractation, un email horodaté doit être envoyé automatiquement au consommateur attestant la prise en compte — sur support durable, avec traçabilité serveur.</p></div></div>
</div>
<p style="font-size:0.875rem;color:#6B7280;margin-top:0.75rem;font-family:'Manrope',system-ui,sans-serif;">Source : articles L.221-21 et D.221-5 du Code de la consommation — ordonnance n°2026-2 et décret n°2026-3 du 5 janvier 2026</p>
</figure>



<p class="wp-block-paragraph">Le parcours doit se faire en <strong>deux étapes distinctes</strong> : d&rsquo;abord un clic sur le bouton de déclaration, ensuite un second clic de confirmation. Ce n&rsquo;est pas un bouton unique — c&rsquo;est un mini-parcours de rétractation structuré.</p>



<h2 class="wp-block-heading">Ce que ça implique techniquement — pas « un simple bouton »</h2>



<p class="wp-block-paragraph">Beaucoup de marchands ont découvert cette obligation en pensant qu&rsquo;il s&rsquo;agissait d&rsquo;ajouter un lien dans le footer. Ce n&rsquo;est pas le cas. La mise en conformité complète implique des développements sur plusieurs couches de votre site :</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}.eb-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}.eb-badge-red{background:#fee2e2;color:#991b1b}.eb-badge-orange{background:rgba(242,99,34,0.15);color:var(--orange)}</style>
<p class="eb-title">Ce qui doit être développé ou modifié</p>
<div class="eb-grid eb-grid-3">
  <div class="eb-card"><div class="eb-head eb-head-navy">Frontend</div><div class="eb-body">
    <p class="eb-item-desc">Bouton visible dans l&rsquo;espace client et sur les pages de confirmation de commande</p>
    <p class="eb-item-desc">Formulaire de rétractation en 2 étapes avec confirmation</p>
    <p class="eb-item-desc">Accessibilité hors connexion (sans login obligatoire)</p>
  </div></div>
  <div class="eb-card"><div class="eb-head eb-head-navy">Backend</div><div class="eb-body">
    <p class="eb-item-desc">Traitement et stockage des demandes de rétractation</p>
    <p class="eb-item-desc">Envoi automatique de l&rsquo;accusé de réception horodaté</p>
    <p class="eb-item-desc">Articulation avec les APIs de remboursement (Stripe, PayPal…)</p>
  </div></div>
  <div class="eb-card" style="border-color:#F26322"><div class="eb-head eb-head-orange">CGV + logistique</div><div class="eb-body" style="background:#F26322">
    <p style="font-size:13px;color:rgba(255,255,255,0.95);line-height:1.45">Mise à jour des CGV pour informer de l&rsquo;existence et de l&#8217;emplacement du bouton</p>
    <p style="font-size:13px;color:rgba(255,255,255,0.95);line-height:1.45;margin-top:6px">Processus de retour physique des produits articulé avec la rétractation numérique</p>
  </div></div>
</div>
</figure>



<p class="wp-block-paragraph">Sur une boutique Magento 2 standard, comptez 4 à 6 semaines de travail entre l&rsquo;audit, la validation juridique des CGV (par un avocat — pas par l&rsquo;agence technique), le développement, les tests et la mise en production. Pour les vendeurs sur marketplaces, la situation est encore plus complexe : la responsabilité juridique reste portée par le vendeur final, même si la plateforme (Amazon, Cdiscount, Mirakl) n&rsquo;a pas encore déployé la fonctionnalité conforme.</p>



<h2 class="wp-block-heading">La loi protège toujours le consommateur — et le commerçant finance toujours</h2>



<p class="wp-block-paragraph">Soyons clairs : le droit de rétractation est légitime, nécessaire, et il protège des millions de consommateurs contre des pratiques commerciales déloyales. Personne ne remet en cause le principe.</p>



<p class="wp-block-paragraph">Mais regardons le rythme de ces obligations depuis quelques années : RGPD (2018), cookies et consentement (2021-2022), résiliation en 3 clics (2023), bouton de rétractation (2026). À chaque fois, la même logique : une directive européenne, une transposition en droit français, une date d&rsquo;entrée en vigueur, et une facture de mise en conformité intégralement supportée par les professionnels — sans compensation, sans aide, sans délai raisonnable.</p>



<p class="wp-block-paragraph">Sur ce texte précis, l&rsquo;ordonnance a été publiée au Journal Officiel le <strong>6 janvier 2026</strong> pour une entrée en vigueur le <strong>19 juin 2026</strong>. Cinq mois et demi. Pour une boutique standard, c&rsquo;est court. Pour une PME qui gère son e-commerce à côté de son cœur de métier, c&rsquo;est très court. Pour une marketplace ou une boutique avec plusieurs canaux de vente, c&rsquo;est insuffisant.</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}.eb-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}.eb-badge-red{background:#fee2e2;color:#991b1b}.eb-badge-orange{background:rgba(242,99,34,0.15);color:var(--orange)}</style>
<p class="eb-title">Le calendrier réglementaire e-commerce en France — 2018-2026</p>
<div style="background:#fff;border-radius:10px;border:1.5px solid #E5E2DC;padding:14px">
  <div class="eb-row"><div style="display:flex;align-items:center;gap:12px;flex:1"><span style="font-size:12px;font-weight:800;color:#0F1E4D;white-space:nowrap">2018</span><div><p class="eb-item-title">RGPD</p><p class="eb-item-desc">Registre de traitements, délégué à la protection des données, droits des personnes</p></div></div></div>
  <div class="eb-row"><div style="display:flex;align-items:center;gap:12px;flex:1"><span style="font-size:12px;font-weight:800;color:#0F1E4D;white-space:nowrap">2021-22</span><div><p class="eb-item-title">Cookies et consentement</p><p class="eb-item-desc">Bandeau de consentement conforme CNIL, bouton refuser aussi visible qu&rsquo;accepter</p></div></div></div>
  <div class="eb-row"><div style="display:flex;align-items:center;gap:12px;flex:1"><span style="font-size:12px;font-weight:800;color:#0F1E4D;white-space:nowrap">2023</span><div><p class="eb-item-title">Résiliation en 3 clics</p><p class="eb-item-desc">Loi DDADUE — bouton de résiliation pour les abonnements et contrats à durée indéterminée</p></div></div></div>
  <div class="eb-row" style="border-bottom:none"><div style="display:flex;align-items:center;gap:12px;flex:1"><span style="font-size:12px;font-weight:800;color:#F26322;white-space:nowrap">2026</span><div><p class="eb-item-title" style="color:#F26322">Bouton de rétractation</p><p class="eb-item-desc">Ordonnance n°2026-2 — fonctionnalité de rétractation en ligne, tous secteurs B2C</p></div></div></div>
</div>
<p style="font-size:0.875rem;color:#6B7280;margin-top:0.75rem;font-family:'Manrope',system-ui,sans-serif;">Chaque obligation a été entièrement financée par les professionnels — sans aide ni compensation de l&rsquo;État</p>
</figure>



<h2 class="wp-block-heading">Le risque d&rsquo;abus — le sujet dont personne ne parle</h2>



<p class="wp-block-paragraph">Il y a une réalité que le législateur n&rsquo;a pas intégrée dans ce texte, ou a choisi d&rsquo;ignorer : la simplification de la rétractation va mécaniquement augmenter son taux. Pas seulement chez les consommateurs de bonne foi qui voulaient se rétracter mais ne savaient pas comment — aussi chez ceux qui pratiquent le retour abusif de façon systématique.</p>



<p class="wp-block-paragraph">Le phénomène du « serial returner » est déjà bien documenté dans le secteur de la mode et de l&rsquo;ameublement : des clients commandent plusieurs variantes d&rsquo;un produit pour essayer, et retournent ce qu&rsquo;ils ne gardent pas. Certains portent un article pour un événement et le retournent ensuite. Ces comportements existent depuis des années et les marchands les gèrent avec des processus SAV qui créent, volontairement ou non, un peu de friction.</p>



<p class="wp-block-paragraph">Avec un bouton de rétractation en 2 clics, cette friction disparaît. Le législateur a choisi d&rsquo;éliminer les obstacles pour les consommateurs de bonne foi — en éliminant au passage les obstacles pour ceux de mauvaise foi. Le coût de ces retours supplémentaires sera intégralement supporté par les marchands : logistique inverse, remise en stock, dépréciation des produits retournés hors saison, impact sur le BFR.</p>



<p class="wp-block-paragraph">Ce n&rsquo;est pas un argument contre le droit de rétractation. C&rsquo;est un fait économique que chaque e-commerçant devra anticiper dans sa gestion financière.</p>



<h2 class="wp-block-heading">Ce qu&rsquo;il faut faire maintenant sur Magento</h2>



<p class="wp-block-paragraph">Si votre boutique Magento n&rsquo;est pas encore conforme, voici la séquence à suivre dans l&rsquo;ordre :</p>



<figure style="margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
<style>.eb-schema{--navy:#0F1E4D;--orange:#F26322;--muted:#6B7280;--line:#E5E2DC;--ink:#0B1426}.eb-schema *{box-sizing:border-box;margin:0;padding:0}.eb-grid{display:grid;gap:12px}.eb-grid-2{grid-template-columns:1fr 1fr}.eb-grid-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.eb-grid-2,.eb-grid-3{grid-template-columns:1fr}}.eb-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:#fff}.eb-card-orange{border-color:var(--orange)}.eb-head{padding:9px 12px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.04em}.eb-head-navy{background:var(--navy);color:#fff}.eb-head-orange{background:var(--orange);color:#fff}.eb-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eb-item-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.eb-item-desc{font-size:13px;color:var(--muted);line-height:1.45}.eb-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-row:last-child{border-bottom:none}.eb-row-label{font-size:13px;font-weight:700;color:var(--ink);flex:1}.eb-row-val{font-size:13px;color:var(--muted)}.eb-title{font-size:13px;font-weight:800;color:var(--ink);text-align:center;padding:0 0 12px}.eb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.eb-step:last-child{border-bottom:none}.eb-step-num{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eb-step-num-orange{background:var(--orange)}.eb-step-body{flex:1}.eb-step-title{font-size:13px;font-weight:700;color:var(--ink)}.eb-step-desc{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}.eb-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}.eb-badge-red{background:#fee2e2;color:#991b1b}.eb-badge-orange{background:rgba(242,99,34,0.15);color:var(--orange)}</style>
<p class="eb-title">Check-list de mise en conformité sur Magento 2</p>
<div style="background:#fff;border-radius:10px;border:1.5px solid #E5E2DC;padding:14px">
  <div class="eb-step">
    <div class="eb-step-num">1</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Vérifier si vous êtes concerné</p>
      <p class="eb-step-desc">Vente B2C en ligne = obligation. Ventes B2B uniquement = hors champ. Produits sur mesure, denrées périssables, contenus numériques téléchargés : vérifier les 13 exceptions de l&rsquo;article L.221-28 avec un juriste.</p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">2</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Faire valider les CGV par un avocat</p>
      <p class="eb-step-desc">La rédaction des nouvelles CGV et des informations précontractuelles n&rsquo;est pas un exercice d&rsquo;agence — c&rsquo;est du droit de la consommation. Un avocat spécialisé doit valider le texte avant déploiement.</p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">3</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Développer ou installer la fonctionnalité</p>
      <p class="eb-step-desc">Sur Magento : développement d&rsquo;un module custom ou installation d&rsquo;une extension compatible. Le module doit gérer le parcours 2 étapes, l&rsquo;envoi de l&rsquo;accusé de réception et la traçabilité des demandes.</p>
    </div>
  </div>
  <div class="eb-step">
    <div class="eb-step-num">4</div>
    <div class="eb-step-body">
      <p class="eb-step-title">Tester tous les scénarios</p>
      <p class="eb-step-desc">Rétractation dans les 14 jours, hors délai, sans être connecté, sur mobile — chaque scénario doit produire le comportement attendu et l&rsquo;accusé de réception correct.</p>
    </div>
  </div>
  <div class="eb-step" style="border-bottom:none">
    <div class="eb-step-num eb-step-num-orange">5</div>
    <div class="eb-step-body">
      <p class="eb-step-title" style="color:#F26322">Documenter et surveiller</p>
      <p class="eb-step-desc">Conserver les traces de chaque rétractation (horodatage, email envoyé, identité commande). Mettre en place un suivi mensuel du taux de rétractation pour détecter les abus et ajuster le cas échéant.</p>
    </div>
  </div>
</div>
</figure>



<h2 class="wp-block-heading">FAQ</h2>



<h3 class="wp-block-heading">La loi s&rsquo;applique-t-elle aux petites boutiques sans seuil de CA ?</h3>



<p class="wp-block-paragraph">Oui — explicitement. Le texte ne prévoit aucun seuil de chiffre d&rsquo;affaires, aucune condition d&rsquo;ancienneté, aucune exemption pour les petites structures. Une seule vente B2C en ligne suffit à déclencher l&rsquo;obligation. La taille de la boutique n&rsquo;entre pas en compte pour l&rsquo;obligation, mais les sanctions (jusqu&rsquo;à 75 000 € pour une personne morale, 15 000 € pour une personne physique) sont appliquées proportionnellement.</p>



<h3 class="wp-block-heading">Un formulaire de contact dédié suffit-il ?</h3>



<p class="wp-block-paragraph">Non. La loi exige une fonctionnalité dédiée avec un libellé précis, accessible sans connexion obligatoire, et générant automatiquement un accusé de réception horodaté. Un formulaire de contact générique — même labellisé « rétractation » — ne satisfait pas les exigences du décret d&rsquo;application.</p>



<h3 class="wp-block-heading">Que risque-t-on concrètement si on n&rsquo;est pas conforme ?</h3>



<p class="wp-block-paragraph">Deux risques distincts. D&rsquo;abord le risque administratif : une amende de la DGCCRF jusqu&rsquo;à 75 000 € pour une société. Ensuite le risque contractuel, potentiellement plus coûteux : tout client qui exerce son droit de rétractation pendant votre période de non-conformité peut bénéficier d&rsquo;un délai de rétractation prolongé à 12 mois et 14 jours — au lieu de 14 jours. Sur des produits saisonniers ou à forte dépréciation, c&rsquo;est une exposition significative.</p>



<div style="background:#0F1E4D;border-radius:12px;padding:1.75rem 2rem;margin:2.5rem 0;font-family:'Manrope',system-ui,sans-serif;">
  <p style="margin:0 0 0.4rem;font-weight:800;color:#F26322;font-size:1rem;">Votre boutique Magento n&rsquo;est pas encore conforme ?</p>
  <p style="margin:0 0 1.25rem;color:rgba(255,255,255,0.75);font-size:0.95rem;line-height:1.6;">On développe et intègre la fonctionnalité de rétractation conforme sur votre boutique Magento 2 — parcours 2 étapes, accusé de réception automatique, traçabilité. Intervention rapide pour les boutiques en urgence de conformité.</p>
  <a href="https://www.ebusiness360.fr/contact/" style="display:inline-block;background:#F26322;color:white;padding:0.65rem 1.4rem;border-radius:999px;text-decoration:none;font-size:0.9rem;font-weight:700;">Demander une mise en conformité →</a>
</div>

<p>L’article <a href="https://www.ebusiness360.fr/2026/06/25/bouton-retractation-obligatoire-19-juin-2026-ecommerce/">Bouton de rétractation obligatoire depuis le 19 juin 2026 : ce que ça coûte vraiment aux e-commerçants</a> est apparu en premier sur <a href="https://www.ebusiness360.fr">eBusiness360</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
