Logo de Cecil Cecil
Sur cette page

Configuration

Aperçu

La configuration du site web est définie dans un fichier YAML nommé cecil.yml ou config.yml, stocké à la racine :

<mywebsite>
└─ cecil.yml

Cecil propose de nombreuses options de configuration, mais ses valeurs par défaut sont souvent suffisantes. Un nouveau site ne nécessite que ces paramètres :

title: "My new Cecil site"
baseurl: https://mywebsite.com/
description: "Site description"

La documentation ci-dessous couvre toutes les options de configuration prises en charge par Cecil.

Options

title

Titre principal du site.

title: "<site title>"

baseline

Description courte (~ 20 caractères).

baseline: "<baseline>"

baseurl

URL de base.

baseurl: <url>

Exemple :

baseurl: http://localhost:8000/

canonicalurl

Si la valeur est true, la fonction url() renverra l’URL absolue (false par défaut).

canonicalurl: <true|false> # false by default

description

Description du site (~ 250 caractères).

description: "<description>"

Les menus sont utilisés pour créer des liens de navigation dans les templates.

Un menu est composé d’un identifiant unique et des propriétés des entrées (nom, URL, poids).

menus:
  <name>:
    - id: <unique-id>   # unique identifier (required)
      name: "<name>"    # name displayed in templates
      url: <url>        # relative or absolute URL
      weight: <integer> # integer value used to sort entries (lighter first)

Exemple :

menus:
  main:
    - id: about
      name: "About"
      url: /about/
      weight: 1
  footer:
    - id: author
      name: The author
      url: https://arnaudligny.fr
      weight: 99

Surcharger une entrée

Une entrée de menu de page peut être surchargée : utilisez l’ID de la page comme id.

Exemple :

menus:
  main:
    - id: index
      name: "My amazing homepage!"
      weight: 1

Désactiver une entrée

Une entrée de menu peut être désactivée avec enabled: false.

Exemple :

menus:
  main:
    - id: about
      enabled: false

taxonomies

Liste des vocabulaires, associant une valeur au pluriel à une valeur au singulier.

taxonomies:
  <plural>: <singular>

Exemple :

taxonomies:
  categories: category
  tags: tag

Vous pouvez ensuite utiliser ces vocabulaires dans le front matter de votre contenu.

theme

Thème à utiliser, ou liste de thèmes.

theme: <theme> # theme name
# or
theme:
  - <theme1> # theme name
  - <theme2>

Exemples :

theme: hyde
theme:
  - serviceworker
  - hyde

date

Format de date et fuseau horaire.

date:
  format: <format>     # date format (optional, `F j, Y` by default)
  timezone: <timezone> # date timezone (optional, local time zone by default)

Exemple :

date:
  format: 'j F, Y'
  timezone: 'Europe/Paris'

language

Langue principale, définie par son code.

language: <code> # unique code (`en` by default)

Par défaut, seuls les chemins des pages des autres langues sont préfixés par leur code de langue, mais vous pouvez préfixer le chemin des pages de la langue principale avec l’option suivante :

#language: <code>
language:
  code: <code>
  prefix: true

languages

Options des langues disponibles, utilisées pour la localisation des pages et des templates.

languages:
  - code: <code>          # unique code (e.g.: `en`, `fr`, 'en-US', `fr-CA`)
    name: <name>          # human readable name (e.g.: `Français`)
    locale: <locale>      # locale code (`language_COUNTRY`, e.g.: `en_US`, `fr_FR`, `fr_CA`)
    enabled: <true|false> # enabled or not (`true` by default)

Exemple :

language: en
languages:
  - code: en
    name: English
    locale: en_US
  - code: fr
    name: Français
    locale: fr_FR

Localiser

Pour localiser des options de configuration, vous devez les stocker sous la clé config de la langue.

Exemple :

title: "Cecil in english"
languages:
  - code: en
    name: English
    locale: en_US
  - code: fr
    name: Français
    locale: fr_FR
    config:
      title: "Cecil en français"

pages.prefix.separator

Liste des caractères utilisés comme séparateur entre un préfixe de nom de fichier (date ou weight) et le slug.

pages:
  prefix:
    separator: ['-', '_']

metatags

Les metatags sont des aides SEO et réseaux sociaux qui peuvent être injectées automatiquement dans le <head>, via le template partial metatags.html.twig.

Exemple :

