[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"theme-db":3,"$f5OBWeYPYYtOM88hy8V5PUUlHhowVHXbm47-Bp7PGdaY":22,"$fKnz2vuX4bZz1LbUTiuFsvSZ3e07l5_5fqNYp4Tzdhi8":60,"megamenu":141,"$fAtaAZhfT1EK_ji-bf_sMy68LELRDRgsRUya8yeptXc8":197,"header-db":211,"footer-db":224},{"theme":4},{"colors":5,"typography":13,"ui":17,"defaultColorMode":21},{"primary":6,"secondary":7,"background":8,"foreground":9,"muted":10,"headerBg":11,"footerBg":12,"topBarBg":9,"topBarText":11},"#4F46E5","#0D9488","#F9FAFB","#111827","#6B7280","#ffffff","#020617",{"fontFamily":14,"fontUrl":15,"baseFontSize":16},"Inter, system-ui, sans-serif","https:\u002F\u002Ffonts.googleapis.com\u002Fcss2?family=Inter:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,700;0,800;0,900;1,400;1,700&display=swap","16px",{"borderRadius":18,"contentWidth":19,"shadow":20},"lg","7xl",true,"light",{"title":23,"slug":24,"metaDescription":25,"category":26,"tags":27,"difficulty":33,"psVersions":34,"content":38,"faq":39,"tldr":55,"readingTime":56,"generatedAt":57,"publishDate":57,"relatedArticles":58,"sourceCategory":59},"Configurer le cache des feuilles de styles CSS dans PrestaShop","configurer-cache-feuilles-styles-css-prestashop","Guide complet pour gérer le cache CSS dans PrestaShop : purge, compression, environnement de développement et bonnes pratiques pour éviter les problèmes d'affichage.","performance",[28,26,29,30,31,32],"cache-css","compression","environnement-developpement","apache","hebergement","intermediaire",[35,36,37],"1.6","1.7","8.x","\u003Ch1>Configurer le cache des feuilles de styles CSS dans PrestaShop\u003C\u002Fh1>\n\u003Cp>Quand on modifie un fichier CSS dans PrestaShop et que rien ne change visuellement, le réflexe est de vider le cache du navigateur. Mais le problème est souvent plus profond : entre le cache serveur Apache\u002FNginx, la concaténation CCC de PrestaShop et les en-têtes HTTP d'expiration, plusieurs couches de mise en cache peuvent empêcher vos modifications d'apparaître.\u003C\u002Fp>\n\u003Cp>Voici comment reprendre le contrôle sur le cache CSS de votre boutique, que vous soyez sur un serveur dédié ou un hébergement mutualisé.\u003C\u002Fp>\n\u003Ch2>Comprendre les couches de cache impliquées\u003C\u002Fh2>\n\u003Cp>Avant de chercher une solution, il faut identifier quelle couche bloque la mise à jour de vos styles.\u003C\u002Fp>\n\u003Ch3>1. Le cache navigateur\u003C\u002Fh3>\n\u003Cp>Le navigateur stocke localement les fichiers CSS selon les en-têtes \u003Ccode>Cache-Control\u003C\u002Fcode> et \u003Ccode>Expires\u003C\u002Fcode> envoyés par le serveur. Un simple \u003Ccode>Ctrl + F5\u003C\u002Fcode> (hard refresh) ou la navigation en mode privé suffit souvent à contourner ce cache.\u003C\u002Fp>\n\u003Ch3>2. Le cache PrestaShop (CCC)\u003C\u002Fh3>\n\u003Cp>PrestaShop dispose d'un système natif appelé \u003Cstrong>CCC\u003C\u002Fstrong> (Combine, Compress, Cache) qui concatène et minifie les fichiers CSS en un seul fichier. Ce fichier porte un nom haché (par exemple \u003Ccode>d41d8cd98f00b204e9800998ecf8427e.css\u003C\u002Fcode>), ce qui signifie que votre modification d'un fichier source ne sera pas prise en compte tant que ce cache n'est pas régénéré.\u003C\u002Fp>\n\u003Cp>Pour le désactiver ou le purger :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**PrestaShop 1.6 \u002F 1.7 :** Back-office → Paramètres avancés → Performance → Concaténation CSS (CCC)\u003C\u002Fli>\n\u003Cli>**PrestaShop 8.x :** Back-office → Configurer → Paramètres avancés → Performance → Section « CCC (Combine, Compress, Cache) »\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cpre>\u003Ccode class=\"language-\">\n\u002F\u002F Désactiver temporairement le CCC en base de données\nUPDATE ps_configuration SET value = '0' WHERE name = 'PS_CSS_THEME_CACHE';\nUPDATE ps_configuration SET value = '0' WHERE name = 'PS_JS_THEME_CACHE';\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cblockquote>\u003Cp>\u003Cstrong>Bonne pratique :\u003C\u002Fstrong> Désactivez toujours le CCC pendant la phase de développement. Réactivez-le uniquement avant la mise en production.\u003C\u002Fp>\u003C\u002Fblockquote>\n\u003Ch3>3. Le cache serveur (Apache \u002F Nginx)\u003C\u002Fh3>\n\u003Cp>Apache et Nginx peuvent eux-mêmes mettre en cache les fichiers statiques via les modules \u003Ccode>mod_expires\u003C\u002Fcode> ou \u003Ccode>mod_headers\u003C\u002Fcode> (Apache) et la directive \u003Ccode>expires\u003C\u002Fcode> (Nginx).\u003C\u002Fp>\n\u003Cp>#### Redémarrer Apache pour forcer la purge\u003C\u002Fp>\n\u003Cp>Sur un serveur dédié ou VPS sous Ubuntu\u002FDebian :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\n# Méthode recommandée (graceful, sans coupure)\nsudo systemctl reload apache2\n\n# Alternative : redémarrage complet\nsudo systemctl restart apache2\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Sur CentOS \u002F AlmaLinux :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\nsudo systemctl reload httpd\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Pour Nginx :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\nsudo nginx -t && sudo systemctl reload nginx\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cblockquote>\u003Cp>\u003Cstrong>Important :\u003C\u002Fstrong> Un \u003Ccode>reload\u003C\u002Fcode> est toujours préférable à un \u003Ccode>restart\u003C\u002Fcode>. Le reload applique la nouvelle configuration sans couper les connexions actives.\u003C\u002Fp>\u003C\u002Fblockquote>\n\u003Ch3>4. Le cache de l'hébergement mutualisé\u003C\u002Fh3>\n\u003Cp>Sur un hébergement mutualisé (OVH, Ionos, o2switch…), vous n'avez \u003Cstrong>pas accès au redémarrage d'Apache\u003C\u002Fstrong>. C'est l'hébergeur qui gère le serveur web.\u003C\u002Fp>\n\u003Cp>Dans ce cas, vos leviers sont limités à :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**Purger le cache PrestaShop** via le back-office (Paramètres avancés → Performance → Vider le cache)\u003C\u002Fli>\n\u003Cli>**Désactiver le CCC** le temps du développement\u003C\u002Fli>\n\u003Cli>**Ajouter un paramètre de version** (cache busting) à vos fichiers CSS\u003C\u002Fli>\n\u003Cli>**Contacter le support** de l'hébergeur pour demander un purge du cache Varnish s'il y en a un\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Technique de cache busting pour forcer le rechargement\u003C\u002Fh2>\n\u003Cp>Le cache busting consiste à modifier l'URL du fichier CSS pour que le navigateur le considère comme un nouveau fichier. Deux approches :\u003C\u002Fp>\n\u003Ch3>Via un paramètre GET (rapide)\u003C\u002Fh3>\n\u003Cp>Dans votre template Smarty (PrestaShop 1.6\u002F1.7) :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-smarty\">\n&lt;link rel=\"stylesheet\" href=\"{$css_dir}custom.css?v={$smarty.now}\"&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>En PrestaShop 8.x avec un module :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n$this-&gt;context-&gt;controller-&gt;registerStylesheet(\n    'module-monmodule-custom',\n    'modules\u002Fmonmodule\u002Fviews\u002Fcss\u002Fcustom.css',\n    [\n        'media'   =&gt; 'all',\n        'priority' =&gt; 200,\n        'version'  =&gt; '1.0.' . time(), \u002F\u002F Force le rechargement\n    ]\n);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cblockquote>\u003Cp>\u003Cstrong>Attention :\u003C\u002Fstrong> N'utilisez \u003Ccode>time()\u003C\u002Fcode> qu'en développement. En production, utilisez un numéro de version statique que vous incrémentez manuellement à chaque release.\u003C\u002Fp>\u003C\u002Fblockquote>\n\u003Ch3>Via le renommage du fichier (méthode propre)\u003C\u002Fh3>\n\u003Cp>Renommez le fichier à chaque modification (\u003Ccode>custom-v2.css\u003C\u002Fcode>, \u003Ccode>custom-v3.css\u003C\u002Fcode>). C'est la méthode la plus fiable car certains proxies ignorent les paramètres GET sur les fichiers statiques.\u003C\u002Fp>\n\u003Ch2>Travailler sur un environnement de développement\u003C\u002Fh2>\n\u003Cp>Modifier du CSS directement en production est une pratique risquée. Quand le CCC, le cache serveur et le cache navigateur sont actifs simultanément, il devient quasi impossible de déboguer correctement.\u003C\u002Fp>\n\u003Ch3>Créer un environnement de développement\u003C\u002Fh3>\n\u003Cp>La bonne pratique est de dupliquer votre boutique sur un sous-domaine :\u003C\u002Fp>\n\u003Col>\n\u003Cli>**Copier les fichiers** de la boutique vers un répertoire dédié :\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cpre>\u003Ccode class=\"language-bash\">\ncp -r \u002Fvar\u002Fwww\u002Fprestashop \u002Fvar\u002Fwww\u002Fdev-prestashop\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Col>\n\u003Cli>**Dupliquer la base de données** :\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cpre>\u003Ccode class=\"language-bash\">\nmysqldump -u root -p prestashop_prod &gt; dump_prod.sql\nmysql -u root -p prestashop_dev &lt; dump_prod.sql\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Col>\n\u003Cli>**Mettre à jour la configuration** dans `app\u002Fconfig\u002Fparameters.php` (PS 8.x) ou `config\u002Fsettings.inc.php` (PS 1.6) :\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cpre>\u003Ccode class=\"language-php\">\n\u002F\u002F Adapter le nom de la base de données\n'database_name' =&gt; 'prestashop_dev',\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Col>\n\u003Cli>**Mettre à jour les URLs** dans `ps_shop_url` :\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cpre>\u003Ccode class=\"language-sql\">\nUPDATE ps_shop_url \nSET domain = 'dev.monsite.com', \n    domain_ssl = 'dev.monsite.com' \nWHERE id_shop = 1;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Col>\n\u003Cli>**Désactiver tous les caches** sur l'environnement de développement :\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cpre>\u003Ccode class=\"language-sql\">\nUPDATE ps_configuration SET value = '0' WHERE name IN (\n    'PS_CSS_THEME_CACHE',\n    'PS_JS_THEME_CACHE', \n    'PS_HTML_THEME_COMPRESSION',\n    'PS_JS_HTML_THEME_COMPRESSION',\n    'PS_HTACCESS_CACHE_CONTROL'\n);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Col>\n\u003Cli>**Configurer le virtual host** Apache ou Nginx pour `dev.monsite.com`.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Alternative moderne : Docker\u003C\u002Fh3>\n\u003Cp>En PrestaShop 8.x, l'approche Docker simplifie considérablement la mise en place d'un environnement local :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\ndocker run -d \\\n  --name ps-dev \\\n  -p 8080:80 \\\n  -e DB_SERVER=host.docker.internal \\\n  -e DB_NAME=prestashop_dev \\\n  -e PS_DOMAIN=localhost:8080 \\\n  -e PS_ENABLE_SSL=0 \\\n  prestashop\u002Fprestashop:8.1\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Cette méthode garantit un environnement isolé et reproductible, sans risque d'impact sur la production.\u003C\u002Fp>\n\u003Ch2>Configuration optimale du cache en production\u003C\u002Fh2>\n\u003Cp>Une fois vos modifications validées en développement, voici la configuration recommandée pour la production.\u003C\u002Fp>\n\u003Ch3>Dans le `.htaccess` (Apache)\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-apache\">\n&lt;IfModule mod_expires.c&gt;\n    ExpiresActive On\n    ExpiresByType text\u002Fcss \"access plus 1 year\"\n    ExpiresByType application\u002Fjavascript \"access plus 1 year\"\n    ExpiresByType image\u002Fpng \"access plus 1 year\"\n    ExpiresByType image\u002Fjpeg \"access plus 1 year\"\n    ExpiresByType image\u002Fsvg+xml \"access plus 1 year\"\n&lt;\u002FIfModule&gt;\n\n&lt;IfModule mod_headers.c&gt;\n    &lt;FilesMatch \"\\.(css|js|png|jpg|svg|woff2)$\"&gt;\n        Header set Cache-Control \"public, max-age=31536000, immutable\"\n    &lt;\u002FFilesMatch&gt;\n&lt;\u002FIfModule&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Dans Nginx\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-nginx\">\nlocation ~* \\.(css|js|png|jpg|jpeg|svg|woff2)$ {\n    expires 1y;\n    add_header Cache-Control \"public, immutable\";\n    access_log off;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Activer le CCC dans PrestaShop\u003C\u002Fh3>\n\u003Cp>Dans le back-office : Paramètres avancés → Performance → CCC activé.\u003C\u002Fp>\n\u003Cp>Combinés à un système de versionnement correct de vos assets, ces réglages offrent le meilleur compromis entre performance et capacité de mise à jour.\u003C\u002Fp>\n\u003Ch2>Checklist de diagnostic\u003C\u002Fh2>\n\u003Cp>Quand vos modifications CSS ne s'affichent pas, suivez cette checklist dans l'ordre :\u003C\u002Fp>\n\u003Col>\n\u003Cli>☐ Hard refresh navigateur (`Ctrl + Shift + R`)\u003C\u002Fli>\n\u003Cli>☐ Tester en navigation privée\u003C\u002Fli>\n\u003Cli>☐ Vider le cache Smarty : supprimer `var\u002Fcache\u002Fprod\u002F` et `var\u002Fcache\u002Fdev\u002F`\u003C\u002Fli>\n\u003Cli>☐ Désactiver le CCC dans le back-office\u003C\u002Fli>\n\u003Cli>☐ Vérifier que le fichier modifié est bien le bon (attention au thème enfant)\u003C\u002Fli>\n\u003Cli>☐ Recharger Apache\u002FNginx (`reload`, pas `restart`)\u003C\u002Fli>\n\u003Cli>☐ Vérifier l'absence de cache CDN ou Varnish intermédiaire\u003C\u002Fli>\n\u003Cli>☐ En mutualisé : contacter le support hébergeur si rien ne fonctionne\u003C\u002Fli>\n\u003C\u002Ful>",[40,43,46,49,52],{"q":41,"a":42},"Comment vider le cache CSS de PrestaShop sans accès au back-office ?","Supprimez manuellement le contenu des répertoires var\u002Fcache\u002Fprod\u002F et var\u002Fcache\u002Fdev\u002F via FTP ou SSH. Vous pouvez aussi désactiver le CCC directement en base de données avec la requête : UPDATE ps_configuration SET value = '0' WHERE name = 'PS_CSS_THEME_CACHE'. En PrestaShop 8.x, vous pouvez également exécuter la commande console : php bin\u002Fconsole cache:clear --env=prod.",{"q":44,"a":45},"Pourquoi mes modifications CSS ne s'affichent pas sur un hébergement mutualisé ?","Sur un hébergement mutualisé, vous ne pouvez pas redémarrer Apache. Le cache est géré par l'hébergeur. Désactivez d'abord le CCC (Combine, Compress, Cache) dans Paramètres avancés → Performance. Videz le cache PrestaShop depuis le même menu. Si le problème persiste, utilisez le cache busting en ajoutant un paramètre de version à vos fichiers CSS (?v=2). En dernier recours, contactez le support de votre hébergeur pour purger un éventuel cache Varnish.",{"q":47,"a":48},"Faut-il désactiver le CCC de PrestaShop pendant le développement ?","Oui, absolument. Le CCC concatène et minifie tous les fichiers CSS en un seul fichier avec un nom haché. Tant que ce cache n'est pas régénéré, vos modifications ne seront pas visibles. En phase de développement, désactivez le CCC et travaillez idéalement sur un environnement séparé (sous-domaine ou Docker) avec tous les caches désactivés. Réactivez le CCC uniquement au moment de la mise en production.",{"q":50,"a":51},"Comment forcer le navigateur à recharger un fichier CSS modifié en PrestaShop ?","La technique du cache busting est la plus efficace. Ajoutez un paramètre de version à l'URL du fichier CSS (custom.css?v=2). En PrestaShop 8.x, utilisez le paramètre 'version' dans registerStylesheet(). En production, incrémentez manuellement le numéro de version à chaque release plutôt que d'utiliser time() qui désactive de fait le cache navigateur.",{"q":53,"a":54},"Quelle est la différence entre reload et restart d'Apache pour le cache ?","Un reload (systemctl reload apache2) applique la nouvelle configuration sans interrompre les connexions actives : les requêtes en cours se terminent normalement. Un restart (systemctl restart apache2) arrête puis redémarre complètement le service, ce qui coupe toutes les connexions en cours. Privilégiez toujours le reload, surtout sur un site en production. Les deux commandes purgent le cache interne d'Apache.","Les modifications CSS invisibles dans PrestaShop résultent de plusieurs couches de cache (navigateur, CCC, serveur). Désactivez le CCC en développement, travaillez sur un environnement séparé, et utilisez le cache busting en production pour forcer le rechargement des styles.",6,"2026-03-21T16:41:59.000Z",[],"PrestaShop pour les développeurs",{"columns":61},[62,78,108,129],{"title":63,"links":64},"Plateforme",[65,69,72,75],{"label":66,"href":67,"external":68},"Offre Starter (2 500 €)","\u002Foffre-starter",false,{"label":70,"href":71,"external":68},"Devenir Ambassadeur","\u002Fambassadeur",{"label":73,"href":74,"external":68},"Modules PrestaShop","\u002Fmodules",{"label":76,"href":77,"external":20},"CodeMyShop.com","https:\u002F\u002Fcodemyshop.com",{"title":79,"links":80},"Le Synedre",[81,84,87,90,93,96,99,102,105],{"label":82,"href":83,"external":68},"L'histoire","\u002Fsynedre",{"label":85,"href":86,"external":68},"Constitution","\u002Fsynedre\u002Fconstitution",{"label":88,"href":89,"external":68},"L'équipe","\u002Fequipe",{"label":91,"href":92,"external":68},"Le réacteur en direct","\u002Freacteur",{"label":94,"href":95,"external":68},"Le Drill (entraînement)","\u002Fdrill",{"label":97,"href":98,"external":68},"Protocole de réunion","\u002Fsynedre\u002Freunion",{"label":100,"href":101,"external":68},"Les agents IA","\u002Fagents-ia",{"label":103,"href":104,"external":68},"La Conduite","\u002Fsynedre\u002Fconduite",{"label":106,"href":107,"external":68},"Charte plateforme","\u002Fsynedre\u002Fcharte",{"title":109,"links":110},"Ressources",[111,114,117,120,123,126],{"label":112,"href":113,"external":68},"Blog","\u002Fblog",{"label":115,"href":116,"external":68},"Academy","\u002Facademy",{"label":118,"href":119,"external":68},"Dictionnaire","\u002Fdictionnaire",{"label":121,"href":122,"external":68},"Expertise PrestaShop","\u002Fexpertise",{"label":124,"href":125,"external":68},"Flywheel","\u002Fflywheel",{"label":127,"href":128,"external":68},"Manifeste","\u002Fmanifeste",{"title":130,"links":131},"À propos",[132,135,138],{"label":133,"href":134,"external":68},"Alexandre Carette","\u002Fa-propos",{"label":136,"href":137,"external":68},"Dossier de presse","\u002Fpresse",{"label":139,"href":140,"external":68},"Contact","\u002Fcontact",{"items":142},[143,152,158,164,172,180,186,191],{"id":144,"type":145,"label":146,"href":122,"icon":148,"description":148,"badge":148,"groupTitle":148,"style":148,"gridColumns":148,"cssClass":148,"psCategoryId":148,"showPsChildren":68,"position":149,"children":150,"psChildren":151},41,"link",{"fr":147},"Expertise",null,0,[],[],{"id":153,"type":145,"label":154,"href":113,"icon":148,"description":148,"badge":148,"groupTitle":148,"style":148,"gridColumns":148,"cssClass":148,"psCategoryId":148,"showPsChildren":68,"position":155,"children":156,"psChildren":157},42,{"fr":112},1,[],[],{"id":159,"type":145,"label":160,"href":74,"icon":148,"description":148,"badge":148,"groupTitle":148,"style":148,"gridColumns":148,"cssClass":148,"psCategoryId":148,"showPsChildren":68,"position":161,"children":162,"psChildren":163},43,{"fr":73},2,[],[],{"id":165,"type":145,"label":166,"href":168,"icon":148,"description":148,"badge":148,"groupTitle":148,"style":148,"gridColumns":148,"cssClass":148,"psCategoryId":148,"showPsChildren":68,"position":169,"children":170,"psChildren":171},44,{"fr":167},"Outils IA","\u002Foutils-ia",3,[],[],{"id":173,"type":145,"label":174,"href":67,"icon":148,"description":148,"badge":148,"groupTitle":148,"style":176,"gridColumns":148,"cssClass":148,"psCategoryId":148,"showPsChildren":68,"position":177,"children":178,"psChildren":179},45,{"fr":175},"Offre Starter ✨",{"highlight":20},4,[],[],{"id":181,"type":145,"label":182,"href":116,"icon":148,"description":148,"badge":148,"groupTitle":148,"style":148,"gridColumns":148,"cssClass":148,"psCategoryId":148,"showPsChildren":68,"position":183,"children":184,"psChildren":185},46,{"fr":115},5,[],[],{"id":187,"type":145,"label":188,"href":134,"icon":148,"description":148,"badge":148,"groupTitle":148,"style":148,"gridColumns":148,"cssClass":148,"psCategoryId":148,"showPsChildren":68,"position":56,"children":189,"psChildren":190},47,{"fr":130},[],[],{"id":192,"type":145,"label":193,"href":140,"icon":148,"description":148,"badge":148,"groupTitle":148,"style":148,"gridColumns":148,"cssClass":148,"psCategoryId":148,"showPsChildren":68,"position":194,"children":195,"psChildren":196},48,{"fr":139},7,[],[],{"academy":198,"blog":199,"expertise":210},[],[200,204,207],{"title":201,"url":202,"score":155,"type":203},"Docker Compose PrestaShop : configuration production prête à déployer","\u002Fblog\u002Fdevops\u002Fdocker\u002Fdocker-compose-prestashop-production","blog",{"title":205,"url":206,"score":155,"type":203},"PrestaShop headless avec Nuxt 3 : pourquoi séparer back et front","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-separation-front-back",{"title":208,"url":209,"score":155,"type":203},"PrestaShop headless : Nuxt 3, pas Next.js — le choix souverain","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-nextjs-souverainete",[],{"header":212},{"logo":213,"topBar":218,"contactEmail":221,"features":222,"navBar":148},{"src":214,"alt":215,"text":133,"href":216,"class":217},"\u002Flogo-ac.svg","Alexandre Carette — Architecte E-commerce Souverain","\u002F","h-10 w-10",{"message":148,"showLanguages":68,"align":219,"languages":220},"left",[],"contact@alexandrecarette.fr",{"showSearch":68,"showWishlist":68,"showLogin":20,"showContact":68,"showCart":68,"stickyHeader":20,"headerLayout":223},"inline",{"footer":225},{"theme":226,"description":148,"hours":148,"logo":227,"contact":228,"social":229,"bottomBar":239},"dark",{"src":214,"href":216,"alt":133},{"email":148,"phone":148,"address":148,"cta":148},[230,233,236],{"platform":231,"href":232,"label":231},"linkedin","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Falexandre-carette\u002F",{"platform":234,"href":235,"label":234},"malt","https:\u002F\u002Fwww.malt.fr\u002Fprofile\u002Falexandrecarette",{"platform":237,"href":238,"label":237},"github","https:\u002F\u002Fgithub.com\u002Fprest4cafe",{"copyright":148}]