Squarespace : comment créer un site web facilement en 2025

Créer un site web en 2025 ne se résume plus à empiler des blocs de texte et des images. Avec Squarespace, l’élégance visuelle et la rigueur technique avancent de concert, pour un résultat immédiatement professionnel. Les modèles intelligents, l’IA intégrée pour les textes et la mise en page, ainsi que les options de commerce en ligne simplifient chaque étape, du choix du style à la première vente.

Le contexte a changé: une marque, un portfolio ou un projet créatif n’existent pleinement qu’avec une présence digitale cohérente et rapide à lancer. Squarespace l’a compris et concentre design, contenu, SEO, e-mailing et analytique en un seul endroit. Cela évite la dispersion d’outils et réduit la friction.

La promesse est pragmatique: un site beau, lisible sur mobile, aligné avec une identité claire, et qui se promeut efficacement. Le tout sans coder, mais sans enfermer ceux qui aiment aller plus loin. La plateforme s’adresse autant aux entreprises qu’aux créateurs indépendants qui veulent convaincre dès la première impression.

Squarespace : comment créer un site web facilement en 2025 en partant d’un modèle pertinent

Le démarrage conditionne la cadence. Sur Squarespace, le choix d’un modèle aligné avec l’objectif simplifie toute la suite, car la structure initiale guide le contenu, les visuels et le ton. Un studio créatif, un commerce local et un portfolio de designer n’ont pas les mêmes priorités; filtrer par secteur ou par cas d’usage permet d’éviter les compromis. Les modèles proposent des variantes de typographies, de blocs visuels et de rythmes de page qui influencent la perception de marque dès les premières secondes.

Un exemple parle: « Atelier Lyra », une maison artisanale de senteurs, cherche à présenter ses collections, raconter des histoires olfactives, et convertir via une boutique minimaliste. Un modèle orienté portfolio-boutique aide à articuler une page d’accueil narrative, une page « À propos » crédible et une grille de produits épurée. Les blocs de témoignages et les sections éditoriales donnent du relief sans ajouter de complexité.

Vient ensuite l’identité. Ajouter un nom de domaine personnalisé légitime la marque et améliore la mémorisation. Le Générateur de noms d’entreprise et la recherche de domaines intégrés à Squarespace facilitent la phase d’idéation. On évite ainsi des heures passées sur des registrars externes. Quand l’inspiration manque, l’IA peut suggérer des propositions de titres, d’accroches ou de descriptions qui s’alignent avec la tonalité choisie.

La mise en page se construit par glisser-déposer. On agence des pages « À propos », « Contact », blog ou lookbook, puis on téléverse ses visuels. Une bibliothèque d’images libres via Unsplash se révèle utile pour compléter une série photo ou illustrer un article. Le panneau Design centralise couleurs, polices et espacements pour assurer la cohérence. Les modèles sont adaptatifs: l’affichage sur mobile et tablette reste net, ce qui compte pour les utilisateurs qui scannent un site sur leur téléphone avant d’acheter.

Pourquoi cette approche crée-t-elle un bénéfice immédiat? Parce qu’un modèle bien choisi limite la dette de design. Les éléments clé sont déjà équilibrés: titres lisibles, contrastes justes, hiérarchie claire. Il reste à greffer sa narration et ses photos, sans se battre contre la structure. L’énergie est concentrée sur le contenu à forte valeur.

Quelques pratiques éprouvées consolident ce départ:

  • Définir l’objectif de la page d’accueil: informer, inspirer, convertir. Un seul but, un chemin limpide.
  • Préparer 8 à 12 visuels cohérents, optimisés pour le web, mêmes dimensions et même mood.
  • Rédiger des micro-textes (titres, sous-titres, CTA) courts, orientés bénéfices et non caractéristiques.
  • Ranger les pages secondaires dans une navigation concise pour réduire le temps de décision.
  • Vérifier l’affichage sur trois tailles d’écran; ajuster le recadrage photo si nécessaire.