<html lang="{{ site.language }}">
  <head>
    <meta charset="utf-8">
    {{ include('partials/metatags.html.twig') }}
  </head>
  <body>
    ...
  </body>
</html>

Ce template ajoute les balises meta suivantes :

  • Titre de page + titre du site, ou titre du site + baseline du site
  • Description de la page/du site
  • Mots-clés de la page/du site
  • Auteur de la page/du site
  • Directives des robots des moteurs de recherche (robots)
  • Liens de favicon
  • Liens de navigation (premier, précédent, suivant, dernier)
  • URL canonique
  • Liens alternatifs (ex. : flux RSS, autres langues)
  • Liens rel=me
  • Open Graph
  • Identifiant de profil Facebook
  • Twitter/X Card
  • Fediverse tag
  • Structured data (JSON-LD)

options metatags

Cecil utilise le front matter de la page pour alimenter les meta tags, avec repli sur les options du site si nécessaire.

title: "Page/Site title"              # used by title meta
description: "Page/Site description"  # used by description meta
tags: [tag1, tag2]                    # used by keywords meta
keywords: [keyword1, keyword2]        # obsolete
author:                               # used by author meta
  name: <name>                          # author name
  url: <url>                            # author URL
  email: <email>                        # author email
image: image.jpg                      # used by Open Graph and social networks cards
canonical:                            # used to override the generated canonical URL
  url: <URL>                            # absolute URL
  title: "<URL title>"                  # optional canonical title
social:                               # used by social networks meta
  twitter:                              # used by Twitter/X Card
    url: <URL>                            # used for `rel=me` link
    site: username                        # site username
    creator: username                     # page author username
  mastodon:                             # used by Mastodon meta
    url: <URL>                            # used for `rel=me` link
    creator: handle                       # page author account
  facebook:                             # used by Facebook meta
    url: <URL>                            # used for `rel=me` link
    id: 123456789                         # Facebook profile ID
    username: username                    # page author username

configuration metatags

metatags:
  title:                   # title options
    divider: " &middot; "    # string between page title and site title
    only: false              # displays page title only (`false` by default)
    pagination:              # pagination options
      shownumber: true         # displays page number in title (`true` by default)
      label: "Page %s"         # how to display page number (`Page %s` by default)
  robots: "index,follow"   # web crawlers directives (`index,follow` by default)
  favicon:                 # favicon options
    enabled: true            # includes favicon (`true` by default)
    image: favicon.png       # path to favicon image
    sizes:                   # sizes by device
      - "icon": [32, 57, 76, 96, 128, 192, 228]  # web browsers
      - "shortcut icon": [196]                   # Android
      - "apple-touch-icon": [120, 152, 180]      # iOS
  navigation: true         # includes previous and next links (`true` by default)
  image: true              # includes image (`true` by default)
  og: true                 # includes Open Graph meta tags (`true` by default)
  articles: "blog"         # articles' section (`blog` by default)
  twitter: true            # includes Twitter/X Card meta tags (`true` by default)
  mastodon: true           # includes Mastodon meta tags (`true` by default)
  data: false              # includes JSON-LD structured data (`false` by default)

debug

Active le mode debug, utilisé pour afficher des informations de débogage comme des journaux très verbeux, le dump Twig, le profileur Twig, le sourcemap SCSS, etc.

debug: true

Il existe deux autres façons d’activer le mode debug :

  1. Exécuter une commande avec l’option -vvv
  2. Définir la variable d’environnement CECIL_DEBUG à true

Pages

pages.dir

Répertoire source des pages (pages par défaut).

pages:
  dir: pages

pages.ext

Extensions des fichiers de pages.

pages:
  ext: [md, markdown, mdown, mkdn, mkd, text, txt]

pages.exclude

Répertoires, chemins et noms de fichiers à exclure (accepte les glob, les chaînes et les expressions régulières).

pages:
  exclude: ['vendor', 'node_modules', '*.scss', '/\.bck$/']

pages.prefix.separator

Liste des caractères utilisés comme séparateur entre un préfixe de nom de fichier (date ou weight) et le slug.

pages:
  prefix:
    separator: ['-', '_']

pages.sortby

Méthode de tri par défaut des collections.

pages:
  sortby: date # `date`, `updated`, `title` ou `weight`
  # ou
  sortby:
    variable: date    # `date`, `updated`, `title` ou `weight`
    desc_title: false # tri par titre décroissant
    reverse: false    # inverse l’ordre de tri

