Skip to content

Commit

Permalink
i18n(fr): update all the recipes (#10350)
Browse files Browse the repository at this point in the history
* i18n(fr): update all the `recipes`

* reword rendu à la demande

Co-authored-by: Thomas Bonnet <[email protected]>

---------

Co-authored-by: Thomas Bonnet <[email protected]>
  • Loading branch information
ArmandPhilippot and thomasbnt authored Dec 13, 2024
1 parent 3afa945 commit 2e8f308
Show file tree
Hide file tree
Showing 12 changed files with 23 additions and 144 deletions.
2 changes: 1 addition & 1 deletion src/content/docs/fr/recipes/analyze-bundle-size.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ La bibliothèque [`rollup-plugin-visualizer`](https://github.com/btd/rollup-plug
</Steps>

:::note
Compte tenu de l'approche unique d'Astro en matière d'hydratation, le modèle n'est pas nécessairement représentatif de l'ensemble des produits que le client recevra.
Compte tenu de l'approche unique d'Astro en matière d'hydratation, le modèle n'est pas nécessairement représentatif du bundle que le client recevra.

Le visualisateur Rollup montre toutes les dépendances utilisées sur le site, mais il ne décompose pas la taille du paquet par page.
:::
4 changes: 2 additions & 2 deletions src/content/docs/fr/recipes/build-forms-api.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ Un formulaire HTML amène le navigateur à rafraîchir la page ou à naviguer ve
Cette méthode vous montre comment envoyer les données du formulaire au point de terminaison de l'API et comment traiter ces données.

## Prérequis
- Un projet avec [SSR](/fr/guides/on-demand-rendering/) (`output: 'server'` ou `'hybrid'`) activé
- Un projet avec l'[intégration Framework UI](/fr/guides/framework-components/) installé
- Un projet avec [un adaptateur pour le rendu à la demande](/fr/guides/on-demand-rendering/)
- Un projet avec une [intégration Framework UI](/fr/guides/framework-components/) installée

## Recette

Expand Down
1 change: 1 addition & 0 deletions src/content/docs/fr/recipes/build-forms.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -203,3 +203,4 @@ En mode SSR, les pages Astro peuvent à la fois afficher et gérer des formulair
```
</Steps>

4 changes: 2 additions & 2 deletions src/content/docs/fr/recipes/bun.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ bunx create-astro@latest my-astro-project-using-bun
```

:::tip
Vous pouvez également [créer un nouveau projet Astro à partir d'un dépôt Astro GitHub existant](/fr/install-and-setup/#utiliser-un-thème-ou-un-modèle-de-démarrage) en utilisant l'option `--template` :
Vous pouvez également [créer un nouveau projet Astro à partir d'un dépôt Astro GitHub existant](/fr/install-and-setup/#installer-à-partir-de-lassistant-cli) en utilisant l'option `--template` :
```bash
bunx create-astro@latest my-astro-project-using-bun --template eliancodes/brutal
```
Expand Down Expand Up @@ -90,7 +90,7 @@ bunx --bun astro preview

## Ajouter SSR avec Bun

Puisque Bun offre la [compatibilité API Node.js](https://bun.sh/docs/runtime/nodejs-apis), vous pouvez utiliser n'importe quel adaptateur Astro pour le [rendu côté serveur](/fr/guides/on-demand-rendering/) dans votre projet Astro :
Puisque Bun offre la [compatibilité API Node.js](https://bun.sh/docs/runtime/nodejs-apis), vous pouvez utiliser n'importe quel adaptateur Astro pour [un rendu à la demande](/fr/guides/on-demand-rendering/) de votre projet Astro :

```bash
bunx astro add vercel
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/fr/recipes/call-endpoints.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Les points de terminaison peuvent être utilisés pour servir de nombreux types
}
```

2. Sur n'importe quelle page Astro, importez la méthode `GET()` du point de terminaison. Appelez-la avec le [`Astro` global](/fr/reference/api-reference/#astro-global) pour fournir le contexte de la requête, et utilisez la réponse sur la page :
2. Sur n'importe quelle page Astro, importez la méthode `GET()` du point de terminaison. Appelez-la avec le [`Astro` global](/fr/reference/api-reference/) pour fournir le contexte de la requête, et utilisez la réponse sur la page :

```astro title="src/pages/index.astro"
---
Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/fr/recipes/captcha.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ Dans cette recette, une route API est utilisée pour vérifier Google reCAPTCHA
.then((response) => response.json())
.then((gResponse) => {
if (gResponse.success) {
// Captcha vérification avec succès
// Vérification du Captcha avec succès
} else {
// Échec de la vérification Captcha
// Échec de la vérification du Captcha
}
})
}
Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/fr/recipes/docker.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ Les images et les conteneurs Docker peuvent être déployés sur de nombreuses p

## Prérequis

- Docker installé sur votre machine locale. Vous pouvez trouver les instructions d'installation pour votre système d'exploitation [ici](https://docs.docker.com/get-docker/).
- Un fichier Docker dans votre projet. Vous pouvez en savoir plus sur les Dockerfiles [ici](https://docs.docker.com/engine/reference/builder/) et utiliser les Dockerfiles de la section suivante comme point de départ.
- Docker installé sur votre machine locale. Vous pouvez trouver les [instructions d'installation pour votre système d'exploitation ici](https://docs.docker.com/get-docker/).
- Un fichier Docker dans votre projet. Vous pouvez [en savoir plus sur les Dockerfiles ici](https://docs.docker.com/engine/reference/builder/) et utiliser les Dockerfiles de la section suivante comme point de départ.

## Création d'un Dockerfile

Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/fr/recipes/i18n.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -83,10 +83,10 @@ Si vous préférez que la langue par défaut ne soit pas visible dans l'URL cont
- post-2.md
</FileTree>

2. Créez un fichier `src/content/config.ts` et exporter une collection pour chaque type de contenu.
2. Créez un fichier `src/content.config.ts` et exporter une collection pour chaque type de contenu.

```ts
//src/content/config.ts
//src/content.config.ts
import { defineCollection, z } from 'astro:content';

const blogCollection = defineCollection({
Expand Down
8 changes: 3 additions & 5 deletions src/content/docs/fr/recipes/index.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Recettes pratiques
sidebar:
label: Aperçu des recettes
description: Guides pratiques courts et ciblés.
i18nReady: true
---
Expand All @@ -17,8 +19,4 @@ Les recettes officielles d'Astro sont des guides pratiques courts et ciblés qui

## Ressources communautaires

- [Astro Tips](https://astro-tips.dev)

{/*
<ReadMore>Retrouvez plus de recettes écrites et soumises par la communauté dans notre liste de recettes communautaires</ReadMore>
*/}
<ReadMore>Retrouvez plus de recettes écrites et soumises par la communauté sur [Astro Tips](https://astro-tips.dev).</ReadMore>
8 changes: 4 additions & 4 deletions src/content/docs/fr/recipes/rss.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Le paquet [`@astrojs/rss`](https://github.com/withastro/astro/tree/main/packages
// Champ `<description>` dans le fichier xml de sortie
description: "Le guide des étoiles d'un humble astronaute",
// Extraire la propriété "site" de votre projet dans le contexte du point de terminaison.
// https://docs.astro.build/fr/reference/api-reference/#contextsite
// https://docs.astro.build/fr/reference/api-reference/#site
site: context.site,
// Tableau des `<item>`s dans la sortie xml
// Voir la section "Génération d'éléments" pour des exemples utilisant des collections de contenu et des importations globales.
Expand Down Expand Up @@ -114,7 +114,7 @@ Facultatif : remplacez votre schéma de collection de blogs existant pour appliq

Pour vous assurer que chaque entrée de blog produise un élément de flux RSS valide, vous pouvez éventuellement importer et appliquer `rssSchema` au lieu de définir chaque propriété individuelle de votre schéma.

```js title="src/content/config.ts" "rssSchema"
```js title="src/content.config.ts" "rssSchema"
import { defineCollection } from 'astro:content';
import { rssSchema } from '@astrojs/rss';

Expand Down Expand Up @@ -203,15 +203,15 @@ import rss from '@astrojs/rss';
import sanitizeHtml from 'sanitize-html';

export function GET(context) {
const postImportResult = import.meta.glob('../posts/**/*.md', { eager: true });
const postImportResult = import.meta.glob('../posts/**/*.md', { eager: true });
const posts = Object.values(postImportResult);
return rss({
title: 'Blog de Buzz',
description: "Le guide des étoiles d'un humble astronaute",
site: context.site,
items: posts.map((post) => ({
link: post.url,
content: sanitizeHtml(post.compiledContent()),
content: sanitizeHtml((await post.compiledContent())),
...post.frontmatter,
})),
});
Expand Down
124 changes: 2 additions & 122 deletions src/content/docs/fr/recipes/sharing-state-islands.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Partage d'État
title: Partager l'état entre les îles
description: Apprenez à partager l'état entre les composants du framework avec les Nano Stores.
i18nReady: true
type: recipe
Expand Down Expand Up @@ -100,11 +100,7 @@ Pour commencer, installez Nano Stores avec son package d'assistance pour votre f
npm install nanostores @nanostores/vue
```
</Fragment>
<Fragment slot="lit">
```shell
npm install nanostores @nanostores/lit
```
</Fragment>

</UIFrameworkTabs>

Vous pouvez aller directement dans le [guide d'utilisation de Nano Stores](https://github.com/nanostores/nanostores#guide) à partir d'ici, ou suivez notre exemple ci-dessous !
Expand Down Expand Up @@ -242,27 +238,7 @@ export default function CartButton() {
</script>
```
</Fragment>
<Fragment slot="lit">
```ts
// src/components/CartFlyoutToggle.ts
import { LitElement, html } from 'lit';
import { isCartOpen } from '../cartStore';

export class CartFlyoutToggle extends LitElement {
handleClick() {
isCartOpen.set(!isCartOpen.get());
}

render() {
return html`
<button @click="${this.handleClick}">Cart</button>
`;
}
}

customElements.define('cart-flyout-toggle', CartFlyoutToggle);
```
</Fragment>
</UIFrameworkTabs>

Ensuite, nous pouvons lire `isCartOpen` à partir de notre composant `CartFlyout` :
Expand Down Expand Up @@ -334,25 +310,7 @@ export default function CartFlyout() {
</script>
```
</Fragment>
<Fragment slot="lit">
```ts
// src/components/CartFlyout.ts
import { isCartOpen } from '../cartStore';
import { LitElement, html } from 'lit';
import { StoreController } from '@nanostores/lit';

export class CartFlyout extends LitElement {
private cartOpen = new StoreController(this, isCartOpen);

render() {
return this.cartOpen.value ? html`<aside>...</aside>` : null;
}
}

customElements.define('cart-flyout', CartFlyout);

```
</Fragment>
</UIFrameworkTabs>

### Utilisation des "maps"
Expand Down Expand Up @@ -597,41 +555,7 @@ export default function AddToCartForm({ children }) {
</script>
```
</Fragment>
<Fragment slot="lit">
```ts
// src/components/AddToCartForm.ts
import { LitElement, html } from 'lit';
import { isCartOpen, addCartItem } from '../cartStore';

export class AddToCartForm extends LitElement {
static get properties() {
return {
item: { type: Object },
};
}

constructor() {
super();
this.item = {};
}

addToCart(e) {
e.preventDefault();
isCartOpen.set(true);
addCartItem(this.item);
}

render() {
return html`
<form @submit="${this.addToCart}">
<slot></slot>
</form>
`;
}
}
customElements.define('add-to-cart-form', AddToCartForm);
```
</Fragment>
</UIFrameworkTabs>

Enfin, nous afficherons ces éléments de panier dans notre `CartFlyout` :
Expand Down Expand Up @@ -770,51 +694,7 @@ export default function CartFlyout() {
</script>
```
</Fragment>
<Fragment slot="lit">
```ts
// src/components/CartFlyout.ts
import { LitElement, html } from 'lit';
import { isCartOpen, cartItems } from '../cartStore';
import { StoreController } from '@nanostores/lit';

export class CartFlyoutLit extends LitElement {
private cartOpen = new StoreController(this, isCartOpen);
private getCartItems = new StoreController(this, cartItems);

renderCartItem(cartItem) {
return html`
<li>
<img src="${cartItem.imageSrc}" alt="${cartItem.name}" />
<h3>${cartItem.name}</h3>
<p>Quantité : ${cartItem.quantity}</p>
</li>
`;
}

render() {
return this.cartOpen.value
? html`
<aside>
${
Object.values(this.getCartItems.value).length
? html`
<ul>
${Object.values(this.getCartItems.value).map((cartItem) =>
this.renderCartItem(cartItem)
)}
</ul>
`
: html`<p>Votre panier est vide !</p>`
}
</aside>
`
: null;
}
}

customElements.define('cart-flyout', CartFlyoutLit);
```
</Fragment>
</UIFrameworkTabs>

Maintenant, vous devriez avoir un exemple de e-commerce entièrement interactif avec le plus petit bundle de JS de la galaxie 🚀
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/fr/recipes/sharing-state.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Partage d'état entre composants Astro
title: Partager l'état entre les composants Astro
description: Apprendre à partager des états entre composants Astro avec Nano Stores.
i18nReady: true
type: recipe
Expand Down

0 comments on commit 2e8f308

Please sign in to comment.