Pour franchir le pas, l’essai gratuit de 14 jours est une rampe utile, avec un environnement protégé pour tester des variations. Le site officiel fournit une vue d’ensemble claire des capacités et des modèles disponibles: https://www.squarespace.com/. La clé est d’entrer vite dans l’action: une architecture simple, un style affirmé, puis un premier contenu publiable. C’est ce momentum qui déclenche le cercle vertueux des améliorations.

Cette première phase, si elle est menée avec intention, devient un accélérateur: un socle impeccable qui permet d’enchaîner sur les finitions et la personnalisation fine.

Personnaliser un site Squarespace en 2025 : design, IA et cohérence de marque sans coder

La personnalisation sur Squarespace repose sur un trépied: style global, sections modulaires, et contenu assisté par IA. Le style global fixe la voix visuelle: polices, palette, boutons, lignes et arrière-plans. Avec quelques curseurs, une marque passe d’une atmosphère artisanale et feutrée à un univers technologique et clair. Les sections modulaires, elles, s’assemblent comme une collection: bandeau héro, galerie, témoignage, FAQ, grille produits, article épinglé. L’IA est le troisième pilier: elle propose des variantes d’accroches, reformule un paragraphe trop dense, et suggère une mise en page adaptée à la longueur du texte.

Le résultat est paradoxalement plus créatif parce que le cadre est contraint. Le design reste maîtrisé, la typographie ne se disperse pas, et la page charge vite. « Atelier Lyra » a par exemple transformé un simple bloc « histoire » en récit sensoriel: titres courts comme des notes de tête, images pleine largeur en note de cœur, puis CTA en note de fond, pour faire résonner produit et narration.

La plateforme autorise des raffinements pour qui aime pousser le détail. Les plus aguerris activeront des options CSS et JavaScript personnalisées pour un ajustement d’interlignage, une micro-animation au survol ou un effet de reveal au scroll. L’intérêt: on ne brise pas la structure, on perfectionne l’expérience. À l’inverse, ceux qui préfèrent la simplicité s’appuieront sur les réglages natifs; la cohérence est garantie.

Les images jouent un rôle central. Squarespace encourage l’import en haute qualité et se charge de la compression pour le web. L’accès à Unsplash aide à disposer d’illustrations contextuelles lorsque la production photo n’est pas encore bouclée. Un conseil utile consiste à créer une bibliothèque privée de 20 à 30 images piliers, avec un traitement cohérent, afin d’alimenter les sections sans effet patchwork.

Une personnalisation efficace se mesure à la clarté des parcours. Les meilleures pages guident l’œil par gradients: gros titre, sous-titre, visuel dense, bénéfice, preuve, appel à l’action. Chaque élément justifie sa présence. Les visiteurs scannent plus qu’ils ne lisent; le design doit orchestrer ce rythme. Le panneau Design permet de synchroniser espacement, taille de police et contrastes pour correspondre à cette lecture en diagonale.

  • Définir une palette principale (3 teintes) et une palette d’accent (2 teintes) pour les CTA.
  • Sélectionner 2 polices maximum: un titrage expressif et un texte très lisible.
  • Limiter à 3 longueurs de blocs texte: 30, 60 et 100 mots, selon la section.
  • Utiliser les suggestions IA pour condenser un paragraphe trop long.
  • Prévoir une variation sombre/clair pour les sections alternées, afin de rythmer le scroll.

Pour objectiver les choix de style, le tableau suivant relie choix de design et impact sur l’attention et la conversion. Il sert de mémo quand une page semble « chargée » ou « plate » sans raison apparente.