pages.pagination

La pagination est disponible pour les pages de liste (type homepage, section ou term).

pages:
  pagination:
    max: 5     # nombre maximum d’entrées par page
    path: page # chemin de la page paginée

Désactiver la pagination

La pagination peut être désactivée :

pages:
  pagination: false

pages.paths

Applique un path personnalisé à toutes les pages d’une section.

pages:
  paths:
    - section: <section’s ID>
      path: <path of pages>

Emplacements des variables de chemin

  • :year
  • :month
  • :day
  • :section
  • :slug

Exemple :

pages:
  paths:
    - section: Blog
      path: :section/:year/:month/:day/:slug # ex. : /blog/2020/12/01/my-post/
# localized
languages:
  - code: fr
    name: Français
    locale: fr_FR
    config:
      pages:
        paths:
          - section: Blog
            path: blogue/:year/:month/:day/:slug # ex. : /blogue/2020/12/01/mon-billet/

pages.frontmatter

Format du front matter des pages (yaml par défaut, accepte aussi ini, toml et json).

pages:
  frontmatter: yaml

pages.body

Options du corps des pages.

pages.body.toc

En-têtes utilisés pour construire la table des matières ([h2, h3] par défaut).

pages:
  body:
    toc: [h2, h3]

pages.body.highlight

Active la coloration syntaxique du code (false par défaut).

pages:
  body:
    highlight: false

pages.body.images

Options de gestion des images.

pages:
  body:
    images:
      formats: []       # ajoute des formats d’image alternatifs comme `source` (ex. `[avif, webp]`, tableau vide par défaut)
      resize: 0         # redimensionne toutes les images à <width> (en pixels, `0` pour désactiver)
      responsive: false # ajoute des variantes responsives à l’attribut `srcset` (`false` par défaut)
      lazy: true        # ajoute l’attribut `loading="lazy"` (`true` par défaut)
      decoding: true    # ajoute l’attribut `decoding="async"` (`true` par défaut)
      caption: false    # place l’image dans un élément <figure> et ajoute une <figcaption> contenant le titre (`false` par défaut)
      placeholder: ''   # remplit l’arrière-plan de <img> avant le chargement ('color' ou 'lqip', vide par défaut)
      class: ''         # définit une classe par défaut sur chaque image (vide par défaut)
      dark_suffix: ''   # suffixe de l’image variante sombre (ex. `.dark`), désactivé par défaut
      remote:           # traitement des images distantes (mettre à `false` pour désactiver)
        fallback:         # chemin de l’image de secours, stockée dans le répertoire assets (vide par défaut)

pages.body.links

Options de gestion des liens.

pages:
  body:
    links:
      embed:
        enabled: false     # transforme les liens en contenu embarqué si possible (`false` par défaut)
        video: [mp4, webm] # extensions des fichiers vidéo
        audio: [mp3]       # extensions des fichiers audio
      external:
        blank: false     # si `true`, ouvre le lien externe dans un nouvel onglet
        noopener: true   # si `true`, ajoute `noopener` à l’attribut `rel`
        noreferrer: true # si `true`, ajoute `noreferrer` à l’attribut `rel`
        nofollow: false  # si `true`, ajoute `nofollow` à l’attribut `rel`

pages.body.excerpt

Options de gestion des extraits.

pages:
  body:
    excerpt:
      separator: excerpt|break # chaîne utilisée comme séparateur (`excerpt|break` par défaut)
      capture: before          # partie à capturer, `before` ou `after` le séparateur (`before` par défaut)

pages.virtual

Les pages virtuelles sont la meilleure façon de créer des pages sans contenu (front matter uniquement).

Elles consistent en une liste de pages avec un path et quelques variables de front matter.

Exemple :

pages:
  virtual:
    - path: code
      redirect: https://github.com/ArnaudLigny

pages.default

Les pages par défaut sont des pages créées automatiquement par Cecil (à partir de modèles intégrés) :

pages:
  default:
    index:
      path: ''
      title: Accueil
      published: true
    404:
      path: 404
      title: Page introuvable
      layout: 404
      uglyurl: true
      published: true
      excluded: true
    robots:
      path: robots
      title: Robots.txt
      layout: robots
      output: txt
      published: true
      excluded: true
      multilingual: false
    sitemap:
      path: sitemap
      title: Plan de site XML
      layout: sitemap
      output: xml
      changefreq: monthly
      priority: 0.5
      published: true
      excluded: true
      multilingual: false
    xsl/atom:
      path: xsl/atom
      layout: feed
      output: xsl
      uglyurl: true
      published: true
      excluded: true
    xsl/rss:
      path: xsl/rss
      layout: feed
      output: xsl
      uglyurl: true
      published: false
      excluded: true

