Fonctionnalités
Un CMS complet, pensé pour les rédactions
Fatplant couvre toute la chaîne éditoriale — du chemin de fer à la publication, de la collaboration temps réel au paywall, du multilingue à l'API. Pour les rédactions de toutes tailles.
Page Builder
Composez vos pages visuellement
Le page builder de Fatplant permet à n'importe quel membre de la rédaction de concevoir des mises en page professionnelles sans écrire une seule ligne de code. L'interface glisser-déposer repose sur une hiérarchie claire : Sections → Rangées → Colonnes → Modules, reproduisant fidèlement le comportement d'une mise en page responsive.
Chaque module dispose de ses propres réglages (typographie, couleurs, espacements) exposés dans un panneau de configuration contextuel. Les modifications sont prévisualisées en temps réel et peuvent être annulées avec undo/redo illimité.
Les layouts sont stockés sous forme de document JSON versionné, ce qui facilite le déploiement entre environnements et la collaboration via Git.
- ✓ Glisser-déposer de sections, rangées, colonnes et modules
- ✓ Catalogue de modules : texte riche, image, vidéo, citation, code, HTML brut
- ✓ Responsive : réglages spécifiques par point de rupture (mobile, tablette, desktop)
- ✓ Undo/redo illimité, prévisualisation en direct
- ✓ Layout JSON versionnable et portable
// Structure d'une page
Section hero
└─ Row (2 colonnes)
├─ Module Texte riche
└─ Module Image
Section contenu
└─ Row (pleine largeur)
└─ Module Article embed
Collaboration
Éditez à plusieurs, en temps réel
Fatplant embarque Yjs, le moteur de données CRDT (Conflict-free Replicated Data Type) le plus robuste du marché. Plusieurs rédacteurs peuvent travailler simultanément sur le même article ou la même page sans risque de perte de données ni de conflit.
La présence des utilisateurs actifs est visible en temps réel (curseurs, avatars). Les modifications de chacun sont propagées en moins d'une seconde via le serveur Yjs intégré, avec persistance automatique en base de données.
Le mécanisme d'autosave garantit qu'aucun travail n'est perdu, même en cas de déconnexion temporaire. À la reconnexion, les modifications locales sont fusionnées automatiquement avec l'état du serveur.
- ✓ Édition simultanée par plusieurs rédacteurs
- ✓ Curseurs et présence en temps réel
- ✓ Résolution automatique des conflits (CRDT)
- ✓ Autosave et reprise sur déconnexion
- ✓ Persistance Yjs configurable (HTTP ou mémoire)
Modifié il y a 2 secondes · 0 conflit
Synchronisé · Autosave actif
Monétisation
Faites vivre votre rédaction
Activez le paywall et tous vos articles sont protégés par défaut : une simple case « Accès gratuit » ouvre, au cas par cas, les contenus que vous voulez laisser libres. L'article muré garde son titre, son chapô, son image et ses métadonnées SEO — seul le corps est réservé.
Vendez l'article à l'unité, des pass jour ou mois, et encaissez en ligne avec Stripe et PayPal. Les fournisseurs s'ajoutent comme des modules ; les clés (test et production) sont chiffrées et ne ressortent jamais en clair. C'est le webhook signé qui débloque l'accès — aucune donnée carte ne transite par Fatplant.
Vos lecteurs ont leur propre compte (distinct de la rédaction), et l'écran Transactions vous donne le remboursement et la relance de paiement en un clic.
- ✓ Paywall « tout muré par défaut » + exception « Accès gratuit » par article
- ✓ Offres : article à l'unité, pass jour, pass mois
- ✓ Paiement Stripe & PayPal intégré (clés test/prod chiffrées)
- ✓ Comptes lecteurs & attribution manuelle d'accès
- ✓ Transactions : suivi, remboursement, relance
🔒 Réservé aux abonnés
« Le conseil municipal vote un budget record pour la culture »
Lisez la suite avec un accès…
Cet article
Accès permanent
Pass 24 h
Tout le site
Multilingue
Une rédaction, plusieurs langues
Publiez la même actualité en plusieurs langues, reliées entre elles. Le français est servi sans préfixe (/rubrique/mon-article), l'anglais est préfixé (/en/…), et un sélecteur de langue fait le pont entre les versions.
Les URLs sont canoniques et hiérarchiques : un index de routes résout n'importe quel chemin vers la bonne entité. Changez le slug d'un article et une redirection 301 est créée automatiquement — aucun lien ne casse.
Côté SEO, tout est cadré : balises hreflang entre versions, <html lang> posé côté serveur, sitemaps par langue. Et depuis l'éditeur, « Traduire » clone l'article en brouillon et le pré-remplit par IA.
- ✓ URLs canoniques hiérarchiques, fr sans préfixe / en préfixé
- ✓ Groupes de traduction + sélecteur de langue
- ✓ hreflang, <html lang>, sitemaps par langue
- ✓ Redirections 301 automatiques au changement de slug
- ✓ Traduction d'un article pré-remplie par IA
# Même article, deux langues
FR /culture/budget-record-culture
EN /en/culture/record-culture-budget
# Reliées par hreflang
<link rel="alternate"
hreflang="en" href="…/en/…">
# Ancien slug → 301
301 /culture/ancien-titre → /culture/budget-record-culture
Modèle éditorial
Un modèle de contenu pensé pour les médias
Fatplant ne propose pas un modèle de contenu générique — il est conçu spécifiquement pour les rédactions. Chaque entité (article, dossier, page, podcast, live) dispose de champs métier pertinents : statut éditorial, SEO, auteurs, catégories, tags, date de publication planifiée.
Le modèle de données est structuré autour des besoins d'un média en ligne : relations entre entités (un article appartient à un dossier, une catégorie, plusieurs tags), cycle de vie (brouillon → en révision → publié → archivé), et champs SEO complets (titre, description, Open Graph).
Toutes les entités sont exposées via l'API REST, permettant à votre frontend ou à des outils tiers de consommer les contenus sans couplage fort avec le CMS.
- ✓ Entités : Articles, Dossiers, Pages, Podcasts, Lives, Catégories, Tags
- ✓ Cycle de vie éditorial complet avec statuts
- ✓ Relations inter-entités (dossiers, catégories, tags)
- ✓ Champs SEO et Open Graph sur chaque entité
- ✓ Publication planifiée
Articles
Dossiers
Pages
Podcasts
Lives
Catégories
Tags
Médias
Médiathèque
Gérez vos médias sans compromis
La médiathèque de Fatplant centralise l'ensemble de vos ressources visuelles et audio. Les images sont automatiquement converties en variantes responsive (WebP, différentes tailles) à l'upload, pour garantir des performances optimales quel que soit l'appareil du lecteur.
L'interface de gestion permet d'organiser les médias en dossiers, d'ajouter des métadonnées (alt, légende, crédit photographe) et de recadrer les images directement dans le navigateur. Le CDN intégré sert les médias avec les bons headers de cache.
L'API médias permet à votre frontend de récupérer l'URL optimisée pour chaque point de rupture, éliminant le besoin d'un service d'images externe.
- ✓ Upload par glisser-déposer et copier-coller
- ✓ Conversion automatique en variantes responsive (WebP)
- ✓ Recadrage en ligne, métadonnées, dossiers
- ✓ API médias pour les frontends découplés
- ✓ Stockage local ou S3-compatible
Variantes générées automatiquement
Thèmes & Layouts
Votre identité visuelle, pleinement maîtrisée
Fatplant intègre un système de thèmes qui sépare clairement la structure du design. Chaque thème définit les tokens visuels (couleurs, typographie, espacements) appliqués globalement à votre frontend, sans modifier le cœur du CMS.
Les gabarits de mise en page (layouts) permettent de définir des structures réutilisables pour vos différents types de contenus : article magazine, article analyse, page dossier, page d'accueil. Les rédacteurs choisissent le gabarit adapté à chaque contenu.
Les slots de layout permettent d'injecter des blocs conditionnels (encadrés promotionnels, newsletters, recommandations) à des emplacements définis sans toucher aux templates.
- ✓ Système de tokens CSS pour couleurs et typographie
- ✓ Thèmes applicables sans redéploiement
- ✓ Gabarits de mise en page par type de contenu
- ✓ Slots de layout configurables
- ✓ CSS personnalisé par thème sans conflits
Thème Quotidien
Typographie sérieuse, palette neutre, mise en page colonnée à la presse
Thème Magazine
Grandes images, palette vive, hero pleine largeur, grille éditoriale
Thème Podcast
Lecteur audio intégré, transcriptions, bibliothèque d'épisodes
Plugins
Étendez Fatplant à vos besoins
Le système de plugins de Fatplant s'appuie sur des points d'extension (hooks) définis à chaque étape du cycle de vie du CMS : avant/après la création d'un article, lors du rendu d'un module, à la publication d'un contenu, etc. Un plugin est un bundle autonome qui s'enregistre auprès du moteur de plugins et déclare les hooks qu'il implémente.
L'écosystème communautaire propose déjà des plugins pour les cas d'usage les plus courants : intégration newsletter, push notifications, analytics éditoriaux, traduction automatique, watermarking des images. Les plugins peuvent être installés depuis le gestionnaire d'extensions intégré à l'admin.
Écrire votre propre plugin ne nécessite pas de modifier le code source de Fatplant : un plugin est simplement un fichier PHP ou un bundle Symfony qui implémente les interfaces publiées.
- ✓ Architecture basée sur des hooks déclarés
- ✓ Marketplace de plugins communautaires
- ✓ Installation sans modifier le code source
- ✓ Plugins pour newsletter, analytics, traduction, push
- ✓ Documentation d'API pour développeurs de plugins
// MonPlugin.php
class MonPlugin implements PluginInterface
{
public function getHooks(): array
{
return [
'article.published' =>
$this->onPublish(...)
];
}
}
API
Votre contenu, accessible partout
Fatplant expose l'intégralité de son contenu via une API REST conforme API Platform. Les endpoints publics (/api/public/*) ne nécessitent aucune authentification et permettent à n'importe quel frontend de consommer les contenus publiés.
Les opérations d'écriture (création, modification, suppression) sont sécurisées par JWT. Le token est obtenu via le endpoint /api/auth et doit être transmis dans l'en-tête Authorization: Bearer.
La documentation interactive de l'API (Swagger/OpenAPI) est disponible sur votre instance à /api/docs, permettant à votre équipe technique d'explorer et de tester les endpoints directement depuis le navigateur.
- ✓ API REST conforme API Platform (JSON-LD / Hydra)
- ✓ Endpoints publics sans authentification
- ✓ Sécurisation par JWT pour les opérations d'écriture
- ✓ Documentation Swagger/OpenAPI intégrée
- ✓ Filtres, pagination et tri sur toutes les collections
# Lire les articles publiés
GET /api/public/articles?page=1
# Authentification
POST /api/auth
{ "email": "…", "password": "…" }
# Créer un article (JWT requis)
POST /api/articles
Authorization: Bearer {token}
Self-hosted & RGPD
Vos données restent chez vous, point final
Fatplant est conçu dès le départ pour le self-hosting. L'ensemble de la stack (API, admin, Yjs, base de données, Redis) est packagée dans une configuration Docker Compose prête à l'emploi. Un seul fichier .env suffit pour configurer l'ensemble.
Vos données ne quittent jamais votre infrastructure. Aucune télémétrie n'est envoyée à nos serveurs, aucun service externe n'est requis par défaut. La conformité RGPD est native : vous êtes le seul responsable du traitement des données de vos utilisateurs.
La licence MIT garantit que vous pouvez utiliser, modifier et distribuer Fatplant librement, y compris à des fins commerciales. Made in France — le projet est développé et maintenu par une équipe basée en France.
- ✓ Stack Docker Compose complète en un seul dépôt
- ✓ Aucune dépendance externe obligatoire
- ✓ Conformité RGPD native, données sous votre contrôle
- ✓ Licence MIT — utilisation commerciale autorisée
- ✓ Made in France — développé et maintenu en France
Made in France
Projet développé et maintenu par une équipe française, conforme au droit européen.
Licence MIT
Utilisez, modifiez et distribuez librement, même dans un contexte commercial.
Convaincu ? Lancez-vous dès aujourd'hui.
Installez Fatplant sur votre serveur en quelques minutes ou essayez le Cloud managé sans engagement.