Élément Bon usage sur Squarespace Effet attendu Signal d’alerte
Typographies 2 familles max, contrastées (titre/texte) Lecture fluide, hiérarchie claire Plus de 3 polices; densité illisible
Couleurs Palette restreinte + couleur d’action Focalisation sur les CTA CTAs peu visibles; palette criarde
Espacements Sections aérées, marges régulières Respiration visuelle, scannabilité Blocs tassés, fatigue à la lecture
Images Séries cohérentes, même traitement Professionnalisme perçu Styles disparates, poids excessif
Micro-textes Bénéfices concrets, verbe actif CTA plus cliqués Jargon, phrases longues

Affûtée, la personnalisation devient une économie de moyens: chaque détail renforce la clarté. Cette rigueur prépare idéalement l’étape suivante, dédiée à la visibilité et à la croissance.

Squarespace : comment créer un site web facilement en 2025 et le rendre visible (SEO, e-mail, réseaux sociaux)

Publier ne suffit plus; promouvoir et mesurer font la différence. Squarespace regroupe des outils marketing pour donner de l’élan au site dès son lancement. Les intégrations sociales synchronisent les posts, le module d’e-mailing construit des campagnes alignées sur le design du site, et les analyses intégrées indiquent les pages qui retiennent l’attention.

Le SEO est traité à la racine: balises de titre, méta-descriptions, alt text d’images, plan de site automatique et URLs propres. L’interface incite à renseigner les champs clés sans noyer l’utilisateur dans une terminologie technique. Les réglages sémantiques de base ont le meilleur rapport effort/impact: ils contribuent à l’indexation et à la pertinence des extraits dans les résultats de recherche.

Exemple concret: « Atelier Lyra » publie un article « Comment choisir un parfum d’intérieur pour un salon lumineux ». L’IA propose trois variantes d’angle et un plan d’article. Un visuel de mise en avant est choisi dans une même série esthétique, le maillage interne pointe vers deux pages produits, et l’e-mail hebdomadaire reprend le thème. L’analyse montre un trafic organique en hausse sur 14 jours, et une meilleure conversion des visiteurs provenant de la newsletter.

Pour accompagner l’apprentissage, des tutoriaux grand public permettent d’aller vite sans se perdre. La requête ci-dessous donne une vue pratique d’un processus de création, de la structure aux finitions.

Les réseaux sociaux amplifient la couverture. Intégrer un flux Instagram ou relier le catalogue produit à Pinterest joue sur la découvrabilité. Le partage vers X/Twitter aide à capter une audience curieuse de nouveautés et à tester des messages courts. Une écoute sociale simple (commentaires, mentions, messages privés) renseigne sur les freins et les objections; ces signaux servent ensuite à enrichir la FAQ du site.

Pour une montée en puissance méthodique, ces actions produisent un effet composé:

  • SEO: balises, structure d’en-têtes, images légères, liens internes.
  • E-mailing: segmentation, séries de bienvenue, design de newsletter cohérent avec le site.
  • Social: posts natifs, stories, carrousels produits, UGC intégré sur une page dédiée.
  • Analyse: pages à forte sortie, requêtes recherchées, taux de clics sur CTA.
  • Itérations: une action par semaine (ajout d’un aimant à leads, test A/B d’un titre, nouvelle page ressource).

Le maillage de ces leviers transforme la visibilité en activité régulière. La suite naturelle: vendre sereinement en ligne, sans frictions techniques.

Créer une boutique en ligne sur Squarespace en 2025 : paiement, stocks, expédition, promos

Le commerce intégré à Squarespace vise l’essentiel: catalogue clair, processus de paiement rapide, outils promotionnels utiles. L’interface produit permet d’ajouter images, variations, prix, descriptions brèves et bénéfices. L’affichage de la disponibilité et la gestion d’inventaire évitent les ventes de produits épuisés, source de frustration et de support inutile.

La logistique se règle en quelques pages: régions d’expédition, tarifs, transporteurs, click & collect si pertinent. Les codes promos, ventes flash et remises par palier s’activent au besoin. Les taxes se configurent par zone, ce qui est déterminant pour un commerce transfrontalier. Depuis un téléphone, un responsable peut ajouter un produit, corriger une description, modifier un prix ou consulter les commandes.

