Après six mois de développement intense, nous sommes heureux d’annoncer la sortie de Fatplant 2.0, la mise à jour majeure de notre CMS open-source pour médias. Cette version marque un tournant dans notre vision du travail éditorial : nous passons d’un outil de publication à une véritable plateforme de création collaborative.
Ce qui change avec Fatplant 2.0
Édition collaborative temps réel
La fonctionnalité phare de cette version est sans conteste l’édition collaborative temps réel. Plusieurs membres d’une rédaction peuvent désormais travailler simultanément sur le même article ou la même page, sans risque de conflit ou d’écrasement de travail.
Cette fonctionnalité repose sur Yjs, une implémentation de l’algorithme CRDT (Conflict-free Replicated Data Type), qui garantit que toutes les modifications — qu’elles proviennent d’un journaliste à Paris ou d’un correspondant à Lyon — sont fusionnées de façon déterministe et sans intervention manuelle.
Chaque collaborateur est visible grâce à un curseur coloré portant son nom. La présence est mise à jour en temps réel via WebSocket. Et si l’un d’eux perd sa connexion, ses modifications sont mises en file d’attente et synchronisées dès qu’il se reconnecte.
Page builder visuel repensé
Le page builder de la version 1.x fonctionnait, mais il était limité et peu intuitif. Fatplant 2.0 introduit une interface entièrement repensée, basée sur une hiérarchie claire : sections > rangées > colonnes > modules.
Chaque niveau est éditable via un glisser-déposer fluide. Les modules disponibles couvrent les cas d’usage les plus courants — texte enrichi, image responsive, vidéo, citation, bouton d’appel à l’action — et des plugins peuvent en ajouter de nouveaux.
Le document JSON produit par le page builder est plus propre, plus prévisible, et plus facile à interpréter côté frontend SSR.
Nouveaux formats éditoriaux
Fatplant 2.0 introduit deux nouveaux formats natifs :
- Les lives : des flux chronologiques de mises à jour pour couvrir des événements en direct (élections, matchs sportifs, catastrophes naturelles).
- Les podcasts : la gestion complète des émissions audio avec génération automatique d’un flux RSS compatible avec toutes les plateformes d’écoute.
Ces formats rejoignent les articles, dossiers et pages déjà présents dans la version précédente.
Améliorations techniques
Au-delà des fonctionnalités visibles, Fatplant 2.0 apporte des améliorations significatives sous le capot :
- Mise à jour vers Symfony 7 et API Platform 4
- Migration vers SvelteKit 2 avec Svelte 5 (runes) pour l’admin et le frontend
- Serveur Yjs réécrit avec gestion de la mémoire optimisée (éviction des rooms inactives)
- Endpoint
/healthsur tous les services pour les healthchecks Docker et les reverse-proxies - Génération des variantes d’images en format WebP par défaut
Migration depuis Fatplant 1.x
La migration depuis une installation 1.x est documentée dans le guide de migration. L’essentiel est automatisé via les migrations Doctrine. Les structures de contenu existantes sont préservées — seul le format du document de page builder a évolué, et un script de migration est fourni.
Et la suite ?
La roadmap post-2.0 inclut le support du clustering pour le serveur Yjs, un système de commentaires éditoriaux, et une API de webhooks pour notifier des systèmes externes lors de la publication. Suivez notre roadmap publique pour en savoir plus.
Merci à tous ceux qui ont contribué à cette version — testeurs, retours d’utilisateurs, pull requests. Fatplant 2.0 est le vôtre.