Chaque page peut être :

  1. désactivée : published: false
  2. exclue des pages de liste : excluded: true
  3. exclue de la localisation : multilingual: false

pages.generators

Les générateurs servent à Cecil pour créer des pages supplémentaires (par ex. sitemap, flux, pagination, etc.) à partir de pages existantes, ou à partir d’autres sources comme le fichier de configuration ou des sources externes.

Voici la liste des générateurs fournis par Cecil, dans un ordre défini :

pages:
  generators:
    10: 'Cecil\Generator\DefaultPages'
    20: 'Cecil\Generator\VirtualPages'
    30: 'Cecil\Generator\ExternalBody'
    40: 'Cecil\Generator\Section'
    50: 'Cecil\Generator\Taxonomy'
    60: 'Cecil\Generator\Homepage'
    70: 'Cecil\Generator\Pagination'
    80: 'Cecil\Generator\Alias'
    90: 'Cecil\Generator\Redirect'

pages.subsets

Les sous-ensembles servent à rendre une partie de la collection de pages, selon un chemin, une langue ou un format de sortie spécifique, avec la commande :

cecil build --render-subset=<name>
pages:
  subsets:
    <name>:
      path: <path> # chemin glob ou chaîne (ex. `blog/*`, `blog`)
      language: <language> # code de langue (ex. `en`, `fr`)
      output: <output> # format de sortie (ex. `html`, `atom`)

Exemple :

pages:
  subsets:
    blog_en:
      path: blog
      language: en
      output: html
    search_index:
      path: '*'
      output: json

Données

Emplacement des fichiers de données et types d’extensions pris en charge.

Formats pris en charge : YAML, JSON, XML et CSV.

data.dir

Répertoire source des données (data par défaut).

data:
  dir: data

data.ext

Tableau des extensions de fichiers.

data:
  ext: [yaml, yml, json, xml, csv]

data.load

Active la collection site.data (true par défaut).

data:
  load: true

Fichiers statiques

Gestion des fichiers statiques copiés (PDF, polices, etc.).

static.dir

Répertoire source des fichiers statiques (static par défaut).

static:
  dir: static

static.target

Répertoire vers lequel les fichiers statiques sont copiés (root par défaut).

static:
  target: ''

static.exclude

Liste des fichiers exclus. Accepte les glob, les chaînes et les expressions régulières.

static:
  exclude: ['sass', 'scss', '*.scss', 'package*.json', 'node_modules']

static.load

Active la collection site.static (false par défaut).

static:
  load: false

static.mounts

Permet de copier des fichiers ou répertoires spécifiques vers une destination spécifique.

static:
  mounts: []

exemple de static

static:
  dir: docs
  target: docs
  exclude: ['sass', '*.scss', '/\.bck$/']
  load: true
  mounts:
    - source/path/file.ext: dest/path/file.ext
    - node_modules/bootstrap-icons/font/fonts: fonts

Ressources

Gestion des ressources (images, fichiers CSS et JS).

assets.dir

Répertoire source des ressources (assets par défaut).

assets:
  dir: assets

assets.target

Répertoire où les fichiers de ressources distants et redimensionnés sont enregistrés (root par défaut).

assets:
  target: ''

assets.fingerprint

Active le fingerprinting (cache busting) pour les fichiers de ressources (true par défaut).

assets:
  fingerprint: true

assets.compile

Active la compilation des fichiers Sass (true par défaut). Voir la documentation de scssphp pour les détails des options.

assets:
  compile:
    style: expanded      # style de compilation (`expanded` ou `compressed`, `expanded` par défaut)
    import: [sass, scss] # liste des chemins importés (`[sass, scss, node_modules]` par défaut)
    sourcemap: false     # active les sourcemaps en mode debug (`false` par défaut)
    variables: []        # liste de variables préconfigurées (vide par défaut)

assets.minify

Active la minification CSS et JS (true par défaut).

assets:
  minify: true

assets.images

Gestion des images.