Squarespace n’est pas seul sur ce segment; Shopify reste la référence du commerce multicanal complexe, et Wix a étoffé ses fonctions e-commerce. Pourtant, pour un catalogue maîtrisé, le confort d’un système tout-en-un pèse lourd: moins d’apps, moins d’intégrations à surveiller, plus de temps pour itérer sur les fiches produits et la photographie.

Le tableau ci-dessous synthétise des critères décisifs pour une boutique de taille petite à moyenne. Il met en regard l’expérience Squarespace avec des alternatives fréquentes.

Critère Squarespace Shopify Wix
Mise en place Rapide, modèles élégants Très robuste, plus d’étapes Souple, nombreux widgets
Catalogue Idéal petites/moyennes gammes Excellente gestion volumineuse Flexible, bon pour vitrines
Marketing intégré E-mail, social, SEO natifs Écosystème d’apps très riche Automations et coupons faciles
Personnalisation Design guidé + CSS/JS Thèmes + liquid/app-store Éditeur visuel avancé
Mobile Gestion depuis l’app App complète App correcte

Les ventes décollent lorsque les pages produits racontent une histoire utile. Trois leviers créent la préférence: une image principale impeccable, une liste de bénéfices concrets, et une mise en avant de la preuve (avis, expertise, labels). « Atelier Lyra » a vu le temps passé sur ses fiches augmenter en ajoutant une section « notes olfactives » et des conseils d’usage, réduisant les retours.

  • Structurer les fiches: bénéfices, ingrédients/ matériaux, entretien, avis.
  • Ajouter une photo d’usage dans un décor réel pour ancrer la projection.
  • Proposer un guide de taille, de volume ou d’intensité selon le produit.
  • Lancer un bundle thématique pour augmenter le panier moyen.
  • Mesurer les clics sur les CTA et ajuster le wording chaque mois.

Avant de complexifier, il est judicieux de vérifier que le parcours d’achat est rapide sur mobile. Une friction en moins, c’est une touche d’élégance perçue en plus.

Comparatif 2025 : Squarespace face à Wix, Weebly, WordPress.com, Jimdo, SiteW, HubSpot CMS, Webflow, Shopify, Strikingly, Zyro

Choisir une plateforme n’est pas une question de mode, mais d’adéquation. Squarespace convient à celles et ceux qui priorisent cohérence visuelle, simplicité et marketing intégré. D’autres éditeurs séduisent selon des critères différents: Webflow pour un contrôle granularisé du layout, Shopify pour l’omnicanal, WordPress.com pour l’écosystème de thèmes et d’extensions, Wix pour la flexibilité visuelle, et HubSpot CMS pour l’alignement marketing/CRM.

La tentation d’hésiter est normale, mais un test guidé tranche souvent. L’important: projeter un site réel, même minimal, et comparer les ajustements du quotidien (ajouter une page, changer une image, lancer une promo) plutôt que de débattre abstraitement. À ce jeu, la vitesse d’exécution de Squarespace reste convaincante.

  • Wix et Weebly: édition très visuelle, richesse d’apps, mais risque de dispersion.
  • WordPress.com: extensible, blogging puissant; demande plus de curiosité technique.
  • Jimdo et Zyro: simplicité radicale, idéal pour des sites ultra-légers.
  • SiteW et Strikingly: prise en main rapide, bonnes landing pages.
  • Webflow: liberté maximale de layout, courbe d’apprentissage plus longue.
  • HubSpot CMS: puissant pour ABM, CRM et automatisations marketing.
  • Shopify: références e-commerce volumineuses et ventes multicanales.

Ce guide met en lumière une logique pragmatique: choisir la plateforme qui réduit le temps entre l’idée et le test en ligne. Pour celles et ceux qui explorent d’autres pistes, un détour par ce retour d’expérience sur un éditeur voisin peut être instructif: Découvrir Webador et ses avantages.

