Skip to content

Commit d5be010

Browse files
Romain CresteyEnnoriel
Romain Crestey
authored andcommitted
french translation
1 parent 7bf2069 commit d5be010

File tree

406 files changed

+1814
-1547
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

406 files changed

+1814
-1547
lines changed

.github/ISSUE_TEMPLATE.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## Attention
2+
3+
Vous vous apprêtez à ouvrir une issue sur le projet de traduction francophone du tutoriel de Svelte et SvelteKit.
4+
5+
Ce projet est uniquement dédié à de la traduction, et nous n'accepterons donc que les issues dont l'objet est l'ajout ou la modification de traductions, ou tout outillage associé.
6+
7+
Pour toute issue liée au projet Svelte en lui-même, merci de les ouvrir sur le [repository officiel](https://github.com/sveltejs/learn.svelte.dev/issues).

.github/PULL_REQUEST_TEMPLATE.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## Attention
2+
3+
Vous vous apprêtez à ouvrir une issue sur le projet de traduction francophone du tutoriel de Svelte et SvelteKit.
4+
5+
Ce projet est uniquement dédié à de la traduction, et nous n'accepterons donc que les PRs dont l'objet est l'ajout ou la modification de traductions, ou tout outillage associé.
6+
7+
Pour toute PR liée au tutoriel de Svelte et SvelteKit en lui-même, merci de les ouvrir sur le [repository officiel](https://github.com/sveltejs/learn.svelte.dev/pulls).

.github/workflows/track-docs.yml

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Docs tracker
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: '0 3 * * *'
7+
8+
jobs:
9+
track-docs:
10+
runs-on: ubuntu-latest
11+
name: Checking Docs
12+
steps:
13+
- name: Checkout code
14+
uses: actions/checkout@v3
15+
- name: Svelte/SvelteKit tutorial new commits
16+
uses: AlexxNB/track-commits-to-issue@master
17+
with:
18+
token: ${{ secrets.GITHUB_TOKEN }}
19+
owner: sveltejs
20+
repo: learn.svelte.dev
21+
dir: content/tutorial

README.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,10 @@ Tutorials live inside `content`. Each tutorial consists of a `README.md`, which
2828

2929
## Bumping tutorial dependencies
3030

31-
Bump the dependency (for example Svelte) in both the root and the `content/common` `package.json`. In the root do `pnpm i` (to update `pnpm-lock.yaml`), in `content/common` do `npm i` (to update `package-lock.json`).
31+
Bump the dependency (for example Svelte) in both the root and the `content/common` `package.json`. In the root do `pnpm i` (to update `pnpm-lock.yaml`), in `content/common` do `npm i` (to update `package-lock.json`).
32+
33+
## Translating this project
34+
35+
This is the french version of the Svelte tutorial.
36+
37+
Read more about this was done [here](i18n.md).
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
---
2-
title: Welcome to Svelte
2+
title: Bienvenue dans le monde de Svelte !
33
---
44

5-
Welcome to the Svelte tutorial! This will teach you everything you need to know to easily build web applications of all sizes, with high performance and a small footprint.
5+
Bienvenue dans le tutoriel Svelte ! Vous y apprendrez tout ce qu'il y a savoir pour développer en toute simplicité des applications web de toutes tailles, rapides et légères.
66

7-
You can also consult the [API docs](https://svelte.dev/docs) and the [examples](https://svelte.dev/examples), orif you're impatient to start hacking on your machine locally — create a project with `npm init svelte`.
7+
<!-- Vous pouvez aussi consulter la [documentation de l'API](PUBLIC_SVELTE_SITE_URL/docs) ainsi que les [exemples](PUBLIC_SVELTE_SITE_URL/examples), ousi vous êtes pressé•e•s de jouer sur votre machine en local — vous pouvez [créer un projet de base en 60 secondes avec `npm init svelte`](PUBLIC_SVELTE_SITE_URL/docs/introduction#start-a-new-project). -->
88

9-
## What is Svelte?
9+
## C'est quoi Svelte ?
1010

11-
Svelte is a tool for building web applications. Like other user interface frameworks, it allows you to build your app _declaratively_ out of components that combine markup, styles and behaviours.
11+
Svelte est un outil pour développer des applications web. Comme d'autre <span class="vo">[frameworks](PUBLIC_SVELTE_SITE_URL/docs/web#framework)</span> de composants, il permet de construire votre application de manière _déclarative_, à partir de composants : composition de HTML, styles et comportements.
1212

13-
These components are _compiled_ into small, efficient JavaScript modules that eliminate overhead traditionally associated with UI frameworks.
13+
Ces composants sont _compilés_ en petits modules JavaScript efficaces qui éliminent les inconvénients traditionnellement associés aux frameworks UI.
1414

15-
You can build your entire app with Svelte (for example, using an application framework like [SvelteKit](https://kit.svelte.dev), which this tutorial will cover), or you can add it incrementally to an existing codebase. You can also ship components as standalone packages that work anywhere.
15+
Vous pouvez construire votre application entièrement avec Svelte (par exemple, en utilisant le <span class="vo">[framework](PUBLIC_SVELTE_SITE_URL/docs/web#framework)</span> d'applications [SvelteKit](https://kit.svelte.dev), également couvert par ce tutoriel), ou l'ajouter au fur et à mesure à une base de code existante. Vous pouvez aussi générer des composants en tant que modules autonomes (<span class="vo">[web components](PUBLIC_SVELTE_SITE_URL/docs/web#web-component)</span>) utilisables n'importe où, sans la contrainte d'une dépendance à un <span class="vo">[framework](PUBLIC_SVELTE_SITE_URL/docs/web#framework)</span> traditionnel.
1616

17-
## How to use this tutorial
17+
## Comment se servir de ce tutoriel ?
1818

19-
> You'll need to have basic familiarity with HTML, CSS and JavaScript to understand Svelte.
19+
> Vous aurez besoin de connaissances de base en HTML, CSS et JavaScript pour comprendre Svelte.
2020
21-
This tutorial is split into four main parts:
21+
Ce tutoriel est découpé en 4 parties :
2222

23-
- [Basic Svelte](/tutorial/welcome-to-svelte) (you are here)
24-
- [Advanced Svelte](/tutorial/tweens)
25-
- [Basic SvelteKit](/tutorial/introducing-sveltekit)
26-
- [Advanced SvelteKit](/tutorial/optional-params)
23+
- [Les bases de Svelte](/tutorial/welcome-to-svelte) (vous êtes ici)
24+
- [Svelte avancé](/tutorial/tweens)
25+
- [Les bases de SvelteKit](/tutorial/introducing-sveltekit)
26+
- [SvelteKit avancé](/tutorial/optional-params)
2727

28-
Each section will present an exercise designed to illustrate a feature. Later exercises build on the knowledge gained in earlier ones, so it's recommended that you go from start to finish. If necessary, you can navigate via the menu above.
28+
À mesure que vous progresserez dans le tutorial, vous serez amené•e•s à faire à des mini exercices pensés pour illustrer de nouvelles fonctionnalités. Chaque chapitre se base sur ce que vous avez appris dans les chapitres précédents, de sorte qu'il est recommandé de suivre le tutoriel dans l'ordre, en commençant par le début. Si besoin, vous pouvez naviguer entre les chapitres à l'aide du menu déroulant ci-dessous (cliquez sur 'Introduction / Bases').
2929

30-
If you get stuck, you can click the `solve` button <span class="desktop">to the left of the editor</span><span class="mobile">in the top right of the editor view</span>. (<span class="mobile">Use the toggle below to switch between tutorial and editor views. </span>The `solve` button is disabled on sections like this one that don't include an exercise.) Try not to rely on it too much; you will learn faster by figuring out where to put each suggested code block and manually typing it in to the editor.
30+
Chaque chapitre de ce tutoriel vous présente un bouton `Résoudre` <span class="desktop">à gauche</span><span class="mobile">en haut à droite</span> de l'éditeur sur lequel vous pouvez cliquer si vous bloquez malgré les instructions. (<span class="mobile">Utilisez le toggle en bas pour changer de vue entre le tutoriel et l'éditeur. </span>Le bouton `Résoudre` est désactivé sur les sections comme celles-ci qui n'incluent pas d'exercice.) Essayez de ne pas trop vous en servir ; vous apprendrez plus vite en trouvant vous-même où placer les blocs de code suggérés et en les tapant manuellement dans l'éditeur.
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<h1>Welcome!</h1>
1+
<h1>Bienvenue !</h1>
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,35 @@
11
---
2-
title: Your first component
2+
title: Votre premier composant
33
---
44

5-
In Svelte, an application is composed from one or more _components_. A component is a reusable self-contained block of code that encapsulates HTML, CSS and JavaScript that belong together, written into a `.svelte` file. The `App.svelte` file, open in the code editor to the right, is a simple component.
5+
En Svelte, une application est composée d'un ou plusieurs _composants_. Un composant est un
6+
In Svelte, an application is composed from one or more _components_. Un composant est un bloc de code autonome réutilisable qui encapsule du HTML, du CSS et du JavaScript qui vont ensemble, écrit dans un fichier `.svelte`. Le fichier `App.svelte`, ouvert dans l'éditeur de code à droite, est un composant simple.
67

7-
## Adding data
8+
## Ajouter de la donnée
89

9-
A component that just renders some static markup isn't very interesting. Let's add some data.
10+
Un composant qui se contente d'afficher du <span class="vo">[markup](PUBLIC_SVELTE_SITE_URL/docs/web#markup)</span> statique n'est pas très intéressant. Ajoutons-lui de la donnée.
1011

11-
First, add a script tag to your component and declare a `name` variable:
12+
D'abord, ajoutez une balise `<script>` à votre composant, et déclarez une variable `name` :
1213

1314
```svelte
1415
/// file: App.svelte
1516
+++<script>
1617
let name = 'Svelte';
1718
</script>+++
1819
19-
<h1>Hello world!</h1>
20+
<h1>Bonjour tout le monde !</h1>
2021
```
2122

22-
Then, we can refer to `name` in the markup:
23+
Puis, vous pouvez utilisez `name` dans le <span class="vo">[markup](PUBLIC_SVELTE_SITE_URL/docs/web#markup)</span> :
2324

2425
```svelte
2526
/// file: App.svelte
26-
<h1>Hello +++{name}+++!</h1>
27+
<h1>Bonjour +++{name}+++!</h1>
2728
```
2829

29-
Inside the curly braces, we can put any JavaScript we want. Try changing `name` to `name.toUpperCase()` for a shoutier greeting.
30+
À l'intérieur des accolades, il est possible d'utiliser n'importe quelle expression JavaScript. Essayez de remplacer `name` par `name.toUpperCase()` pour un accueil plus bruyant.
3031

3132
```svelte
3233
/// file: App.svelte
33-
<h1>Hello {name+++.toUpperCase()+++}!</h1>
34+
<h1>Bonjour {name+++.toUpperCase()+++}!</h1>
3435
```
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<h1>Hello world!</h1>
1+
<h1>Bonjour tout le monde !</h1>

content/tutorial/01-svelte/01-introduction/02-your-first-component/app-b/src/lib/App.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
let name = 'Svelte';
33
</script>
44

5-
<h1>Hello {name.toUpperCase()}!</h1>
5+
<h1>Bonjour {name.toUpperCase()}!</h1>
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
11
---
2-
title: Dynamic attributes
2+
title: Attributs dynamiques
33
---
44

5-
Just like you can use curly braces to control text, you can use them to control element attributes.
5+
Vous pouvez utiliser des accolades pour contrôler les attributs d'un élément, comme vous le feriez pour contrôler du texte.
66

7-
Our image is missing a `src` — let's add one:
7+
Il manque l'attribut `src` à notre image — corrigeons cet oubli :
88

99
```svelte
1010
/// file: App.svelte
1111
<img +++src={src}+++ />
1212
```
1313

14-
That's better. But if you hover over the `<img>` in the editor, Svelte is giving us a warning:
14+
Voilà qui est mieux. Mais Svelte nous avertit :
1515

1616
> A11y: &lt;img&gt; element should have an alt attribute
1717
18-
When building web apps, it's important to make sure that they're _accessible_ to the broadest possible userbase, including people with (for example) impaired vision or motion, or people without powerful hardware or good internet connections. Accessibility (shortened to a11y) isn't always easy to get right, but Svelte will help by warning you if you write inaccessible markup.
18+
Lorsque l'on construit des applications web, il est important de s'assurer que celles-ci sont **accessibles** à l'audience la plus large possible, en incluant des personnes avec (par exemple) des déficiences visuelles ou moteures, ou des personnes avec du matériel informatique peu puissant, ou avec une mauvaise connection internet. L'accessibilité (que l'on écrit souvent "a11y") n'est pas toujours simple à mettre en place correctement, mais Svelte vous aidera en vous avertissant si vos écrivez du <span class="vo">[markup](PUBLIC_SVELTE_SITE_URL/docs/web#markup)</span> non accessible.
1919

20-
In this case, we're missing the `alt` attribute that describes the image for people using screenreaders, or people with slow or flaky internet connections that can't download the image. Let's add one:
20+
Dans ce cas, il manque à notre image l'attribut `alt` qui décrit l'image pour les personnes utilisant des liseuses d'écran, ou pour les personnes ne pouvant pas télécharger l'image en raison d'une mauvaise connection internet. Rectifions cela :
2121

2222
```svelte
2323
/// file: App.svelte
24-
<img src={src} +++alt="A man dances."+++ />
24+
<img src={src} +++alt="Un homme danse">
2525
```
2626

27-
We can use curly braces _inside_ attributes. Try changing it to `"{name} dances."`remember to declare a `name` variable in the `<script>` block.
27+
Nous pouvons utiliser des accolades **à l'intérieur** des attributs. Essayez de changer l'attribut `alt` en `"{name} danse."`n'oubliez pas de déclarer une variable `name` dans le bloc `<script>`.
2828

29-
## Shorthand attributes
29+
## Raccourcis d'attributs
3030

31-
It's not uncommon to have an attribute where the name and value are the same, like `src={src}`. Svelte gives us a convenient shorthand for these cases:
31+
Il est courant d'avoir un attribut ayant le même nom que la variable qu'on lui fournit, comme `src={src}`. Dans ce cas, Svelte nous donne accès à un raccourci pratique :
3232

3333
```svelte
3434
/// file: App.svelte
35-
<img +++{src}+++ alt="{name} dances." />
35+
<img +++{src}+++ alt="{name} danse." />
3636
```

content/tutorial/01-svelte/01-introduction/03-dynamic-attributes/app-b/src/lib/App.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
let name = 'Rick Astley';
44
</script>
55

6-
<img {src} alt="{name} dances." />
6+
<img {src} alt="{name} danses." />
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
2-
title: Styling
2+
title: Style
33
---
44

5-
Just like in HTML, you can add a `<style>` tag to your component. Let's add some styles to the `<p>` element:
5+
Comme en HTML, vous pouvez ajouter une balise `<style>` à votre composant. Donnons un peu de style à notre élément `<p>` :
66

77
```svelte
88
/// file: App.svelte
9-
<p>This is a paragraph.</p>
9+
<p>Ceci est un paragraphe.</p>
1010
1111
<style>
1212
+++ p {
@@ -17,4 +17,4 @@ Just like in HTML, you can add a `<style>` tag to your component. Let's add some
1717
</style>
1818
```
1919

20-
Importantly, these rules are _scoped to the component_. You won't accidentally change the style of `<p>` elements elsewhere in your app, as we'll see in the next step.
20+
Il est important de comprendre que ces règles CSS sont **restreintes (ou <span class='vo'>[scopées](PUBLIC_SVELTE_SITE_URL/docs/development#scope)</span>) au composant**. Vous ne modifierez pas accidentellement le style des éléments `<p>` du reste de votre application, comme nous le verrons dans l'étape suivante.

content/tutorial/01-svelte/01-introduction/04-styling/app-a/src/lib/App.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<p>This is a paragraph.</p>
1+
<p>Ceci est un paragraphe.</p>
22

33
<style>
44
/* Write your CSS here */

content/tutorial/01-svelte/01-introduction/04-styling/app-b/src/lib/App.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<p>This is a paragraph.</p>
1+
<p>Ceci est un paragraphe.</p>
22

33
<style>
44
p {
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
2-
title: Nested components
2+
title: Composants imbriqués
33
---
44

5-
It would be impractical to put your entire app in a single component. Instead, we can import components from other files and include them in our markup.
5+
Écrire toute une application dans un seul composant n'est pas très pratique. À la place, nous pouvons importer des composants depuis d'autres fichiers et les utiliser comme des éléments.
66

7-
Add a `<script>` tag to the top of `App.svelte` that imports `Nested.svelte`...
7+
Ajoutons une balise `<script>` à `App.svelte` pour importer le fichier (notre composant) `Nested.svelte` dans notre application...
88

99
```svelte
1010
/// file: App.svelte
@@ -13,14 +13,14 @@ Add a `<script>` tag to the top of `App.svelte` that imports `Nested.svelte`...
1313
</script>+++
1414
```
1515

16-
...and include a `<Nested />` component:
16+
... puis utilisons le composant `Nested` dans le <span class="vo">[markup](PUBLIC_SVELTE_SITE_URL/docs/web#markup)</span> de l'application :
1717

1818
```svelte
1919
/// file: App.svelte
20-
<p>This is a paragraph.</p>
20+
<p>Ceci est un paragraphe.</p>
2121
+++<Nested />+++
2222
```
2323

24-
Notice that even though `Nested.svelte` has a `<p>` element, the styles from `App.svelte` don't leak in.
24+
Notez que même si `Nested.svelte` a un élément `<p>`, les styles définis dans `App.svelte` ne s'appliquent pas.
2525

26-
> Component names are always capitalised, to distinguish them from HTML elements.
26+
Notez également que le nom du composant, `Nested`, a sa première lettre en majuscule. C'est une convention adoptée pour mieux différencier entre les composants, que nous définissons, des éléments HTML classiques.

content/tutorial/01-svelte/01-introduction/05-nested-components/app-a/src/lib/App.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<p>This is a paragraph.</p>
1+
<p>Ceci est un paragraphe.</p>
22

33
<style>
44
p {
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<p>This is another paragraph.</p>
1+
<p>Ceci est un autre paragraphe.</p>

content/tutorial/01-svelte/01-introduction/05-nested-components/app-b/src/lib/App.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import Nested from './Nested.svelte';
33
</script>
44

5-
<p>This is a paragraph.</p>
5+
<p>Ceci est un paragraphe.</p>
66
<Nested />
77

88
<style>
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
---
2-
title: HTML tags
2+
title: Balises HTML
33
---
44

5-
Ordinarily, strings are inserted as plain text, meaning that characters like `<` and `>` have no special meaning.
5+
En règle générale, les chaînes de caractères sont insérées en tant que texte brut, ce qui signifie que les caractères tels que `<` et `>` n'ont pas de signification particulière.
66

7-
But sometimes you need to render HTML directly into a component. For example, the words you're reading right now exist in a markdown file that gets included on this page as a blob of HTML.
7+
Mais il est parfois nécessaire de rendre du HTML directement dans un composant. Par exemple, les mots que vous êtes en train de lire existent dans un fichier markdown qui est inclus dans cette page sous la forme d'un bloc HTML.
88

9-
In Svelte, you do this with the special `{@html ...}` tag:
9+
Dans Svelte, vous le faites avec la balise spéciale `{@html ...}` :
1010

1111
```svelte
1212
/// file: App.svelte
1313
<p>{+++@html+++ string}</p>
1414
```
1515

16-
> **Warning!** Svelte doesn't perform any sanitization of the expression inside `{@html ...}` before it gets inserted into the DOM. This isn't an issue if the content is something you trust like an article you wrote yourself. However if it's some untrusted user content, e.g. a comment on an article, then it's critical that you manually escape it, otherwise you risk exposing your users to <a href="https://owasp.org/www-community/attacks/xss/" target="_blank">Cross-Site Scripting</a> (XSS) attacks.
16+
> **Attention!** Svelte n'effectue pas de nettoyage de l'expression à l'intérieur de `{@html ...}` avant qu'elle ne soit insérée dans le <span class='vo'>[DOM](PUBLIC_SVELTE_SITE_URL/docs/web#dom)</span>. Ce n'est pas un problème si le contenu est quelque chose de fiable comme un article que vous avez écrit vous-même. Cependant, s'il s'agit d'un contenu utilisateur non fiable, par exemple un commentaire sur un article, il est essentiel que vous l'échappiez manuellement, sinon vous risquez d'exposer vos utilisateurs à des attaques de type <a href="https://owasp.org/www-community/attacks/xss/" target="_blank">Cross-Site Scripting</a> (XSS).
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script>
2-
let string = `this string contains some <strong>HTML!!!</strong>`;
2+
let string = `Cette chaîne de caractères contient du <strong>HTML!!!</strong>`;
33
</script>
44

55
<p>{string}</p>
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script>
2-
let string = `this string contains some <strong>HTML!!!</strong>`;
2+
let string = `Cette chaîne de caractères contient du <strong>HTML!!!</strong>`;
33
</script>
44

55
<p>{@html string}</p>

0 commit comments

Comments
 (0)