Files
cachetdeco/public/admin/config.yml
mouad bouras 70d8d83691
Some checks failed
Build and Deploy / build-and-deploy (push) Failing after 2m56s
0.95
2026-03-25 16:25:19 -04:00

386 lines
17 KiB
YAML

backend:
name: github
repo: mbcube/cachetdeco # REPLACE with your GitHub org/repo
branch: main
# For Cloudflare Pages (no Netlify Identity), use PKCE flow:
auth_type: pkce
app_id: YOUR_GITHUB_OAUTH_APP_CLIENT_ID # REPLACE with your GitHub OAuth App client ID
locale: fr
media_folder: "public/images"
public_folder: "/images"
i18n:
structure: multiple_folders
locales: [fr]
default_locale: fr
collections:
- name: "services"
label: "Services"
label_singular: "Service"
folder: "src/content/services"
create: true
delete: true
i18n: true
slug: "{{slug}}"
fields:
- { name: "title", label: "Titre", widget: "string", i18n: true }
- { name: "description", label: "Description courte", widget: "text", i18n: true }
- name: "icon"
label: "Icône (identifiant)"
widget: "select"
options: ["interior", "exterior", "commercial", "decoration", "renovation"]
required: false
i18n: duplicate
hint: "Identifiant interne pour l'icône SVG"
- { name: "image", label: "Image de couverture", widget: "image", required: false, i18n: duplicate }
- { name: "order", label: "Ordre d'affichage", widget: "number", default: 0, i18n: duplicate }
- { name: "featured", label: "Mis en vedette", widget: "boolean", default: false, i18n: duplicate }
- { name: "body", label: "Contenu détaillé", widget: "markdown", i18n: true }
- name: "navigation"
label: "Navigation"
label_singular: "Navigation"
folder: "src/content/navigation"
format: json
create: false
delete: false
i18n: true
slug: "{{slug}}"
fields:
- name: "links"
label: "Liens"
widget: "list"
i18n: true
fields:
- { name: "name", label: "Libellé", widget: "string" }
- { name: "href", label: "URL", widget: "string" }
- name: "cta"
label: "Bouton CTA (header)"
widget: "object"
i18n: true
fields:
- { name: "label", label: "Libellé", widget: "string" }
- { name: "href", label: "Lien", widget: "string" }
- name: "servicesSection"
label: "Bloc Services (accueil)"
widget: "object"
i18n: true
fields:
- { name: "title", label: "Titre", widget: "string" }
- { name: "subtitle", label: "Sous-titre", widget: "string" }
- { name: "viewAll", label: "Voir tout (libellé)", widget: "string" }
- { name: "empty", label: "Message liste vide", widget: "string" }
- name: "pageTitles"
label: "Titres de page (meta)"
widget: "object"
i18n: true
fields:
- { name: "services", label: "Page Services", widget: "string" }
- { name: "submission", label: "Page Soumission", widget: "string" }
- name: "hero"
label: "Hero (accueil)"
label_singular: "Hero"
folder: "src/content/hero"
format: json
create: false
delete: false
i18n: true
slug: "{{slug}}"
fields:
- { name: "pillCta", label: "Texte pastille (CTA)", widget: "string", i18n: true }
- { name: "title", label: "Titre principal", widget: "string", i18n: true }
- { name: "subtitle", label: "Sous-titre", widget: "text", i18n: true }
- { name: "cta", label: "Bouton principal", widget: "string", i18n: true }
- { name: "ctaHref", label: "Lien du bouton", widget: "string", i18n: duplicate }
- name: "cta"
label: "Bannière CTA"
label_singular: "Bannière CTA"
folder: "src/content/cta"
format: json
create: false
delete: false
i18n: true
slug: "{{slug}}"
fields:
- { name: "title", label: "Titre", widget: "string", i18n: true }
- { name: "subtitle", label: "Sous-titre", widget: "text", i18n: true }
- { name: "button", label: "Libellé du bouton", widget: "string", i18n: true }
- { name: "buttonHref", label: "Lien du bouton", widget: "string", i18n: duplicate }
- { name: "imageAlt", label: "Texte alternatif image", widget: "string", i18n: true }
- name: "contact"
label: "Page Contact"
label_singular: "Contact"
folder: "src/content/contact"
format: json
create: false
delete: false
i18n: true
slug: "{{slug}}"
fields:
- { name: "title", label: "Titre", widget: "string", i18n: true }
- { name: "subtitle", label: "Sous-titre", widget: "text", i18n: true }
- { name: "phone", label: "Libellé téléphone", widget: "string", i18n: true }
- { name: "email", label: "Libellé courriel", widget: "string", i18n: true }
- { name: "address", label: "Libellé adresse", widget: "string", i18n: true }
- { name: "serviceAreaLabel", label: "Libellé zone desservie", widget: "string", i18n: true }
- name: "hours"
label: "Heures"
widget: "object"
i18n: true
fields:
- { name: "title", label: "Titre section", widget: "string" }
- name: "weekdays"
label: "Semaine"
widget: "object"
fields:
- { name: "day", label: "Jours", widget: "string" }
- { name: "time", label: "Heures", widget: "string" }
- name: "saturday"
label: "Samedi"
widget: "object"
fields:
- { name: "day", label: "Jour", widget: "string" }
- { name: "time", label: "Heures", widget: "string" }
- name: "sunday"
label: "Dimanche"
widget: "object"
fields:
- { name: "day", label: "Jour", widget: "string" }
- { name: "time", label: "Heures", widget: "string" }
- { name: "follow", label: "Réseaux (titre)", widget: "string", i18n: true }
- { name: "facebookCta", label: "Lien Facebook (texte)", widget: "string", i18n: true }
- name: "map"
label: "Carte"
widget: "object"
i18n: true
fields:
- { name: "title", label: "Titre", widget: "string" }
- { name: "region", label: "Région", widget: "string" }
- { name: "mapsButton", label: "Bouton Google Maps", widget: "string" }
- name: "ctaCard"
label: "Encadré soumission"
widget: "object"
i18n: true
fields:
- { name: "title", label: "Titre", widget: "string" }
- { name: "description", label: "Description", widget: "text" }
- { name: "button", label: "Bouton", widget: "string" }
- { name: "breadcrumbHome", label: "Fil d'Ariane — Accueil", widget: "string", i18n: true }
- name: "submission"
label: "Page Soumission & formulaire"
label_singular: "Soumission"
folder: "src/content/submission"
format: json
create: false
delete: false
i18n: true
slug: "{{slug}}"
fields:
- { name: "pageTitle", label: "Titre court (breadcrumb)", widget: "string", i18n: true }
- { name: "title", label: "Titre H1", widget: "string", i18n: true }
- { name: "subtitle", label: "Sous-titre", widget: "text", i18n: true }
- name: "form"
label: "Formulaire"
widget: "object"
i18n: true
fields:
- { name: "ariaLabel", label: "Aria-label formulaire", widget: "string" }
- { name: "fullNameLabel", label: "Libellé nom complet", widget: "string" }
- { name: "fullNamePlaceholder", label: "Placeholder nom", widget: "string" }
- { name: "emailLabel", label: "Libellé courriel", widget: "string" }
- { name: "emailPlaceholder", label: "Placeholder courriel", widget: "string" }
- { name: "phoneLabel", label: "Libellé téléphone", widget: "string" }
- { name: "phonePlaceholder", label: "Placeholder téléphone", widget: "string" }
- { name: "workAddressLabel", label: "Libellé adresse travaux", widget: "string" }
- { name: "workAddressPlaceholder", label: "Placeholder adresse", widget: "string" }
- { name: "serviceTypeLabel", label: "Libellé type de service", widget: "string" }
- { name: "serviceTypePlaceholder", label: "Placeholder sélection", widget: "string" }
- name: "serviceTypeOptions"
label: "Options type de service"
widget: "object"
fields:
- { name: "interior", label: "Intérieur", widget: "string" }
- { name: "exterior", label: "Extérieur", widget: "string" }
- { name: "commercial", label: "Commercial", widget: "string" }
- { name: "decoration", label: "Décoration", widget: "string" }
- { name: "other", label: "Autre", widget: "string" }
- { name: "messageLabel", label: "Libellé message", widget: "string" }
- { name: "messagePlaceholder", label: "Placeholder message", widget: "text" }
- { name: "attachmentsLabel", label: "Libellé pièces jointes", widget: "string" }
- { name: "attachmentsHint", label: "Aide zone dépôt", widget: "string" }
- { name: "attachmentsAccepted", label: "Formats acceptés", widget: "string" }
- { name: "attachmentsRemove", label: "Retirer fichier (aria)", widget: "string" }
- { name: "submitLabel", label: "Bouton envoyer", widget: "string" }
- { name: "submittingLabel", label: "État envoi", widget: "string" }
- { name: "successTitle", label: "Succès — titre", widget: "string" }
- { name: "successMessage", label: "Succès — message", widget: "text" }
- { name: "errorTitle", label: "Erreur — titre", widget: "string" }
- { name: "errorMessage", label: "Erreur — message", widget: "text" }
- name: "validation"
label: "Messages validation"
widget: "object"
fields:
- { name: "fullName", label: "Nom", widget: "string" }
- { name: "email", label: "Courriel", widget: "string" }
- { name: "phone", label: "Téléphone", widget: "string" }
- { name: "serviceType", label: "Type service", widget: "string" }
- { name: "message", label: "Message", widget: "string" }
- { name: "attachmentsType", label: "Type fichier", widget: "string" }
- { name: "attachmentsSize", label: "Taille fichiers", widget: "string" }
- name: "sidebar"
label: "Barre latérale"
widget: "object"
i18n: true
fields:
- { name: "processTitle", label: "Titre processus", widget: "string" }
- name: "steps"
label: "Étapes"
widget: "list"
i18n: true
fields:
- { name: "title", label: "Titre", widget: "string" }
- { name: "description", label: "Description", widget: "text" }
- { name: "directContactTitle", label: "Contact direct (titre)", widget: "string" }
- { name: "rbqLabel", label: "Libellé RBQ", widget: "string" }
- { name: "breadcrumbHome", label: "Fil d'Ariane — Accueil", widget: "string", i18n: true }
- name: "footer"
label: "Pied de page"
label_singular: "Footer"
folder: "src/content/footer"
format: json
create: false
delete: false
i18n: true
slug: "{{slug}}"
fields:
- { name: "tagline", label: "Slogan", widget: "string", i18n: true }
- { name: "navTitle", label: "Titre colonne navigation", widget: "string", i18n: true }
- { name: "servicesTitle", label: "Titre colonne services", widget: "string", i18n: true }
- { name: "contactTitle", label: "Titre colonne contact", widget: "string", i18n: true }
- { name: "serviceAreasTitle", label: "Titre colonne zones de service", widget: "string", i18n: true }
- { name: "legal", label: "Mention légale (utiliser {year})", widget: "string", i18n: true }
- { name: "rbq", label: "Ligne RBQ", widget: "string", i18n: true }
- { name: "neq", label: "Ligne NEQ", widget: "string", i18n: true }
- { name: "facebookLabel", label: "Libellé Facebook", widget: "string", i18n: true }
- name: "serviceLinks"
label: "Liens services (pied)"
widget: "list"
i18n: true
fields:
- { name: "label", label: "Libellé", widget: "string" }
- { name: "href", label: "URL", widget: "string" }
- name: "serviceAreas"
label: "Zones de service"
widget: "list"
i18n: true
field: { name: "item", label: "Ville / Secteur", widget: "string" }
- name: "not_found"
label: "Page 404"
label_singular: "404"
folder: "src/content/not-found"
format: json
create: false
delete: false
i18n: true
slug: "{{slug}}"
fields:
- { name: "title", label: "Titre", widget: "string", i18n: true }
- { name: "message", label: "Message", widget: "text", i18n: true }
- { name: "home", label: "Lien retour accueil", widget: "string", i18n: true }
- name: "pourquoi"
label: "Pourquoi nous choisir"
label_singular: "Pourquoi"
folder: "src/content/pourquoi"
format: json
create: false
delete: false
i18n: true
slug: "{{slug}}"
fields:
- { name: "title", label: "Titre de section", widget: "string", i18n: true }
- { name: "subtitle", label: "Sous-titre", widget: "string", i18n: true }
- name: "cards"
label: "Cartes d'avantages"
widget: "list"
min: 1
max: 8
i18n: true
fields:
- name: "icon"
label: "Icône"
widget: "select"
options:
- { value: "shield", label: "Bouclier (certification)" }
- { value: "clock", label: "Horloge (ponctualité)" }
- { value: "check", label: "Crochet (qualité)" }
- { value: "team", label: "Équipe (personnes)" }
- { value: "star", label: "Étoile (excellence)" }
- { value: "location", label: "Localisation (territoire)" }
- { name: "title", label: "Titre", widget: "string" }
- { name: "description", label: "Description", widget: "text" }
- name: "testimonials"
label: "Témoignages"
label_singular: "Témoignage"
folder: "src/content/testimonials"
format: json
create: false
delete: false
i18n: true
slug: "{{slug}}"
fields:
- { name: "sectionLabel", label: "Libellé de section", widget: "string", i18n: true }
- { name: "title", label: "Titre de section", widget: "string", i18n: true }
- name: "items"
label: "Témoignages"
widget: "list"
i18n: true
fields:
- { name: "key", label: "Identifiant unique", widget: "string" }
- { name: "src", label: "URL du post Facebook (embed)", widget: "string" }
- { name: "height", label: "Hauteur de l'iframe (px)", widget: "number" }
- name: "settings"
label: "Paramètres du site"
files:
- label: "Général"
name: "general"
file: "src/content/settings/general.json"
fields:
- { name: "siteName", label: "Nom du site", widget: "string" }
- { name: "legalName", label: "Nom légal (NEQ)", widget: "string" }
- { name: "tagline", label: "Slogan court", widget: "string" }
- { name: "taglineHero", label: "Slogan hero", widget: "string" }
- { name: "phone", label: "Téléphone", widget: "string" }
- { name: "email", label: "Courriel", widget: "string" }
- { name: "emailFromContact", label: "Expéditeur courriel (formulaire contact, ex. Nom <adresse@domaine>)", widget: "string" }
- { name: "emailToContact", label: "Destinataire courriel (formulaire contact)", widget: "string" }
- { name: "fromAddressSubmission", label: "Expéditeur courriel (formulaire soumission, ex. Nom <adresse@domaine>)", widget: "string" }
- { name: "toAddressSubmission", label: "Destinataire courriel (formulaire soumission)", widget: "string" }
- { name: "address", label: "Adresse", widget: "string" }
- { name: "serviceArea", label: "Zone de service", widget: "string" }
- { name: "facebook", label: "Lien Facebook", widget: "string" }
- { name: "instagram", label: "Lien Instagram", widget: "string", required: false }
- { name: "linkedin", label: "Lien LinkedIn (vide = masqué)", widget: "string", required: false }
- { name: "rbq", label: "Numéro RBQ", widget: "string" }
- { name: "neq", label: "Numéro NEQ (Registraire)", widget: "string" }
- label: "SEO"
name: "seo"
file: "src/content/settings/seo.json"
fields:
- { name: "defaultTitle", label: "Titre par défaut", widget: "string" }
- { name: "titleTemplate", label: "Gabarit de titre (%s = titre de page)", widget: "string" }
- { name: "defaultDescription", label: "Description par défaut", widget: "text" }
- { name: "keywords", label: "Mots-clés (séparés par virgule)", widget: "string" }
- { name: "ogImage", label: "Image OG par défaut", widget: "image", required: false }