Il est utile d’objectiver les différences au-delà des impressions. L’outil ci-dessous présente une comparaison compacte des forces perçues en 2025, pour décider en connaissance de cause sans se perdre dans les listes infinies de fonctionnalités.

/* Conteneur principal limité en hauteur (<= 2000px) */ .comparateur-constructeurs { –accent: #3a86ff; –accent-2: #8338ec; –good: #2fbf71; –warn: #ffbe0b; –bad: #ef476f; –muted: #6c6f7d; –bg-soft: #f6f8fb; –chip-bg: #edf2ff; –chip-text: #2c3a4b; –radius: 12px; position: relative; max-height: 1400px; border: 1px solid #e5e7eb; border-radius: var(–radius); overflow: hidden; background: #fff; } .comparateur-constructeurs header { padding: 16px 16px 8px 16px; background: linear-gradient(110deg, var(–bg-soft) 0%, #ffffff 70%); border-bottom: 1px solid #eef0f4; } .comparateur-constructeurs h2 { margin: 0 0 6px 0; color: #0f172a; font-weight: 700; } .comparateur-constructeurs p.sous-titre { margin: 0; color: var(–muted); font-size: 0.95rem; } .outil-controls { display: grid; grid-template-columns: 1.5fr 1fr 1fr auto auto; gap: 8px; padding: 12px 16px; align-items: end; border-bottom: 1px solid #eef0f4; background: #fff; } .outil-controls .row2 { grid-column: 1 / -1; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; } .outil-controls input[type="search"] { margin: 0; } .chips { display: flex; flex-wrap: wrap; gap: 8px; } .chip { border: 1px solid #dbe4ff; background: var(–chip-bg); color: var(–chip-text); padding: 6px 10px; border-radius: 999px; font-size: 0.85rem; line-height: 1; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; user-select: none; } .chip input { display: none; } .chip.active { background: #1e293b; color: #fff; border-color: #1e293b; } .btn-ghost { background: #fff; border: 1px solid #e5e7eb; color: #0f172a; } .btn-ghost:hover { border-color: #cbd5e1; background: #f8fafc; } .table-wrapper { max-height: 780px; overflow: auto; scrollbar-width: thin; } table.comparateur { width: 100%; margin: 0; border-collapse: separate; border-spacing: 0; } .comparateur thead th { position: sticky; top: 0; background: #0f172a; color: #fff; z-index: 2; font-weight: 600; font-size: 0.92rem; } .comparateur thead th button.sorter { background: transparent; border: none; color: inherit; font: inherit; padding: 6px 8px; cursor: pointer; display: inline-flex; gap: 6px; align-items: center; } .comparateur tbody tr:nth-child(even) { background: #fbfdff; } .comparateur td, .comparateur th { padding: 12px 10px; vertical-align: top; } .plateforme-cell { display: flex; align-items: center; gap: 10px; } .badge { font-size: 0.72rem; padding: 3px 6px; border-radius: 6px; background: #eef2ff; color: #334155; border: 1px solid #e5e7eb; } .sq-highlight { outline: 2px dashed var(–accent); outline-offset: -3px; background: linear-gradient(0deg, #f0f7ff 0%, transparent 60%); } .scorebars { min-width: 220px; display: grid; grid-template-columns: 1fr; gap: 6px; } .scorebars .bar { display: grid; grid-template-columns: 90px 1fr 34px; align-items: center; gap: 8px; font-size: 0.85rem; } .scorebars .track { height: 8px; background: #eef2f7; border-radius: 999px; overflow: hidden; } .scorebars .fill { height: 100%; width: 0%; border-radius: 999px; transition: width 380ms ease; background: linear-gradient(90deg, var(–accent), var(–accent-2)); } .scorebars .val { text-align: right; color: #0f172a; font-weight: 600; font-variant-numeric: tabular-nums; } .cell-actions { display: flex; gap: 8px; align-items: center; justify-content: flex-end; } .compare-drawer { position: sticky; bottom: 0; background: #0f172a; color: #e5e7eb; border-top: 1px solid #1f2937; padding: 10px 14px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; } .drawer-cards { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 10px; } .card { background: #111827; border: 1px solid #334155; border-radius: 10px; padding: 10px; } .card h4 { margin: 0 0 6px 0; color: #f8fafc; } .mini-scores .bar { grid-template-columns: 1fr 34px; } .mini-scores .label { display: none; } .footer-actions { display: flex; gap: 8px; } .kbd { background: #f1f5f9; border: 1px solid #e2e8f0; padding: 0 6px; border-radius: 6px; font-size: 0.78rem; color: #334155; } .muted { color: var(–muted); font-size: 0.88rem; } /* Mode compact */ .compact .scorebars .bar { grid-template-columns: 70px 1fr 28px; font-size: 0.8rem; } .compact .comparateur td, .compact .comparateur th { padding: 10px 8px; } .compact .drawer-cards { grid-template-columns: repeat(3, 1fr); } /* Accessibilité visuelle: contraste élevé */ .contraste-eleve .comparateur thead th { background: #000; color: #fff; } .contraste-eleve .sq-highlight { outline: 3px solid #ffdd00; background: #222 !important; color: #fff; } @media (max-width: 980px) { .outil-controls { grid-template-columns: 1fr; } .scorebars { min-width: auto; } .drawer-cards { grid-template-columns: 1fr; } .cell-actions { justify-content: start; } }

Comparateur 2025 des créateurs de sites web

Choisissez vos priorités (design, e-commerce, blog, simplicité). Mettez Squarespace en perspective avec ses concurrents.

Tri: Pertinence (selon priorité) Tri: Alphabétique A→Z Tri: Design Tri: E‑commerce Tri: Blogging Tri: Simplicité Filtre: Tous les usages Design/Marque visuelle E‑commerce Blog/Éditorial Simplicité/Facilité Local/Artisans B2B/CRM Landing/CV
Astuce: utilisez la touche / pour placer le curseur dans la recherche.
Points forts Pour qui Scores clés Comparer
/** * Comparateur 2025 — HTML + JS pur, toutes les chaînes en français. * Aucune API externe nécessaire. * Données de base (extraites de l’article) + scores éditoriaux pour le tri multicritères. * * Exemple de structure JSON interne: * { * « plateforme »: « Squarespace », * « pointsForts »: « Design cohérent, marketing intégré, e-commerce simple », * « pourQui »: « Marques visuelles, créateurs, PME », * « scores »: { « design »: 5, « ecommerce »: 4, « blog »: 3, « simplicite »: 4 }, * « tags »: [« Design », « E-commerce »] * } * * APIs / Services: * – Aucune API externe utilisée (100% gratuit et local). * – Si nécessaire d’étendre: utiliser des APIs publiques gratuites listées ici: https://github.com/public-apis/public-apis (non utilisées dans ce snippet). */ (function() { // Centralisation des textes (facilement éditables) const TXT = { labels: { design: « Design », ecommerce: « E‑commerce », blog: « Blog », simplicite: « Simplicité », }, badges: { carre: « 2025 », b2b: « B2B », local: « Local », }, aria: { selectedCount: (n)=> `${n} sélectionné(s) pour la comparaison`, } }; // Données sources: plateformes (du fragment) const rawData = [ { plateforme: « Squarespace », pointsForts: « Design cohérent, marketing intégré, e-commerce simple », pourQui: « Marques visuelles, créateurs, PME » }, { plateforme: « Wix », pointsForts: « Flexibilité visuelle, nombreuses apps », pourQui: « Vitrines variées, micro-commerces » }, { plateforme: « Webflow », pointsForts: « Contrôle fin du layout, interactions », pourQui: « Designers exigeants » }, { plateforme: « Shopify », pointsForts: « Ventes multicanales, gestion volumineuse », pourQui: « Boutiques en croissance » }, { plateforme: « WordPress.com », pointsForts: « Blogging et écosystème », pourQui: « Contenu éditorial conséquent » }, { plateforme: « Weebly », pointsForts: « Simplicité, coûts contenus », pourQui: « Petits sites informatifs » }, { plateforme: « Jimdo », pointsForts: « Rapide à déployer », pourQui: « Présences ultra-simples » }, { plateforme: « SiteW », pointsForts: « Local et direct », pourQui: « Artisans, associations » }, { plateforme: « Strikingly », pointsForts: « Pages uniques percutantes », pourQui: « Landing pages, CV » }, { plateforme: « Zyro », pointsForts: « Templates rapides, tarifs serrés », pourQui: « Sites personnels » }, { plateforme: « HubSpot CMS », pointsForts: « CRM/marketing natifs », pourQui: « Équipes B2B alignées » } ]; // Scores éditoriaux (0-5) — à ajuster au besoin const scoresParPlateforme = { « Squarespace »: { design: 5, ecommerce: 4, blog: 3, simplicite: 4 }, « Wix »: { design: 4, ecommerce: 3, blog: 3, simplicite: 3 }, « Webflow »: { design: 5, ecommerce: 3, blog: 2, simplicite: 2 }, « Shopify »: { design: 3, ecommerce: 5, blog: 2, simplicite: 3 }, « WordPress.com »: { design: 3, ecommerce: 3, blog: 5, simplicite: 3 }, « Weebly »: { design: 2, ecommerce: 2, blog: 3, simplicite: 5 }, « Jimdo »: { design: 2, ecommerce: 2, blog: 2, simplicite: 5 }, « SiteW »: { design: 3, ecommerce: 3, blog: 3, simplicite: 4 }, « Strikingly »: { design: 4, ecommerce: 2, blog: 2, simplicite: 4 }, « Zyro »: { design: 3, ecommerce: 3, blog: 2, simplicite: 4 }, « HubSpot CMS »: { design: 3, ecommerce: 1, blog: 4, simplicite: 3 } }; // Tags dérivés (usage), pour le filtrage simple function deriveTags(item) { const tags = new Set(); const txt = (item.pointsForts +  »  » + item.pourQui).toLowerCase(); if (/design|visuel|layout|templates|marque/.test(txt)) tags.add(« Design »); if (/commerce|boutique|ventes|tarif|apps|multicanales/.test(txt)) tags.add(« E-commerce »); if (/blog|édit|contenu|pages uniques/.test(txt)) tags.add(« Blog »); if (/simple|simplicité|rapide|déployer|ultra|facile/.test(txt)) tags.add(« Simplicité »); if (/artisan|local|associations/.test(txt)) tags.add(« Local »); if (/b2b|crm|équipes/.test(txt)) tags.add(« B2B »); if (/landing|cv/.test(txt)) tags.add(« Landing »); return Array.from(tags); } // État const state = { data: [], search: «  », filtreUsage: «  », tri: « pertinence », prioriteVector: { design: 0.34, ecommerce: 0.33, blog: 0.16, simplicite: 0.17 }, // pondération par défaut « pertinence » chips: { design: false, ecommerce: false, blog: false, simplicite: false }, compact: false, pinSquarespace: true, compareSet: new Set() }; // Init data avec scores+tags state.data = rawData.map(x => ({ …x, scores: scoresParPlateforme[x.plateforme] || { design: 3, ecommerce: 3, blog: 3, simplicite: 3 }, tags: deriveTags(x) })); // Helpers const $ = sel => document.querySelector(sel); const $$ = sel => Array.from(document.querySelectorAll(sel)); const root = $(« #comparateur-constructeurs »); const tbody = $(« #tbodyComparateur »); const searchInput = $(« #searchInput »); const prioriteSelect = $(« #prioriteSelect »); const filtreUsage = $(« #filtreUsage »); const compactToggle = $(« #compactToggle »); const pinSquarespace = $(« #pinSquarespace »); const chipContainer = $(« #chipsPriorites »); const resetBtn = $(« #resetBtn »); const contrastBtn = $(« #contrastBtn »); const compareCards = $(« #compareCards »); const exportJSON = $(« #exportJSON »); const clearCompare = $(« #clearCompare »); // Accès rapide « / » vers le champ de recherche window.addEventListener(« keydown », e => { if (e.key === « / » && document.activeElement !== searchInput) { e.preventDefault(); searchInput.focus(); searchInput.select(); } }); // Gestion des chips de priorités (poids = 0.5 cumul max + normalisation) chipContainer.addEventListener(« click », (e) => { const lab = e.target.closest(« .chip »); if (!lab) return; const key = lab.dataset.key; state.chips[key] = !state.chips[key]; lab.classList.toggle(« active », state.chips[key]); recalculerPriorites(); render(); }); function recalculerPriorites() { const base = { design: 0.25, ecommerce: 0.25, blog: 0.25, simplicite: 0.25 }; const boost = { design: 0, ecommerce: 0, blog: 0, simplicite: 0 }; let totalBoost = 0; Object.entries(state.chips).forEach(([k, v]) => { if (v) { boost[k] += 0.35; totalBoost += 0.35; } }); const sumBase = 1 + totalBoost; state.prioriteVector = { design: (base.design + boost.design) / sumBase, ecommerce: (base.ecommerce + boost.ecommerce) / sumBase, blog: (base.blog + boost.blog) / sumBase, simplicite: (base.simplicite + boost.simplicite) / sumBase }; // Forcer le tri sur pertinence si pas déjà choisi if (state.tri === « pertinence ») prioriteSelect.value = « pertinence »; } // Calcul d’un score composite (pour tri « pertinence ») function scoreComposite(scores, vector) { return (scores.design * vector.design) + (scores.ecommerce * vector.ecommerce) + (scores.blog * vector.blog) + (scores.simplicite * vector.simplicite); } // Moteur de rendu function render() { const query = state.search.trim().toLowerCase(); let rows = state.data.filter(item => { const hay = (item.plateforme +  »  » + item.pointsForts +  »  » + item.pourQui +  »  » + item.tags.join( » « )).toLowerCase(); const passSearch = !query || hay.includes(query); const passUsage = !state.filtreUsage || item.tags.includes(state.filtreUsage); return passSearch && passUsage; }); // Tri const tri = state.tri; rows.sort((a, b) => { if (tri === « plateforme ») return a.plateforme.localeCompare(b.plateforme, « fr »); if ([« design », »ecommerce », »blog », »simplicite »].includes(tri)) { return (b.scores[tri] – a.scores[tri]) || a.plateforme.localeCompare(b.plateforme, « fr »); } // pertinence const sa = scoreComposite(a.scores, state.prioriteVector); const sb = scoreComposite(b.scores, state.prioriteVector); return (sb – sa) || a.plateforme.localeCompare(b.plateforme, « fr »); }); // Épingler/peser Squarespace if (state.pinSquarespace) { const idx = rows.findIndex(r => r.plateforme === « Squarespace »); if (idx > 0) { const [sq] = rows.splice(idx, 1); rows.unshift(sq); } } // Rendu tbody tbody.innerHTML = «  »; for (const item of rows) { const tr = document.createElement(« tr »); if (item.plateforme === « Squarespace ») tr.classList.add(« sq-highlight »); tr.innerHTML = `
${item.plateforme} ${item.plateforme === « Squarespace » ? `${TXT.badges.carre}` : «  »} ${item.tags.includes(« B2B ») ? `${TXT.badges.b2b}` : «  »} ${item.tags.includes(« Local ») ? `${TXT.badges.local}` : «  »}
Retour en haut