<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="https://cecil.app/fr/xsl/atom.xsl" media="all"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
  <id>https://cecil.app/fr/actualites/</id>
  <title>Cecil - Actualités</title>
  <subtitle><![CDATA[Cecil est une application PHP en ligne de commande qui fusionne des pages Markdown, des médias et des templates Twig afin de générer un site Web statique.]]></subtitle>
  <link href="https://cecil.app/fr/actualites/atom.xml" rel="self" type="application/atom+xml" />
  <link href="https://cecil.app/fr/actualites/" rel="alternate" type="text/html" />
  <updated>2026-10-07T20:59:57+00:00</updated>
  <author>
    <name>Cecil</name>
    <uri>https://cecil.app</uri>
  </author>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2026/10/07/une-documentation-restructuree/</id>
    <title>Une documentation restructurée</title>
    <published>2026-10-07T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2026/10/07/une-documentation-restructuree/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<p>La <a href="/fr/documentation/"><strong>documentation</strong></a> a été restructurée : les longues pages uniques (certaines dépassaient 1 500 lignes !) ont été découpées en <strong>sections</strong> composées de pages plus courtes et ciblées.</p>
<p>Cette restructuration a été rendue possible par la gestion des <a href="/fr/documentation/contenu/pages/#sous-section"><strong>sections imbriquées</strong></a> introduite dans <a href="/fr/actualites/2026/08/27/cecil-9.0.0-est-sorti/">Cecil 9</a> : tout dossier contenant un fichier <code translate="no">index.md</code> devient une sous-section de sa section parente, avec ses propres pages, l’héritage des layouts et un fil d’Ariane. Ce site étant créé avec Cecil, la documentation est la première à en profiter !</p>
<h3 id="nouvelle-structure">Nouvelle structure</h3>
<p>La documentation est désormais organisée en 8 sections :</p>
<ol>
<li><a href="/fr/documentation/bien-demarrer/"><strong>Bien démarrer</strong></a> : démarrage rapide, installation, structure des répertoires et kits de démarrage</li>
<li><a href="/fr/documentation/contenu/"><strong>Contenu</strong></a> : pages, front matter, Markdown, contenu multilingue et dynamique</li>
<li><a href="/fr/documentation/templates/"><strong>Templates</strong></a> : règles de résolution, variables, composants, localisation, cache, extension, et une référence des <a href="/fr/documentation/templates/reference/">fonctions et filtres</a></li>
<li><a href="/fr/documentation/assets/"><strong>Assets</strong></a> : images, traitement et fournisseurs CDN (une toute nouvelle section, auparavant intégrée aux <em>Templates</em>)</li>
<li><a href="/fr/documentation/configuration/"><strong>Configuration</strong></a> : une page par sujet de configuration (site, langues, pages, assets, sortie, cache, serveur, etc.)</li>
<li><a href="/fr/documentation/commandes/"><strong>Commandes</strong></a> : <code translate="no">new:site</code>, <code translate="no">new:page</code>, <code translate="no">serve</code>, <code translate="no">build</code> et <code translate="no">doctor</code></li>
<li><a href="/fr/documentation/deployer/"><strong>Déployer</strong></a> : plateformes Jamstack, déploiement continu et hébergement statique</li>
<li><a href="/fr/documentation/developpeurs/"><strong>Développeurs</strong></a> : étendre Cecil, l’utiliser comme bibliothèque et comprendre son architecture</li>
</ol>
<h3 id="une-navigation-simplifiee">Une navigation simplifiée</h3>
<ul>
<li>Une <strong>arborescence de navigation</strong> dans la barre latérale indique où vous vous trouvez et permet de déplier chaque section.</li>
<li>La page d’accueil de chaque section liste ses pages avec une courte description.</li>
<li>La recherche indexe désormais chaque page et son introduction : les résultats pointent directement vers le bon sujet.</li>
</ul>
<p>La documentation est disponible en anglais et en français. Si vous repérez une erreur ou un oubli, utilisez le lien « Suggérer une modification » en bas de chaque page.</p>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2026/10/02/decouvrez-la-vitrine/</id>
    <title>Découvrez la vitrine</title>
    <published>2026-10-02T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2026/10/02/decouvrez-la-vitrine/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<p>Le site dispose désormais d’une page <a href="/fr/vitrine/"><strong>Vitrine</strong></a> qui présente des sites créés avec Cecil.</p>
<p>Elle regroupe actuellement 17 sites Web : des projets open source (comme <a href="https://cypht.org" target="_blank" rel="noopener noreferrer">Cypht</a> et <a href="https://libimobiledevice.org" target="_blank" rel="noopener noreferrer">libimobiledevice</a>), des sites communautaires, des blogs personnels et des portfolios. Chaque site est présenté avec une capture d’écran, une courte description et, lorsqu’il est disponible, un lien vers son code source. Parcourez-les pour trouver l’inspiration ou voir comment d’autres structurent leurs projets Cecil.</p>
<h3 id="ajoutez-votre-site">Ajoutez votre site</h3>
<p>Votre site Web est créé avec Cecil ? <a href="https://github.com/Cecilapp/Cecil/discussions" target="_blank" rel="noopener noreferrer">Faites-le nous savoir</a> et nous l’ajouterons à la vitrine.</p>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2026/08/27/cecil-9.0.0-est-sorti/</id>
    <title>Cecil 9.0.0 est sorti</title>
    <published>2026-08-27T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2026/08/27/cecil-9.0.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<p>Cette version majeure de Cecil introduit une <strong>hiérarchie imbriquée des sections</strong> et la génération de fils d’Ariane pour faciliter la navigation dans les sites structurés.</p>
<h3 id="ameliorations">Améliorations</h3>
<ul>
<li>Ajout d’une <a href="/documentation/content/#sub-section">hiérarchie imbriquée des sections</a></li>
<li>Ajout des fils d’Ariane (<a href="/documentation/templates/#nested-sections"><em>breadcrumbs</em></a>)</li>
<li>Migration vers <a href="https://image.intervention.io/v4" target="_blank" rel="noopener noreferrer">Intervention Image v4</a></li>
</ul>
<h3 id="changements-radicaux">Changements radicaux</h3>
<ul>
<li><strong>PHP 8.2 n’est plus pris en charge</strong>. PHP 8.3 ou supérieur est désormais requis.</li>
</ul>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>Correction du balisage imbriqué dans les modèles de listes</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Ajout de tests unitaires couvrant plusieurs classes principales</li>
</ul>
<p>Consultez la <a href="/documentation/">documentation</a>, la page de <a href="/fr/telecharger/">téléchargement</a> ou les <a href="/fr/telecharger/#mise-a-jour">instructions de mise à jour</a>.</p>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2026/06/14/quoi-de-neuf-depuis-la-version-8-79/</id>
    <title>Quoi de neuf depuis la version 8.79 ?</title>
    <published>2026-06-14T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2026/06/14/quoi-de-neuf-depuis-la-version-8-79/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<p>La dernière version majeure disponible est la <strong>8.106.0</strong>. Voici une synthèse ciblée des principales fonctionnalités introduites depuis <strong>Cecil 8.79.0</strong>.</p>
<h3 id="experience-amelioree-et-visibilite-des-performances">Expérience améliorée et visibilité des performances</h3>
<ul>
<li><strong>Indicateur de progression du build</strong> (8.101.0) : l'exécution des builds affiche désormais une barre de progression, ce qui améliore la lisibilité des traitements longs.</li>
<li><strong>Sortie de métriques enrichie</strong> (8.101.0) : les métriques incluent désormais une ligne de durée totale avec comparaison entre exécutions, pratique pour suivre l'évolution des performances.</li>
<li><strong>Temps bruts et diffs de métriques</strong> (8.87.0) : la sortie des métriques expose des temps bruts et des écarts, facilitant la détection des régressions et des gains.</li>
<li><strong>Évolutions autour de l'identifiant de build et du cache</strong> (8.80.x) : l'identifiant de build est exposé et intégré à la logique de cache, avec une évolution des mécanismes de hachage pour améliorer la cohérence du cache.</li>
</ul>
<h3 id="meilleur-rendu-des-templates">Meilleur rendu des templates</h3>
<ul>
<li><strong>Support des variantes d'images pour le mode sombre</strong> (8.95.0) : les templates peuvent gérer des variantes dédiées au dark mode pour mieux adapter le rendu visuel. (<a href="https://cecil.app/documentation/configuration/#layouts-images">doc</a>)</li>
<li><strong>Option <code translate="no">layouts.autoescape</code></strong> (8.97.0) : ce réglage apporte un contrôle plus fin du comportement d'échappement des templates. (<a href="https://cecil.app/documentation/configuration/#layouts-autoescape">doc</a>)</li>
<li><strong>Traduction des blocs de code désactivée</strong> (8.98.0) : le code inline et les blocs fenced ne sont plus traduits, ce qui évite les altérations involontaires du contenu technique.</li>
<li><strong>Helper Twig <code translate="no">cache_key</code></strong> (8.88.0) : les templates peuvent générer des clés de cache explicites pour un comportement plus prévisible du cache. (<a href="https://cecil.app/documentation/templates/#cache-key">doc</a>)</li>
</ul>
<h3 id="ameliorations-du-pipeline-contenu-et-images">Améliorations du pipeline contenu et images</h3>
<ul>
<li><strong>Support de la propriété <code translate="no">name</code> dans les menus du front matter</strong> (8.90.0) : les entrées de menu peuvent désormais définir un nom dédié via <code translate="no">name</code>. (<a href="https://cecil.app/documentation/content/#menu">doc</a>)</li>
<li><strong>Support du driver image <code translate="no">libvips</code></strong> (8.91.0) : le traitement d'images peut désormais utiliser libvips comme option de driver. (<a href="https://cecil.app/documentation/content/#images">doc</a>)</li>
<li><strong>Localisation des images Markdown pour les pages traduites</strong> (8.92.0) : les assets d'images Markdown peuvent désormais être localisés selon la langue des pages. (<a href="https://cecil.app/documentation/content/#localized-image">doc</a>)</li>
</ul>
<h3 id="outils-de-qualite-et-de-diagnostic">Outils de qualité et de diagnostic</h3>
<ul>
<li><strong>Nouvelle commande <code translate="no">doctor</code></strong> (8.103.0) : une commande dédiée aux diagnostics a été ajoutée pour faciliter l'identification des problèmes. (<a href="https://cecil.app/documentation/commands/#doctor">doc</a>)</li>
<li><strong>Nouvelle commande <code translate="no">doctor:seo</code></strong> (8.105.0) : un audit SEO dédié a été ajouté, avec commande, documentation et tests associés. (<a href="https://cecil.app/documentation/commands/#doctor-seo">doc</a>)</li>
</ul>
<h3 id="meilleure-experience-de-developpement">Meilleure expérience de développement</h3>
<ul>
<li><strong>Mode <code translate="no">serve</code> en arrière-plan et commande d'arrêt</strong> (8.104.0) : le serveur de développement supporte l'exécution en arrière-plan et un arrêt explicite via <code translate="no">serve:stop</code>. (<a href="https://cecil.app/documentation/commands/#serve">doc</a>)</li>
<li><strong>Support du chargement <code translate="no">.env</code></strong> (8.106.0) : la configuration d'environnement peut désormais être chargée via dotenv pour simplifier la gestion des variables locales. (<a href="https://cecil.app/documentation/configuration/#environment-variables">doc</a>)</li>
</ul>
<h3 id="breaking-change-a-prendre-en-compte">Breaking change à prendre en compte</h3>
<ul>
<li><strong>Suppression de l'option <code translate="no">assets.leading_slash</code></strong> (8.81.0) : cette option a été retirée et peut nécessiter une mise à jour de configuration.</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2026/01/14/cecil-8.79.0-est-sorti/</id>
    <title>Cecil 8.79.0 est sorti</title>
    <published>2026-01-14T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2026/01/14/cecil-8.79.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<p>Cette version met à jour la logique de génération de slugs pour mieux gérer le contenu multilingue, en particulier les caractères chinois, et refactorise le code associé pour une meilleure maintenabilité. Elle ajoute également de nouveaux fichiers de test pour les articles de blog en français et en chinois afin d'assurer une gestion correcte des caractères non-ASCII.</p>
<h3 id="ameliorations-de-la-generation-de-slugs">Améliorations de la génération de slugs</h3>
<ul>
<li>Mise à jour de la méthode <code translate="no">Page::slugify</code> pour détecter les caractères chinois (Han) dans l'entrée et appliquer le jeu de règles chinois pour la génération de slugs le cas échéant, améliorant ainsi la génération d'URL pour le contenu chinois.</li>
<li>Refactorisation de la classe <code translate="no">Url</code> pour déléguer la génération de slugs à <code translate="no">Page::slugify</code>, supprimant sa propre instance de slugifier et la logique associée pour la cohérence et la réutilisation du code.</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2026/01/14/cecil-8.77.0-est-sorti/</id>
    <title>Cecil 8.77.0 est sorti</title>
    <published>2026-01-13T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2026/01/14/cecil-8.77.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<p>Cette version refactorise et simplifie la logique de redimensionnement et de recadrage d'images, consolidant la fonctionnalité dans une seule méthode <code translate="no">resize</code> plus flexible. Elle met également à jour les filtres Twig et templates associés pour utiliser la nouvelle approche et améliore la gestion d'erreurs et la documentation dans tout le traitement d'images.</p>
<h3 id="refactorisation-et-simplification-de-l-api-de-traitement-d-images">Refactorisation et simplification de l'API de traitement d'images</h3>
<ul>
<li>La méthode <code translate="no">cover</code> pour recadrer les images à des dimensions spécifiques a été supprimée à la fois de la classe <code translate="no">Asset</code> et des filtres Twig. Toutes les opérations de redimensionnement et recadrage sont maintenant gérées via une méthode <code translate="no">resize</code> améliorée qui accepte à la fois largeur et hauteur, et recadre l'image si les deux sont fournis.</li>
<li>La méthode <code translate="no">resize</code> dans <code translate="no">Asset</code> et le filtre Twig correspondant acceptent maintenant largeur et hauteur comme paramètres optionnels, offrant une plus grande flexibilité et réduisant la duplication de code.</li>
<li>La méthode <code translate="no">Image::resize</code> est mise à jour pour gérer à la fois le redimensionnement et le recadrage, remplaçant les précédentes méthodes <code translate="no">resize</code> et <code translate="no">cover</code>. Elle inclut maintenant aussi une option pour supprimer l'animation des images.</li>
</ul>
<h3 id="mises-a-jour-de-l-utilisation-des-templates-et-filtres">Mises à jour de l'utilisation des templates et filtres</h3>
<ul>
<li>Le filtre Twig <code translate="no">cover</code> est supprimé, et toutes les utilisations dans les templates sont mises à jour pour utiliser la nouvelle signature <code translate="no">resize(width, height)</code>.</li>
<li>Le template metatags utilise maintenant le nouveau filtre <code translate="no">resize</code> pour les images OpenGraph, passant largeur et hauteur quand approprié.</li>
</ul>
<h3 id="gestion-d-erreurs-et-clarte-du-code">Gestion d'erreurs et clarté du code</h3>
<ul>
<li>Les messages d'exception dans tout le code de traitement d'images ont été standardisés pour inclure des points à la fin et clarifier le contexte d'erreur.</li>
<li>Nettoyages mineurs du code et amélioration de la documentation pour les méthodes de traitement d'images.</li>
</ul>
<h3 id="ameliorations-du-rendu-html-d-images">Améliorations du rendu HTML d'images</h3>
<ul>
<li>L'attribut <code translate="no">sizes</code> pour les éléments <code translate="no">&lt;source&gt;</code> n'est maintenant inclus que quand il n'est pas vide, empêchant un HTML invalide.</li>
<li>L'attribut <code translate="no">srcset</code> n'est ajouté aux images que quand il n'est pas vide, améliorant la correction de la sortie.</li>
</ul>
<p>Dans l'ensemble, ces changements modernisent et rationalisent la gestion des images, rendant l'API plus facile à utiliser et maintenir.</p>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2025/12/31/cecil-8.76.0-est-sorti/</id>
    <title>Cecil 8.76.0 est sorti</title>
    <published>2025-12-31T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2025/12/31/cecil-8.76.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<p>Cette version met à jour le projet pour nécessiter PHP 8.2 ou supérieur. Elle introduit également le support des notifications desktop et améliore les processus de build et de test. Les changements les plus importants sont regroupés ci-dessous.</p>
