Fonctionnalités

Léger à l’extérieur. Étonnamment complet à l’intérieur.

IllusionCMS couvre ce dont un site construit par des développeurs a besoin – de l’éditeur aux données, à l’automatisation et à l’exploitation. Voici la visite complète.

Éditeur

Un éditeur de code qui ressemble à votre IDE.

Chaque page est du HTML avec des balises de template – édité dans CodeMirror, prévisualisé en direct juste à côté.

  • Abréviations Emmet avec Tab, formatage avec Prettier (les balises de template restent intactes)
  • Aperçu en direct en largeur bureau, tablette et mobile – y compris les modifications non enregistrées
  • Le panneau Données du template montre exactement ce que voit votre template
  • Historique des versions, restauration et alerte si quelqu’un a enregistré entre-temps
  • Les éditeurs de code restent sombres, même en thème clair
Éditeur de pages IllusionCMS : arborescence, éditeur de code avec template et aperçu en direct
Templates et composants

Tout réutiliser – sans étape de build.

Snippets, composants et layouts gardent votre markup concis. CSS et JavaScript vivent dans une bibliothèque commune et sont rattachés là où il le faut.

Langage de templates

Syntaxe type Django/Twig avec filtres, macros, includes et {% verbatim %} pour Vue ou Alpine.

Layouts de page

Marquez un snippet comme layout – les nouvelles pages démarrent avec {% extends %} et une zone de contenu.

Composants avec slots

{% component %} avec slots nommés et contenus de repli – comme des web components, mais côté serveur.

CSS et JS partagés

Une bibliothèque, attribuée par page ou héritée par les sous-pages. Minifiée et versionnée automatiquement ; modules ES détectés.

Assets sur les snippets

Rattachez du CSS/JS à un snippet – il n’est chargé que sur les pages qui l’utilisent vraiment.

Pens

Un bac à sable HTML, CSS et JS avec résultat en direct – privé ou partagé par lien.

Composants

Écrire le markup une fois, l’utiliser partout.

Un composant est un snippet avec des slots. Passez des paramètres, remplissez les slots, c’est fait – les modifications s’appliquent partout. Les mêmes composants deviennent des blocs pour les rédactions.

pages/team.html
{% component "card" image=p.photo %}
  {% fill "title" %}{{ p.name }}{% endfill %}
  <p>{{ p.summary }}</p>
  {% fill "footer" %}
    <a href="/team/{{ p.slug }}">Profile →</a>
  {% endfill %}
{% endcomponent %}
Constructeur de pages

Les rédacteurs remplissent des formulaires. Vous gardez le markup.

Donnez à un snippet un schéma avec des paramètres typés et des slots – et le voilà devenu un bloc. Pages et entrées de collections peuvent alors être assemblées à partir de blocs.

  • Texte, Markdown, images, fichiers, listes, références et plus
  • Slots avec blocs autorisés et limites
  • Blocs globaux avec ajustements par utilisation – modifier une fois, mettre à jour partout
  • Éditeur de formulaires avec aperçu en direct ; cliquez sur un bloc dans l’aperçu pour l’ouvrir
  • Avec IllusionPublish : édition visuelle directement sur la page
Constructeur de pages IllusionCMS : formulaire d’un bloc avec paramètres et slots à côté de l’aperçu en direct
Données

Des collections pour vos contenus.

Définissez des structures aux champs typés – blog, équipe, produits, événements – et utilisez-les dans n’importe quel template.

  • Texte, Markdown, HTML, nombres, dates, images, fichiers, listes, références, blocs
  • Collections singleton pour les réglages du site
  • Pages de détail avec aperçu en direct pendant l’édition
  • Import CSV avec rapprochement, et export
  • API JSON publique optionnelle avec CORS
  • Données live : les entrées créées sur le serveur (p. ex. formulaires) survivent au transfert de contenu
Collections IllusionCMS : entrées d’une collection de produits avec statut et actions
Sources de données

Vos contenus, n’importe quelle API, IllusionDB – une seule syntaxe.

Les sources REST amènent des données externes dans vos templates : boutiques, CRM, systèmes headless ou vos propres services – avec placeholders, en-têtes, secrets issus de variables d’environnement et cache. Via les workflows, les tables IllusionDB deviennent aussi des pages, jusqu’à des milliers de landing pages avec sitemap générée.