assets:
  images:
    optimize: false # active l’optimisation d’images avec JpegOptim, Optipng, Pngquant 2, SVGO 1, Gifsicle, cwebp, avifenc (`false` par défaut)
    quality: 75     # qualité d’image pour `optimize` et `resize` (`75` par défaut)
    responsive:
      widths: [480, 640, 768, 1024, 1366, 1600, 1920] # largeurs d’image pour l’attribut `srcset`
      sizes:
        default: '100vw' # attribut `sizes` par défaut (`100vw` par défaut)

assets.images.cdn

L’URL des ressources image peut être facilement remplacée par une url de CDN fournie.

assets:
  images:
    cdn:
      enabled: false  # active Image CDN (`false` par défaut)
      canonical: true # `image_url` est canonique (au lieu d’un chemin relatif) (`true` par défaut)
      remote: true    # prend aussi en charge les images non locales (`true` par défaut)
      account: 'xxxx' # compte du fournisseur
      url: 'https://provider.tld/%account%/%image_url%?w=%width%&q=%quality%&format=%format%'

url est un modèle qui contient des variables :

  • %account% remplacé par l’option assets.images.cdn.account
  • %image_url% remplacé par l’URL canonique de l’image ou par path
  • %width% remplacé par la largeur de l’image
  • %quality% remplacé par l’option assets.images.quality
  • %format% remplacé par le format de l’image

Voir les fournisseurs CDN.

assets.remote.useragent

User agent utilisé pour télécharger les ressources distantes.

assets:
  remote:
    useragent:
      default: <string> # user agent par défaut
      useragent1: <string>
      useragent2: <string>

Disposition

Options des templates.

layouts.dir

Répertoire source des templates (layouts par défaut).

layouts:
  dir: layouts

layouts.autoescape

Surcharge l’option Twig autoescape (false par défaut).

Si la valeur est null, Cecil applique une stratégie basée sur l’extension du nom de template :

  • *.js.twig -> js
  • *.css.twig -> css
  • *.html.twig et *.twig -> html
  • toute autre extension -> false
layouts:
  autoescape: false  # désactive l’échappement automatique (par défaut)
  #autoescape: null  # utilise la stratégie automatique Cecil selon l’extension du template
  #autoescape: html
  #autoescape: js

layouts.images

Options de gestion des images.

layouts:
  images:
    formats: []       # utilisé par la fonction `html` : ajoute des formats d’image alternatifs comme `source` (ex. `[avif, webp]`, tableau vide par défaut)
    responsive: false # utilisé par la fonction `html` : ajoute des images responsives ('width' ou 'density', `false` par défaut)
    dark_suffix: ''   # suffixe de l’image variante sombre (ex. `.dark`), désactivé par défaut

layouts.translations

Options de gestion des traductions.

layouts:
  translations:
    dir: translations       # répertoire source des traductions (`translations` par défaut)
    formats: ['yaml', 'mo'] # format des fichiers de traduction (`yaml` et `mo` par défaut)

layouts.components

Options des composants de template.

layouts:
  components:
    dir: components # répertoire source des composants (`components` par défaut)
    ext: twig       # extension des fichiers de composants (`twig` par défaut)

Sortie

Définit où et dans quel format les pages sont rendues.

output.dir

Répertoire où les fichiers de pages rendues sont enregistrés (_site par défaut).

output:
  dir: _site

output.formats

Liste de définition des formats de sortie, utilisés pour rendre les pages (par ex. HTML, Atom, RSS, JSON, XML, etc.).

output:
  formats:
    - name: <name>            # nom du format, par ex. `html` (requis)
      mediatype: <media type> # type MIME, ex. `text/html` (facultatif)
      subpath: <sub path>     # sous-chemin, ex. `amp` dans `path/amp/index.html` (facultatif)
      filename: <file name>   # nom du fichier, ex. `index` dans `path/index.html` (facultatif)
      extension: <extension>  # extension du fichier, ex. `html` dans `path/index.html` (requis)
      exclude: [<variable>]   # n’applique pas ce format aux pages identifiées par les variables listées, ex. `[redirect, paginated]` (facultatif)

Ces formats sont utilisés dans la configuration output.pagetypeformats et dans la variable de page output.

Formats par défaut

Cecil fournit quelques formats par défaut, qui peuvent être surchargés dans le fichier de configuration : html (par défaut), atom, rss, json, xml, txt, amp, js, webmanifest, xsl, jsonfeed, iframe, oembed.

output.pagetypeformats

