Skip to content

Commit

Permalink
i18n(fr): Update guides/integrations-guide/*from #9240 (#10328)
Browse files Browse the repository at this point in the history
* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Update `guides/integrations-guide/*`from #9240

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Err tab

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Remove <reference... L116 in netlify

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Remove "côté serveur" L14 in solid-js

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Remove "squoosh" L190 in vercel

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Remove "<reference..." L389 in vercel

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): remove `await` from `import.meta.glob()` from #10332

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): content loader configuration from #10187 (the link at L101 in mdx.mdx file not working)

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): content loader configuration from #10187 (the link at L101 in mdx.mdx file not working)

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): Note for myself, mdx.mdx line 101 : When content-collections will be updated, put this text with good link

Signed-off-by: Thomas Bonnet <[email protected]>

* i18n(fr): L237 in vercel.mdx "#astrorequest"

Signed-off-by: Thomas Bonnet <[email protected]>

---------

Signed-off-by: Thomas Bonnet <[email protected]>
Co-authored-by: Armand Philippot <[email protected]>
  • Loading branch information
thomasbnt and ArmandPhilippot authored Dec 11, 2024
1 parent 92de0b8 commit d757ebe
Show file tree
Hide file tree
Showing 20 changed files with 98 additions and 278 deletions.
2 changes: 2 additions & 0 deletions src/content/docs/fr/guides/integrations-guide/alpinejs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
type: integration
title: '@astrojs/alpinejs'
description: Apprenez à utiliser l'intégration du framework @astrojs/alpinejs pour étendre le support des composants dans votre projet Astro.
sidebar:
label: Alpine.js
githubIntegrationURL: 'https://github.com/withastro/astro/tree/main/packages/integrations/alpinejs/'
category: renderer
i18nReady: true
Expand Down
6 changes: 3 additions & 3 deletions src/content/docs/fr/guides/integrations-guide/cloudflare.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@
type: integration
title: '@astrojs/cloudflare'
description: "Apprendre à utiliser l'adaptateur SSR @astrojs/cloudflare pour déployer votre projet Astro."
sidebar:
label: Cloudflare
githubIntegrationURL: 'https://github.com/withastro/adapters/tree/main/packages/cloudflare/'
category: adapter
i18nReady: true
---

import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro'

Cet adaptateur permet à Astro de déployer votre [site rendu `hybrid` ou `server`](/fr/guides/on-demand-rendering/) sur [Cloudflare](https://www.cloudflare.com/).
Cet adaptateur permet à Astro de déployer vos [routes rendues à la demande](/fr/guides/on-demand-rendering/) sur [Cloudflare](https://www.cloudflare.com/).

Si vous utilisez Astro comme constructeur de sites statiques, vous n'avez pas besoin d'adaptateur.

Expand Down Expand Up @@ -289,8 +291,6 @@ Vous pouvez créer un script pnpm pour lancer `wrangler types` automatiquement a
Vous pouvez taper l'objet `runtime` en utilisant `Runtime` :

```ts title="src/env.d.ts"
/// <reference path="../.astro/types.d.ts" />

type Runtime = import('@astrojs/cloudflare').Runtime<Env>;

declare namespace App {
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/fr/guides/integrations-guide/db.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
type: integration
title: '@astrojs/db'
description: "Apprenez à utiliser l'intégration @astrojs/db dans votre projet Astro."
sidebar:
label: DB
githubIntegrationURL: 'https://github.com/withastro/astro/tree/main/packages/db/'
category: other
i18nReady: true
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/fr/guides/integrations-guide/deno.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
title: '@deno/astro-adapter'
description: L'adaptateur Deno Astro
sidebar:
label: Deno
i18nReady: true
---

Expand Down
4 changes: 4 additions & 0 deletions src/content/docs/fr/guides/integrations-guide/index.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
title: Utiliser les Intégrations
description: Apprenez à ajouter des intégrations à votre projet Astro.
sidebar:
label: Vue d'ensemble des intégrations
i18nReady: true
---

Expand All @@ -13,6 +16,7 @@ Les **intégrations Astro** permettent d'ajouter de nouvelles fonctionnalités e
Les intégrations peuvent...

- Débloquer React, Vue, Svelte, Solid et d'autres frameworks UI populaires.
- Activer le rendu à la demande avec un [adaptateur SSR](/fr/guides/on-demand-rendering/).
- Intégrer des outils comme Tailwind et Partytown avec quelques lignes de code.
- Ajouter de nouvelles fonctionnalités à votre projet, comme la génération automatique de sitemap.
- Écrire du code personnalisé qui s'accroche au processus de construction, au serveur de développement, et plus encore.
Expand Down
218 changes: 12 additions & 206 deletions src/content/docs/fr/guides/integrations-guide/lit.mdx
Original file line number Diff line number Diff line change
@@ -1,218 +1,24 @@
---
type: integration
title: '@astrojs/lit'
description: "Apprenez à utiliser l'intégration du framework @astrojs/lit pour élargir la prise en charge des composants dans votre projet Astro."
githubIntegrationURL: 'https://github.com/withastro/astro/tree/main/packages/integrations/lit/'
category: renderer
title: 'Lit'
description: Utiliser Lit pour étendre la prise en charge des composants dans votre projet Astro.
sidebar:
label: Lit
i18nReady: true
---
import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro'

Cette **[intégration Astro][astro-integration]** permet un rendu côté serveur et une hydratation côté client pour vos éléments personnalisés [Lit](https://lit.dev/).

## Installation

Astro inclut une commande `astro add` pour automatiser l'installation des intégrations officielles. Si vous préférez, vous pouvez [installer les intégrations manuellement](#installation-manuelle) à la place.

Pour installer `@astrojs/lit`, exécutez ce qui suit depuis le répertoire de votre projet et suivez les instructions :

<PackageManagerTabs>
<Fragment slot="npm">
```sh
npx astro add lit
```
</Fragment>
<Fragment slot="pnpm">
```sh
pnpm astro add lit
```
</Fragment>
<Fragment slot="yarn">
```sh
yarn astro add lit
```
</Fragment>
</PackageManagerTabs>

Si vous rencontrez des problèmes, [n'hésitez pas à nous les signaler sur GitHub](https://github.com/withastro/astro/issues) et essayez les étapes d'installation manuelle ci-dessous.

### Installation manuelle

Tout d'abord, installez le paquet `@astrojs/lit` :

<PackageManagerTabs>
<Fragment slot="npm">
```sh
npm install @astrojs/lit
```
</Fragment>
<Fragment slot="pnpm">
```sh
pnpm add @astrojs/lit
```
</Fragment>
<Fragment slot="yarn">
```sh
yarn add @astrojs/lit
```
</Fragment>
</PackageManagerTabs>

La plupart des gestionnaires de paquets installent également les dépendances associées. Si vous voyez un avertissement "Cannot find package 'lit'" (ou similaire) lorsque vous démarrez Astro, vous devrez installer `lit` et `@webcomponents/template-shadowroot` :

<PackageManagerTabs>
<Fragment slot="npm">
```sh
npm install lit @webcomponents/template-shadowroot
```
</Fragment>
<Fragment slot="pnpm">
```sh
pnpm add lit @webcomponents/template-shadowroot
```
</Fragment>
<Fragment slot="yarn">
```sh
yarn add lit @webcomponents/template-shadowroot
```
</Fragment>
</PackageManagerTabs>

Ensuite, appliquez l'intégration à votre fichier `astro.config.*` en utilisant la propriété `integrations` :

```js ins={2} ins="lit()" title="astro.config.mjs"
import { defineConfig } from 'astro/config';
import lit from '@astrojs/lit';

export default defineConfig({
// ...
integrations: [lit()],
});
```

## Démarrage

Pour utiliser votre premier composant Lit dans Astro, consultez notre [documentation sur les Frameworks UI][astro-ui-frameworks]. Ceci explique :

* 📦 comment les composants du Framework sont chargés,
* 💧 les options d'hydratation côté client, et
* 🤝 les possibilités de mélanger et d'imbriquer les Frameworks.

L'écriture et l'importation d'un composant Lit dans Astro se présentent comme suit :

```js title="src/components/my-element.js"
import { LitElement, html } from 'lit';

export class MyElement extends LitElement {
render() {
return html`<p>Hello le monde! Depuis my-element</p>`;
}
}

customElements.define('my-element', MyElement);
```

Le composant est maintenant prêt à être importé via le frontmatter Astro :

```astro title="src/pages/index.astro"
---
import { MyElement } from '../components/my-element.js';
---
<MyElement />
```

:::note
Lit nécessite la présence de variables globales du navigateur tel que `HTMLElement` et `customElements`. Pour cette raison, le moteur de rendu Lit adapte le serveur avec ces éléments globaux pour que Lit puisse fonctionner. Il se peut que vous rencontriez des bibliothèques qui fonctionnent mal à cause de cela.
:::caution[Obsolète]
Cette intégration Astro permettant un rendu à la demande et une hydratation côté client pour vos éléments personnalisés [Lit](https://lit.dev/) a été supprimée dans Astro 5.0.
:::

### Décorateurs expérimentaux

Pour utiliser les [décorateurs expérimentaux dans Lit](https://lit.dev/docs/components/decorators/), ajoutez ce qui suit à votre fichier `tsconfig.json` :

```json title="tsconfig.json" add={3}
{
"compilerOptions": {
"experimentalDecorators": true,
}
}
```

Cela vous permet d'utiliser des décorateurs expérimentaux tels que `@customElement` et `@state` pour enregistrer un élément personnalisé et définir une propriété d'état dans votre composant Lit :

```ts title="src/components/my-element.ts"
import { LitElement, html } from "lit";
import { customElement, state } from "lit/decorators.js";

@customElement("my-element")
export class MyElement extends LitElement {
@state() name = "my-element";

override render() {
return html`<p>Bonjour à tous ! De ${this.name}</p>`;
}
}
```

### Polyfills et hydratation

Le moteur de rendu gère automatiquement l'ajout des polyfills appropriés pour le support des navigateurs qui n'ont pas Declarative Shadow DOM. Le polyfill fait environ *1.5kB*. Si le navigateur supporte Declarative Shadow DOM, moins de 250 octets sont chargés (pour détecter le support).

L'hydratation est également gérée automatiquement. Vous pouvez utiliser les mêmes directives d'hydratation telles que `client:load`, `client:idle` et `client:visible` que vous pouvez utiliser avec d'autres bibliothèques supportées par Astro.
Vous pouvez continuer à utiliser Lit pour les composants client en ajoutant une balise de script côté client. Par exemple :

```astro
---
import { MyElement } from '../components/my-element.js';
---
<script>
import "../components/MyTabs";
</script>
<MyElement client:visible />
<my-tabs title="Voici mes onglets">...</my-tabs>
```

Ce qui précède ne chargera le JavaScript de l'élément que lorsque qu'il sera visible par l'utilsateur. Comme il s'agit d'un rendu serveur, l'utilisateur ne verra pas de jank ; le chargement et l'hydratation se feront de manière transparente.

## Dépannage

Pour obtenir de l'aide, consultez le canal `#support` sur [Discord](https://astro.build/chat). Nos sympathiques membres de l'équipe d'assistance sont là pour vous aider !

Vous pouvez également consulter notre [Documentation d'intégration Astro][astro-integration] pour plus d'informations sur les intégrations.

Les problèmes courants sont listés ci-dessous :

### Éléments globaux du navigateur

Le SSR de l'intégration Lit fonctionne en ajoutant quelques propriétés globales du navigateur à l'environnement global. Certaines des propriétés ajoutées incluent `window`, `document`, et `location`.

Ces propriétés globales *peuvent* interférer avec d'autres bibliothèques qui pourraient utiliser l'existence de ces variables pour détecter qu'elles s'exécutent dans le navigateur, alors qu'elles s'exécutent en fait dans le serveur. Cela peut provoquer des bogues avec ces bibliothèques.

Pour cette raison, l'intégration de Lit peut ne pas être compatible avec ces types de bibliothèques. Une chose qui peut aider est de changer l'ordre des intégrations lorsque Lit interfère avec d'autres intégrations :

```js lang="js" title="astro.config.mjs" ins={7} del={6}
import { defineConfig } from 'astro/config';
import vue from '@astrojs/vue';
import lit from '@astrojs/lit';

export default defineConfig({
integrations: [vue(), lit()]
integrations: [lit(), vue()]
});
```

L'ordre correct peut être différent en fonction de la cause fondamentale du problème. Cependant, il n'est pas garanti que cela corrige tous les problèmes, et certaines bibliothèques ne peuvent pas être utilisées si vous utilisez l'intégration Lit.

### Gestionnaires de paquets stricts

Lorsque vous utilisez un [gestionnaire de paquets strict](https://pnpm.io/pnpm-vs-npm#npms-flat-tree) comme `pnpm`, vous pouvez obtenir une erreur telle que `ReferenceError : module is not defined` lors de l'exécution de votre site. Pour remédier à ce problème, hissez les dépendances Lit avec un fichier `.npmrc` :

```ini title=".npmrc"
public-hoist-pattern[]=*lit*
```

### Limites

L'intégration Lit est alimentée par `@lit-labs/ssr` qui a quelques limitations. Voir leur [documentation sur les limitations](https://www.npmjs.com/package/@lit-labs/ssr#user-content-notes-and-limitations) pour en savoir plus.

- Astro ne prend pas en charge IntelliSense pour les composants Lit.

[astro-integration]: /fr/guides/integrations-guide/

[astro-ui-frameworks]: /fr/guides/framework-components/#utilisation-des-composants-de-framework
Si vous souhaitez maintenir vous-même une intégration Lit, vous pouvez utiliser la [dernière version publiée de `@astrojs/lit`](https://github.com/withastro/astro/tree/astro%404.13.0/packages/integrations/lit) comme point de départ et mettre à jour les paquets appropriés.
2 changes: 2 additions & 0 deletions src/content/docs/fr/guides/integrations-guide/markdoc.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
type: integration
title: '@astrojs/markdoc'
description: "Apprenez à utiliser l'intégration @astrojs/markdoc dans votre projet Astro."
sidebar:
label: Markdoc
githubIntegrationURL: 'https://github.com/withastro/astro/tree/main/packages/integrations/markdoc/'
category: other
i18nReady: true
Expand Down
23 changes: 23 additions & 0 deletions src/content/docs/fr/guides/integrations-guide/mdx.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
type: integration
title: '@astrojs/mdx'
sidebar:
label: MDX
description: "Apprenez à utiliser l'intégration @astrojs/mdx dans votre projet Astro."
githubIntegrationURL: 'https://github.com/withastro/astro/tree/main/packages/integrations/mdx/'
category: other
Expand Down Expand Up @@ -94,6 +96,27 @@ Elle ajoute également des fonctionnalités supplémentaires au MDX standard, y

Les fichiers `.mdx` doivent être écrits en [syntaxe MDX](https://mdxjs.com/docs/what-is-mdx/#mdx-syntax) plutôt qu'en syntaxe HTML d'Astro.

### Utilisation de MDX avec des collections de contenu

{/*
Pour inclure des fichiers MDX dans une collection de contenus, assurez-vous que votre [chargeur de collection](/fr/guides/content-collections/#defining-the-collection-loader) est configuré pour charger du contenu à partir de fichiers `.mdx` :
*/}