<h3 id="mise-a-niveau-de-la-version-php-et-des-dependances">Mise à niveau de la version PHP et des dépendances</h3>
<p>La version minimale requise de PHP est maintenant 8.2 (était 8.1), et le support de PHP 8.1 est abandonné dans tous les fichiers de configuration et de documentation, y compris composer.json, les workflows CI/CD, et la documentation.<br>
Les dépendances Symfony et des packages PHP associés sont mises à jour de la version 6.4 vers 7.4, et d'autres dépendances sont également mises à niveau. Une nouvelle dépendance <code translate="no">jolicode/jolinotif</code> est ajoutée, et <code translate="no">performing/twig-components</code> est mis à jour vers ^0.7.</p>
<h3 id="mises-a-jour-de-la-documentation">Mises à jour de la documentation</h3>
<p>Toute la documentation, y compris le README et les guides de démarrage rapide, est mise à jour pour nécessiter PHP 8.2+.<br>
Les instructions de build incluent maintenant les étapes pour construire à la fois les packages PHAR et complets, et référencent les nouveaux outils utilisés.</p>
<h3 id="ajouts-de-fonctionnalites">Ajouts de fonctionnalités</h3>
<p>Ajoute une option <code translate="no">--notif</code> aux commandes CLI, permettant les notifications desktop à la fin du build et au démarrage du serveur.</p>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2025/12/09/cecil-8.75.0-est-sorti/</id>
    <title>Cecil 8.75.0 est sorti</title>
    <published>2025-12-09T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2025/12/09/cecil-8.75.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<p>Cette version améliore considérablement le système de gestion des ressources, en particulier pour les fichiers audio et vidéo. Les modifications incluent une extraction et documentation améliorées des métadonnées des médias, de nouvelles méthodes utilitaires pour les ressources, et une refactorisation du code pour plus de clarté et de maintenabilité.</p>
<h3 id="ameliorations-des-metadonnees-et-de-l-api-des-ressources">Améliorations des métadonnées et de l'API des ressources</h3>
<ul>
<li>Les ressources audio et vidéo exposent désormais des métadonnées plus riches : les ressources audio fournissent <code translate="no">duration</code>, <code translate="no">bitrate</code> et <code translate="no">channel</code>, tandis que les ressources vidéo fournissent <code translate="no">duration</code>, <code translate="no">width</code> et <code translate="no">height</code>. Ces propriétés sont maintenant directement disponibles sur les objets de ressources, ce qui les rend plus faciles à utiliser dans les templates.</li>
</ul>
<h3 id="mises-a-jour-de-la-documentation">Mises à jour de la documentation</h3>
<ul>
<li>La documentation pour les templates et l'utilisation des ressources est mise à jour pour refléter les nouvelles propriétés des ressources et les exemples d'utilisation pour les fichiers audio et vidéo.</li>
</ul>
<p>Ces modifications rendent collectivement la gestion des ressources plus puissante et plus facile à utiliser, en particulier pour les fichiers média, tout en améliorant la clarté du code et la maintenabilité.</p>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2025/12/03/quoi-de-neuf-depuis-la-version-8-37/</id>
    <title>Quoi de neuf depuis la version 8.37 ?</title>
    <published>2025-12-03T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2025/12/03/quoi-de-neuf-depuis-la-version-8-37/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<p>La dernière version en date est la <strong>8.74</strong>, sortie le 2 décembre 2025. Voici les principales nouveautés et changements depuis la version 8.37.</p>
<h3 id="nouvelles-fonctionnalites-majeures">Nouvelles fonctionnalités majeures</h3>
<ul>
<li><strong>Support amélioré des images responsives</strong> — ajout du support de la <em>pixel density</em> (densité de pixels / DPR) pour les images responsive (permet d’optimiser les srcset en fonction des écrans à haute densité).</li>
<li><strong>Possibilité d’outrepasser robots.txt</strong> — possibilité de créer une page <code translate="no">pages/robots.md</code> afin de remplacer le <code translate="no">robots.txt</code> par défaut. Pratique pour gérer exclusions d’indexation par projet.</li>
<li><strong>Amélioration du post-processing</strong> — poursuite des capacités d’extensions/post-processors (héritées de la branche 8.x) pour permettre des traitements finaux des sorties.</li>
</ul>
<h3 id="ameliorations-ergonomie">Améliorations &amp; ergonomie</h3>
<ul>
<li><strong>Simplification de la structure de configuration</strong> — options plus faciles à désactiver (<code translate="no">option: false</code> ou <code translate="no">option: enabled: false</code>) ; import automatique des config de thèmes via <code translate="no">setConfig()</code> / <code translate="no">setSourceDir()</code>.</li>
<li><strong>Refonte / renforcement du cache</strong> — nouveau mécanisme de cache : plus robuste (reconstruction automatique quand des fichiers changent), au prix d’un léger coût perf dans certains cas.</li>
<li><strong>Meilleure gestion et affichage des messages d’erreur</strong> — messages d’erreur clarifiés pour faciliter le debugging.</li>
</ul>
<h3 id="corrections-majeures">Corrections majeures</h3>
<ul>
<li><strong>Gestion des assets distants mise à jour</strong> — remote assets mieux gérés (mise en cache, fallback, etc.).</li>
<li><strong>Corrections pour les templates et filtres</strong> — nettoyage des éléments dépréciés/restés dans la doc (suite de la migration 8.0 → 8.x) et corrections diverses liées au rendu d’assets/templates.</li>
</ul>
<h3 id="breaking-changes-points-d-attention">Breaking changes &amp; points d’attention</h3>
<ul>
<li><strong>Suppression des taxonomies par défaut</strong> — <code translate="no">tag</code> et <code translate="no">category</code> ne sont plus créées automatiquement : si vous utilisiez ces taxonomies, il faut <strong>les déclarer explicitement</strong> dans la configuration <code translate="no">taxonomies:</code>. Risque de pages cassées si tu mets à jour sans adapter la config.</li>
<li><strong>Renommages / déplacement d’options</strong> — plusieurs options ont été renommées ou déplacées (ex. <code translate="no">pagination</code> → <code translate="no">pages:pagination</code>, <code translate="no">paths</code> → <code translate="no">pages:paths</code>, <code translate="no">remote_fallback</code> → <code translate="no">fallback</code>, <code translate="no">force_slash</code> → <code translate="no">leading_slash</code>).</li>
<li><strong>Vérifier les templates personnalisés</strong> — certains fichiers Twig et filtres dépréciés ont été supprimés par les évolutions 8.x ; il faut relire et mettre à jour les templates personnalisés.</li>
</ul>
<hr>
<h3 id="actions-recommandees-afin-de-migrer">Actions recommandées afin de migrer</h3>
<ol>
<li>Ajouter explicitement <code translate="no">taxonomies:</code> si vous comptez utiliser <code translate="no">tags</code>/<code translate="no">category</code>.</li>
<li>Contrôler et adapter les options renommées (pagination, paths, assets fallback, leading_slash).</li>
<li>Tester la génération complète (build) et vérifier le cache / assets distants.</li>
<li>Revoir les templates Twig (fonctions/filtres dépréciés) et profiter des nouvelles fonctions (DPR / pixel density dans images).</li>
</ol>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2025/04/23/cecil-8.37.0-est-sorti/</id>
    <title>Cecil 8.37.0 est sorti</title>
    <published>2025-04-23T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2025/04/23/cecil-8.37.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="changements-cles">Changements clés</h3>
<ol>
<li>simplification de la structure de configuration</li>
<li>Amélioration du cache : performances légèrement inférieures, mais confort accru</li>
<li>meilleure gestion des messages d'erreur</li>
</ol>
<h3 id="ameliorations">Améliorations</h3>
<h4>Configuration</h4>
<ul>
<li>Une option peut être désactivée directement avec <code translate="no">option:false</code> ou avec la sous-touche <code translate="no">enabled</code> : <code translate="no">option:enabled:false</code></li>
<li>La configuration des thèmes est automatiquement importée sur <code translate="no">setConfig()</code> et <code translate="no">setSourceDir()</code></li>
<li>Les options obsolètes sont désormais répertoriées dans le fichier dédié <code translate="no">config/deprecated.php</code></li>
</ul>
<h4>Cache et ressources</h4>
<ul>
<li>Mécanismes de cache reconstruits : légèrement moins performants, ils gèrent mieux les modifications de fichiers et actualisent automatiquement le cache</li>
<li>Les fichiers distants sont désormais mis en cache pendant 7 jours</li>
</ul>
<h3 id="changements-majeurs">Changements majeurs</h3>
<ul>
<li>Les taxonomies par défaut <code translate="no">tag</code> ont <code translate="no">category</code> été supprimées. Si vous les avez utilisées, vous devez les ajouter une par une à la configuration de votre site.</li>
<li>Options de configuration déplacées :<ul>
<li><code translate="no">pagination</code> -&gt; <code translate="no">pages:pagination</code></li>
<li><code translate="no">paths</code> -&gt; <code translate="no">pages:paths</code></li>
</ul>
</li>
<li>Options d'actifs renommées :<ul>
<li><code translate="no">remote_fallback</code> -&gt; <code translate="no">fallback</code></li>
<li><code translate="no">force_slash</code> -&gt; <code translate="no">leading_slash</code></li>
</ul>
</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2023/12/08/cecil-8.0.0-est-sorti/</id>
    <title>Cecil 8.0.0 est sorti</title>
    <published>2023-12-08T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2023/12/08/cecil-8.0.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="ameliorations">Améliorations</h3>
<ul>
<li>Étend Cecil avec des <a href="/documentation/extend/#output-post-processor">post processeurs de sortie</a></li>
<li>Classe de générateur, postprocesseur et extension personnalisée disponible également pour les thèmes</li>
<li>Meilleure hiérarchie des options de configuration</li>
<li>Accès à la configuration brute du site à partir d’un template via <a href="/documentation/templates/#site"><code translate="no">config.xxx</code></a></li>
<li>Validation de la configuration améliorée</li>
<li>Journalisation améliorée</li>
<li>La recherche de fichier des assets améliorée</li>
</ul>
<h3 id="changements-radicaux">Changements radicaux</h3>
<ul>
<li>Suppression du support pour PHP 7.x</li>
<li>Plus de support existant du répertoire <code translate="no">content</code> : utilisez plutôt <code translate="no">pages</code></li>
</ul>
<h3 id="options-de-configuration">Options de configuration</h3>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">frontmatter:</span>
<span class="hljs-attr">body:</span>
<span class="hljs-attr">defaultpages:</span>
<span class="hljs-attr">virtualpages:</span>
<span class="hljs-attr">generators:</span>
<span class="hljs-attr">translations:</span>
<span class="hljs-attr">extensions:</span>
<span class="hljs-attr">postprocess:</span></code></pre>
<p>ont été modifiés pour :</p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">pages:</span>
  <span class="hljs-attr">frontmatter:</span>
  <span class="hljs-attr">body:</span>
  <span class="hljs-attr">default:</span>
  <span class="hljs-attr">virtual:</span>
  <span class="hljs-attr">generators:</span>
<span class="hljs-attr">layouts:</span>
  <span class="hljs-attr">translations:</span>
  <span class="hljs-attr">extensions:</span>
<span class="hljs-attr">optimize:</span></code></pre>
<h4>Commandes</h4>
<ul>
<li>L'option de commande <a href="/documentation/commands/#build"><code translate="no">build</code></a> et <a href="/documentation/commands/#serve"><code translate="no">serve</code></a> <code translate="no">--postprocess</code> a été remplacée par <code translate="no">--optimize</code></li>
</ul>
<h3 id="templates">Templates</h3>
<ul>
<li><code translate="no">pagination.html.twig</code> supprimé (utilisez plutôt <code translate="no">paginator.html.twig</code>)</li>
<li><code translate="no">googleanalytics.js.twig</code> supprimé</li>
<li>Toutes les fonctions et filtres obsolètes ont été supprimés</li>
</ul>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>Correction du fuseau horaire par défaut</li>
<li>Correction du filtre de repli de <code translate="no">localizeddate</code></li>
<li>Correction du bundle d’<code translate="no">asset()</code></li>
<li>Correction du filtre d'asset HTML avec WebP</li>
<li>Correction du repli des assets distants</li>
</ul>
<h3 id="performance">Performance</h3>
<ul>
<li>Temps d'accès aux entrées de collection amélioré</li>
<li>Le chargeur automatique de classe des <em>post-processeurs</em> a été déplacé</li>
<li>Correction des performances de <code translate="no">jsonld.js.twig</code></li>
</ul>
<h3 id="documentation">Documentation</h3>
<ul>
<li><a href="/documentation/">Documentation</a> mise à jour</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
</ul>
<h3 id="tests">Tests</h3>
<ul>
<li>Données de test améliorées</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2023/08/16/cecil-7.45.0-est-sorti/</id>
    <title>Cecil 7.45.0 est sorti</title>
    <published>2023-08-16T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2023/08/16/cecil-7.45.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4> Obtenir les dimensions d'un élément vidéo</h4>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-keyword">set</span></span> asset = asset('video.mp4') %}</span><span class="xml">
Dimensions: </span><span class="hljs-template-variable">{{ asset.video.width }}</span><span class="xml"> x </span><span class="hljs-template-variable">{{ asset.video.height }}</span></code></pre>
<p><a href="/documentation/templates/#asset-attributes">Documentation →</a></p>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2023/08/02/cecil-7.44.0-est-sorti/</id>
    <title>Cecil 7.44.0 est sorti</title>
    <published>2023-08-02T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2023/08/02/cecil-7.44.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4> Désactiver l'image de balise méta par défaut</h4>
<p>Vous pouvez désormais désactiver l'image de balise méta (Open Graph and co) avec l'option suivante :</p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-string">```yaml</span>
<span class="hljs-attr">metatags:</span>
  <span class="hljs-attr">image:</span>
    <span class="hljs-attr">enabled:</span> <span class="hljs-literal">false</span></code></pre>
<p><a href="/documentation/configuration/#metatags-configuration">Documentation →</a></p>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2023/06/22/cecil-7.43.0-est-sorti/</id>
    <title>Cecil 7.43.0 est sorti</title>
    <published>2023-06-22T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2023/06/22/cecil-7.43.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Nouvelle fonction de dump</h4>
