https://github.com/betagouv/dsfr-view-components
Composants Rails pour le DSFR
https://github.com/betagouv/dsfr-view-components
rails viewcomponent
Last synced: 4 months ago
JSON representation
Composants Rails pour le DSFR
- Host: GitHub
- URL: https://github.com/betagouv/dsfr-view-components
- Owner: betagouv
- License: mit
- Created: 2022-10-09T12:39:47.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2026-01-12T17:19:14.000Z (5 months ago)
- Last Synced: 2026-01-12T21:57:39.729Z (5 months ago)
- Topics: rails, viewcomponent
- Language: Ruby
- Homepage: https://betagouv.github.io/dsfr-view-components
- Size: 4.39 MB
- Stars: 42
- Watchers: 85
- Forks: 4
- Open Issues: 29
-
Metadata Files:
- Readme: README.md
- Security: .github/security.md
Awesome Lists containing this project
- awesome-betagouv - Dépôt GitHub
README
# Composants du DSFR
[](https://github.com/betagouv/dsfr-view-components/actions?query=workflow%3ATests)
[](https://badge.fury.io/rb/dsfr-view-components)
[](https://rubygems.org/gems/dsfr-view-components)
[](https://github.com/betagouv/dsfr-view-components/blob/main/LICENSE)
[](https://weblog.rubyonrails.org/releases/)
[](https://www.ruby-lang.org/en/downloads/)
[](https://www.systeme-de-design.gouv.fr/)
Cette gem fournit des composants pour le Design Système de l'État (DSFR) en s'appuyant sur le [framework ViewComponent](https://github.com/ViewComponent/view_component).
C'est un fork de [govuk-components](https://github.com/DFE-Digital/govuk-components) qui propose l'équivalent pour le GOV.UK Design System.
## Documentation
Un [guide complet est disponible](https://betagouv.github.io/dsfr-view-components/). Il contient des instructions pour l'installation et l'usage de cette gem. Les exemples présents éxecutent le code et seront donc toujours à jour.
## Installation
Pour utiliser cette gem dans votre application Rails, il faut ajouter cette ligne dans `config/application.rb`:
```ruby
require "dsfr/components"
```
**NOTE:** depuis la version 2.1, la gem dépend de [`dsfr-assets`](https://github.com/betagouv/dsfr-assets) qui embarque les assets du DSFR pour vous. Pour laisser au temps aux équipes de vérifier cette intégration, l'inclusion des assets est optionnelle mais peut se faire en suivant [les instructions dans le README de dsfr-assets](https://github.com/betagouv/dsfr-assets?tab=readme-ov-file#installation).
## Composants disponibles
Cette gem a pour but de supporter tous les composants proposés par le Design Système de l'État hormis ceux concernant les formulaires. Ceux-ci seront fournis dans une gem indépendante dans le futur.
La [liste des composants implémentés ou restants est consultable grâce au label `composant`](https://github.com/betagouv/dsfr-view-components/issues?page=2&q=is%3Aissue+label%3Acomposant) sur ce même dépôt.
## Services utilisant cette gem
- [Collectif Objets](https://collectif-objets.beta.gouv.fr/) - [code source](https://github.com/betagouv/collectif-objets)
## Contribuer
Nous conseillons d'utiliser [rbenv](https://github.com/rbenv/rbenv) pour gérer vos versions de ruby :
```sh
rbenv local 3.3.6
rbenv install
```
Lancer les tests :
```sh
bundle install
bundle exec rspec spec
```
Pour développer avec les tests en continu :
```sh
bundle exec guard
```
Lancer le guide de documentation :
```sh
make watch-guide
```
Utilisez le générateur pour créer un nouveau composant :
```sh
bin/rails g dsfr_component FancyButton --params title:String count:Integer
```
Lancer la dummy app pour itérer sur les composants :
```sh
cd spec/dummy
bundle install
bundle exec rails server
```
Déployer une nouvelle version de la gem :
```sh
VERSION=1.3.2 make deploy_gem
```
## Licence
Le code source et la gem sont ouverts sous la licence [MIT](https://opensource.org/licenses/MIT).