Aller au contenu

Blocs disponibles

Le Page Builder d’ArtisanCMS propose 39 types de blocs couvrant l’ensemble des besoins de construction de pages web. Chaque bloc est conçu pour être configuré visuellement, sans écriture de code.

Les blocs sont répartis en six catégories dans le panneau d’insertion :

CatégorieNombre de blocsDescription
Mise en page5Structure et organisation de la page
Contenu18Texte, titres, boutons et composants éditoriaux
Média6Images, vidéos, galeries et contenus embarqués
E-commerce5Produits, panier et paiement
Marketing3Témoignages, tarifs et appels à l’action
Formulaires2Construction et intégration de formulaires

Les blocs de mise en page définissent la structure visuelle de la page. Ils servent de conteneurs pour les autres blocs.

BlocDescription
SectionConteneur principal pleine largeur avec options de fond (couleur, image, vidéo), espacement et largeur maximale.
GridGrille multi-colonnes (1 à 6 colonnes) avec points de rupture responsive et contrôle de l’espacement.
SpacerEspacement vertical configurable par viewport (desktop, tablette, mobile).
DividerLigne de séparation horizontale avec options de style (solide, pointillé, tirets), couleur et épaisseur.
Shape DividerSéparateur décoratif SVG (vagues, triangles, courbes) placé en haut ou en bas d’une section.

Les blocs de contenu permettent de rédiger et de structurer le contenu éditorial de la page.

BlocDescription
HeadingTitre de niveau H1 à H6 avec alignement, couleur et typographie configurable.
TextÉditeur de texte riche basé sur TipTap avec mise en forme, liens et listes.
ButtonBouton avec lien, variantes de style, icône optionnelle et choix de taille.
HeroSection d’en-tête avec titre, sous-titre, appel à l’action et fond image/vidéo.
AccordionSections dépliantes avec titre et contenu masqué par défaut.
TabsContenu organisé en onglets navigables.
CounterCompteur animé avec valeur de départ, valeur cible et durée d’animation.
Icon BoxCarte composée d’une icône, d’un titre et d’une description.
TableTableau de données avec en-têtes, lignes et options de style.
AlertMessage d’alerte avec quatre variantes : information, avertissement, erreur et succès.
CountdownCompte à rebours basé sur une date cible avec affichage jours/heures/minutes/secondes.
Code BlockBloc de code source avec coloration syntaxique et sélection du langage.
BlockquoteCitation stylisée avec texte, auteur et source optionnels.
ListListe ordonnée ou non ordonnée avec icônes personnalisables.
Team MembersCarte de membre d’équipe : photo, nom, rôle et liens vers les réseaux sociaux.
Progress BarBarre de progression animée avec pourcentage et label.
TimelineFrise chronologique verticale avec événements datés.
TOCTable des matières générée automatiquement à partir des titres de la page.

Les blocs média permettent d’intégrer des éléments visuels et multimédias.

BlocDescription
ImageImage issue de la bibliothèque de médias avec texte alternatif, légende, lien et lightbox.
VideoVidéo uploadée ou embarquée (YouTube/Vimeo) avec lecture automatique, boucle et image de couverture.
Gallery / CarouselGalerie d’images en mode grille ou carrousel avec lightbox et légendes.
MapCarte interactive OpenStreetMap ou Google Maps avec adresse, coordonnées et marqueurs.
Logo GridGrille de logos avec colonnes configurables, option niveaux de gris et liens.
EmbedContenu embarqué via oEmbed : YouTube, Vimeo, Twitter et autres services compatibles.

Les blocs e-commerce sont disponibles lorsque le plugin officiel ArtisanCommerce est activé. Ils permettent d’intégrer des éléments de boutique directement dans les pages.

BlocDescription
Product CardCarte produit individuelle avec image, nom, prix et bouton d’ajout au panier.
Product GridGrille de produits filtrable par catégorie, tag ou collection.
Featured ProductsSélection manuelle de produits mis en avant avec mise en page personnalisable.
Cart WidgetMini-panier intégrable affichant le résumé du panier et un lien vers la page de paiement.
Checkout FormFormulaire de paiement complet avec intégration Stripe.

Les blocs e-commerce récupèrent dynamiquement les données produit (prix, disponibilité, images) depuis la base de données. Ils se mettent à jour automatiquement lorsque les informations produit changent.


Les blocs marketing sont conçus pour la conversion et la mise en valeur de l’offre commerciale.

BlocDescription
TestimonialsCarrousel ou grille de témoignages clients avec photo, nom, entreprise et citation.
Pricing TableTableau comparatif de tarifs avec colonnes de plans, fonctionnalités et boutons d’action.
CTABloc d’appel à l’action avec titre, description et bouton proéminent.

Les blocs de formulaires permettent de créer et d’intégrer des formulaires de contact ou de collecte de données.

BlocDescription
Form BuilderConstructeur de formulaire visuel avec champs drag & drop (texte, email, textarea, select, checkbox, radio, file upload).
Form EmbedIntégration d’un formulaire existant créé depuis le gestionnaire de formulaires.

Les formulaires soumis sont stockés en base de données et accessibles depuis l’administration. Des notifications par email peuvent être configurées pour chaque formulaire.


Chaque bloc est composé de deux fichiers situés dans resources/js/Components/builder/blocks/ :

resources/js/Components/builder/blocks/
├── HeadingBlock/
│ ├── HeadingRenderer.tsx # Composant de prévisualisation et rendu
│ └── HeadingSettings.tsx # Panneau de paramètres
├── TextBlock/
│ ├── TextRenderer.tsx
│ └── TextSettings.tsx
├── ImageBlock/
│ ├── ImageRenderer.tsx
│ └── ImageSettings.tsx
└── ...

Le composant Renderer assure le rendu visuel du bloc dans l’éditeur et sur le site publié. Il reçoit les propriétés du bloc et génère le HTML correspondant.

Le composant Settings affiche le panneau de paramètres lorsque le bloc est sélectionné dans l’éditeur. Il permet de modifier les propriétés du bloc (texte, couleurs, espacement, options spécifiques) via des contrôles visuels.

Chaque bloc est enregistré dans le registre central des blocs avec ses métadonnées :

  • type : identifiant unique du bloc.
  • label : nom affiché dans le panneau d’insertion.
  • category : catégorie de regroupement.
  • icon : icône affichée dans le panneau d’insertion.
  • defaultProps : propriétés par défaut lors de l’insertion.