<p>La fonction <code translate="no">d()</code> est la version HTML de <a href="https://cecil.app/documentation/templates/#dump"><code translate="no">dump()</code></a> et utilise le <a href="https://symfony.com/doc/5.4/components/var_dumper.html" target="_blank" rel="noopener noreferrer">Symfony VarDumper Component</a> en arrière-plan.</p>
<p><a href="/documentation/templates/#d">Documentation →</a></p>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
<li>Mises à jour des modèles de squelette</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2023/06/04/cecil-7.40.0-est-sorti/</id>
    <title>Cecil 7.40.0 est sorti</title>
    <published>2023-06-04T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2023/06/04/cecil-7.40.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>i18n pour la taxonomie</h4>
<p>Ajoute la prise en charge d'i18n à la fonctionnalité <a href="/documentation/content/#taxonomy">taxonomy</a> : vous pouvez utiliser des vocabulaires et des termes localisés dans vos pages.</p>
<h4>#Configuration</h4>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">taxonomies:</span>
  <span class="hljs-attr">categories:</span> <span class="hljs-string">categorie</span>
<span class="hljs-attr">languages:</span>
  <span class="hljs-bullet">-</span> <span class="hljs-attr">code:</span> <span class="hljs-string">en</span>
    <span class="hljs-attr">name:</span> <span class="hljs-string">English</span>
    <span class="hljs-attr">locale:</span> <span class="hljs-string">en</span>
  <span class="hljs-bullet">-</span> <span class="hljs-attr">code:</span> <span class="hljs-string">fr</span>
    <span class="hljs-attr">name:</span> <span class="hljs-string">Français</span>
    <span class="hljs-attr">locale:</span> <span class="hljs-string">fr_FR</span>
    <span class="hljs-attr">config:</span>
      <span class="hljs-attr">taxonomies:</span>
        <span class="hljs-attr">catégories:</span> <span class="hljs-string">catégorie</span></code></pre>
<h4># Pages</h4>
<p><em>exemple.fr.md :</em></p>
<pre><code translate="no">---
catégories: [Catégorie 1, Catégorie 2]
---</code></pre>
<h4># Modèle</h4>
<p><em>vocabulaire.html.twig :</em></p>
<pre><code class="language-twig hljs twig" translate="no"><span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">ul</span>&gt;</span>
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-keyword">for</span></span> term in page.terms %}</span><span class="xml">
  <span class="hljs-tag">&lt;<span class="hljs-name">li</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">h2</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"</span></span></span><span class="hljs-template-variable">{{ url(page.path ~ '/' ~ term.id) }}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">"</span>&gt;</span></span><span class="hljs-template-variable">{{ term.name }}</span><span class="xml"><span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span> (</span><span class="hljs-template-variable">{{ term|<span class="hljs-keyword">length</span> }}</span><span class="xml">)<span class="hljs-tag">&lt;/<span class="hljs-name">h2</span>&gt;</span>
+    <span class="hljs-tag">&lt;<span class="hljs-name">h2</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"</span></span></span><span class="hljs-template-variable">{{ url(term.id, {language: site.language}) }}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">"</span>&gt;</span></span><span class="hljs-template-variable">{{ term.name }}</span><span class="xml"><span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span> (</span><span class="hljs-template-variable">{{ term|<span class="hljs-keyword">length</span> }}</span><span class="xml">)<span class="hljs-tag">&lt;/<span class="hljs-name">h2</span>&gt;</span>
  <span class="hljs-tag">&lt;/<span class="hljs-name">li</span>&gt;</span>
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-keyword">endfor</span></span> %}</span><span class="xml">
<span class="hljs-tag">&lt;/<span class="hljs-name">ul</span>&gt;</span></span></code></pre>
<p><a href="/documentation/content/#taxonomy">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Ne supprimez pas la variable <code translate="no">section</code> des pages exclues</li>
<li>Correction de l'injection du script de rechargement en direct</li>
<li>Correction de la commande <code translate="no">show:content</code></li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
<li>Commande <code translate="no">show:config</code> améliorée</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2023/05/24/cecil-7.39.0-est-sorti/</id>
    <title>Cecil 7.39.0 est sorti</title>
    <published>2023-05-24T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2023/05/24/cecil-7.39.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Temps de traitement et mémoire consommée</h4>
<p>Afficher le temps de traitement et la mémoire consommée à chaque étape, en mode détaillé (<code translate="no">-vv</code>) :</p>
<pre><code class="language-bash hljs bash" translate="no">(...)
&lt;step name&gt; <span class="hljs-keyword">done</span> <span class="hljs-keyword">in</span> X.XX s (X mb)
(...)</code></pre>
<h3 id="divers">Divers</h3>
<ul>
<li>Code amélioré</li>
<li>Dépendances mises à jour</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2023/05/23/cecil-7.38.0-est-sorti/</id>
    <title>Cecil 7.38.0 est sorti</title>
    <published>2023-05-23T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2023/05/23/cecil-7.38.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="rompre-le-changement">Rompre le changement</h3>
<h4>Modifie l'ID des pages localisées</h4>
<p>La manière de définir un identifiant de page a été remaniée : le code de langue d'une page traduite n'est plus un suffixe (<code translate="no">page.code</code>) et est désormais un préfixe (<code translate="no">code/page</code>).</p>
<p>Exemple : <code translate="no">blog/post-1.fr</code> devient <code translate="no">fr/blog/post-1</code>.</p>
<h3 id="reparer">Réparer</h3>
<ul>
<li><code translate="no">getIdWithoutLang()</code> corrigé</li>
<li>Tri par pagination corrigé</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Règle <code translate="no">native_function_invocation</code> appliquée pour de meilleures performances (ex : <code translate="no">\is_array()</code> au lieu de <code translate="no">is_array()</code>)</li>
<li>Dépendances mises à jour</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2023/05/22/cecil-7.37.0-est-sorti/</id>
    <title>Cecil 7.37.0 est sorti</title>
    <published>2023-05-22T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2023/05/22/cecil-7.37.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Nouvelle variable <code translate="no">page.paginator.links.path</code></h4>
