You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<ReadMore>Pour en savoir plus sur la prise en charge de Markdown et de MDX par Astro, consultez notre [guide Markdown/MDX](/fr/guides/markdown-content/).</ReadMore>
240
240
241
-
## Utilisation d'une mise en page unique pour les fichiers `.md`, `.mdx` et `.astro`.
241
+
## Utilisation de TypeScript avec des mises en page
242
242
243
-
Une unique mise en page Astro peut être écrite pour recevoir l'objet `frontmatter` des fichiers `.md`et `.mdx`, ainsi que toutes les propriétés nommées, passées depuis les fichiers `.astro`.
243
+
Toute mise en page Astro peut être modifiée pour introduire la sécurité des types et la saisie semi-automatique en fournissant les types pour vos propriétés :
244
244
245
-
Dans l'exemple ci-dessous, la mise en page va afficher le titre de la page, soit depuis la propriété YAML `title` de frontmatter, soit depuis un composant Astro passant un attribut `title` :
Les composants de mises en pages ne doivent pas nécessairement contenir une page entière de HTML. Vous pouvez décomposer vos mises en page en composants plus petits et combiner des composants de mises en page pour créer des templates de page encore plus flexibles. Ce modèle est utile lorsque vous souhaitez partager du code entre plusieurs mises en page.
Copy file name to clipboardExpand all lines: src/content/docs/fr/basics/project-structure.mdx
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -118,6 +118,10 @@ Pour plus d'informations en ce qui concerne la création d'un nouveau fichier `p
118
118
119
119
Ce fichier est généré dans chaque modèle de démarrage et contient des options de configuration pour votre projet Astro. Ici, vous pouvez spécifier les intégrations à utiliser, les options de construction, les options du serveur, et plus encore.
120
120
121
+
Astro prend en charge plusieurs formats de fichiers pour son fichier de configuration JavaScript : `astro.config.js`, `astro.config.mjs`, `astro.config.cjs` et `astro.config.ts`. Nous vous recommandons d'utiliser `.mjs` dans la plupart des cas ou `.ts` si vous souhaitez utiliser TypeScript dans votre fichier de configuration.
122
+
123
+
Le chargement du fichier de configuration TypeScript est géré à l'aide de [`tsm`](https://github.com/lukeed/tsm) et respectera les options `tsconfig` de votre projet.
124
+
121
125
Allez voir la [documentation de configuration](/fr/reference/configuration-reference/) pour plus d'informations sur les options de configuration.
Les deux fonctions renvoient des entrées de contenu telles que définies par le type [`CollectionEntry`](/fr/reference/api-reference/#collection-entry-type).
346
+
Les deux fonctions renvoient des entrées de contenu telles que définies par le type [`CollectionEntry`](/fr/reference/api-reference/#type-des-entrées-de-collection).
Un composant peut également passer une entrée de contenu entière en tant que propriété.
440
440
441
-
Si vous faites cela, vous pouvez utiliser l'utilitaire [`CollectionEntry`](/fr/reference/api-reference/#collection-entry-type) pour taper correctement les propriétés de vos composants en utilisant TypeScript. Cet utilitaire prend un argument de type chaîne qui correspond au nom du schéma de votre collection, et hérite de toutes les propriétés du schéma de cette collection.
441
+
Si vous faites cela, vous pouvez utiliser l'utilitaire [`CollectionEntry`](/fr/reference/api-reference/#type-des-entrées-de-collection) pour taper correctement les propriétés de vos composants en utilisant TypeScript. Cet utilitaire prend un argument de type chaîne qui correspond au nom du schéma de votre collection, et hérite de toutes les propriétés du schéma de cette collection.
442
442
443
443
```astro /CollectionEntry(?:<.+>)?/
444
444
---
@@ -539,7 +539,38 @@ Explorez le dossier `src/pages/` présent dans la [base de code du tutoriel Cons
539
539
540
540
Si vous avez un projet Astro existant, comme un blog, qui utilise des fichiers Markdown ou MDX dans les sous-dossiers de `src/pages/`, envisagez de migrer le contenu associé ou les fichiers de données vers des collections de contenus.
541
541
542
-
Voyez comment convertir un exemple de blog basique de `src/pages/posts/` à `src/content/posts` dans notre [tutoriel étape par étape](/fr/tutorials/add-content-collections/) qui utilise la base de code du [projet fini du tutoriel Construire un blog](https://github.com/withastro/blog-tutorial-demo).
542
+
Regardez comment convertir un exemple de blog basique de `src/pages/posts/` à `src/content/posts` dans notre [tutoriel étape par étape](/fr/tutorials/add-content-collections/) qui utilise la base de code du [projet fini du tutoriel Construire un blog](https://github.com/withastro/blog-tutorial-demo).
543
+
544
+
## Activation de la génération de schémas JSON
545
+
546
+
<p><Sincev="4.13.0" /></p>
547
+
548
+
Si vous travaillez avec des collections de type `data`, Astro générera automatiquement des fichiers de schéma JSON pour votre éditeur afin d'obtenir IntelliSense et la vérification des types. Un fichier séparé sera créé pour chaque collection de données dans votre projet basé sur vos collections définies dans `src/content/config.ts` en utilisant une bibliothèque appelée [`zod-to-json-schema`](https://github.com/StefanTerdell/zod-to-json-schema#known-issues).
549
+
550
+
Cette fonctionnalité nécessite que vous définissiez manuellement le chemin d'accès au fichier de votre schéma comme valeur de `$schema` dans chaque fichier de saisie de données de la collection :
Vous pouvez également définir cette valeur dans les paramètres de votre éditeur. Par exemple, pour définir cette valeur dans [le paramètre `json.schemas` de VSCode](https://code.visualstudio.com/docs/languages/json#_json-schemas-and-settings), indiquez le chemin des fichiers à faire correspondre et l'emplacement de votre schéma JSON :
561
+
562
+
```json
563
+
{
564
+
"json.schemas": [
565
+
{
566
+
"fileMatch": [
567
+
"/src/content/authors/**"
568
+
],
569
+
"url": "./.astro/collections/authors.schema.json"
570
+
}
571
+
]
572
+
}
573
+
```
543
574
544
575
## Activation de la mise en cache de la construction
Copy file name to clipboardExpand all lines: src/content/docs/fr/guides/endpoints.mdx
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@ Pour les sites générés statiquement, vos endpoints personnalisés sont appel
13
13
14
14
Pour créer des endpoint personnalisés, ajoutez un fichier `.js` ou `.ts` à votre dossier `/pages`. L'extension `.js` ou `.ts` sera supprimée pendant le processus de construction, donc le nom du fichier doit inclure l'extension des données que vous souhaitez créer. Par exemple, `src/pages/data.json.ts` générera un endpoint `/data.json`.
15
15
16
-
Les points de terminaison exportent une fonction `GET` (optionnellement `async`) qui reçoit un [objet de contexte](/fr/reference/api-reference/#endpoint-context) avec des propriétés similaires à celles de l'objet global `Astro`. Ici, elle retourne un objet Response avec un champ `name` et `url`, et Astro l'appellera au moment de la construction et utilisera le contenu du body pour générer le fichier.
16
+
Les points de terminaison exportent une fonction `GET` (optionnellement `async`) qui reçoit un [objet de contexte](/fr/reference/api-reference/#contexte-du-point-de-terminaison) avec des propriétés similaires à celles de l'objet global `Astro`. Ici, elle retourne un objet Response avec un champ `name` et `url`, et Astro l'appellera au moment de la construction et utilisera le contenu du body pour générer le fichier.
17
17
18
18
```ts
19
19
// Exemple : src/pages/builtwith.json.ts
@@ -73,7 +73,7 @@ export function getStaticPaths() {
73
73
}
74
74
```
75
75
76
-
Cela va générer 4 points de terminaison JSON au moment du build : `/api/0.json`, `/api/1.json`, `/api/2.json` et `/api/3.json`. Le routage dynamique avec les endpoints fonctionne de la même manière qu'avec les pages, mais parce que l'endpoint est une fonction et non un composant, les [props](/fr/reference/api-reference/#data-passing-with-props) ne sont pas supportées.
76
+
Cela va générer 4 points de terminaison JSON au moment du build : `/api/0.json`, `/api/1.json`, `/api/2.json` et `/api/3.json`. Le routage dynamique avec les endpoints fonctionne de la même manière qu'avec les pages, mais parce que l'endpoint est une fonction et non un composant, les [props](/fr/reference/api-reference/#transfert-de-données-avec-props) ne sont pas supportées.
Tout ce qui est décrit dans la section sur les endpoints des fichiers statiques peut également être utilisé en mode SSR : les fichiers peuvent exporter une fonction `GET` qui reçoit un [objet de contexte](/fr/reference/api-reference/#endpoint-context) avec des propriétés similaires à celles de l'objet global `Astro`.
95
+
Tout ce qui est décrit dans la section sur les endpoints des fichiers statiques peut également être utilisé en mode SSR : les fichiers peuvent exporter une fonction `GET` qui reçoit un [objet de contexte](/fr/reference/api-reference/#contexte-du-point-de-terminaison) avec des propriétés similaires à celles de l'objet global `Astro`.
96
96
97
97
Mais, contrairement au mode `static`, lorsque vous activez le mode de rendu à la demande pour une route, le point de terminaison sera construit lorsqu'il sera demandé. Cela débloque de nouvelles fonctionnalités qui ne sont pas disponibles au moment de la construction, et vous permet de construire des routes d'API qui écoutent les requêtes et exécutent du code de manière sécurisée sur le serveur au moment de l'exécution.
Les composants Astro importés avec `Astro.glob` sont de type [`AstroInstance`](/fr/reference/api-reference/#astro-files). Vous pouvez effectuer le rendu de chaque instance de composant en utilisant sa propriété `default` :
216
+
Les composants Astro importés avec `Astro.glob` sont de type [`AstroInstance`](/fr/reference/api-reference/#fichiers-astro). Vous pouvez effectuer le rendu de chaque instance de composant en utilisant sa propriété `default` :
Copy file name to clipboardExpand all lines: src/content/docs/fr/guides/internationalization.mdx
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -60,7 +60,7 @@ Les dossiers localisés n'ont pas besoin d'être à la racine du dossier `/pages
60
60
61
61
### Créer des liens
62
62
63
-
Une fois le routage i18n configuré, vous pouvez désormais calculer des liens vers des pages de votre site à l'aide des fonctions d'assistance telles que [`getRelativeLocaleURL()`](/fr/reference/api-reference/#getrelativelocaleurl) disponible avec le [module `astro:i18n`](/fr/reference/api-reference/#internationalization-astroi18n). Ces liens générés fourniront toujours la bonne route localisée et peuvent vous aider à utiliser ou à vérifier correctement les URL de votre site.
63
+
Une fois le routage i18n configuré, vous pouvez désormais calculer des liens vers des pages de votre site à l'aide des fonctions d'assistance telles que [`getRelativeLocaleURL()`](/fr/reference/api-reference/#getrelativelocaleurl) disponible avec le [module `astro:i18n`](/fr/reference/api-reference/#internationalisation-astroi18n). Ces liens générés fourniront toujours la bonne route localisée et peuvent vous aider à utiliser ou à vérifier correctement les URL de votre site.
64
64
65
65
Vous pouvez également continuer à rédiger les liens manuellement.
Lors de l'utilisation des fonctions du [module virtuel `astro:i18n`](/fr/reference/api-reference/#internationalization-astroi18n) pour calculer des chemins d'URL valides en fonction de votre configuration (par exemple `getRelativeLocaleUrl()`), [utilisez `path` comme valeur pour `locale`](/fr/reference/api-reference/#getlocalebypath).
335
+
Lors de l'utilisation des fonctions du [module virtuel `astro:i18n`](/fr/reference/api-reference/#internationalisation-astroi18n) pour calculer des chemins d'URL valides en fonction de votre configuration (par exemple `getRelativeLocaleUrl()`), [utilisez `path` comme valeur pour `locale`](/fr/reference/api-reference/#getlocalebypath).
336
336
337
337
#### Limitations
338
338
339
-
Cette fonctionnalité présente certaines restrictions:
339
+
Cette fonctionnalité présente certaines restrictions:
340
340
- L'option `site` est obligatoire.
341
341
- L'option `output` doit être définie sur `"server"`.
342
342
- Il ne peut pas y avoir de pages individuelles pré-générées.
343
343
- La fonctionnalité de l'adaptateur [`functionPerRoute`](/fr/reference/adapter-reference/#functionperroute) n'est pas supportée.
344
344
345
-
Astro s'appuie sur les en-têtes suivants afin de prendre en charge la fonctionnalité:
345
+
Astro s'appuie sur les en-têtes suivants afin de prendre en charge la fonctionnalité:
346
346
-[`X-Forwarded-Host`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host) et [`Host`](https://developer.mozilla.org/fr/docs/Web/HTTP/Headers/Host). Astro utilisera le premier et, s’il n’est pas présent, essaiera le second.
347
347
-[`X-Forwarded-Proto`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto) et [`URL#protocol`](https://developer.mozilla.org/fr/docs/Web/API/URL/protocol) de la requête du serveur.
348
348
349
349
Assurez-vous que votre serveur proxy/plateforme d'hébergement est en mesure de fournir ces informations. Ne pas récupérer ces en-têtes entraînera une page 404 (code de statut).
350
350
351
351
## Détection de la langue du navigateur
352
352
353
-
Le routage i18n d'Astro vous permet d'accéder à deux propriétés de détection de la langue du navigateur dans les pages générées à la demande: `Astro.preferredLocale` et `Astro.preferredLocaleList`. Toutes les pages, y compris les pages statiques pré-générées, ont accès à `Astro.currentLocale`.
353
+
Le routage i18n d'Astro vous permet d'accéder à deux propriétés de détection de la langue du navigateur dans les pages générées à la demande: `Astro.preferredLocale` et `Astro.preferredLocaleList`. Toutes les pages, y compris les pages statiques pré-générées, ont accès à `Astro.currentLocale`.
354
354
355
355
Ceux-ci combinent l'en-tête `Accept-Language` du navigateur et vos paramètres régionaux `locales` (chaînes de caractères ou `codes`) pour respecter automatiquement les langues préférées de votre visiteur.
356
356
357
-
-[`Astro.preferredLocale`](/fr/reference/api-reference/#astropreferredlocale) : Astro peut calculer un **paramètre régional préféré** pour votre visiteur si les paramètres régionaux préférés de son navigateur sont inclus dans votre tableau `locales`. Cette valeur n'est pas définie si aucune correspondance de ce type n'existe.
357
+
-[`Astro.preferredLocale`](/fr/reference/api-reference/#astropreferredlocale) : Astro peut calculer un **paramètre régional préféré** pour votre visiteur si les paramètres régionaux préférés de son navigateur sont inclus dans votre tableau `locales`. Cette valeur n'est pas définie si aucune correspondance de ce type n'existe.
358
358
359
-
-[`Astro.preferredLocaleList`](/fr/reference/api-reference/#astropreferredlocalelist): Un tableau de tous les paramètres régionaux demandés par le navigateur et pris en charge par votre site web. Cela produit une liste de toutes les langues compatibles entre votre site et votre visiteur. La valeur est `[]` si aucune des langues demandées par le navigateur n'est trouvée dans votre tableau `locales`. Si le navigateur ne spécifie aucune langue préférée, cette valeur sera [`i18n.locales`].
359
+
-[`Astro.preferredLocaleList`](/fr/reference/api-reference/#astropreferredlocalelist): Un tableau de tous les paramètres régionaux demandés par le navigateur et pris en charge par votre site web. Cela produit une liste de toutes les langues compatibles entre votre site et votre visiteur. La valeur est `[]` si aucune des langues demandées par le navigateur n'est trouvée dans votre tableau `locales`. Si le navigateur ne spécifie aucune langue préférée, cette valeur sera [`i18n.locales`].
360
360
361
-
-[`Astro.currentLocale`](/fr/reference/api-reference/#astrocurrentlocale): Le paramètre régional calculé à partir de l'URL actuelle, en utilisant la syntaxe spécifiée dans votre configuration `locales`. Si l'URL ne contient pas de préfixe `/[locale]/`, alors la valeur par défaut sera [`i18n.defaultLocale`](/fr/reference/configuration-reference/#i18ndefaultlocale).
361
+
-[`Astro.currentLocale`](/fr/reference/api-reference/#astrocurrentlocale): Le paramètre régional calculé à partir de l'URL actuelle, en utilisant la syntaxe spécifiée dans votre configuration `locales`. Si l'URL ne contient pas de préfixe `/[locale]/`, alors la valeur par défaut sera [`i18n.defaultLocale`](/fr/reference/configuration-reference/#i18ndefaultlocale).
362
362
363
363
Afin de réussir à faire correspondre les préférences de vos visiteurs, fournissez vos `codes` en utilisant le même modèle que celui [utilisé par le navigateur](https://developer.mozilla.org/fr/docs/Web/HTTP/Headers/Accept-Language#syntaxe).
Copy file name to clipboardExpand all lines: src/content/docs/fr/guides/middleware.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,7 +42,7 @@ Le middleware vous permet également de définir et de partager des informations
42
42
43
43
### Objet `context`
44
44
45
-
L'objet [`context`](/fr/reference/api-reference/#endpoint-context) inclut des informations à mettre à disposition d'autres middleware, routes API et routes `.astro` pendant le processus de rendu.
45
+
L'objet [`context`](/fr/reference/api-reference/#contexte-du-point-de-terminaison) inclut des informations à mettre à disposition d'autres middleware, routes API et routes `.astro` pendant le processus de rendu.
46
46
47
47
C'est un argument optionnel passé à `onRequest()` qui peut contenir l'objet `locals` ainsi que toutes les propriétés additionnelles à partager pendant le rendu.Par exemple, l'objet `context` peut inclure les cookies utilisés pour l'authentification.
0 commit comments