Il n’est pas nécessaire de définir la variable output pour chaque page, car Cecil applique automatiquement les formats définis pour chaque type de page (homepage, page, section, vocabulary et term).

output:
  pagetypeformats:
    page: [<format>]
    homepage: [<format>]
    section: [<format>]
    vocabulary: [<format>]
    term: [<format>]

Plusieurs formats peuvent être définis pour un même type de page. Par exemple, le type de page section peut être rendu automatiquement en HTML et Atom :

output:
  pagetypeformats:
    section: [html, atom]

exemple de output

output:
  dir: _site
  formats:
    - name: html
      mediatype: text/html
      filename: index
      extension: html
    - name: atom
      mediatype: application/xml
      filename: atom
      extension: xml
      exclude: [redirect, paginated]
  pagetypeformats:
    page: [html]
    homepage: [html, atom]
    section: [html, atom]
    vocabulary: [html]
    term: [html, atom]

Post-process

Vous pouvez étendre les capacités de Cecil avec un post-processeur de sortie pour modifier les fichiers de sortie après leur génération.


Cache

Options de cache.

cache.enabled

Le cache est activé par défaut (true), mais vous pouvez le désactiver avec :

cache:
  enabled: false

cache.dir

Répertoire où les fichiers de cache sont stockés (.cache par défaut).

cache:
  dir: '.cache'

cache.assets

Options du cache des ressources.

cache.assets.ttl

Temps de vie du cache des ressources en secondes (null par défaut = aucune expiration).

cache:
  assets:
    ttl: ~

cache.assets.remote.ttl

Temps de vie du cache des ressources distantes en secondes (7 jours par défaut).

cache:
  assets:
    remotes:
      ttl: 604800 # 7 jours

cache.templates

Désactive le cache des templates avec false (true par défaut).

cache:
  templates: true

cache.translations

Désactive le cache des traductions avec false (true par défaut).

cache:
  translations: true

Serveur

server.headers

Vous pouvez définir des en-têtes HTTP personnalisés, utilisés par le serveur d’aperçu local.

server:
  headers:
    - path: <path> # chemin relatif, préfixé par un slash. Prend en charge le joker "*".
      headers:
        - key: <key>
          value: "<value>"

Exemple :

server:
  headers:
    - path: /*
      headers:
        - key: X-Frame-Options
          value: "SAMEORIGIN"
        - key: X-XSS-Protection
          value: "1; mode=block"
        - key: X-Content-Type-Options
          value: "nosniff"
        - key: Content-Security-Policy
          value: "default-src 'self'; object-src 'self'; img-src 'self'"
        - key: Strict-Transport-Security
          value: "max-age=31536000; includeSubDomains; preload"
    - path: /assets/*
      headers:
        - key: Cache-Control
          value: "public, max-age=31536000"
    - path: /foo.html
      headers:
        - key: Foo
          value: "bar"

Optimisation

Les options d’optimisation permettent d’activer la compression des fichiers de sortie : HTML, CSS, JavaScript et images.

optimize:
  enabled: false     # active l’optimisation des fichiers (`false` par défaut)
  html:
    enabled: true    # active l’optimisation des fichiers HTML
    ext: [html, htm]   # extensions de fichiers prises en charge
  css:
    enabled: true    # active l’optimisation des fichiers CSS
    ext: [css]         # extensions de fichiers prises en charge
  js:
    enabled: true    # active l’optimisation des fichiers JavaScript
    ext: [js]          # extensions de fichiers prises en charge
  images:
    enabled: true    # active l’optimisation des fichiers images
    ext: [jpeg, jpg, png, gif, webp, svg, avif] # extensions de fichiers prises en charge

Cette option est désactivée par défaut et peut être activée via :

optimize: true

Une fois l’option globale activée, les 4 types de fichiers seront traités.
Il est possible de désactiver chacun d’eux via enabled: false et de modifier l’extension des fichiers traités via ext.


Surcharge de configuration

Variables d’environnement

La configuration peut être surchargée via des variables d’environnement.

Chaque nom de variable d’environnement doit être préfixé par CECIL_ et la clé de configuration doit être en majuscules.

Par exemple, la commande suivante définit le baseurl du site :

export CECIL_BASEURL="https://example.com/"

Option CLI

Vous pouvez combiner plusieurs fichiers de configuration avec l’option --config (priorité de gauche à droite) :

php cecil.phar --config config-1.yml,config-2.yml