<p>La variable <em>paginator</em> <code translate="no">page.paginator.links.path</code> renvoie l'ID de page sans index de position.</p>
<p><em>Exemple:</em></p>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-keyword">if</span></span> page.paginator %}</span><span class="xml">
<span class="hljs-tag">&lt;<span class="hljs-name">div</span>&gt;</span>
  </span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-keyword">for</span></span> paginator_index in 1..page.paginator.count %}</span><span class="xml">
    </span><span class="hljs-comment">{# not the current page: URL #}</span><span class="xml">
    </span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-keyword">if</span></span> paginator_index != page.paginator.current %}</span><span class="xml">
      </span><span class="hljs-comment">{# the first page #}</span><span class="xml">
      </span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-keyword">if</span></span> paginator_index == 1 %}</span><span class="xml">
  <span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"</span></span></span><span class="hljs-template-variable">{{ url(page.paginator.links.first) }}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">"</span>&gt;</span></span><span class="hljs-template-variable">{{ paginator_index }}</span><span class="xml"><span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
      </span><span class="hljs-template-tag">{% <span class="hljs-name">else</span> %}</span><span class="xml">
  <span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"</span></span></span><span class="hljs-template-variable">{{ url(page.paginator.links.path ~ '/' ~ paginator_index) }}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">"</span>&gt;</span></span><span class="hljs-template-variable">{{ paginator_index }}</span><span class="xml"><span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
      </span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-keyword">endif</span></span> %}</span><span class="xml">
    </span><span class="hljs-comment">{# the current page: not URL #}</span><span class="xml">
    </span><span class="hljs-template-tag">{% <span class="hljs-name">else</span> %}</span><span class="xml">
  </span><span class="hljs-template-variable">{{ paginator_index }}</span><span class="xml">
    </span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-keyword">endif</span></span> %}</span><span class="xml">
  </span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-keyword">endfor</span></span> %}</span><span class="xml">
<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-keyword">endif</span></span> %}</span></code></pre>
<p><a href="/documentation/templates/#page-paginator">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Correction de l'actif favicon des balises méta</li>
<li>Correction de l'option de commande <code translate="no">clear-cache</code></li>
<li>Correction du mode de débogage de la console</li>
<li>Correction du logo dans le modèle JSON-LD</li>
<li>Correction des modèles JSON</li>
<li>Balise <code translate="no">&lt;script&gt;</code> ajoutée au script de rechargement en direct (par <a href="https://github.com/ahnlak" target="_blank" rel="noopener noreferrer">@ahnlak</a>)</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
<li>Utilisez la directive Composer <code translate="no">dump-autoloader</code> pour de meilleures performances</li>
<li>Messages enregistrés par étapes améliorés</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2023/04/15/cecil-7.36.0-est-sorti/</id>
    <title>Cecil 7.36.0 est sorti</title>
    <published>2023-04-15T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2023/04/15/cecil-7.36.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Nouvelle règle de recherche de modèle de taxonomie</h4>
<p>Vous pouvez désormais facilement créer un modèle personnalisé pour répertorier les pages d'un terme de taxonomie spécifique (<em>singular</em>) : <code translate="no">taxonomy/&lt;singular&gt;.&lt;format&gt;.twig</code> (Demande <a href="https://github.com/Cecilapp/Cecil/issues/1669" target="_blank" rel="noopener noreferrer">#1669</a>).</p>
<p><a href="/documentation/templates/#type-term">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Correction de la génération de favicons</li>
<li>Correction du filtre <code translate="no">html</code> en cas d'attribut <code translate="no">class</code> s'il est vide</li>
</ul>
<h3 id="documents">Documents</h3>
<ul>
<li>Documentation globalement améliorée</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
<li>Couverture du code : ajout de tests pour la gestion des ressources d'image</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2023/04/11/cecil-7.35.0-est-sorti/</id>
    <title>Cecil 7.35.0 est sorti</title>
    <published>2023-04-11T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2023/04/11/cecil-7.35.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Nouveau filtre d'actifs et fonctions pour les images</h4>
<p>Convertissez une image au format <a href="https://developers.google.com/speed/webp" target="_blank" rel="noopener noreferrer">WebP</a> :</p>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-variable">{{ asset|webp }}</span></code></pre>
<p><a href="/documentation/templates/#webp">Documentation →</a></p>
<p>Créez l'attribut <code translate="no">srcset</code> à partir d'un actif et récupérez le <code translate="no">sizes</code> disponible pour un nom de classe donné :</p>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-variable">{{ image_srcset(asset) }}</span><span class="xml">
</span><span class="hljs-template-variable">{{ image_sizes('class') }}</span></code></pre>
<p><a href="/documentation/templates/#image-srcset">Documentation →</a></p>
<p><em>Exemple:</em></p>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-keyword">set</span></span> photo = asset('photo.jpg') %}</span><span class="xml">
<span class="hljs-tag">&lt;<span class="hljs-name">picture</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">source</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"image/webp"</span> <span class="hljs-attr">srcset</span>=<span class="hljs-string">"</span></span></span><span class="hljs-template-variable">{{ image_srcset(photo|webp) }}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">"</span> <span class="hljs-attr">sizes</span>=<span class="hljs-string">"</span></span></span><span class="hljs-template-variable">{{ image_sizes('photo') }}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">"</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">img</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"</span></span></span><span class="hljs-template-variable">{{ url(photo) }}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">"</span> <span class="hljs-attr">width</span>=<span class="hljs-string">"</span></span></span><span class="hljs-template-variable">{{ photo.width }}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">"</span> <span class="hljs-attr">height</span>=<span class="hljs-string">"</span></span></span><span class="hljs-template-variable">{{ photo.height }}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">"</span> <span class="hljs-attr">alt</span>=<span class="hljs-string">""</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"photo"</span> <span class="hljs-attr">srcset</span>=<span class="hljs-string">"</span></span></span><span class="hljs-template-variable">{{ image_srcset(photo) }}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">"</span> <span class="hljs-attr">sizes</span>=<span class="hljs-string">"</span></span></span><span class="hljs-template-variable">{{ image_sizes('photo') }}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">"</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">picture</span>&gt;</span></span></code></pre>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Désactiver le filtre <code translate="no">dataurl</code> pour SVG</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2023/04/06/cecil-7.34.0-est-sorti/</id>
    <title>Cecil 7.34.0 est sorti</title>
    <published>2023-04-06T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2023/04/06/cecil-7.34.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Filtre LQIP</h4>
<p>Le filtre Twig <code translate="no">lqip</code> renvoie un <a href="https://www.guypo.com/introducing-lqip-low-quality-image-placeholders" target="_blank" rel="noopener noreferrer">espace réservé pour une image de faible qualité</a> (LQIP) comme URL de données.</p>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-variable">{{ asset(image_path)|lqip }}</span></code></pre>
<p><a href="/documentation/templates/#lqip">Documentation →</a></p>
<p><em>Exemple:</em></p>
<pre><code class="language-html hljs xml" translate="no">{% set photo_full = asset('/photo.jpeg') %}
{% set photo = photo_full|resize(640) %}
<span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"background-image:url({{ photo|lqip }});background-repeat:no-repeat;background-position:center;background-size:cover;"</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"{{ url(photo_full) }}"</span>&gt;</span>{{ photo|html }}<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span></code></pre>
<p><em>Exemple de chargement progressif de <a href="https://photo-stream-demo.cecil.app/" target="_blank" rel="noopener noreferrer">galerie d'images</a> :</em></p>
<figure>
<picture title="Les images ne sont pas chargées, seuls les LQIP sont visibles en arrière-plan.">
<source type="image/avif" srcset="/thumbnails/480x/images/news/LQIP-low-quality-images.ff6cec9c126d936ee05a742063a8ffc3.avif 480w, /thumbnails/768x/images/news/LQIP-low-quality-images.ff6cec9c126d936ee05a742063a8ffc3.avif 768w, /thumbnails/1024x/images/news/LQIP-low-quality-images.ff6cec9c126d936ee05a742063a8ffc3.avif 1024w" width="1024" height="613" sizes="100vw">
<source type="image/webp" srcset="/thumbnails/480x/images/news/LQIP-low-quality-images.ff6cec9c126d936ee05a742063a8ffc3.webp 480w, /thumbnails/768x/images/news/LQIP-low-quality-images.ff6cec9c126d936ee05a742063a8ffc3.webp 768w, /thumbnails/1024x/images/news/LQIP-low-quality-images.ff6cec9c126d936ee05a742063a8ffc3.webp 1024w" width="1024" height="613" sizes="100vw">
<img src="/thumbnails/1024x/images/news/LQIP-low-quality-images.ff6cec9c126d936ee05a742063a8ffc3.png" alt="Images LQIP de basse qualité" loading="lazy" decoding="async" class="dark:brightness-90" width="1024" height="613" style=";max-width:100%;height:auto;background-image:url(data:image/png;base64,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);background-repeat:no-repeat;background-position:center;background-size:cover;" srcset="/thumbnails/480x/images/news/LQIP-low-quality-images.ff6cec9c126d936ee05a742063a8ffc3.png 480w, /thumbnails/768x/images/news/LQIP-low-quality-images.ff6cec9c126d936ee05a742063a8ffc3.png 768w, /thumbnails/1024x/images/news/LQIP-low-quality-images.ff6cec9c126d936ee05a742063a8ffc3.png 1024w" sizes="100vw">
</picture>
<figcaption>Les images ne sont pas chargées, seuls les LQIP sont visibles en arrière-plan.</figcaption>
</figure>
<figure>
<picture title="Images complètement chargées.">
<source type="image/avif" srcset="/thumbnails/480x/images/news/LQIP-images-loaded.383b5f23525048692e47552e92d50f25.avif 480w, /thumbnails/768x/images/news/LQIP-images-loaded.383b5f23525048692e47552e92d50f25.avif 768w, /thumbnails/1024x/images/news/LQIP-images-loaded.383b5f23525048692e47552e92d50f25.avif 1024w" width="1024" height="613" sizes="100vw">
<source type="image/webp" srcset="/thumbnails/480x/images/news/LQIP-images-loaded.383b5f23525048692e47552e92d50f25.webp 480w, /thumbnails/768x/images/news/LQIP-images-loaded.383b5f23525048692e47552e92d50f25.webp 768w, /thumbnails/1024x/images/news/LQIP-images-loaded.383b5f23525048692e47552e92d50f25.webp 1024w" width="1024" height="613" sizes="100vw">
<img src="/thumbnails/1024x/images/news/LQIP-images-loaded.383b5f23525048692e47552e92d50f25.png" alt="Images chargées" loading="lazy" decoding="async" class="dark:brightness-90" width="1024" height="613" style=";max-width:100%;height:auto;background-image:url(data:image/png;base64,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);background-repeat:no-repeat;background-position:center;background-size:cover;" srcset="/thumbnails/480x/images/news/LQIP-images-loaded.383b5f23525048692e47552e92d50f25.png 480w, /thumbnails/768x/images/news/LQIP-images-loaded.383b5f23525048692e47552e92d50f25.png 768w, /thumbnails/1024x/images/news/LQIP-images-loaded.383b5f23525048692e47552e92d50f25.png 1024w" sizes="100vw">
</picture>
<figcaption>Images complètement chargées.</figcaption>
</figure>
<h3 id="documents">Documents</h3>
<ul>
<li>Configuration <em>imgix</em> CDN ajoutée</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
<li>Meilleure gestion des images</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2023/03/20/cecil-7.33.0-est-sorti/</id>
    <title>Cecil 7.33.0 est sorti</title>
    <published>2023-03-20T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2023/03/20/cecil-7.33.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Prise en charge du CDN d'images</h4>
<p>Vous pouvez facilement utiliser un CDN pour fournir les images de votre site, par exemple :</p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">assets:</span>
  <span class="hljs-attr">images:</span>
    <span class="hljs-attr">cdn:</span>
      <span class="hljs-attr">enabled:</span> <span class="hljs-literal">true</span>
      <span class="hljs-comment"># Cloudimage</span>
      <span class="hljs-attr">account:</span> <span class="hljs-string">'xxxx'</span>
      <span class="hljs-attr">url:</span> <span class="hljs-string">'https://%account%.cloudimg.io/%image_url%?w=%width%&amp;q=%quality%&amp;force_format=%format%'</span></code></pre>
<p><a href="/documentation/configuration/cdn-providers/">Fournisseurs CDN →</a></p>
<p><a href="/documentation/configuration/#image-cdn">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Correction du lien vers le fichier Markdown, avec ancre</li>
<li>Correction de l'image réactive dupliquée</li>
</ul>
<h3 id="documents">Documents</h3>
<ul>
<li>Liste des commandes mise à jour
-Documentation des images améliorée</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Actifs et code du convertisseur WebP refactorisés</li>
<li>Ajouter l'actualisation automatique à la page 404 servie localement</li>
<li>De meilleures largeurs réactives</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2023/03/09/cecil-7.32.0-est-sorti/</id>
    <title>Cecil 7.32.0 est sorti</title>
    <published>2023-03-09T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2023/03/09/cecil-7.32.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4><code translate="no">decoding="async"</code> ajouté aux images</h4>
<p>L'attribut <code translate="no">decoding="async"</code> est automatiquement ajouté aux images Markdown.</p>
<p><em>Exemple:</em></p>
<pre><code class="language-markdown hljs markdown" translate="no">![](/image.jpg)</code></pre>
<p>Est converti en :</p>
<pre><code class="language-html hljs xml" translate="no"><span class="hljs-tag">&lt;<span class="hljs-name">img</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"/image.jpg"</span> <span class="hljs-attr">decoding</span>=<span class="hljs-string">"async"</span>&gt;</span></code></pre>
<p><a href="/documentation/content/#decoding">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Correction de la classe par défaut dans les images Markdown</li>
<li>Correction des messages d'erreur de configuration</li>
</ul>
<h3 id="documents">Documents</h3>
<ul>
<li>Mettre à jour la configuration <code translate="no">metatags</code></li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
<li>Couverture du code améliorée</li>
<li>Imprimer un message si l'extension EXIF est chargée</li>
<li>Gestionnaire d'erreurs <code translate="no">exif_read_data</code> refactorisé</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2023/03/07/cecil-7.31.0-est-sorti/</id>
    <title>Cecil 7.31.0 est sorti</title>
    <published>2023-03-07T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2023/03/07/cecil-7.31.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>EXIF ​​et données audio</h4>
<p>Les données EXIF ​​et audio sont disponibles pour les <a href="/documentation/templates/#site-static">fichiers statiques</a> et <a href="/documentation/templates/#asset-attributes">asset</a>.</p>
<p><em>Exemple EXIF :</em></p>
<pre><code class="language-twig hljs twig" translate="no"><span class="xml"># photo's date in seconds
</span><span class="hljs-template-variable">{{ asset('photo.jpeg').exif.DateTimeOriginal|<span class="hljs-keyword">date</span>('U') }}</span></code></pre>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Correction de la balise de cache pour la qualité de l'image</li>
<li>Correction du CSS de la page de mise en page par défaut</li>
<li>Correction du format de sortie par défaut <code translate="no">url(page)</code></li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2023/02/23/cecil-7.30.0-est-sorti/</id>
    <title>Cecil 7.30.0 est sorti</title>
    <published>2023-02-23T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2023/02/23/cecil-7.30.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Ajouter l'URL de la page de base à l'ancre de la table des matières</h4>
<p><em>Exemple:</em></p>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-variable">{{ page.body|toc('html', 'https://example.com/page/') }}</span><span class="xml">
</span><span class="hljs-template-variable">{{ page.body|toc(url=url(page)) }}</span></code></pre>
<p><a href="/documentation/templates/#toc">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Correction du filtre <a href="/documentation/templates/#sort-by-date"><code translate="no">sort_by_date</code></a></li>
<li>Correction de la mise en page par défaut</li>
<li>Correction du titre de l'image Markdown</li>
<li>Correction du chemin dans le cas où une seule page est chargée</li>
</ul>
<h3 id="documents">Documents</h3>
<ul>
<li>Supprimer les références forestières (car <a href="https://tina.io/forestry/" target="_blank" rel="noopener noreferrer">La foresterie est morte</a>)</li>
<li>Mise à jour de <a href="/documentation/deploy/"><em>Deploy</em></a></li>
<li>Mettre à jour les modèles</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2023/01/04/cecil-7.29.0-est-sorti/</id>
    <title>Cecil 7.29.0 est sorti</title>
    <published>2023-01-04T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2023/01/04/cecil-7.29.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Format de sortie du flux JSON</h4>
<p>Ajoutez la prise en charge de <a href="https://www.jsonfeed.org/" target="_blank" rel="noopener noreferrer">JSON Feed</a> comme format de sortie.</p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">output:</span>
  <span class="hljs-attr">pagetypeformats:</span>
    <span class="hljs-attr">section:</span> <span class="hljs-string">['html',</span> <span class="hljs-string">'atom'</span><span class="hljs-string">,</span> <span class="hljs-string">'jsonfeed'</span><span class="hljs-string">]</span></code></pre>
<p><a href="/documentation/configuration/#pagetypeformats">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Application des contrôles d'exécution pour les extensions PHP requises (par <a href="https://github.com/benjaminhirsch" target="_blank" rel="noopener noreferrer">@benjaminhirsch</a>)</li>
<li>Correction du filtre et de la carte des pages lors de l'étape de rendu</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Code amélioré</li>
<li>Dépendances mises à jour</li>
<li><code translate="no">symfony/polyfill-intl-icu</code> ajouté</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/11/25/cecil-7.28.0-est-sorti/</id>
    <title>Cecil 7.28.0 est sorti</title>
    <published>2022-11-25T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/11/25/cecil-7.28.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<ul>
<li>Liens de flux disponibles à partir des pages d'une section</li>
<li>Cecil est maintenant disponible via <a href="/download/#macos">Homebrew</a></li>
</ul>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Correction de la traduction française</li>
<li>Correction de la gestion des fichiers d'actifs distants</li>
<li>Gestion des fichiers vidéo par le serveur local</li>
<li>Correction du générateur de page d'accueil s'il n'y a pas d'autres pages</li>
</ul>
<h3 id="documents">Documents</h3>
<ul>
<li>Mises à jour mineures</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Flux XSL refactorisés</li>
<li>Meilleure page 404 du serveur local</li>
<li>Dépendances mises à jour</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/11/05/cecil-7.27.0-est-sorti/</id>
    <title>Cecil 7.27.0 est sorti</title>
    <published>2022-11-05T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/11/05/cecil-7.27.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Supprimer les fichiers de cache par expression régulière</h4>
<p><em>Exemple:</em></p>
<pre><code class="language-bash hljs bash" translate="no">php cecil.phar serve --clear-cache=<span class="hljs-string">"\.css"</span></code></pre>
<blockquote>
<p>Supprime les fichiers CSS mis en cache et préserve le reste du cache.</p>
</blockquote>
<p><a href="/documentation/commandes/#serve">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Modèle utilisé dans la méthode d'élagage du cache</li>
<li>Ne doit pas convertir un lien de ligne en bloc</li>
<li>Correction de l'attribut de taille des favicon</li>
<li>Correction mineure sur le convertisseur Markdown</li>
</ul>
<h3 id="documents">Documents</h3>
<ul>
<li>Page de contenu mise à jour</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Code commenté</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/10/31/cecil-7.25.0-est-sorti/</id>
    <title>Cecil 7.25.0 est sorti</title>
    <published>2022-10-31T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/10/31/cecil-7.25.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Image réactive personnalisée <code translate="no">sizes</code></h4>
<pre><code class="language-html hljs xml" translate="no"><span class="hljs-tag">&lt;<span class="hljs-name">img</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"/assets/thumbnails/800/image.jpg"</span> <span class="hljs-attr">width</span>=<span class="hljs-string">"800"</span> <span class="hljs-attr">height</span>=<span class="hljs-string">"600"</span>
  <span class="hljs-attr">srcset</span>=<span class="hljs-string">"/assets/thumbnails/320/image.jpg 320w,
          /assets/thumbnails/640/image.jpg 640w,
          /assets/thumbnails/800/image.jpg 800w"</span>
  <span class="hljs-attr">sizes</span>=<span class="hljs-string">"100vw"</span>
&gt;</span></code></pre>
<p>L'attribut <code translate="no">sizes</code> prend la valeur de l'option de configuration <code translate="no">assets.images.responsive.sizes.default</code> par défaut et peut être personnalisé en créant une nouvelle entrée nommée avec le nom de classe ajouté à l'image.</p>
<p><em>Exemple:</em></p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">assets:</span>
  <span class="hljs-attr">images:</span>
    <span class="hljs-attr">responsive:</span>
      <span class="hljs-attr">sizes:</span>
        <span class="hljs-attr">default:</span> <span class="hljs-string">100vw</span>
        <span class="hljs-attr">my_class:</span> <span class="hljs-string">"(max-width: 800px) 768px, 1024px"</span></code></pre>
<pre><code class="language-markdown hljs markdown" translate="no">![](/image.jpg){.my_class}</code></pre>
<p><a href="/documentation/configuration/#assets">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Normaliser le chemin de la page à construire</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/10/31/cecil-7.26.0-est-sorti/</id>
    <title>Cecil 7.26.0 est sorti</title>
    <published>2022-10-31T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/10/31/cecil-7.26.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Créer une légende pour les images et intégrer des liens ayant un titre</h4>
<p>Le titre facultatif peut être utilisé pour créer automatiquement une légende (<code translate="no">figcaption</code>) en activant l'<a href="/documentation/configuration/#body">option <code translate="no">caption</code></a>.</p>
<p><em>Exemple:</em></p>
<pre><code class="language-markdown hljs markdown" translate="no">![](/images/img.jpg "Title")</code></pre>
<p>Est converti en :</p>
<pre><code class="language-html hljs xml" translate="no"><span class="hljs-tag">&lt;<span class="hljs-name">figure</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">img</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"/image.jpg"</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"Title"</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">figcaption</span>&gt;</span>Title<span class="hljs-tag">&lt;/<span class="hljs-name">figcaption</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">figure</span>&gt;</span></code></pre>
<p><a href="/documentation/content/#caption">Documentation →</a></p>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/10/30/cecil-7.24.0-est-sorti/</id>
    <title>Cecil 7.24.0 est sorti</title>
    <published>2022-10-30T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/10/30/cecil-7.24.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Transformez un lien en élément vidéo ou audio</h4>
<pre><code class="language-markdown hljs markdown" translate="no">[<span class="hljs-string">The video</span>](<span class="hljs-link">/video/test.mp4</span>){controls poster=/images/video-test.png style="width:100%;"}</code></pre>
<pre><code class="language-html hljs xml" translate="no"><span class="hljs-tag">&lt;<span class="hljs-name">video</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"/video/test.mp4"</span> <span class="hljs-attr">controls</span> <span class="hljs-attr">poster</span>=<span class="hljs-string">"/images/video-test.png"</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"width:100%;"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">video</span>&gt;</span></code></pre>
<p><a href="/documentation/content/#embedded-links">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Convertit la page même si elle contient un mauvais code de langue</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/10/29/cecil-7.23.0-est-sorti/</id>
    <title>Cecil 7.23.0 est sorti</title>
    <published>2022-10-29T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/10/29/cecil-7.23.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Nouvelle option pour ajouter une classe par défaut aux images corporelles</h4>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">body:</span>
  <span class="hljs-attr">images:</span>
    <span class="hljs-attr">class:</span> <span class="hljs-string">''</span> <span class="hljs-comment"># put default class to each image (empty by default)</span></code></pre>
<p><a href="/documentation/configuration/#body">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Correction du compte Twitter dans le modèle <a href="/documentation/configuration/#metatags"><em>metatags</em></a></li>
<li>Correction de l'option de désactivation des liens intégrés</li>
<li>Appliquer un chemin personnalisé avant l'étape de conversion (créer)</li>
</ul>
<h3 id="documents">Documents</h3>
<ul>
<li>Page de contenu mise à jour</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Code nettoyé</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/10/25/cecil-7.20.0-est-sorti/</id>
    <title>Cecil 7.20.0 est sorti</title>
    <published>2022-10-25T00:00:00+00:00</published>
    <updated>2023-10-26T00:00:00+00:00</updated>
    <link href="https://cecil.app/fr/actualites/2022/10/25/cecil-7.20.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Nouvelle variable <code translate="no">canonical</code> pour remplacer l'URL canonique générée</h4>
<p>Si le <code translate="no">metatags.html.twig</code> partiel est inclus dans votre modèle principal, une URL canonique est automatiquement ajoutée à la page <code translate="no">&lt;head&gt;</code>.<br>
Avec la variable <code translate="no">canonical</code> (définie dans la page <a href="/documentation/content/#front-matter">front Matter</a>), vous pouvez remplacer l'URL canonique et le titre canonique :</p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">canonical:</span>
  <span class="hljs-attr">url:</span> <span class="hljs-string">&lt;URL&gt;</span>
  <span class="hljs-attr">title:</span> <span class="hljs-string">"&lt;URL title&gt;"</span> <span class="hljs-comment"># optional</span></code></pre>
<p><a href="/documentation/configuration/#metatags-options-and-front-matter">Documentation →</a></p>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/10/25/cecil-7.21.0-est-sorti/</id>
    <title>Cecil 7.21.0 est sorti</title>
    <published>2022-10-25T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/10/25/cecil-7.21.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Solution de secours locale pour les images distantes</h4>
<p>Vous pouvez spécifier une image de secours – générique – au cas où les images distantes ne seraient pas disponibles.</p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">body:</span>
  <span class="hljs-attr">images:</span>
    <span class="hljs-attr">remote:</span>
      <span class="hljs-attr">enabled:</span> <span class="hljs-literal">true</span>
      <span class="hljs-attr">fallback:</span>
        <span class="hljs-attr">enabled:</span> <span class="hljs-literal">true</span> <span class="hljs-comment"># enables a fallback if remote image is not found (false by default)</span>
        <span class="hljs-attr">path:</span> <span class="hljs-string">'images/no-image.png'</span> <span class="hljs-comment"># path to the fallback image, stored in `assets` dir (empty by default)</span></code></pre>
<p><a href="/documentation/configuration/#body">Documentation →</a></p>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/10/25/cecil-7.22.0-est-sorti/</id>
    <title>Cecil 7.22.0 est sorti</title>
    <published>2022-10-25T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/10/25/cecil-7.22.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Prise en charge de l'intégration du lien GitHub Gist</h4>
<p>GitHub Gist peut être facilement intégré en ajoutant l'attribut <code translate="no">{embed}</code>.</p>
<pre><code class="language-markdown hljs markdown" translate="no">[<span class="hljs-string">Cecil build script</span>](<span class="hljs-link">https://gist.github.com/ArnaudLigny/6b2aa9e6b25581c96435e9296efe0c0e</span>){embed}</code></pre>
<p><script src="https://gist.github.com/ArnaudLigny/6b2aa9e6b25581c96435e9296efe0c0e.js"></p>
<p><a href="/documentation/content/#embedded-links">Documentation →</a></p>
<h3 id="divers">Divers</h3>
<ul>
<li>Code nettoyé</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/10/24/cecil-7.19.0-est-sorti/</id>
    <title>Cecil 7.19.0 est sorti</title>
    <published>2022-10-24T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/10/24/cecil-7.19.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Lien vers une page dans un lien markdown</h4>
<p>Vous pouvez facilement créer un lien vers une page avec la syntaxe <code translate="no">[Page title](page:page-id)</code>.</p>
<p>Exemple:</p>
<pre><code class="language-markdown hljs markdown" translate="no">[<span class="hljs-string">Link to a blog post</span>](<span class="hljs-link">page:blog/post-1</span>)</code></pre>
<p><a href="/documentation/content/#link-to-a-page">Documentation →</a></p>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/10/23/cecil-7.18.0-est-sorti/</id>
    <title>Cecil 7.18.0 est sorti</title>
    <published>2022-10-23T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/10/23/cecil-7.18.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Intégrer une vidéo YouTube à partir d'un lien Markdown</h4>
<p>Vous pouvez laisser Cecil essayer de transformer un lien en contenu intégré en utilisant le <code translate="no">{embed=true}</code> :</p>
<p>Exemple:</p>
<pre><code class="language-markdown hljs markdown" translate="no">[<span class="hljs-string">An example YouTube video</span>](<span class="hljs-link">https://www.youtube.com/watch?v=Dj-rKHmLp5w</span>){embed=true}</code></pre>
<p><a href="/documentation/content/#embedded-links">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Correction de la légende de l'image</li>
<li>Ne doublez pas le préfixe du sous-slug</li>
<li>Correction de la méta du générateur s'il n'y a pas d'espaces avant</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/10/19/cecil-7.17.0-est-sorti/</id>
    <title>Cecil 7.17.0 est sorti</title>
    <published>2022-10-19T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/10/19/cecil-7.17.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Normaliser le chemin des actifs dans Markdown</h4>
<p>Un chemin relatif de fichier statique ou d’actif est automatiquement normalisé.</p>
<p><em>Exemple:</em></p>
<pre><code class="language-markdown hljs markdown" translate="no">![](../../assets/images/image.jpeg)</code></pre>
<p>Devenir:</p>
<pre><code class="language-html hljs xml" translate="no"><span class="hljs-tag">&lt;<span class="hljs-name">img</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"/images/image.jpeg"</span>&gt;</span></code></pre>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Correction du chemin vers le répertoire de cache des actifs</li>
<li>Erreur si erroné par rapport au chemin de l'actif parent</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/10/16/cecil-7.16.0-est-sorti/</id>
    <title>Cecil 7.16.0 est sorti</title>
    <published>2022-10-16T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/10/16/cecil-7.16.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Prise en charge du Markdown dans <code translate="no">&lt;figcaption&gt;</code> d'une image</h4>
<p>Exemple:</p>
<pre><code class="language-markdown hljs markdown" translate="no">![<span class="hljs-string">Alternative description</span>](<span class="hljs-link">/image.jpg "Photo about [Cecil](https://cecil.app</span>)")</code></pre>
<pre><code class="language-html hljs xml" translate="no"><span class="hljs-tag">&lt;<span class="hljs-name">figure</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">img</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"/image.jpg"</span> <span class="hljs-attr">alt</span>=<span class="hljs-string">"Alternative description"</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"Photo about Cecil"</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">figcaption</span>&gt;</span>Photo about <span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"https://cecil.app"</span>&gt;</span>Cecil<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">figcaption</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">figure</span>&gt;</span></code></pre>
<p><a href="/documentation/content/#caption">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Ne remplacez pas l'attribut de l'image <code translate="no">loading</code></li>
<li>Ajouter une version à la clé de cache des ressources</li>
<li>Correction du chemin des fichiers du bundle</li>
<li>Correction de la gestion des options de filtre <code translate="no">excerpt_html</code></li>
</ul>
<h3 id="documents">Documents</h3>
<ul>
<li>Ajouter un avis sur le cache</li>
<li>Mettre à jour les modèles</li>
<li>Mettre à jour le contenu</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Code nettoyé</li>
<li>Message d'exception si thème non installé</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/10/12/cecil-7.15.0-est-sorti/</id>
    <title>Cecil 7.15.0 est sorti</title>
    <published>2022-10-12T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/10/12/cecil-7.15.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Prise en charge des extensions Twig personnalisées</h4>
<p>Il est désormais possible d'utiliser des fonctions et des filtres personnalisés.</p>
<p><a href="/documentation/templates/#custom-extension">Documentation →</a></p>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/10/11/cecil-7.14.0-est-sorti/</id>
    <title>Cecil 7.14.0 est sorti</title>
    <published>2022-10-11T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/10/11/cecil-7.14.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Options pour la variable préliminaire « trier par »</h4>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-meta">---</span>
<span class="hljs-attr">sortby:</span>
  <span class="hljs-attr">variable:</span> <span class="hljs-string">date</span>    <span class="hljs-comment"># date, updated, title or weight</span>
  <span class="hljs-attr">desc_title:</span> <span class="hljs-literal">false</span> <span class="hljs-comment"># used with date or updated variables to sort by desc title order if items have same date</span>
  <span class="hljs-attr">reverse:</span> <span class="hljs-literal">false</span>    <span class="hljs-comment"># reversed if true</span>
<span class="hljs-meta">---</span></code></pre>
<p><a href="/documentation/content/#sortby">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Tri inversé par date si la même date</li>
</ul>
<h3 id="documents">Documents</h3>
<ul>
<li>Mettre à jour le filtre de tri</li>
<li>Mettre à jour les modèles</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Gestion des images améliorée</li>
<li>Dépendances mises à jour</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/10/05/cecil-7.13.0-est-sorti/</id>
    <title>Cecil 7.13.0 est sorti</title>
    <published>2022-10-05T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/10/05/cecil-7.13.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Récupère la couleur dominante d'une image</h4>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-variable">{{ asset(image_path)|dominant_color }}</span><span class="xml">
# #F2D07F</span></code></pre>
<p><a href="/documentation/templates/#dominant-color">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Essayez d'appliquer le responsive sur les éléments d'image uniquement</li>
<li>Correction des modèles internes JSON</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Code amélioré</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/10/03/cecil-7.12.0-est-sorti/</id>
    <title>Cecil 7.12.0 est sorti</title>
    <published>2022-10-03T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/10/03/cecil-7.12.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Nouveau filtre de modèle 'toc'</h4>
<p>Extrait la table des matières d'une chaîne Markdown, dans le format donné ("html" ou "json", "html" par défaut).</p>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-variable">{{ page.body|toc }}</span><span class="xml">
</span><span class="hljs-template-variable">{{ page.body|toc('html') }}</span><span class="xml">
</span><span class="hljs-template-variable">{{ page.body|toc('json') }}</span></code></pre>
<p><a href="/documentation/templates/#toc">Documentation →</a></p>
<h4>Nouveaux formats pris en charge par le texte préliminaire</h4>
<p>2 nouveaux formats sont désormais pris en charge par Front Matter : <a href="https://m.wikipedia.org/wiki/JSON" target="_blank" rel="noopener noreferrer">JSON</a> et <a href="https://m.wikipedia.org/wiki/TOML" target="_blank" rel="noopener noreferrer">TOML</a>.</p>
<p><a href="/documentation/configuration/#frontmatter">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Correction de la disposition des flux et du modèle XSL</li>
</ul>
<h3 id="documents">Documents</h3>
<ul>
<li>Mettre à jour la documentation sur l10n</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/10/02/cecil-7.11.0-est-sorti/</id>
    <title>Cecil 7.11.0 est sorti</title>
    <published>2022-10-02T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/10/02/cecil-7.11.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Ajouter l'option 'langue' à la fonction url() du modèle</h4>
<p>Exemple:</p>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-variable">{{ url('page-id', {'language': 'fr'}) }}</span></code></pre>
<p><a href="/documentation/templates/#url">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Détection du fichier de traduction interne</li>
<li>Phar doit inclure des fichiers <em>mo</em></li>
<li>Charger la version locale racine d'une traduction si elle existe</li>
</ul>
<h3 id="documents">Documents</h3>
<ul>
<li>Mettre à jour la documentation des modèles</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/09/30/cecil-7.9.0-est-sorti/</id>
    <title>Cecil 7.9.0 est sorti</title>
    <published>2022-09-30T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/09/30/cecil-7.9.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Nouvelle commande pour extraire les modèles</h4>
<p>Extrait les modèles intégrés dans le répertoire "layouts" de votre site.</p>
<p>Usage:</p>
<pre><code class="language-bash hljs bash" translate="no">php cecil.phar util:extract</code></pre>
<h3 id="reparer">Réparer</h3>
<ul>
<li>L'actif sous forme de chaîne doit renvoyer une URL valide</li>
<li>Compatibilité ascendante du paginateur</li>
</ul>
<h3 id="documents">Documents</h3>
<ul>
<li>Détails du paginateur mis à jour</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Modèles intégrés mis à jour</li>
<li>Squelette amélioré</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/09/30/cecil-7.10.0-est-sorti/</id>
    <title>Cecil 7.10.0 est sorti</title>
    <published>2022-09-30T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/09/30/cecil-7.10.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Traductions internes</h4>
<p>Ajoutez la prise en charge de la traduction des modèles internes.</p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Traduction dans le modèle de flux</li>
<li>N'essayez pas de redimensionner le favicon manquant</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Nettoyage des gabarits internes</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/09/28/cecil-7.8.0-est-sorti/</id>
    <title>Cecil 7.8.0 est sorti</title>
    <published>2022-09-28T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/09/28/cecil-7.8.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Nouveau paginateur</h4>
<p>La pagination prend désormais en charge le multilingue et la variable de modèle dédiée a été renommée : <a href="https://cecil.app/documentation/templates/#page-paginator"><code translate="no">page.paginator</code></a>.</p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Supprimer les termes de vocabulaire en double</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/09/24/cecil-7.7.0-est-sorti/</id>
    <title>Cecil 7.7.0 est sorti</title>
    <published>2022-09-24T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/09/24/cecil-7.7.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Traduction de formats multiples</h4>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">translations:</span>
  <span class="hljs-attr">dir:</span> <span class="hljs-string">translations</span>       <span class="hljs-comment"># translations directory</span>
  <span class="hljs-attr">formats:</span> <span class="hljs-string">['yaml',</span> <span class="hljs-string">'mo'</span><span class="hljs-string">]</span> <span class="hljs-comment"># translations files format (`yaml` and `mo` by default)</span></code></pre>
<p><a href="/documentation/configuration/#translations">Documentation →</a></p>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/09/23/cecil-7.6.0-est-sorti/</id>
    <title>Cecil 7.6.0 est sorti</title>
    <published>2022-09-23T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/09/23/cecil-7.6.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Imprimer l'utilisation de la mémoire en mode détaillé</h4>
<p>Exemple:</p>
<pre><code class="language-bash hljs bash" translate="no">php cecil build -v
Building website...
Path: /website
Config: /website/config.yml
Cache: /website/.cache
 1. Importing themes configuration
 2. Loading pages
 3. Creating pages
 4. Converting pages
 5. Creating taxonomies
 6. Generating pages
 7. Creating menus
 8. Copying static
 9. Rendering pages
10. Saving pages
Built <span class="hljs-keyword">in</span> 14 s (19.67 mb)</code></pre>
<h3 id="reparer">Réparer</h3>
<ul>
<li>L'URL doit renvoyer une chaîne</li>
<li>Définir les paramètres régionaux uniquement si Intl ext est chargé</li>
<li>Filtres de modèles : transforme la valeur nulle en valeur vide</li>
</ul>
<h3 id="documents">Documents</h3>
<ul>
<li>Message important concernant Intl et <a href="/documentation/templates/#date-localization">localisation de la date</a></li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/09/19/cecil-7.4.0-est-sorti/</id>
    <title>Cecil 7.4.0 est sorti</title>
    <published>2022-09-19T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/09/19/cecil-7.4.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Meilleure navigation précédente et suivante dans la section</h4>
<p>Les variables <code translate="no">page.prev</code> et <code translate="no">page.next</code> contiennent désormais l'élément de page, il est donc plus facile d'accéder à toutes les propriétés de la page.</p>
<p>Par exemple:</p>
<pre><code class="language-twig hljs twig" translate="no"><span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"</span></span></span><span class="hljs-template-variable">{{ url(page.prev) }}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">"</span>&gt;</span></span><span class="hljs-template-variable">{{ page.prev.title }}</span><span class="xml"><span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span></span></code></pre>
<p><a href="/documentation/templates/#page-prev-next">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Le filtre modèle <code translate="no">filter_by</code> doit renvoyer uniquement <code translate="no">type::page</code></li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/09/19/cecil-7.5.0-est-sorti/</id>
    <title>Cecil 7.5.0 est sorti</title>
    <published>2022-09-19T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/09/19/cecil-7.5.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Vérifie la langue par défaut et la configuration des paramètres régionaux</h4>
<p>Vérifie si :</p>
<ul>
<li>la langue par défaut est valide</li>
<li>les paramètres régionaux de chaque langue sont valides</li>
</ul>
<h3 id="reparer">Réparer</h3>
<ul>
<li>L'URL doit renvoyer une chaîne</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/09/18/cecil-7.3.0-est-sorti/</id>
    <title>Cecil 7.3.0 est sorti</title>
    <published>2022-09-18T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/09/18/cecil-7.3.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Prise en charge du <code translate="no">path</code> personnalisé (localisé) pour la section</h4>
<p>Les sections (c'est-à-dire : <code translate="no">section/index.md</code>) prennent désormais en charge le <code translate="no">path</code> personnalisé :</p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">path:</span> <span class="hljs-string">custom/path/</span></code></pre>
<p><a href="/documentation/content/#predefined-variables">Documentation →</a></p>
<p>Le <code translate="no">path</code> personnalisé d'une section peut être différent selon la langue :</p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">paths:</span>
  <span class="hljs-bullet">-</span> <span class="hljs-attr">section:</span> <span class="hljs-string">&lt;section’s</span> <span class="hljs-string">name&gt;</span>
    <span class="hljs-attr">language:</span> <span class="hljs-string">&lt;language&gt;</span> <span class="hljs-comment"># optional</span>
    <span class="hljs-attr">path:</span> <span class="hljs-string">&lt;path</span> <span class="hljs-string">of</span> <span class="hljs-string">pages,</span> <span class="hljs-string">with</span> <span class="hljs-string">palceholders&gt;</span></code></pre>
<p><a href="/documentation/configuration/#chemins">Documentation →</a></p>
<h3 id="reparer">Réparer</h3>
<ul>
<li>Meilleure détection des actifs, basée sur l'extension du fichier</li>
<li>Erreur de capture si la date est nulle</li>
</ul>
<h3 id="documents">Documents</h3>
<ul>
<li><a href="https://github.com/Cecilapp/Cecil/blob/master/docs/charts/cecil-build-life-cycle.png" target="_blank" rel="noopener noreferrer">Diagramme du cycle de vie de construction</a> mis à jour</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
<li>Code nettoyé et amélioré</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/09/12/cecil-7.2.0-est-sorti/</id>
    <title>Cecil 7.2.0 est sorti</title>
    <published>2022-09-12T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/09/12/cecil-7.2.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Sortie de débogage des traductions</h4>
<p>Si la commande <em>build</em> ou <em>server</em> est exécutée en mode débogage (par exemple : <code translate="no">php cecil.phar serve -vvv</code>), certains détails sur les traductions sont imprimés :</p>
<pre><code class="language-bash hljs bash" translate="no">Translation loader <span class="hljs-keyword">for</span> format <span class="hljs-string">"yaml"</span> found
Translation loader <span class="hljs-keyword">for</span> format <span class="hljs-string">"mo"</span> found
Translation file <span class="hljs-string">"path/translations/messages.fr.yaml"</span> added
Translation file <span class="hljs-string">"path/translations/messages.fr.mo"</span> added
Intl extension is loaded</code></pre>
<p>Il est utile de savoir :</p>
<ol>
<li>quels chargeurs de traductions sont utilisés</li>
<li>quels fichiers sont ajoutés au catalogue de traductions</li>
<li>si l'extension Intl est disponible sur le système</li>
</ol>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>Charge les traductions même s'il n'y a qu'une seule langue configurée</li>
<li>Modèle de pagination (<code translate="no">partials/paginator.html.twig</code>) corrigé</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
<li>Code amélioré</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/09/08/cecil-7.0.0-est-sorti/</id>
    <title>Cecil 7.0.0 est sorti</title>
    <published>2022-09-08T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/09/08/cecil-7.0.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Le support i18n a migré vers Symfony Translation + Twig Intl</h4>
<p><a href="https://github.com/Cecilapp/Twig-extensions" target="_blank" rel="noopener noreferrer">Twig Extensions</a> a été supprimé en faveur de <a href="https://symfony.com/doc/5.4/translation.html" target="_blank" rel="noopener noreferrer">Symfony Translation</a> et de <a href="https://github.com/twigphp/intl-extra" target="_blank" rel="noopener noreferrer">Twig Intl Extension</a>.</p>
<p>Avec Symfony Translation, <em>Gettext</em> n'est plus nécessaire.</p>
<p><strong>Modifications importantes</strong> concernant la localisation :</p>
<ol>
<li>la balise courte <em>trans</em> <code translate="no">{% trans "text" %}</code> n'est plus prise en charge</li>
<li>les variables doivent être définies entre <code translate="no">%%</code> au lieu de <code translate="no">{{}}</code></li>
<li>Le filtre <code translate="no">localizeddate</code> est remplacé par <code translate="no">format_date</code></li>
</ol>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/09/08/cecil-7.1.0-est-sorti/</id>
    <title>Cecil 7.1.0 est sorti</title>
    <published>2022-09-08T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/09/08/cecil-7.1.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Options de configuration des traductions</h4>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">translations:</span>
  <span class="hljs-attr">dir:</span> <span class="hljs-string">translations</span>       <span class="hljs-comment"># translations directory</span>
  <span class="hljs-attr">formats:</span> <span class="hljs-string">['yaml',</span> <span class="hljs-string">'mo'</span><span class="hljs-string">]</span> <span class="hljs-comment"># translations files format (`yaml` and `mo` by default)</span></code></pre>
<p>Reportez-vous à la <a href="/documentation/configuration/#translations">documentation</a>.</p>
<h4>Options du cache des traductions</h4>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">cache:</span>
  <span class="hljs-attr">dir:</span> <span class="hljs-string">'.cache'</span> <span class="hljs-comment"># cache directory</span>
  <span class="hljs-attr">translations:</span>
    <span class="hljs-attr">dir:</span> <span class="hljs-string">'translations'</span> <span class="hljs-comment"># translations cache directory</span>
    <span class="hljs-attr">enabled:</span> <span class="hljs-literal">true</span>       <span class="hljs-comment"># enables translations cache</span></code></pre>
<p>Reportez-vous à la <a href="/documentation/configuration/#cache">documentation</a>.</p>
<h4>Nouvelle commande pour vider le cache des traductions</h4>
<p>Utilisez la commande suivante pour supprimer le répertoire du cache des traductions :</p>
<pre><code class="language-bash hljs bash" translate="no">php cecil.phar cache:clear:translations</code></pre>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>Créez un <code translate="no">translator</code> par défaut pour toujours prendre en charge la balise ou le filtre <code translate="no">trans</code>, même s'il n'y a pas de traductions</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/09/06/cecil-6.3.0-est-sorti/</id>
    <title>Cecil 6.3.0 est sorti</title>
    <published>2022-09-06T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/09/06/cecil-6.3.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Meilleure gestion des variables de premier plan</h4>
<p>Les variables de présentation <em>simples</em> (c'est-à-dire : titre, langue, etc.) sont stockées dans une propriété et les valeurs <em>complexes</em> (comme les collections) sont stockées dans un attribut d'objet dédié.</p>
<p>Cela n'a aucun impact sur les appels au sein d'un modèle.</p>
<p><em>Exemple:</em></p>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-variable">{{ page.language }}</span><span class="xml"> # <span class="hljs-tag">&lt;<span class="hljs-name">=</span>&gt;</span> $page-&gt;getVariable('language');
</span><span class="hljs-template-variable">{{ page.pages }}</span><span class="xml"> # <span class="hljs-tag">&lt;<span class="hljs-name">=</span>&gt;</span> $page-&gt;getPages();</span></code></pre>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>Balise de fin manquante pour l'élément principal du modèle par défaut corrigée (par @<a href="https://github.com/magentix" target="_blank" rel="noopener noreferrer">magentix</a>)</li>
<li><a href="https://github.com/Cecilapp/Cecil/issues/1456" target="_blank" rel="noopener noreferrer">#1456</a> corrigé (commande <code translate="no">new:page</code>)</li>
<li>Le poids de l'entrée dans le menu est forcé d'être une valeur entière</li>
<li>Le nom de fichier <code translate="no">new:page</code> peut désormais contenir plusieurs points dans son nom</li>
<li>L'URL d'une page d'alias est désormais localisée</li>
<li>La commande <code translate="no">self-update</code> fonctionne à nouveau grâce au fork de <a href="https://github.com/laravel-zero/phar-updater" target="_blank" rel="noopener noreferrer"><em>laravel-zero/phar-updater</em></a></li>
</ul>
<h3 id="documentations">Documentations</h3>
<p>-Documentation <em>Content</em> mise à jour</p>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
<li>Code nettoyé</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/09/06/cecil-6.4.0-est-sorti/</id>
    <title>Cecil 6.4.0 est sorti</title>
    <published>2022-09-06T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/09/06/cecil-6.4.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Fonctionnalité I18n pour la page d'accueil</h4>
<p>Les pages répertoriées sur la page d'accueil générée sont désormais filtrées par langue.</p>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>La variable préliminaire "mise à jour" doit être convertie en <code translate="no">Datetime</code></li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Code nettoyé</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/09/06/cecil-6.5.0-est-sorti/</id>
    <title>Cecil 6.5.0 est sorti</title>
    <published>2022-09-06T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/09/06/cecil-6.5.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Trier la collection de pages par date <code translate="no">updated</code></h4>
<p>Lorsque vous appliquez le filtre <code translate="no">sort_by_date</code> sur une collection de pages, il utilise la valeur de la variable <code translate="no">date</code> par défaut.<br>
Vous pouvez modifier ce comportement et utiliser la valeur de la variable <code translate="no">updated</code> au lieu de <code translate="no">date</code> :</p>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-variable">{{ pages|sort_by_date }}</span><span class="xml"> # filter on "date" value
</span><span class="hljs-template-variable">{{ pages|sort_by_date('updated') }}</span><span class="xml"> # filter on "updated" value</span></code></pre>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>La date par défaut d'une page maintenant basée sur la date de dernière modification du fichier (PHP <code translate="no">getMTime</code>)</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/08/30/cecil-6.2.0-est-sorti/</id>
    <title>Cecil 6.2.0 est sorti</title>
    <published>2022-08-30T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/08/30/cecil-6.2.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Date de secours localisée</h4>
<p>Revenir à <code translate="no">date()</code> si le filtre <code translate="no">localizeddate</code> n'est pas disponible.</p>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>Un fichier XSL doit être nommé "xsl" et non "xslt"</li>
<li>Attribut "alt" supprimé des balises audio et vidéo</li>
<li>Localisation d'une entrée de menu introuvable (404) corrigée</li>
<li>Squelette : exemple d'URL d'image corrigé</li>
<li>Récupérer les pages du site (<code translate="no">site.pages</code>) dans la langue actuelle</li>
</ul>
<h3 id="documentations">Documentations</h3>
<ul>
<li><em>Quick Start</em> mis à jour</li>
<li><em>Contenu</em> mis à jour</li>
<li>Section linguistique mise à jour</li>
<li><em>Configuration</em> mise à jour</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
<li>Code amélioré</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/08/11/cecil-6.1.0-est-sorti/</id>
    <title>Cecil 6.1.0 est sorti</title>
    <published>2022-08-11T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/08/11/cecil-6.1.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Fichiers Markdown déplacés de <code translate="no">content</code> vers <code translate="no">pages</code></h4>
<p>Pour une meilleure compréhension de la structure des répertoires, les pages (fichiers Markdown) doivent désormais être placées dans le répertoire <code translate="no">pages</code> au lieu de <code translate="no">content</code>.</p>
<p>Voir <a href="/documentation/content/">documentation</a>.</p>
<h3 id="documentations">Documentations</h3>
<ul>
<li>La section <a href="https://cecil.app/documentation/configuration/#generators"><code translate="no">generators</code></a> a été détaillée</li>
<li>Un exemple de <a href="/documentation/configuration/#custom-generator">générateur personnalisé</a> a été ajouté</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
<li>Montages de tests nettoyés</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/08/04/cecil-6.0.0-est-sorti/</id>
    <title>Cecil 6.0.0 est sorti</title>
    <published>2022-08-04T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/08/04/cecil-6.0.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Ajoute la prise en charge de PHP 8.1</h4>
<p>Cette version majeure ajoute le support de PHP 8.1+ et supprime le support des versions antérieures à PHP 7.4.</p>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>Les attributs par défaut <a href="/documentation/content/#audio-and-video">media</a> (audio et vidéo) ont été supprimés</li>
<li>Les fichiers à point (par exemple : <code translate="no">.htaccess</code>) présents dans le répertoire <code translate="no">static</code> sont maintenant copiés</li>
<li>Le modèle XSLT (utilisé par les flux RSS et Atom) a été nettoyé</li>
<li>Une erreur est maintenant affichée si la variable de configuration <code translate="no">baseurl</code> n’est pas définie</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/07/04/cecil-5.104.0-est-sorti/</id>
    <title>Cecil 5.104.0 est sorti</title>
    <published>2022-07-04T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/07/04/cecil-5.104.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Ajoute une feuille de style XSLT aux flux RSS</h4>
<p>Voir <a href="/news/2022/06/27/cecil-5.103.0-released/">Cecil 5.103.0 est sorti</a>.</p>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/06/27/cecil-5.103.0-est-sorti/</id>
    <title>Cecil 5.103.0 est sorti</title>
    <published>2022-06-27T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/06/27/cecil-5.103.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Ajoute une feuille de style XSLT aux flux Atom</h4>
<p><em>Exemple:</em></p>
<figure>
<picture title="Exemple de flux Atom">
<source type="image/avif" srcset="/thumbnails/480x/images/news/atom-feed-example.2fe534e0f0c0f44a8a1dc013e667b510.avif 480w, /images/news/atom-feed-example.2fe534e0f0c0f44a8a1dc013e667b510.avif 663w" width="663" height="392" sizes="100vw">
<source type="image/webp" srcset="/thumbnails/480x/images/news/atom-feed-example.2fe534e0f0c0f44a8a1dc013e667b510.webp 480w, /images/news/atom-feed-example.2fe534e0f0c0f44a8a1dc013e667b510.webp 663w" width="663" height="392" sizes="100vw">
<img src="/images/news/atom-feed-example.2fe534e0f0c0f44a8a1dc013e667b510.png" alt="Exemple de flux Atom" loading="lazy" decoding="async" class="dark:brightness-90" width="663" height="392" style=";max-width:100%;height:auto;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAyCAYAAACqNX6+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEy0lEQVR4nO1bWZbjIAwsEd//PHOAucGcp6P5YBMgFuMlttPVLw3GGGwVJUFM6N/fPwwwGAwAeIPwhsEPXnhjcekLP3jhJ5QbMAwAAoEAgsvb1DZFYAYYhDds0Ztj3tWEIcAY4OU+C7k8AS9DLk8wxtUlAsUuY68EgeSgOAxF/iISlWr5WkMjCDfXTxe9sql27s9yXupJYXvIbO+DwdZoDBBxcm0gxOVJ65OB0ChEe3m1WCW5O0oPXeGkYU/AAjJZESGaPRJjS7xRymdMbWRNxojkeXvJawnWNp4U2aP9COOLDtmyC2LXLqGo4ztQii6NBfTKivxYjWn8s6T0CWGwcyfsjMZONUBJiCclEqEZTkhAtEOiXXmRrgzdCFeCQoinwYjUhJwlgzqEWBREZIM9GN+rhHIX5j6BgMQvpd17+fm++2HkkkgIST0vBUKMcCCMlkI4DYRCHT4v+5GEBJXIT6hdKqMKUtRxFzYALGxeVf/jCYGjhQUpKVgNlEERPtArN5CQAiV6sf1X9qkjCEVOlG4EqxAKzy2QxhKfz0d5GMFUuhOu5PNeAEEIpeQU1PvZWydteLdLwyoEsC7FPZAnJ04vPRlx9lQIovLw3DiXX+q9HRWF/X7yPm/IBQAx7a375XLW7w3W9OWy7kg9KtMhYmrnb4qFxTokBOuwaCiWf0mG1JOTUAhJUlmNOumNsYS5TOJ344qr+YDZNHYKI0SQIohK/bvDuSwWqnBnQr5iblKzc0N0YMSPKuTuWGzin8QZnwjEPP6Ug/FEvbSnEMU9PpUMQLisUiKDqM33Bw20NiaE8oyI57isDDFwjz1hsXQZROGSOgrJr9XIkFU3xbUPoiBkLfKZV72CXqwG7w4ZnpFW3bsKJhCySRk5Gk1IAsdJSRts3eGE070UphVSNcqAUpqkNIgY6lKJO3fCsqsycjRcTkkEiWNaRciTsFohwybSKgrXRCEOuMVnRsgMcqXsSehZQ2M5Zb6YuSvyGxUUEr5VGR6bZ1ldFAuJuIjQCNmrS5YHG9umSv4InKMQB79+COpw35UdoYq7amw5Y4qY+nZLS3j1deoS+/pKWc4aSyF2QHqROMc94i7KIH99HKqQug1IS07EdZVyeFCPcYPEpzIrPsh9naqUje0fohBSck9EopSdWD9IIXKvSpxVkdxOooDD6xg5Hd7zrvolu/Uw2fSuCqlshyjhdrhQPLy1luTA2aqUnRRShrlkYSZX4trl+abprK1DlHJoYJlXykaFeCPXelXKM2nIw7tjD6VsUAhlqXc96eiobCSKuSF/dZZS9sZ6pSytjSWj3eVEhJ8JoKGeS0pjnxvaopRNMUQObrlFwqbuBzXqPcxOjJ+vlOkYos2QvCIYCGT0TX85meCTSplWiKYO7Xz7ZwSz32E9VymBkDVKqatDbnykSrz+VUqr/SmF1CZGLYLyK1pH43ieUjYvDPNfjuVbg1etUZrln8R5Smm+D6n9BE2ek1e3FeLrt2PKHJ6jlNUKyYnoK0TpvHZTQ+WfxPFKmX5juFYhteC+LvD3cH+lnBBDYr2wYFTP/SoF2PmdemvlrpW1iQC+USm7v6DSFFInRVurfLdSDtt1khu6/6Xur1KAM3YuDkF7uu9Uymn7ssbx3Ur5D2v0EEguamfzAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:center;background-size:cover;" srcset="/thumbnails/480x/images/news/atom-feed-example.2fe534e0f0c0f44a8a1dc013e667b510.png 480w, /images/news/atom-feed-example.2fe534e0f0c0f44a8a1dc013e667b510.png 663w" sizes="100vw">
</picture>
<figcaption>Exemple de flux Atom</figcaption>
</figure>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>Liens dans Markdown corrigés</li>
<li>Vérifie si la variable de configuration <code translate="no">baseurl</code> est vide</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Documents améliorés</li>
<li>Notes (dans Markdown) activées par défaut</li>
<li>Dépendances mises à jour</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/06/18/cecil-5.102.0-est-sorti/</id>
    <title>Cecil 5.102.0 est sorti</title>
    <published>2022-06-18T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/06/18/cecil-5.102.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Ajoute la prise en charge des médias audio et vidéo dans Markdown</h4>
<p><em>Exemple d'utilisation :</em></p>
<p>Utilisez le mot-clé <code translate="no">audio</code> dans <code translate="no">[]</code> :</p>
<pre><code class="language-markdown hljs markdown" translate="no">![<span class="hljs-string">audio</span>](<span class="hljs-link">/audio/test.mp3 "Audio asset"</span>){controls}</code></pre>
<p>Utilisez le mot-clé <code translate="no">video</code> dans <code translate="no">[]</code> :</p>
<pre><code class="language-markdown hljs markdown" translate="no">![<span class="hljs-string">video</span>](<span class="hljs-link">/video/test.mp4 "Video asset"</span>){controls poster=/images/cecil-logo.png style="width:100%;"}</code></pre>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>Ne convertissez pas un WebP en WebP…</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
<li>L'exception est interceptée si <code translate="no">webp</code> n'est pas installé</li>
<li>Documents corrigés</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/06/06/cecil-5.101.0-est-sorti/</id>
    <title>Cecil 5.101.0 est sorti</title>
    <published>2022-06-06T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/06/06/cecil-5.101.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Mise en évidence de la syntaxe du code dans Markdown</h4>
<p>La surbrillance de la syntaxe du code est désormais prise en charge nativement dans <a href="/documentation/content/#syntax-highlight">Markdown</a>, <em>highlight.js</em> n'est plus requis dans le modèle.</p>
<p><em>Exemple:</em></p>
<pre><code class="language-php hljs php" translate="no"><span class="hljs-meta">&lt;?php</span>
<span class="hljs-comment">// PHP code here</span>
<span class="hljs-keyword">echo</span> <span class="hljs-string">"test"</span>;</code></pre>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>Le délai d'attente du service est désormais fixé à 2 x 60 secondes</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/06/05/cecil-5.100.0-est-sorti/</id>
    <title>Cecil 5.100.0 est sorti</title>
    <published>2022-06-05T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/06/05/cecil-5.100.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Nouveau filtre de modèle : <code translate="no">yaml_parse</code></h4>
<p><em>Exemple d'utilisation</em></p>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-variable">{{ '**Bold text**'|yaml_parse }}</span></code></pre>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/06/03/cecil-5.99.0-est-sorti/</id>
    <title>Cecil 5.99.0 est sorti</title>
    <published>2022-06-03T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/06/03/cecil-5.99.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Obtenir une page dans un modèle</h4>
<p><em>Exemple d'utilisation :</em></p>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-variable">{{ site.page('page-id').title }}</span></code></pre>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>Dimensions (largeur et hauteur) des images de ressources corrigées</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Code amélioré</li>
<li>Code i18n nettoyé</li>
<li>Dépendances mises à jour</li>
<li>Meilleur message d'erreur de gestion des actifs</li>
<li>Ajout de fixtures Markdown (images)</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/05/24/cecil-5.98.0-est-sorti/</id>
    <title>Cecil 5.98.0 est sorti</title>
    <published>2022-05-24T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/05/24/cecil-5.98.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Exclure les répertoires, chemins ou fichiers du contenu</h4>
<p><em>Exemple d'utilisation :</em></p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">content:</span>
  <span class="hljs-attr">dir:</span> <span class="hljs-string">content</span>
  <span class="hljs-attr">ext:</span> <span class="hljs-string">[md]</span>
  <span class="hljs-attr">exclude:</span> <span class="hljs-string">[dir1,</span> <span class="hljs-string">'*.ext'</span><span class="hljs-string">]</span> <span class="hljs-comment"># list of excluded files (accepts globs, strings and regexes)</span></code></pre>
<h3 id="divers">Divers</h3>
<ul>
<li>Documents mis à jour</li>
<li>Code nettoyé</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/05/08/cecil-5.97.0-est-sorti/</id>
    <title>Cecil 5.97.0 est sorti</title>
    <published>2022-05-23T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/05/08/cecil-5.97.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Markdown « insérer » en ligne</h4>
<p><em>Exemple d'utilisation</em> :</p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-string">++text++</span></code></pre>
<p>est converti en :</p>
<pre><code class="language-html hljs xml" translate="no"><span class="hljs-tag">&lt;<span class="hljs-name">ins</span>&gt;</span>text<span class="hljs-tag">&lt;/<span class="hljs-name">ins</span>&gt;</span></code></pre>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>Les notes de bas de page sont désormais supprimées dans l'extrait</li>
<li>Vérifie si le fichier de configuration existe/est défini</li>
<li>La variable <code translate="no">$layout</code> pourrait ne pas être définie</li>
<li>La fonction <code translate="no">str_replace</code> PHP est corrigée pour PHP 8</li>
<li><code translate="no">bindtextdomain</code> est défini uniquement si le <code translate="no">locale</code> (l10n) existe</li>
<li>Optimisation des images d'actifs corrigée</li>
<li>Extension <code translate="no">.ser</code> ajoutée aux fichiers cache</li>
<li>Processus de redimensionnement des actifs corrigé</li>
<li>Les actifs sont optimisés sur <code translate="no">save()</code></li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
<li>Graphiques Docs mis à jour</li>
<li><code translate="no">declare(strict_types=1)</code> ajouté à tous les fichiers de bibliothèque</li>
<li>Code nettoyé</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/05/08/cecil-5.96.0-est-sorti/</id>
    <title>Cecil 5.96.0 est sorti</title>
    <published>2022-05-08T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/05/08/cecil-5.96.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Définir les largeurs des images réactives</h4>
<p>Les largeurs des images responsives sont désormais définies par une liste :</p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">assets:</span>
  <span class="hljs-attr">images:</span>
    <span class="hljs-attr">responsive:</span>
      <span class="hljs-attr">enabled:</span> <span class="hljs-literal">false</span>
      <span class="hljs-attr">widths:</span> <span class="hljs-string">[480,</span> <span class="hljs-number">640</span><span class="hljs-string">,</span> <span class="hljs-number">768</span><span class="hljs-string">,</span> <span class="hljs-number">1024</span><span class="hljs-string">,</span> <span class="hljs-number">1366</span><span class="hljs-string">,</span> <span class="hljs-number">1600</span><span class="hljs-string">,</span> <span class="hljs-number">1920</span><span class="hljs-string">]</span></code></pre>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/04/29/cecil-5.95.0-est-sorti/</id>
    <title>Cecil 5.95.0 est sorti</title>
    <published>2022-04-30T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/04/29/cecil-5.95.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Convertit les variables en booléens</h4>
<p>Convertit la valeur de la variable <code translate="no">true</code>, <code translate="no">false</code>, <code translate="no">on</code>, <code translate="no">off</code>, <code translate="no">yes</code>, <code translate="no">no</code> en booléen (vrai ou faux).</p>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/04/29/cecil-5.94.0-est-sorti/</id>
    <title>Cecil 5.94.0 est sorti</title>
    <published>2022-04-29T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/04/29/cecil-5.94.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Programmer la publication des pages</h4>
<p>Variable de la nouvelle page : <code translate="no">schedule</code>.</p>
<p><em>Exemple d'utilisation :</em></p>
<p>La page sera publiée si la date actuelle est &gt;= 07/02/2023 :</p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">schedule:</span>
  <span class="hljs-attr">publish:</span> <span class="hljs-number">2023</span><span class="hljs-number">-02</span><span class="hljs-number">-07</span></code></pre>
<p>Cette page est publiée si la date actuelle est &lt;= 2022-04-28 :</p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">schedule:</span>
  <span class="hljs-attr">expiry:</span> <span class="hljs-number">2022</span><span class="hljs-number">-04</span><span class="hljs-number">-28</span></code></pre>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>L'étape des taxonomies n'est exécutée que si nécessaire</li>
<li>Définir <code translate="no">baseline</code> ne doit pas être défini par défaut</li>
<li>Le fuseau horaire n'est défini que s'il existe dans la configuration</li>
<li>L'actif doit être enregistré dans le filtre <code translate="no">html</code></li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
<li>Code nettoyé</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/04/22/cecil-5.93.0-est-sorti/</id>
    <title>Cecil 5.93.0 est sorti</title>
    <published>2022-04-22T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/04/22/cecil-5.93.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Nouveau filtre de modèle : <code translate="no">hex_to_rgb</code></h4>
<p>Le <a href="/documentation/templates/#hex-to-rgb">filtre <code translate="no">hex_to_rgb</code></a> convertit une couleur hexadécimale en RVB.</p>
<p><em>Exemple d'utilisation :</em></p>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-variable">{{ '#163C56'|hex_to_rgb }}</span></code></pre>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>Le chemin de l'actif ne peut pas être vide</li>
<li>Qualité d'optimisation WebP fixe : 85 à 75</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
<li>Documents mis à jour / corrigés</li>
<li>Code nettoyé</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/04/06/cecil-5.92.0-est-sorti/</id>
    <title>Cecil 5.92.0 est sorti</title>
    <published>2022-04-06T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/04/06/cecil-5.92.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Demander une configuration de base lors de la création d'un nouveau site</h4>
<p><em>Exemple d'utilisation :</em></p>
<pre><code class="language-bash hljs bash" translate="no">php cecil.phar new:site</code></pre>
<pre><code class="language-plaintext hljs plaintext" translate="no">Creating a new website...
- title: My website
- baseline (~ 20 characters): The better website in the world
- baseurl (e.g.: https://cecil.local/): https://cecil.app/
- description (~ 250 characters): This is the long description of my website and I love it.
Done!</code></pre>
<h4>Ajoute l'option <code translate="no">editor</code> à la commande <code translate="no">new:page</code></h4>
<p><em>Exemple d'utilisation :</em></p>
<pre><code class="language-bash hljs bash" translate="no">php cecil.phar new:page --editor=typora</code></pre>
<h4>Ajoute l'option <code translate="no">editor</code> à la commande <code translate="no">open</code></h4>
<p><em>Exemple d'utilisation :</em></p>
<pre><code class="language-bash hljs bash" translate="no">php cecil.phar open --editor=code</code></pre>
<h3 id="divers">Divers</h3>
<ul>
<li>Commande d'alias <code translate="no">clean</code> supprimée</li>
<li>Dépendances mises à jour</li>
<li>Code nettoyé</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/04/03/cecil-5.91.0-est-sorti/</id>
    <title>Cecil 5.91.0 est sorti</title>
    <published>2022-04-03T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/04/03/cecil-5.91.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Ajoute la prise en charge des données structurées <code translate="no">SiteNavigationElement</code></h4>
<p>Cecil est capable de générer automatiquement des <a href="/documentation/configuration#metatags">metatags</a> pour vous, utiles pour le SEO et l'<a href="https://ogp.me/" target="_blank" rel="noopener noreferrer">Open Graph</a>, en incluant un modèle partiel en HTML <code translate="no">&lt;head&gt;</code> :</p>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-keyword">include</span></span> 'partials/metatags.html.twig' %}</span></code></pre>
<p>Ce modèle est également capable de générer des <a href="https://developers.google.com/search/docs/advanced/structured-data/intro-structured-data" target="_blank" rel="noopener noreferrer">données structurées</a> (<code translate="no">WebSite</code>, <code translate="no">BreadcrumbList</code> et <code translate="no">NewsArticle</code>) en activant l'option suivante dans la configuration :</p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">metatags:</span>
  <span class="hljs-attr">jsonld:</span>
    <span class="hljs-attr">enabled:</span> <span class="hljs-literal">true</span> </code></pre>
<p>Désormais, il prend également en charge <code translate="no">SiteNavigationElement</code>, par exemple :</p>
<pre><code class="language-json hljs json" translate="no">{
  <span class="hljs-attr">"@context"</span>:<span class="hljs-string">"http://schema.org"</span>,
  <span class="hljs-attr">"@type"</span>:<span class="hljs-string">"ItemList"</span>,
  <span class="hljs-attr">"itemListElement"</span>:[
    {
      <span class="hljs-attr">"@type"</span>: <span class="hljs-string">"SiteNavigationElement"</span>,
      <span class="hljs-attr">"position"</span>: <span class="hljs-number">1</span>,
      <span class="hljs-attr">"name"</span>: <span class="hljs-string">"News"</span>,
      <span class="hljs-attr">"description"</span>: <span class="hljs-string">"News about Cecil."</span>,
      <span class="hljs-attr">"url"</span>:<span class="hljs-string">"https://cecil.app/news/"</span>
    },
    {
      <span class="hljs-attr">"@type"</span>: <span class="hljs-string">"SiteNavigationElement"</span>,
      <span class="hljs-attr">"position"</span>: <span class="hljs-number">2</span>,
      <span class="hljs-attr">"name"</span>: <span class="hljs-string">"Docs"</span>,
      <span class="hljs-attr">"description"</span>: <span class="hljs-string">"Official documentation of Cecil."</span>,
      <span class="hljs-attr">"url"</span>:<span class="hljs-string">"https://cecil.app/documentation/"</span>
    },
    {
      <span class="hljs-attr">"@type"</span>: <span class="hljs-string">"SiteNavigationElement"</span>,
      <span class="hljs-attr">"position"</span>: <span class="hljs-number">3</span>,
      <span class="hljs-attr">"name"</span>: <span class="hljs-string">"Download"</span>,
      <span class="hljs-attr">"description"</span>: <span class="hljs-string">"How to download Cecil."</span>,
      <span class="hljs-attr">"url"</span>:<span class="hljs-string">"https://cecil.app/download/"</span>
    }
  ]
}</code></pre>
<h3 id="divers">Divers</h3>
<ul>
<li>Documentation mise à jour / corrigée</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/04/02/cecil-5.90.0-est-sorti/</id>
    <title>Cecil 5.90.0 est sorti</title>
    <published>2022-04-02T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/04/02/cecil-5.90.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Option pour désactiver la récupération d'images à distance</h4>
<p>Avant la version 5.90, les images distantes (c'est-à-dire externes) utilisées dans le corps des pages (ex : <code translate="no">![](https://example.com/image.jpg)</code>) étaient systématiquement récupérées et stockées localement, dans le répertoire <code translate="no">_sites/assets/</code>.<br>
Cependant, ce n’est pas un comportement que les utilisateurs de Cecil souhaitent systématiquement, c’est pourquoi nous avons ajouté une option pour le désactiver :</p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">body:</span>
  <span class="hljs-attr">images:</span>
    <span class="hljs-attr">remote:</span>
      <span class="hljs-attr">enabled:</span> <span class="hljs-literal">false</span></code></pre>
<aside class="note note-infos"><p><strong>Info :</strong> Si vous désactivez l'option <em>remote</em> Cecil ne sait pas gérer les fichiers images (pas de redimensionnement, pas d'optimisation, etc.) : l'URL sera utilisée telle quelle dans la balise <code translate="no">&lt;img&gt;</code>.</p></aside>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>L'option permettant de désactiver les favicons générées automatiquement dans le modèle <a href="/documentation/configuration/#metatags-configuration">metatags</a> fonctionne désormais</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Meilleure description/aide des commandes</li>
<li>Site squelette nettoyé</li>
<li>Méta HTML <code translate="no">theme-color</code> ajoutée au modèle de page par défaut</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/03/27/cecil-5.89.0-est-sorti/</id>
    <title>Cecil 5.89.0 est sorti</title>
    <published>2022-03-27T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/03/27/cecil-5.89.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Optimisation des images WebP</h4>
<p>Les images <a href="https://developers.google.com/speed/webp" target="_blank" rel="noopener noreferrer">WebP</a> peuvent être optimisées (compressées) en plus des formats JPEG, PNG, GIF et SVG en activant l'option suivante dans le fichier de configuration :</p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">assets:</span>
  <span class="hljs-attr">images:</span>
    <span class="hljs-attr">optimize:</span>
      <span class="hljs-attr">enabled:</span> <span class="hljs-literal">true</span></code></pre>
<p>Il fonctionne dans les modèles avec la fonction <a href="/documentation/templates/#asset"><code translate="no">asset()</code></a> et dans <a href="/documentation/content#body">corps des pages</a> avec la balise image Markdown.</p>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>Une <em>Note</em> doit être un <code translate="no">aside</code> et non un <code translate="no">div</code></li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Documentation corrigée</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/03/25/cecil-5.88.0-est-sorti/</id>
    <title>Cecil 5.88.0 est sorti</title>
    <published>2022-03-25T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/03/25/cecil-5.88.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Récupère la largeur et la hauteur d'un SVG</h4>
<p>Si vous créez un <a href="/documentation/templates#asset">asset</a> à partir d'un fichier <a href="https://developer.mozilla.org/docs/Web/SVG" target="_blank" rel="noopener noreferrer">SVG</a>, vous pouvez désormais obtenir sa largeur et sa hauteur.</p>
<p><em>Exemple d'utilisation :</em></p>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-keyword">set</span></span> image = asset('image.svg') %}</span><span class="xml">
<span class="hljs-tag">&lt;<span class="hljs-name">img</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"</span></span></span><span class="hljs-template-variable">{{ image|url }}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">"</span> <span class="hljs-attr">width</span>=<span class="hljs-string">"</span></span></span><span class="hljs-template-variable">{{ image.width }}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">"</span> <span class="hljs-attr">height</span>=<span class="hljs-string">"</span></span></span><span class="hljs-template-variable">{{ image.height }}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">"</span> /&gt;</span></span></code></pre>
<p>Voir <a href="/documentation/templates#attributes">Modèles &gt; actif &gt; Documentation sur les attributs</a> pour plus de détails.</p>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
<li>Documentation corrigée</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/03/23/cecil-5.87.0-est-sorti/</id>
    <title>Cecil 5.87.0 est sorti</title>
    <published>2022-03-23T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/03/23/cecil-5.87.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Élément de niveau bloc Markdown <em>Note</em></h4>
<p>Un nouvel élément Markdown est disponible : <strong><em>Note</em></strong>.</p>
<p>Il encapsule un texte Markdown (Information, conseil, important, etc. Ce dont vous avez besoin) dans un élément <code translate="no">&lt;aside&gt;</code> avec une classe CSS dédiée, nommée selon le type de la note, c'est-à-dire <code translate="no">class="note note-&lt;type&gt;"</code>.</p>
<pre><code class="language-markdown hljs markdown" translate="no">:::tip
<span class="hljs-strong">**Tip:**</span> This is an advice.
:::</code></pre>
<p>Est converti en :</p>
<pre><code class="language-html hljs xml" translate="no"><span class="hljs-tag">&lt;<span class="hljs-name">aside</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"note note-tip"</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">strong</span>&gt;</span>Tip:<span class="hljs-tag">&lt;/<span class="hljs-name">strong</span>&gt;</span> This is an advice.
  <span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">aside</span>&gt;</span></code></pre>
<blockquote>
<p>Dans l'exemple précédent <code translate="no">tip</code> est le type de la note.</p>
</blockquote>
<p>Exemples dans le contexte de ce site Web :</p>
<aside class="note note-astuce"><p><strong>Conseil :</strong> Ceci est un conseil.</p></aside>
<aside class="note note-infos"><p><strong>Info :</strong> Ceci est une note d'information.</p></aside>
<aside class="note note-important"><p><strong>Important :</strong> Il s'agit d'un message important.</p></aside>
<aside class="note note-not_styled"><p>Ceci est une note.</p></aside>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>L'option de commande <code translate="no">--page</code> doit prendre en charge le sous-répertoire</li>
<li>Recharger le navigateur lors de la première build</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
<li>Documentation mise à jour et corrigée</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/03/18/cecil-5.85.0-est-sorti/</id>
    <title>Cecil 5.85.0 est sorti</title>
    <published>2022-03-18T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/03/18/cecil-5.85.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Créer et diffuser une page spécifique</h4>
<p>Utilise l'option <code translate="no">--page=&lt;file&gt;</code> (alias : <code translate="no">-p &lt;file&gt;</code>) avec la commande <code translate="no">serve</code> pour créer et servir une page spécifique.</p>
<p>Il est utile d’accélérer la construction lorsque vous travaillez sur une page spécifique.</p>
<p><em>Exemple:</em></p>
<pre><code class="language-bash hljs bash" translate="no">cecil serve --page=about.md</code></pre>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>Vider le cache avant la construction (pendant la phase d'initialisation)</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Code nettoyé</li>
<li>Documents nettoyés</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/03/10/cecil-5.84.0-est-sorti/</id>
    <title>Cecil 5.84.0 est sorti</title>
    <published>2022-03-10T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/03/10/cecil-5.84.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Ouvrez <code translate="no">content</code> avec l'éditeur configuré</h4>
<p>Utilise l'option de commande <code translate="no">--open</code> (<code translate="no">-o</code>) pour ouvrir le répertoire de contenu avec l'éditeur configuré.</p>
<p><em>Exemple:</em></p>
<pre><code class="language-bash hljs bash" translate="no">cecil --open</code></pre>
<p>Définit l'éditeur avec la clé <code translate="no">editor</code>.</p>
<p><em>Exemple:</em></p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">editor:</span> <span class="hljs-string">typora</span></code></pre>
<p><em>Démo :</em></p>
<p><figure>
<video title="Ouvrir la démo de commande" autoplay="" loop="" source="/images/news/cecil-open.webm" src="/images/news/cecil-open.bfb972970f75dbfb51d2861f473bff0e.mp4" muted="" playsinline="" style=";max-width:100%;height:auto;background-color:#d8d8d8;">
<figcaption>Ouvrir la démo de commande</figcaption>
</figure></p>
<h3 id="correctifs">Correctifs</h3>
<ul>
<li>Filtre <code translate="no">html</code> corrigé avec les éléments d'image</li>
<li>Commande <code translate="no">new:page</code> corrigée</li>
<li>Un message est désormais imprimé lorsqu'une erreur de conversion Markdown se produit</li>
<li>Les GIF animés ne sont pas convertis en WebP</li>
<li>Le template « jsonld » vérifie si <code translate="no">author</code> existe</li>
</ul>
<h3 id="divers">Divers</h3>
<ul>
<li>Dépendances mises à jour</li>
<li>Documents mis à jour / corrigés</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/03/04/presentation-de-la-section-actualites/</id>
    <title>Présentation de la section Actualités</title>
    <published>2022-03-04T00:00:00+00:00</published>
    <updated>2022-03-14T00:00:00+00:00</updated>
    <link href="https://cecil.app/fr/actualites/2022/03/04/presentation-de-la-section-actualites/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<p>Depuis la création de Cecil, le seul moyen de connaître les nouvelles fonctionnalités et autres correctifs introduits dans une nouvelle version était la <a href="https://github.com/Cecilapp/Cecil/releases" target="_blank" rel="noopener noreferrer">page Releases de GitHub</a> du projet.</p>
<p>Néanmoins, les informations communiquées restaient très techniques et pas toujours détaillées (à moins de mettre le nez dans le code lui-même).</p>
<p>Aussi, nous avons créé la <strong><a href="/news/">section Actualités</a></strong> afin de pouvoir communiquer plus explicitement avec les utilisateurs sur :</p>
<ol>
<li>Quelles sont les nouveautés d’une version majeure ?</li>
<li>Quels bugs sont corrigés dans une version mineure ?</li>
</ol>
<p>Nous espérons qu'il vous plaira 🤵</p>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/01/22/cecil-5.83.0-est-sorti/</id>
    <title>Cecil 5.83.0 est sorti</title>
    <published>2022-01-22T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/01/22/cecil-5.83.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Utiliser une variable d'image personnalisée dans les balises méta</h4>
<p>Par défaut, le modèle partiel <em><a href="/documentation/configuration#metatags">metatags</a></em> utilise la variable <code translate="no">image</code> de la page actuelle, ou le <code translate="no">site.image</code> global si la page n'a pas d'image.</p>
<p>Ainsi, si vous souhaitez utiliser une variable d'image personnalisée, vous pouvez le faire en ajoutant le code suivant dans le modèle :</p>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-keyword">set</span></span> image = page.other_image_variable %}</span><span class="xml">
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-keyword">include</span></span> 'partials/metatags.html.twig' %}</span></code></pre>
<h3 id="divers">Divers</h3>
<ul>
<li>Code nettoyé</li>
<li>Dépendances mises à jour</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/01/13/cecil-5.82.0-est-sorti/</id>
    <title>Cecil 5.82.0 est sorti</title>
    <published>2022-01-13T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/01/13/cecil-5.82.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Charger les pages d'une section spécifique dans <code translate="no">homepage</code></h4>
<p>Par défaut, le type de page <code translate="no">homepage</code> charge toutes les pages du site.</p>
<p>Avec la variable <code translate="no">pagesfrom</code>, vous pouvez spécifier un nom de section pour charger uniquement les pages de cette section.</p>
<p><a href="/documentation/content/#pagesfrom">Voir la documentation</a> pour plus de détails.</p>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2022/01/08/cecil-5.81.0-est-sorti/</id>
    <title>Cecil 5.81.0 est sorti</title>
    <published>2022-01-08T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2022/01/08/cecil-5.81.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Options pour le filtre <code translate="no">excerpt_html</code></h4>
<p>Le filtre <code translate="no">excerpt_html</code> accepte les 2 options suivantes :</p>
<ul>
<li><code translate="no">separator</code> : chaîne à utiliser comme séparateur (<code translate="no">excerpt|break</code> par défaut)</li>
<li><code translate="no">capture</code> : chaîne à capturer, <code translate="no">before</code> (par défaut) ou <code translate="no">after</code> le séparateur</li>
</ul>
<p><a href="/documentation/templates/#excerpt-html">Voir la documentation</a> pour plus de détails.</p>
<h3 id="divers">Divers</h3>
<ul>
<li>Messages d'erreur mis à jour</li>
<li>Dépendances mises à jour</li>
</ul>]]>
    </content>
  </entry>
  <entry xml:lang="fr">
    <id>https://cecil.app/fr/actualites/2021/12/14/cecil-5.79.0-est-sorti/</id>
    <title>Cecil 5.79.0 est sorti</title>
    <published>2021-12-14T00:00:00+00:00</published>
    <link href="https://cecil.app/fr/actualites/2021/12/14/cecil-5.79.0-est-sorti/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h3 id="fonctionnalites">Fonctionnalités</h3>
<h4>Modèle de navigation</h4>
<p>Un <a href="https://github.com/Cecilapp/Cecil/blob/master/resources/layouts/partials/navigation.html.twig" target="_blank" rel="noopener noreferrer">modèle de composant de navigation</a> par défaut est désormais disponible.</p>
<p><a href="/documentation/templates/#component-templates">Voir la documentation</a> pour plus de détails.</p>]]>
    </content>
  </entry>
</feed>
