[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"theme-db":3,"$fHnP92TgLEEtVcey3KBDHKbVMYDg8F_06Tr765bgym7w":22,"$fKnz2vuX4bZz1LbUTiuFsvSZ3e07l5_5fqNYp4Tzdhi8":60,"megamenu":141,"footer-db":197,"$f-WgXSi9-SyCP7N2bN_TADvvmEX160OpuQOk0hOBLOLs":215,"header-db":229},{"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},"Créer un site immobilier avec PrestaShop : retour d'expérience complet","creer-site-immobilier-prestashop-retour-experience","Comment détourner PrestaShop pour créer un site immobilier : adaptation du catalogue, migration Scrapy, SEO et hébergement. Guide technique complet.","configuration",[28,29,30,31,32],"prestashop immobilier","scrapy prestashop","prestashop usage détourné","migration données prestashop","catalogue immobilier","intermediaire",[35,36,37],"1.6","1.7","8.x","\u003Ch2>Utiliser PrestaShop pour un site immobilier : pourquoi ça fonctionne\u003C\u002Fh2>\n\u003Cp>PrestaShop est conçu pour le e-commerce, mais sa structure de catalogue — produits, catégories, déclinaisons, images, filtres — s'adapte remarquablement bien à d'autres secteurs verticaux comme l'immobilier. Un bien immobilier est, structurellement, un \"produit\" avec des caractéristiques (surface, nombre de pièces, localisation), des photos et un prix.\u003C\u002Fp>\n\u003Cp>Ce type de détournement de CMS e-commerce présente plusieurs avantages concrets :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**Catalogue structuré nativement** : catégories (vente, location, location saisonnière), filtres par caractéristiques, tri par prix\u003C\u002Fli>\n\u003Cli>**Gestion d'images intégrée** : galerie multi-photos, redimensionnement automatique, zoom\u003C\u002Fli>\n\u003Cli>**SEO natif** : URLs réécrites, meta descriptions par fiche, sitemap XML\u003C\u002Fli>\n\u003Cli>**Back-office complet** : gestion des biens sans développement custom\u003C\u002Fli>\n\u003Cli>**Écosystème de modules** : formulaires de contact, cartes, newsletters\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Mapper le vocabulaire e-commerce vers l'immobilier\u003C\u002Fh3>\n\u003Ctr>\u003Cth>Concept PrestaShop\u003C\u002Fth>\u003Cth>Équivalent immobilier\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Produit\u003C\u002Fth>\u003Cth>Bien immobilier\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Catégorie\u003C\u002Fth>\u003Cth>Type de bien (vente, location, location vacances)\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Prix\u003C\u002Fth>\u003Cth>Prix de vente ou loyer mensuel\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Déclinaisons\u003C\u002Fth>\u003Cth>Variantes (meublé\u002Fnon meublé)\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Caractéristiques\u003C\u002Fth>\u003Cth>Surface, pièces, étage, DPE\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Fabricant\u003C\u002Fth>\u003Cth>Agence ou propriétaire\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Quantité\u003C\u002Fth>\u003Cth>Disponibilité (1 = disponible, 0 = vendu\u002Floué)\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ch2>Migration de données avec Scrapy : récupérer un catalogue existant\u003C\u002Fh2>\n\u003Cp>Lorsqu'on reprend un site immobilier existant, la saisie manuelle de centaines d'annonces est impensable. Le framework Python \u003Cstrong>Scrapy\u003C\u002Fstrong> est l'outil idéal pour crawler l'ancien site et extraire les données de manière structurée.\u003C\u002Fp>\n\u003Ch3>Installation et configuration de Scrapy\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">\npip install scrapy\nscrapy startproject immo_scraper\ncd immo_scraper\nscrapy genspider annonces ancien-site.fr\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Spider type pour un site immobilier\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-python\">\nimport scrapy\nimport csv\n\nclass AnnoncesSpider(scrapy.Spider):\n    name = 'annonces'\n    start_urls = ['https:\u002F\u002Fancien-site.fr\u002Fannonces']\n\n    custom_settings = {\n        'DOWNLOAD_DELAY': 1,  # Respecter le serveur source\n        'FEEDS': {\n            'annonces.csv': {\n                'format': 'csv',\n                'encoding': 'utf-8',\n            }\n        }\n    }\n\n    def parse(self, response):\n        for annonce in response.css('.annonce-item'):\n            detail_url = annonce.css('a::attr(href)').get()\n            yield response.follow(detail_url, self.parse_detail)\n\n        # Pagination\n        next_page = response.css('.pagination .next a::attr(href)').get()\n        if next_page:\n            yield response.follow(next_page, self.parse)\n\n    def parse_detail(self, response):\n        yield {\n            'name': response.css('h1::text').get('').strip(),\n            'description': response.css('.description::text').getall(),\n            'price': response.css('.price::text').re_first(r'[\\d\\s]+'),\n            'surface': response.css('.surface::text').re_first(r'\\d+'),\n            'rooms': response.css('.pieces::text').re_first(r'\\d+'),\n            'images': response.css('.gallery img::attr(src)').getall(),\n            'location': response.css('.ville::text').get('').strip(),\n        }\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Importer les données dans PrestaShop\u003C\u002Fh3>\n\u003Cp>Une fois le CSV généré par Scrapy, deux approches pour l'import :\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1. Import CSV natif PrestaShop\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>PrestaShop accepte l'import CSV via le back-office (*Paramètres avancés > Import*). Il faut adapter les colonnes du CSV au format attendu :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-csv\">\nID;Active;Name;Categories;Price;Description;Image URLs;Feature (name:value:position)\n;1;Appartement T3 centre-ville;Vente &gt; Appartements;185000;Description...;https:\u002F\u002F...jpg;Surface (m²):75:1\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>2. Script d'import via Webservice (recommandé en 8.x)\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-python\">\nimport csv\nimport requests\nfrom xml.etree import ElementTree as ET\n\nAPI_KEY = 'VOTRE_CLE_WEBSERVICE'\nBASE_URL = 'https:\u002F\u002Fvotre-site.fr\u002Fapi'\n\ndef create_product(bien):\n    \"\"\"Crée un produit PrestaShop via le Webservice REST.\"\"\"\n    xml = f\"\"\"&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n    &lt;prestashop&gt;\n        &lt;product&gt;\n            &lt;active&gt;1&lt;\u002Factive&gt;\n            &lt;price&gt;{bien['price']}&lt;\u002Fprice&gt;\n            &lt;name&gt;\n                &lt;language id=\"1\"&gt;{bien['name']}&lt;\u002Flanguage&gt;\n            &lt;\u002Fname&gt;\n            &lt;description&gt;\n                &lt;language id=\"1\"&gt;{bien['description']}&lt;\u002Flanguage&gt;\n            &lt;\u002Fdescription&gt;\n            &lt;id_category_default&gt;{bien['category_id']}&lt;\u002Fid_category_default&gt;\n        &lt;\u002Fproduct&gt;\n    &lt;\u002Fprestashop&gt;\"\"\"\n\n    response = requests.post(\n        f'{BASE_URL}\u002Fproducts',\n        auth=(API_KEY, ''),\n        data=xml,\n        headers={'Content-Type': 'application\u002Fxml'}\n    )\n    return response.status_code == 201\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Gestion des images scrapées\u003C\u002Fh3>\n\u003Cp>Les images récupérées par crawl sont souvent de qualité insuffisante : résolution trop basse, compression excessive, dimensions inadaptées. Quelques bonnes pratiques :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**Ne jamais agrandir une image en CSS** : si l'image source fait 400×300px, ne l'affichez pas en 800×600. Le résultat sera flou et l'expérience utilisateur dégradée\u003C\u002Fli>\n\u003Cli>**Configurer les tailles d'images PrestaShop** correctement dans *Design > Paramètres des images* pour que le redimensionnement serveur produise des miniatures nettes\u003C\u002Fli>\n\u003Cli>**Planifier un remplacement progressif** des photos par des clichés professionnels\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cpre>\u003Ccode class=\"language-php\">\n\u002F\u002F PrestaShop 8.x : configuration des tailles d'images recommandées pour l'immobilier\n\u002F\u002F Back-office &gt; Design &gt; Paramètres des images\n\u002F\u002F Ajouter un type personnalisé :\n\u002F\u002F - Nom : immobilier_large | 1200 x 800\n\u002F\u002F - Nom : immobilier_thumb | 400 x 267\n\u002F\u002F - Nom : immobilier_list | 600 x 400\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Adapter le thème PrestaShop au secteur immobilier\u003C\u002Fh2>\n\u003Ch3>Personnaliser les templates produit\u003C\u002Fh3>\n\u003Cp>La fiche produit standard d'un thème e-commerce affiche un bouton \"Ajouter au panier\" — inadapté pour l'immobilier. Il faut transformer cette action en \"Demander une visite\" ou \"Contacter l'agence\".\u003C\u002Fp>\n\u003Cp>En PrestaShop 8.x avec un thème enfant :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-smarty\">\n{* themes\u002Fvotre-theme-enfant\u002Ftemplates\u002Fcatalog\u002Fproduct.tpl *}\n{block name='product_add_to_cart'}\n    &lt;div class=\"immobilier-actions\"&gt;\n        &lt;a href=\"{$link-&gt;getPageLink('contact')}?id_product={$product.id}\"\n           class=\"btn btn-primary btn-lg\"&gt;\n            &lt;i class=\"material-icons\"&gt;phone&lt;\u002Fi&gt;\n            Demander une visite\n        &lt;\u002Fa&gt;\n        &lt;a href=\"tel:+33XXXXXXXXX\" class=\"btn btn-outline-primary btn-lg\"&gt;\n            Appeler directement\n        &lt;\u002Fa&gt;\n    &lt;\u002Fdiv&gt;\n{\u002Fblock}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Exploiter les caractéristiques comme filtres\u003C\u002Fh3>\n\u003Cp>Créez des caractéristiques PrestaShop pour chaque critère immobilier pertinent :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**Surface (m²)** : valeurs par tranches (\u003C 30, 30-50, 50-80, 80-120, > 120)\u003C\u002Fli>\n\u003Cli>**Nombre de pièces** : 1 à 6+\u003C\u002Fli>\n\u003Cli>**Type de bien** : Appartement, Maison, Terrain, Local commercial\u003C\u002Fli>\n\u003Cli>**DPE** : A à G\u003C\u002Fli>\n\u003Cli>**Ville \u002F Quartier** : selon votre zone géographique\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Le module \u003Cstrong>Navigation à facettes\u003C\u002Fstrong> (\u003Ccode>ps_facetedsearch\u003C\u002Fcode>) transforme automatiquement ces caractéristiques en filtres cliquables dans la colonne latérale.\u003C\u002Fp>\n\u003Ch2>SEO immobilier sur PrestaShop : les fondamentaux\u003C\u002Fh2>\n\u003Cp>Le référencement d'un site immobilier sous PrestaShop nécessite une attention particulière à la structure des URLs et au contenu.\u003C\u002Fp>\n\u003Ch3>Structure d'URLs optimisée\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-\">\n\u002Fvente\u002Fappartements\u002Fappartement-t3-centre-ville-metz\n\u002Flocation\u002Fmaisons\u002Fmaison-4-chambres-jardin-thionville\n\u002Flocation-vacances\u002Fgites\u002Fgite-charme-gorze-moselle\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Dans PrestaShop 8.x, activez les URLs simplifiées (*Configurer > Paramètres de la boutique > Trafic & SEO*) et structurez vos catégories pour refléter cette hiérarchie.\u003C\u002Fp>\n\u003Ch3>Analyser les logs serveur\u003C\u002Fh3>\n\u003Cp>Avant toute optimisation SEO, comprendre comment Googlebot explore votre site est essentiel. L'analyse des logs d'accès permet de détecter :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Les pages crawlées trop fréquemment (budget de crawl gaspillé)\u003C\u002Fli>\n\u003Cli>Les pages ignorées (contenu important non indexé)\u003C\u002Fli>\n\u003Cli>Les erreurs 404 ou redirections en chaîne\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cpre>\u003Ccode class=\"language-bash\">\n# Extraire les visites de Googlebot depuis les logs Apache\u002FNginx\ngrep \"Googlebot\" \u002Fvar\u002Flog\u002Fnginx\u002Faccess.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -50\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Données structurées pour l'immobilier\u003C\u002Fh3>\n\u003Cp>Ajoutez du JSON-LD \u003Ccode>RealEstateListing\u003C\u002Fcode> (schema.org) pour enrichir vos résultats dans Google :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-json\">\n{\n  \"@context\": \"https:\u002F\u002Fschema.org\",\n  \"@type\": \"RealEstateListing\",\n  \"name\": \"Appartement T3 centre-ville Metz\",\n  \"url\": \"https:\u002F\u002Fvotre-site.fr\u002Fvente\u002Fappartement-t3-metz\",\n  \"datePosted\": \"2026-03-15\",\n  \"offers\": {\n    \"@type\": \"Offer\",\n    \"price\": \"185000\",\n    \"priceCurrency\": \"EUR\"\n  }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Hébergement : auto-hébergement vs cloud\u003C\u002Fh2>\n\u003Cp>Héberger un PrestaShop chez soi sur un serveur personnel derrière une connexion fibre est techniquement possible, mais comporte des limites :\u003C\u002Fp>\n\u003Ctr>\u003Cth>Critère\u003C\u002Fth>\u003Cth>Auto-hébergement\u003C\u002Fth>\u003Cth>VPS\u002FCloud\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Coût mensuel\u003C\u002Fth>\u003Cth>~30€ (électricité)\u003C\u002Fth>\u003Cth>10-50€\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Disponibilité\u003C\u002Fth>\u003Cth>99% (coupures, maintenance)\u003C\u002Fth>\u003Cth>99.9%+ (SLA)\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Performances\u003C\u002Fth>\u003Cth>Variable (upload fibre)\u003C\u002Fth>\u003Cth>Constantes\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Sécurité\u003C\u002Fth>\u003Cth>À gérer entièrement\u003C\u002Fth>\u003Cth>Infra sécurisée\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Sauvegarde\u003C\u002Fth>\u003Cth>Manuelle\u003C\u002Fth>\u003Cth>Automatisée\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>SSL\u002FTLS\u003C\u002Fth>\u003Cth>Let's Encrypt\u003C\u002Fth>\u003Cth>Inclus\u003C\u002Fth>\u003C\u002Ftr>\n\u003Cp>\u003Cstrong>Recommandation actuelle\u003C\u002Fstrong> : pour un site immobilier professionnel, un VPS OVH ou Scaleway à partir de 10€\u002Fmois offre de bien meilleures garanties de disponibilité et de performances. L'auto-hébergement reste intéressant pour le développement et les tests.\u003C\u002Fp>\n\u003Ch2>Évolutions recommandées en PrestaShop 8.x\u003C\u002Fh2>\n\u003Cp>Si vous maintenez un site immobilier initialement développé sous PrestaShop 1.6, voici les gains d'une migration vers la version 8.x :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**Symfony sous le capot** : architecture plus robuste, meilleure maintenabilité\u003C\u002Fli>\n\u003Cli>**API native améliorée** : le nouveau Webservice facilite les intégrations avec des portails immobiliers (SeLoger, LeBonCoin)\u003C\u002Fli>\n\u003Cli>**Performances** : PHP 8.1+, cache Symfony, lazy loading natif des images\u003C\u002Fli>\n\u003Cli>**Accessibilité** : le thème Hummingbird (8.x) respecte mieux les normes WCAG\u003C\u002Fli>\n\u003Cli>**Module Navigation à facettes** repensé : filtres plus rapides et plus flexibles\u003C\u002Fli>\n\u003C\u002Ful>",[40,43,46,49,52],{"q":41,"a":42},"PrestaShop est-il adapté pour créer un site immobilier ?","Oui, la structure catalogue de PrestaShop (produits, catégories, caractéristiques, images, filtres) se transpose directement au secteur immobilier. Un bien devient un produit, les types de biens deviennent des catégories, et les critères (surface, pièces, DPE) deviennent des caractéristiques filtrables. Le back-office permet de gérer les annonces sans développement sur mesure.",{"q":44,"a":45},"Comment migrer les annonces d'un ancien site vers PrestaShop ?","Le framework Python Scrapy permet de crawler automatiquement un site existant pour extraire les données (titres, descriptions, prix, photos) et les exporter en CSV. Ce fichier peut ensuite être importé via l'import CSV natif de PrestaShop ou via le Webservice REST pour un contrôle plus fin. Prévoyez un délai de courtoisie entre les requêtes (DOWNLOAD_DELAY) pour ne pas surcharger le serveur source.",{"q":47,"a":48},"Comment remplacer le bouton Ajouter au panier par un bouton de contact ?","Dans un thème enfant PrestaShop, surchargez le bloc 'product_add_to_cart' du template catalog\u002Fproduct.tpl pour remplacer le formulaire d'ajout au panier par un lien vers la page contact avec l'identifiant du produit en paramètre, ou un bouton d'appel téléphonique direct. En PrestaShop 8.x, vous pouvez aussi utiliser un hook personnalisé pour injecter un formulaire de demande de visite.",{"q":50,"a":51},"Comment optimiser le SEO d'un site immobilier sous PrestaShop ?","Trois axes prioritaires : structurez vos URLs avec des catégories hiérarchiques (vente\u002Fappartements\u002F...), ajoutez des données structurées JSON-LD de type RealEstateListing sur chaque fiche, et analysez régulièrement vos logs serveur pour comprendre le comportement de Googlebot. Le module Navigation à facettes génère également des pages filtrées indexables qui captent du trafic longue traîne.",{"q":53,"a":54},"Vaut-il mieux auto-héberger son PrestaShop immobilier ou prendre un VPS ?","Pour un site professionnel, un VPS est fortement recommandé : disponibilité garantie par SLA, performances constantes, sauvegardes automatisées et sécurité gérée au niveau infrastructure. L'auto-hébergement sur un serveur personnel convient pour le développement et les tests, mais les coupures de courant, les mises à jour réseau et la bande passante montante limitée de la fibre le rendent inadapté à un usage production.","PrestaShop peut être détourné efficacement pour créer un site immobilier en mappant les produits sur des biens, les catégories sur des types de biens et les caractéristiques sur des critères de recherche. Le framework Scrapy permet de migrer en masse les données d'un ancien site.",6,"2026-03-21T16:52:59.000Z",[],"Testez mon site ! :)",{"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,[],[],{"footer":198},{"theme":199,"description":148,"hours":148,"logo":200,"contact":203,"social":204,"bottomBar":214},"dark",{"src":201,"href":202,"alt":133},"\u002Flogo-ac.svg","\u002F",{"email":148,"phone":148,"address":148,"cta":148},[205,208,211],{"platform":206,"href":207,"label":206},"linkedin","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Falexandre-carette\u002F",{"platform":209,"href":210,"label":209},"malt","https:\u002F\u002Fwww.malt.fr\u002Fprofile\u002Falexandrecarette",{"platform":212,"href":213,"label":212},"github","https:\u002F\u002Fgithub.com\u002Fprest4cafe",{"copyright":148},{"academy":216,"blog":217,"expertise":228},[],[218,222,225],{"title":219,"url":220,"score":155,"type":221},"PrestaShop headless avec Nuxt 3 : pourquoi séparer back et front","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-separation-front-back","blog",{"title":223,"url":224,"score":155,"type":221},"PrestaShop headless : Nuxt 3, pas Next.js — le choix souverain","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-nextjs-souverainete",{"title":226,"url":227,"score":155,"type":221},"Sylius rachète PrestaShop : ce que ça change pour vous","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fsylius-rachat-prestashop-headless-souverainete",[],{"header":230},{"logo":231,"topBar":234,"contactEmail":237,"features":238,"navBar":148},{"src":201,"alt":232,"text":133,"href":202,"class":233},"Alexandre Carette — Architecte E-commerce Souverain","h-10 w-10",{"message":148,"showLanguages":68,"align":235,"languages":236},"left",[],"contact@alexandrecarette.fr",{"showSearch":68,"showWishlist":68,"showLogin":20,"showContact":68,"showCart":68,"stickyHeader":20,"headerLayout":239},"inline"]