```js title="src/content.config.ts" ins="mdx"
import { defineCollection, z } from 'astro:content';
import { glob } from 'astro/loaders';

const blog = defineCollection({
loader: glob({ pattern: "**/*.{md,mdx}", base: "./src/blog" }),
schema: z.object({
title: z.string(),
description: z.string(),
pubDate: z.coerce.date(),
})

export const collections = { blog };
```
### Utilisation de variables exportées dans MDX
MDX permet d'utiliser les instructions `export` pour ajouter des variables à votre contenu MDX ou pour exporter des données vers un composant qui les importe.
Expand Down
6 changes: 3 additions & 3 deletions src/content/docs/fr/guides/integrations-guide/netlify.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@
type: integration
title: '@astrojs/netlify'
description: "Apprenez à utiliser l'adaptateur SSR @astrojs/netlify pour déployer votre projet Astro."
sidebar:
label: Netlify
githubIntegrationURL: 'https://github.com/withastro/adapters/tree/main/packages/netlify/'
category: adapter
i18nReady: true
---
import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro'

Cet adaptateur permet à Astro de déployer votre [site rendu `hybride` ou `serveur`](/fr/guides/on-demand-rendering/) sur [Netlify](https://www.netlify.com/).
Cet adaptateur permet à Astro de déployer vos [routes rendues à la demande](/fr/guides/on-demand-rendering/) sur [Netlify](https://www.netlify.com/).

Si vous utilisez Astro en tant que constructeur de site statique, vous n'avez pas besoin d'adaptateur.

Expand Down Expand Up @@ -111,8 +113,6 @@ const {
Si vous utilisez TypeScript, vous pouvez obtenir des typages corrects en mettant à jour `src/env.d.ts` pour utiliser `NetlifyLocals` :

```ts title="src/env.d.ts"
/// <reference path="../.astro/types.d.ts" />

type NetlifyLocals = import('@astrojs/netlify').NetlifyLocals

declare namespace App {
Expand Down
4 changes: 3 additions & 1 deletion src/content/docs/fr/guides/integrations-guide/node.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@
type: integration
title: '@astrojs/node'
description: "Apprenez à utiliser l'adaptateur SSR @astrojs/node pour déployer votre projet Astro."
sidebar:
label: Node
githubIntegrationURL: 'https://github.com/withastro/adapters/tree/main/packages/node/'
category: adapter
i18nReady: true
---

import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro'

Cet adaptateur permet à Astro de déployer votre [site rendu `hybrid` ou `server`](/fr/guides/on-demand-rendering/) vers des cibles Node.
Cet adaptateur permet à Astro de déployer vos [routes rendues à la demande](/fr/guides/on-demand-rendering/) vers des cibles Node.

Si vous utilisez Astro comme constructeur de site statique, vous n'avez pas besoin d'adaptateur.

Expand Down
Loading

0 comments on commit d757ebe

Please sign in to comment.