yassrzg / ckeditor-dsfr-bundle
Éditeur CKEditor 5 à composants DSFR (cartes, tuiles, boutons, accordéons, onglets, vidéos…), médiathèque et réglages administrables pour Symfony.
Package info
github.com/yassrzg/Ckeditor_DSFR
Type:symfony-bundle
pkg:composer/yassrzg/ckeditor-dsfr-bundle
Requires
- php: >=8.3
- doctrine/doctrine-bundle: ^2.13|^3.0
- doctrine/doctrine-migrations-bundle: ^3.3|^4.0
- doctrine/orm: ^3.3
- masterminds/html5: ^2.9
- symfony/asset: ^7.4|^8.0
- symfony/asset-mapper: ^7.4|^8.0
- symfony/console: ^7.4|^8.0
- symfony/form: ^7.4|^8.0
- symfony/framework-bundle: ^7.4|^8.0
- symfony/html-sanitizer: ^7.4|^8.0
- symfony/mime: ^7.4|^8.0
- symfony/property-access: ^7.4|^8.0
- symfony/security-bundle: ^7.4|^8.0
- symfony/security-csrf: ^7.4|^8.0
- symfony/stimulus-bundle: ^2.24|^3.0
- symfony/string: ^7.4|^8.0
- symfony/twig-bundle: ^7.4|^8.0
- symfony/validator: ^7.4|^8.0
- symfony/yaml: ^7.4|^8.0
- twig/twig: ^3.21
Requires (Dev)
- phpstan/phpstan: ^2.1
- phpstan/phpstan-doctrine: ^2.0
- phpstan/phpstan-symfony: ^2.0
- phpunit/phpunit: ^12.0
- symfony/browser-kit: ^7.4|^8.0
- symfony/css-selector: ^7.4|^8.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Bundle Symfony : éditeur CKEditor 5 à composants du DSFR (Système de Design de l'État), médiathèque en base de données et réglages administrables (plateformes vidéo, formats et poids des fichiers, dossiers de stockage, composants proposés).
- 19 composants : image, documents à télécharger (réglables document par document), carte (lien facultatif), tuile, bouton, bouton avec fenêtre, accordéon, onglet, tableau, mise en avant, mise en exergue, alerte, bandeau d'information, badge, tag, icône, pictogramme, citation, vidéo (variantes DSFR : orientation, taille, apparence, couleurs, icônes et pictogrammes du DSFR), et un bloc Colonnes (2 à 4 colonnes de la grille DSFR, responsive) qui accueille texte, médias et composants ; l'ancien composant « Image et texte » reste lu.
- Catalogue YAML : composants, réglages, valeurs et conditions déclarés dans
config/components.yaml; un projet ajoute, remplace ou retire des composants par ses propres fichiers YAML. - Le contenu est enregistré en HTML simple (
<div data-component="card" data-title="…">), jamais en code DSFR : le rendu DSFR est produit à l'affichage, une évolution du DSFR ne touche pas aux contenus. - Vidéo par lien (plateformes autorisées) ou par fichier envoyé (lecteur du navigateur, sous-titres .vtt, image d'aperçu) : sources choisies par l'administrateur.
- Médiathèque : images, documents et vidéos, ajout depuis l'éditeur, choix par grille, ordre par glisser-déposer, protection des médias utilisés.
- Sécurité : HTML filtré à l'enregistrement et à l'affichage, réglages revalidés, formats exécutables toujours refusés, CSRF, droits configurables.
- Accessibilité (RGAA) : texte alternatif obligatoire, fenêtre unique, navigation au clavier, transcription des vidéos.
- Sans réseau : CKEditor 5 et SortableJS sont fournis par le bundle.
Prérequis
PHP 8.3, Symfony 7.4 ou 8, Doctrine ORM 3, AssetMapper et StimulusBundle, le DSFR dans le projet (par défaut
assets/dsfr, fichiers du paquet @gouvfr/dsfr).
Documentation
| Document | Contenu |
|---|---|
| docs/installation.md | Installer le bundle dans un projet, pas à pas |
| docs/configuration.md | Configuration (ckeditor_dsfr) et réglages de l'administrateur |
| docs/utilisation.md | Formulaires, affichage, Twig, services, recherche |
| docs/composants.md | Composants, format enregistré, ajouter un composant |
| docs/maintenance.md | Tests, mise à jour de CKEditor, publication du bundle |
Licence
GPL-2.0-or-later : le bundle contient CKEditor 5, distribué sous licence GPL (clé licenseKey: 'GPL').
Voir LICENSE et assets/vendor/ckeditor5/LICENSE.md. SortableJS : licence MIT.
Auteur
Conçu et développé par yassine REZGUI (github.com/yassrzg).