pages/products.html
{# Collection, REST API and IllusionDB – same syntax #}
{% for p in data("products", "category", route.query.cat,
                 "sort", "price", "limit", 12) %}
  {% include "product-card" with product=p %}
{% endfor %}

{% with weather=data("weather-api", "city", "Berlin") %}
  <p>{{ weather.current.temp }} °C</p>
{% endwith %}
Workflows

De l’automatisation sans serveur supplémentaire.

Reliez des nœuds sur un canevas – à la Node-RED. Formulaires, webhooks et planifications démarrent un flux ; nœuds JavaScript, aiguillages, requêtes HTTP et actions de collection font le travail.

  • Historique d’exécution avec la trace de chaque nœud
  • Créez vos propres nœuds réutilisables
  • Appelez un workflow depuis un template avec workflow()
Éditeur de workflows IllusionCMS : flux d’un formulaire de contact en nœuds, avec le JavaScript d’un nœud fonction

Entrées HTTP

Endpoints publics pour formulaires et webhooks – avec honeypot, validation et redirections.

Planifications

Expressions cron pour tâches nocturnes, listes de prix, imports ou nettoyages.

Événements de collection

Réagir quand des entrées sont créées, modifiées ou supprimées.

E-mail

Envoyez des mails via votre serveur SMTP – notifications, confirmations, rapports.

Délai et jonction

Attendre, fusionner des branches parallèles et garder un état dans un petit stockage clé-valeur.

Nœuds IllusionDB

Lire et écrire des tables IllusionDB – filtrées, groupées et mises en cache.

Multilingue

Un site, plusieurs langues.

Sous-arborescences par langue ou sites séparés – IllusionCMS relie les versions et s’occupe du reste.

  • Versions linguistiques liées pour les pages et les entrées de collections
  • Balises hreflang et alternatives dans le sitemap générées automatiquement
  • translations() et language_name() pour votre sélecteur de langue
  • Menus par langue avec lang_root()
  • Interface d’administration en cinq langues
snippets/language-switch.html
<nav class="languages">
  {% for t in translations() %}
    <a href="{{ t.url }}" hreflang="{{ t.lang }}"
       {% if t.current %}aria-current="page"{% endif %}>
      {{ language_name(t.lang) }}
    </a>
  {% endfor %}
</nav>
Import

Migrez votre site existant en quelques minutes.

Indiquez un sitemap à l’importeur ou laissez-le explorer. Il reprend l’arborescence, le HTML, le CSS et le JavaScript comme assets partagés, les images, polices et vidéos – et réécrit tous les liens.

  • D’abord l’analyse : quelles pages, quels hôtes externes
  • Répéter l’import sans doublons ; les pages modifiées dans le CMS restent protégées
  • Mettre à jour depuis la source pour des pages isolées
  • Fonctionne avec Webflow, WordPress, Squarespace et les sites statiques
Import de site IllusionCMS : analyse d’illusiondb.com avec 450 pages issues du sitemap, site cible et fichiers externes – avant l’import
Exploitation

Conçu pour de vrais serveurs.

IllusionCMS est un binaire Go avec une base SQLite. Tout le reste est intégré.

Historique et sauvegardes

Versions avec restauration pour pages, snippets, assets et workflows ; sauvegardes nocturnes.

Bundles

Transférez des contenus complets entre instances – ou poussez du local vers la production.

Stockage S3

Garage, AWS, Hetzner, R2 … avec cache local et migration guidée.

Fichiers privés

Liens signés temporaires ou connexion requise.

Statistiques

Totaux journaliers pour pages, provenances, navigateurs, pays et téléchargements – sans cookie.

Plusieurs sites

Domaines, sitemap, robots.txt, icône et page 404 par site.

Cache de pages

Pages rendues en mémoire avec gzip et ETag – vidé à chaque modification.

API REST

Tokens en lecture ou écriture, lots, clés d’idempotence, endpoint de schéma.

Webhooks

Notifications signées lors de modifications de contenu et de schéma – avec nouvelles tentatives.

Sécurité

En-têtes de sécurité, CSP, limitation de débit, protection CSRF, HSTS derrière HTTPS.

Redirections et journal 404

Redirections automatiques lors des déplacements ; import et export CSV.

Mode headless

Exploitation sans admin – pilotée à distance depuis votre instance locale.

Pour les agences

Vos clients ont besoin d’un workflow éditorial ? Ajoutez IllusionPublish.

IllusionPublish se greffe sur une instance IllusionCMS. Vos développeurs continuent de travailler dans le CMS – les rédactions de vos clients obtiennent un éditeur visuel, des espaces de travail et des validations, sans jamais voir une ligne de code.

Essai gratuit de 30 jours.

  • Éditeur visuelModifier textes et images directement sur la page
  • Espaces de travail et circuits de validationLes changements passent en ligne en un paquet – de façon atomique
  • Droits jusqu’au champLes rédactions modifient le contenu, pas le design
  • SSO, SCIM et passkeysEntra ID, Google, Keycloak et plus

Écrire du HTML à nouveau. Avec plaisir.

IllusionCMS est gratuit. Sans compte, sans télémétrie, sans contrepartie.