Skip to content

Commit

Permalink
🔖 chore(*): DSFR v1.10.0-rc.2
Browse files Browse the repository at this point in the history
  • Loading branch information
lab9fr authored Jul 11, 2023
2 parents 10dcd98 + 259528b commit ec25536
Show file tree
Hide file tree
Showing 171 changed files with 1,480 additions and 770 deletions.
900 changes: 551 additions & 349 deletions CHANGELOG.md

Large diffs are not rendered by default.

19 changes: 10 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Son utilisation par les administrations est soumise à une demande d'agrément (
[Voir la documentation officielle](https://www.systeme-de-design.gouv.fr)

## Licence et droit d'utilisation
Le contenu de ce projet est placé sous licence MIT License, à l'exception de la fonte Marianne. Voir [LICENSE.md](https://github.com/GouvernementFR/dsfr/blob/main/LICENSE.md)
Le contenu de ce projet est placé sous licence MIT License, à l'exception de la fonte Marianne. Voir [LICENSE.md](https://github.com/GouvernementFR/dsfr/blob/main/LICENSE.md)

#### ⚠️ Utilisation interdite en dehors des sites Internet de l'État
>Il est formellement interdit à tout autre acteur d’utiliser le Système de Design de l’État (les administrations territoriales ou tout autre acteur privé). Le Système de Design de l’État représente l’identité numérique de l’État. En cas d’usage à des fins trompeuses ou frauduleuses, l'État se réserve le droit d’entreprendre les actions nécessaires pour y mettre un terme.
Expand All @@ -28,9 +28,9 @@ Voir les [conditions générales d'utilisation](doc/legal/cgu.md).
L'installation du Système de Design de l'État (ci-après, le **DSFR**) peut se faire de manières différentes. En téléchargeant l'ensemble des fichiers nécessaires à son utilisation, en utilisant le gestionnaire de paquets **NPM**, ou encore via **git**.

### Fichiers statiques
Il est possible de télécharger l'ensemble du **DSFR** au format zip ci-dessous. Le zip contient un ensemble de fichiers CSS et Javascript, ainsi que les différentes polices web utilisées, à savoir la Marianne et la Spectral.
Il est possible de télécharger l'ensemble du **DSFR** au format zip ci-dessous. Le zip contient un ensemble de fichiers CSS et Javascript, ainsi que les différentes polices web utilisées (Marianne et Spectral), et un ensemble d'icônes et de pictogrammes.

[Fichiers statiques](https://www.systeme-de-design.gouv.fr/comment-utiliser-le-dsfr/developpeurs/prise-en-main-du-dsfr)
Vous trouverez sur [la page Release de Github](https://github.com/GouvernementFR/dsfr/releases), toutes les sources des versions précédentes et la dernière en date.

### NPM
Le **DSFR** est disponible sur NPM via un ensemble de packages qu'il est possible d'ajouter directement à votre projet. Il est de ce fait nécessaire d'installer [NodeJS](https://nodejs.org), et d'avoir un fichier **package.json** à la racine de votre projet. (Il est possible d'en créer un directement via la commande `npm init`).
Expand Down Expand Up @@ -73,13 +73,14 @@ Une structure minimale serait :
└── dsfr.min.css
└── dsfr.module.min.js
└── dsfr.nomodule.min.js
└── favicon
└── font
└── icons
└── utility
└── icons
└── icons/
└── favicon/
└── fonts/
└── utility/
└── utilities.min.css
```
Les polices de caractères utilisées sur le DS, à savoir la Marianne et la Spectral, sont des fichiers .woff et .woff2, ils doivent se trouver dans le répertoire font. Ce dossier doit être placé au même niveau que le dossier contenant le CSS du core dsfr ('dsfr' dans notre exemple puisque dsfr.min.css contient le core)
Les polices de caractères utilisées sur le DS, à savoir la Marianne et la Spectral, sont des fichiers .woff et .woff2, ils doivent se trouver dans le répertoire `fonts`. Les dossiers `fonts` et `favicon` doivent être placés au même niveau que le dossier contenant le CSS du core du dsfr (ou au même niveau que le css `dsfr.min.css` à la racine de dist, qui contient le core).
Le fichier `utilities.min.css` doit être placé un niveau plus bas que le dossier `icons`, dans dossier utility par exemple, pour respecter les chemins d'accès vers les icônes.

### Le HTML
Le point de départ de l’utilisation du DSFR est la création de fichiers HTML, afin de pouvoir utiliser les différents composants. Ces fichiers sont à mettre à la racine de votre projet. L’exemple ci dessous est le code minimal afin de pouvoir utiliser le DSFR.
Expand Down
1 change: 1 addition & 0 deletions i18n/fr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ social:
url: https://linkedin.com/
or: ou
marianne: Marianne
blank: nouvelle fenêtre
readme:
dependencies:
title: Dépendances
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@gouvfr/dsfr",
"version": "1.10.0-rc.1",
"version": "1.10.0-rc.2",
"description": "Système de Design de l'Etat - DSFR",
"repository": "git@github.com:GouvernementFR/dsfr.git",
"author": "Service d'Information du Gouvernement <jean-charles.hourdeaux@pm.gouv.fr>",
Expand All @@ -11,7 +11,7 @@
"organisation": "@gouvfr"
},
"engines": {
"node": ">=14.18.0"
"node": ">=18.16.1"
},
"scripts": {
"test": "node tool/tool.js test",
Expand Down
2 changes: 1 addition & 1 deletion src/analytics/doc/analytics.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

# Analytics

> **Warnning**
> **Warning**
> Ce package est prévu pour fonctionner de manière optimale avec la version dsfr-1.9.0 ou suppérieure.
> L'ajout d'un patch, présent dans `dist/patch/`, permet le support des versions précédentes (à partir de la version dsfr-1.3.0).
> Pour ce faire, importer `dist/patch/patch.module.min.js` et `dist/patch/patch.nomodule.min.js` après l'élément de configuration window.dsfr.analytics et avant le JS du DSFR.
Expand Down
52 changes: 26 additions & 26 deletions src/analytics/doc/analytics/collector/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ window.dsfr.analytics.page
window.dsfr = {
analytics: {
page: {
path: 'path\_name/from/url', // path for page tracking
referrer: 'path\_name/ref/url/', // referrer for virtual pages (not for real page, eulerian automatically collects document.referrer)
path: 'path_name/from/url', // path for page tracking
referrer: 'path_name/ref/url/', // referrer for virtual pages (not for real page, eulerian automatically collects document.referrer)
id: 'page-id', // unique page id (string)
title: 'page title', // page title for virtual pages
name: 'page name', // equivalent to title if not defined
author: 'John Doe', // page author name
date: 'YYYY/MM/DD' // page creation date
labels: \['label1', 'label2', 'label3', 'label4', 'label5'\],
tags: \['tag1', 'tag2', 'tagN'\], // no tags limit
date: 'YYYY/MM/DD', // page creation date
labels: ['label1', 'label2', 'label3', 'label4', 'label5'],
tags: ['tag1', 'tag2', 'tagN'], // no tags limit
template: 'nom template', // page template
group: 'group', // page group. if not defined, fallback to template value
segment: 'segment', // site segment. if not defined, fallback to template value
Expand All @@ -32,7 +32,7 @@ window.dsfr.analytics.page
isError: true, // is this an error page (404, 500, 503...)
current: 4, // In case of pagination, current page number
total: 40, // In case of pagination, total pages number
filters: \['actualités', 'Dossier de presse'\] // array of filters that were applied on the page (strings)
filters: ['actualités', 'Dossier de presse'] // array of filters that were applied on the page (strings)
},
}
};
Expand Down Expand Up @@ -68,7 +68,7 @@ _String_ (EA: referrer)

##### id

_String_ (EA: page\_id)
_String_ (EA: page_id)

`window.dsfr.analytics.page.id`

Expand All @@ -78,7 +78,7 @@ _String_ (EA: page\_id)

##### title

_String_ (EA: page\_title)
_String_ (EA: page_title)

`window.dsfr.analytics.page.title`

Expand All @@ -88,7 +88,7 @@ _String_ (EA: page\_title)

##### name

_String_ (EA: page\_name)
_String_ (EA: page_name)

`window.dsfr.analytics.page.name`

Expand All @@ -98,7 +98,7 @@ _String_ (EA: page\_name)

##### author

_String_ (EA: page\_author)
_String_ (EA: page_author)

`window.dsfr.analytics.page.author`

Expand All @@ -108,11 +108,11 @@ _String_ (EA: page\_author)

##### date

_Date_ (EA: page\_date)
_Date_ (EA: page_date)

`window.dsfr.analytics.page.date`

* Défini la date de publication de la page
* Défini la date de publication de la page restituée au format de date calendaire [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) [YYYY-MM-DD]

* * *

Expand All @@ -130,20 +130,20 @@ _Array`<String>`_ (EA: pagelabel)

##### categories

_Array`<String>`_ (EA: page\_category1, page\_category2, page\_category1)
_Array`<String>`_ (EA: page_category1, page_category2, page_category1)

`window.dsfr.analytics.page.categories`

* Liste de 5 regroupements de contenus maximum

* Les 3 premiers labels servent à renseigner (EA: page\_category1), (EA: page\_category2), et (EA:
page\_category3)
* Les 3 premiers labels servent à renseigner (EA: page_category1), (EA: page_category2), et (EA:
page_category3)

* * *

##### tags

_Array`<String>`_ (EA: page\_tags)
_Array`<String>`_ (EA: page_tags)

`window.dsfr.analytics.page.tags`

Expand Down Expand Up @@ -183,17 +183,17 @@ _String_ (EA: segment-site)

##### subtemplate

_String_ (EA: page\_subtemplate)
_String_ (EA: page_subtemplate)

`window.dsfr.analytics.page.subtemplate`

Apporte un niveau de détail supplémentaire lié au contenu pour les page\_template comprenant beaucoup de pages sur des thèmes différents
Apporte un niveau de détail supplémentaire lié au contenu pour les page_template comprenant beaucoup de pages sur des thèmes différents

* * *

##### theme

_String_ (EA: page\_theme)
_String_ (EA: page_theme)

`window.dsfr.analytics.page.theme`

Expand All @@ -203,7 +203,7 @@ _String_ (EA: page\_theme)

##### subtheme

_String_ (EA: page\_subtheme)
_String_ (EA: page_subtheme)

`window.dsfr.analytics.page.subtheme`

Expand All @@ -213,7 +213,7 @@ _String_ (EA: page\_subtheme)

##### related

_String_ (EA: page\_related)
_String_ (EA: page_related)

`window.dsfr.analytics.page.related`

Expand All @@ -223,7 +223,7 @@ _String_ (EA: page\_related)

##### depth

_Integer_ (EA: page\_depth)
_Integer_ (EA: page_depth)

`window.dsfr.analytics.page.depth`

Expand All @@ -233,7 +233,7 @@ Niveau de profondeur de la page (default: 0)

##### isError

_Boolean_ (EA: error) \- default: false (required)
_Boolean_ (EA: error) - default: false (required)

`window.dsfr.analytics.page.isError`

Expand All @@ -243,7 +243,7 @@ _Boolean_ (EA: error) \- default: false (required)

##### current

_Integer_ (EA: page\_pagination)
_Integer_ (EA: page_pagination)

`window.dsfr.analytics.page.current`

Expand All @@ -261,7 +261,7 @@ _Integer_

Nombre de page au sein du découpage ou de la pagination

Vient compléter la valeur envoyée à (EA: page\_pagination) si renseignée (valant : “current / total”)
Vient compléter la valeur envoyée à (EA: page_pagination) si renseignée (valant : “current / total”)
Si le composant Pagination est présent, la récupération automatique se fait de deux manière, dans l’ordre de priorité :

- la valeur renseignée dans l’attribut data-fr-analytics-page-total sur le composant fr-pagination
Expand All @@ -271,7 +271,7 @@ Si le composant Pagination est présent, la récupération automatique se fait d

##### filters

* _Array`<String>`_ (EA: page\_filters)
* _Array`<String>`_ (EA: page_filters)

`window.dsfr.analytics.page.filters`

Expand Down
4 changes: 2 additions & 2 deletions src/analytics/doc/analytics/collector/site.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ window.dsfr.analytics.site
window.dsfr = {
analytics: {
site: {
environment: 'production', // by default development \['development', 'stage', 'production'\]
environment: 'production', // by default development ['development', 'stage', 'production']
entity: 'Ministère des armées', // Entity responsible for website
language: '', // language of the website (ISO 639-1). default to html lang
target: 'target', // site target
Expand Down Expand Up @@ -96,7 +96,7 @@ _String_ (EA: site\_region)

`window.dsfr.analytics.site.region`

Défini la région du site (pour les sites régionaux) au format
Défini la région du site (pour les sites régionaux) au format
[ISO 3166-2:FR](https://fr.wikipedia.org/wiki/ISO_3166-2:FR#R.C3.A9gions_m.C3.A9tropolitaines)

* * *
Expand Down
2 changes: 0 additions & 2 deletions src/analytics/doc/analytics/installation/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ La configuration doit être placée **avant** les fichiers `patch.module.js`, `d
```javascript
<script>
window.dsfr = {
verbose: true,
analytics: {
domain: ' mon.domainedetracking.com',
// collection: 'manual',
Expand All @@ -19,7 +18,6 @@ La configuration doit être placée **avant** les fichiers `patch.module.js`, `d
// ...
},
site: {
production: 'false',
entity: 'Ministère des armées', // Entity responsible for website
}
}
Expand Down
13 changes: 0 additions & 13 deletions src/analytics/example/component/modal/modal-links/index.ejs

This file was deleted.

1 change: 1 addition & 0 deletions src/analytics/example/config.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
template: 'nom template', // page template
// group: 'group', // page group. if not defined, fallback to template value
// segment: 'segment', // site segment. if not defined, fallback to template value
date: '2021-11-08',
subtemplate: 'sous template', // page sub template
theme: 'theme page', // page theme
subtheme: 'page sous theme', // page subtheme
Expand Down
2 changes: 1 addition & 1 deletion src/analytics/example/spa/agnostic/index.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
</label>
<input class="<%= prefix %>-input" aria-describedby="search-121-input-messages"
placeholder="Rechercher" id="search-121-input" type="search">
<div class="<%= prefix %>-messages-group" id="search-121-input-messages" aria-live="assertive">
<div class="<%= prefix %>-messages-group" id="search-121-input-messages" aria-live="polite">
</div>
<button class="<%= prefix %>-btn" id="search-btn-132" title="Rechercher">
Rechercher
Expand Down
2 changes: 1 addition & 1 deletion src/analytics/example/spa/angular/_index.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ app.config(function($routeProvider) {
Rechercher
</label>
<input class="fr-input" aria-describedby="search-121-input-messages" placeholder="Rechercher" id="search-121-input" type="search"/>
<div class="fr-messages-group" id="search-121-input-messages" aria-live="assertive">
<div class="fr-messages-group" id="search-121-input-messages" aria-live="polite">
</div>
<button class="fr-btn" id="search-btn-132" title="Rechercher">
Rechercher
Expand Down
2 changes: 1 addition & 1 deletion src/analytics/example/spa/react/index.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
Rechercher
</label>
<input class="fr-input" aria-describedby="search-121-input-messages" placeholder="Rechercher" id="search-121-input" type="search"/>
<div class="fr-messages-group" id="search-121-input-messages" aria-live="assertive">
<div class="fr-messages-group" id="search-121-input-messages" aria-live="polite">
</div>
<button class="fr-btn" id="search-btn-132" title="Rechercher">
Rechercher
Expand Down
2 changes: 1 addition & 1 deletion src/analytics/example/spa/vue/index.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
Rechercher
</label>
<input class="<%= prefix %>-input" aria-describedby="search-121-input-messages" placeholder="Rechercher" id="search-121-input" type="search">
<div class="<%= prefix %>-messages-group" id="search-121-input-messages" aria-live="assertive">
<div class="<%= prefix %>-messages-group" id="search-121-input-messages" aria-live="polite">
</div>
<button class="<%= prefix %>-btn" id="search-btn-132" title="Rechercher">
Rechercher
Expand Down
1 change: 0 additions & 1 deletion src/analytics/i18n/fr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ subdir:
link-external: Lien externe
link-download: Lien de téléchargement
modal: Modale (modal)
modal-links: Modale avec zone d'action et liens
navigation: Navigation principale (navigation)
notice: Bandeau d'information (notice)
page: Pages
Expand Down
10 changes: 7 additions & 3 deletions src/analytics/script/analytics/utils/hierarchy/member.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,13 @@ class Member {
this._type = Type.COMPONENT;
this._isValid = instance.validate(this._target);
const selector = Array.from({ length: 6 }, (v, i) => `h${i + 1}`).join(',');
const heading = this._node.closest(selector);
if (heading) {
this._level = Number(heading.tagName.charAt(1)) - 1;
const top = Array.from(this._node.querySelectorAll(selector)).map(heading => new Heading(heading)).sort((a, b) => a.level - b.level)[0];
if (top && top.level <= this._level) this._level = top.level - 1;

const hx = this._node.closest(selector);
if (hx) {
const heading = new Heading(hx);
if (heading.level <= this._level) this._level = heading.level - 1;
}

if (!isNaN(instance.level) && instance.level < this._level) this._level = instance.level;
Expand Down
Loading

0 comments on commit ec25536

Please sign in to comment.