Skip to content

Commit e68ff67

Browse files
i18n(fr): update configuration-reference.mdx (#14269)
Co-authored-by: Yan <61414485+yanthomasdev@users.noreply.github.com>
1 parent 85c4da1 commit e68ff67

1 file changed

Lines changed: 157 additions & 5 deletions

File tree

src/content/docs/fr/reference/configuration-reference.mdx

Lines changed: 157 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -668,7 +668,7 @@ Un objet de configuration qui vous permet de remplacer les sources par défaut d
668668

669669
<p>
670670

671-
**Type :** `Array<CspHash>`<br />
671+
**Type :** `Array<CspHashEntry>`<br />
672672
**Par défaut :** `[]`<br />
673673
<Since v="6.0.0" />
674674
</p>
@@ -677,6 +677,13 @@ Une liste des hachages supplémentaires à afficher.
677677

678678
Vous devez fournir des hachages commençant par `sha384-`, `sha512-` ou `sha256-`. Toute autre valeur entraînera une erreur de validation. Ces hachages sont ajoutés à toutes les pages.
679679

680+
Depuis Astro v7.1, chaque entrée peut être une chaîne de caractères ou un objet. L'objet permet de changer la portée du hachage via le champ `kind`. Le champ `kind` accepte :
681+
- `"element"` : il stockera le hachage dans la directive `style-src-elem`
682+
- `"attribute"` : il stockera le hachage dans la directive `style-src-attr`
683+
- `"default"` : il stockera le hachage dans la directive `style-src`
684+
685+
Un hachage par défaut (`"default"`) est placé sur `style-src`, ou sur `style-src-elem` à la place une fois que vous utilisez `kind: "element"`. Il n'est jamais ajouté à `style-src-attr`. Les hachages générés par Astro suivent la même règle.
686+
680687
```js title="astro.config.mjs"
681688
import { defineConfig } from 'astro/config';
682689

@@ -706,17 +713,54 @@ Après la compilation, l'élément `<meta>` inclura vos hachages supplémentaire
706713
>
707714
```
708715

716+
En restreignant un hachage à `"element"`, il est stocké dans `style-src-elem` à la place. Les hachages générés par Astro y sont également déplacés :
717+
718+
```js title="astro.config.mjs"
719+
import { defineConfig } from 'astro/config';
720+
721+
export default defineConfig({
722+
security: {
723+
csp: {
724+
styleDirective: {
725+
hashes: [{ hash: "sha256-styleHash", kind: "element" }]
726+
}
727+
}
728+
}
729+
});
730+
```
731+
732+
Après la compilation, l'élément `<meta>` inclura le hachage dans la directive `style-src-elem` à la place de `style-src` :
733+
734+
```html
735+
<meta
736+
http-equiv="content-security-policy"
737+
content="
738+
style-src 'self';
739+
style-src-elem 'self' 'sha256-styleHash' 'sha256-generatedByAstro';
740+
"
741+
>
742+
```
743+
709744
###### security.csp.styleDirective.resources
710745

711746
<p>
712747

713-
**Type :** `Array<string>`<br />
748+
**Type :** `Array<CspResourceEntry>`<br />
714749
**Par défaut :** `[]`<br />
715750
<Since v="6.0.0" />
716751
</p>
717752

718753
Liste des sources valides pour les directives `style-src` permettant de remplacer les sources par défaut d'Astro. Cela n'inclura pas `self` par défaut, et vous devrez l'inclure dans cette liste si vous souhaitez la conserver. Ces ressources sont ajoutées à toutes les pages.
719754

755+
Depuis Astro v7.1, chaque entrée peut être une chaîne de caractères ou un objet. L'objet permet de changer la portée de la source via le champ `kind`. Le champ `kind` accepte :
756+
- `"element"` : il stockera la source dans la directive `style-src-elem`
757+
- `"attribute"` : il stockera la source dans la directive `style-src-attr`
758+
- `"default"` : il stockera la source dans la directive `style-src`
759+
760+
Les sources de type `"attribute"` doivent être l'une des suivantes : `'none'`, `'unsafe-hashes'`, `'unsafe-inline'` ou `'report-sample'`, et `'unsafe-hashes'` ne peut pas être utilisé avec `"element"`. Un cas d'utilisation courant consiste à autoriser les attributs `style` incorporés à des éléments (par exemple, à partir de `define:vars` ou Shiki) avec `{ resource: "'unsafe-inline'", kind: "attribute" }`.
761+
762+
Contrairement à un hachage, une source par défaut (`"default"`) n'est jamais déplacée : elle reste uniquement dans `style-src`. En cas de mélange entre des ressources par défaut et des ressources spécifiques (par exemple `"element"` ou `"attribute"`), Astro émet un avertissement.
763+
720764
```js title="astro.config.mjs"
721765
import { defineConfig } from 'astro/config';
722766

@@ -747,6 +791,37 @@ Après la compilation, l'élément `<meta>` appliquera vos sources aux directive
747791
</head>
748792
```
749793

794+
Une source par défaut (`"default"`) n'est pas copiée dans les directives plus spécifiques. Ici, une source par défaut et une source de type `"element"` sont générées dans des directives différentes :
795+
796+
```js title="astro.config.mjs"
797+
import { defineConfig } from 'astro/config';
798+
799+
export default defineConfig({
800+
security: {
801+
csp: {
802+
styleDirective: {
803+
resources: [
804+
"https://styles.cdn.example.com",
805+
{ resource: "https://elements.cdn.example.com", kind: "element" }
806+
]
807+
}
808+
}
809+
}
810+
});
811+
```
812+
813+
Après la compilation, l'élément `<meta>` conserve `https://styles.cdn.example.com` uniquement dans `style-src`. Cela signifie que cette valeur n'est pas ajoutée à `style-src-elem` et ne s'applique pas aux éléments `<style>` et `<link>` (le hachage généré, en revanche, y est déplacé) :
814+
815+
```html
816+
<meta
817+
http-equiv="content-security-policy"
818+
content="
819+
style-src https://styles.cdn.example.com;
820+
style-src-elem https://elements.cdn.example.com 'sha256-generatedByAstro';
821+
"
822+
>
823+
```
824+
750825
Lorsque des ressources sont insérées plusieurs fois ou à partir de plusieurs sources (par exemple définies dans votre configuration `csp` et ajoutées à l'aide de [l'API d'exécution de CSP](/fr/reference/api-reference/#csp)), Astro fusionnera et dédupliquera toutes les ressources pour créer votre élément `<meta>`.
751826

752827
##### security.csp.scriptDirective
@@ -764,7 +839,7 @@ Un objet de configuration qui vous permet de remplacer les sources par défaut d
764839

765840
<p>
766841

767-
**Type :** `Array<CspHash>`<br />
842+
**Type :** `Array<CspHashEntry>`<br />
768843
**Par défaut :** `[]`<br />
769844
<Since v="6.0.0" />
770845
</p>
@@ -773,6 +848,13 @@ Une liste des hachages supplémentaires à afficher.
773848

774849
Vous devez fournir des hachages commençant par `sha384-`, `sha512-` ou `sha256-`. Toute autre valeur entraînera une erreur de validation. Ces hachages sont ajoutés à toutes les pages.
775850

851+
Depuis Astro v7.1, chaque entrée peut être une chaîne de caractères ou un objet. L'objet permet de changer la portée du hachage via le champ `kind`. Le champ `kind` accepte :
852+
- `"element"` : il stockera le hachage dans la directive `script-src-elem`
853+
- `"attribute"` : il stockera le hachage dans la directive `script-src-attr`
854+
- `"default"` : il stockera le hachage dans la directive `script-src`
855+
856+
Un hachage par défaut (`"default"`) est placé sur `script-src`, ou sur `script-src-elem` à la place une fois que vous utilisez `kind: "element"`. Il n'est jamais ajouté à `script-src-attr`. Les hachages générés par Astro suivent la même règle.
857+
776858
```js title="astro.config.mjs"
777859
import { defineConfig } from 'astro/config';
778860

@@ -802,17 +884,54 @@ Après la compilation, l'élément `<meta>` inclura vos hachages supplémentaire
802884
>
803885
```
804886

887+
En restreignant un hachage à `"element"`, il est stocké dans `script-src-elem` à la place. Les hachages générés par Astro y sont également déplacés :
888+
889+
```js title="astro.config.mjs"
890+
import { defineConfig } from 'astro/config';
891+
892+
export default defineConfig({
893+
security: {
894+
csp: {
895+
scriptDirective: {
896+
hashes: [{ hash: "sha256-scriptHash", kind: "element" }]
897+
}
898+
}
899+
}
900+
});
901+
```
902+
903+
Après la compilation, l'élément `<meta>` inclura le hachage dans la directive `script-src-elem` au lieu de `script-src` :
904+
905+
```html
906+
<meta
907+
http-equiv="content-security-policy"
908+
content="
909+
script-src 'self';
910+
script-src-elem 'self' 'sha256-scriptHash' 'sha256-generatedByAstro';
911+
"
912+
>
913+
```
914+
805915
###### security.csp.scriptDirective.resources
806916

807917
<p>
808918

809-
**Type :** `Array<string>`<br />
919+
**Type :** `Array<CspResourceEntry>`<br />
810920
**Par défaut :** `[]`<br />
811921
<Since v="6.0.0" />
812922
</p>
813923

814924
Liste des sources valides pour les directives `script-src` permettant de remplacer les sources par défaut d'Astro. Cela n'inclura pas `self` par défaut, et vous devrez l'inclure dans cette liste si vous souhaitez la conserver. Ces ressources sont ajoutées à toutes les pages.
815925

926+
Depuis Astro v7.1, chaque entrée peut être une chaîne de caractères ou un objet. L'objet permet de changer la portée de la source via le champ `kind`. Le champ `kind` accepte :
927+
- `"element"` : il stockera la source dans la directive `script-src-elem`
928+
- `"attribute"` : il stockera la source dans la directive `script-src-attr`
929+
- `"default"` : il stockera la source dans la directive `script-src`
930+
931+
Les sources de type `"attribute"` doivent être l'une des suivantes : `'none'`, `'unsafe-hashes'`, `'unsafe-inline'` ou `'report-sample'`, et `'unsafe-hashes'` ne peut pas être utilisé avec `"element"`.
932+
933+
Contrairement à un hachage, une source par défaut (`"default"`) n'est jamais déplacée et reste uniquement dans `script-src`. Cela ne s'applique pas lorsque vous restreignez également la portée des sources de type `"element"` ou `"attribute"`, car les navigateurs ne disposent pas de solution de repli. Astro émet un avertissement lorsque cela se produit. Ajoutez-la également à la directive la plus spécifique, si nécessaire.
934+
816935
```js title="astro.config.mjs"
817936
import { defineConfig } from 'astro/config';
818937

@@ -842,6 +961,37 @@ Après la compilation, l'élément `<meta>` appliquera plutôt vos sources aux d
842961
</head>
843962
```
844963

964+
Une source par défaut (`"default"`) n'est pas copiée dans les directives plus spécifiques. Ici, une source par défaut et une source de type `"element"` sont générées dans des directives différentes :
965+
966+
```js title="astro.config.mjs"
967+
import { defineConfig } from 'astro/config';
968+
969+
export default defineConfig({
970+
security: {
971+
csp: {
972+
scriptDirective: {
973+
resources: [
974+
"https://cdn.example.com",
975+
{ resource: "https://elements.cdn.example.com", kind: "element" }
976+
]
977+
}
978+
}
979+
}
980+
});
981+
```
982+
983+
Après la compilation, l'élément `<meta>` conserve `https://cdn.example.com` uniquement dans `script-src`. Cela signifie que cette valeur n'est pas ajoutée à `script-src-elem` et ne s'applique pas aux éléments `<script>` (le hachage généré, en revanche, y est déplacé) :
984+
985+
```html
986+
<meta
987+
http-equiv="content-security-policy"
988+
content="
989+
script-src https://cdn.example.com;
990+
script-src-elem https://elements.cdn.example.com 'sha256-generatedByAstro';
991+
"
992+
>
993+
```
994+
845995
Lorsque des ressources sont insérées plusieurs fois ou à partir de plusieurs sources (par exemple définies dans votre configuration `csp` et ajoutées à l'aide de [l'API d'exécution de CSP](/fr/reference/api-reference/#csp)), Astro fusionnera et dédupliquera toutes les ressources pour créer votre élément `<meta>`.
846996

847997
###### security.csp.scriptDirective.strictDynamic
@@ -869,6 +1019,8 @@ export default defineConfig({
8691019
});
8701020
```
8711021

1022+
Cela s'applique à `script-src`. Lorsque vous restreignez également les ressources ou les hachages de scripts à `script-src-elem` (en utilisant `kind: "element"`), `script-src-elem` hérite de `strict-dynamic`, de sorte que les éléments `<script>` injectés dynamiquement continuent de fonctionner.
1023+
8721024
## Options de compilation
8731025

8741026
### build.format
@@ -1258,7 +1410,7 @@ Consultez [la référence de l'API de journalisation](/fr/reference/logger-refer
12581410

12591411
<p>
12601412

1261-
**Type :** `string`<br />
1413+
**Type :** `string | URL`<br />
12621414
<Since v="7.0.0" />
12631415
</p>
12641416

0 commit comments

Comments
 (0)