Skip to content

Commit afd6ddd

Browse files
ArmandPhilippotdreyfus92
authored andcommitted
i18n(fr): update tutorial/* (withastro#12438)
Co-authored-by: paul valladares <[email protected]>
1 parent 3a9ff98 commit afd6ddd

File tree

7 files changed

+95
-74
lines changed

7 files changed

+95
-74
lines changed

src/content/docs/fr/tutorial/2-pages/4.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ La balise `<style>` d'Astro peut également référencer toutes les variables de
109109
const finished = false;
110110
const goal = 3;
111111
112-
const skillColor = "navy";
112+
const skillColor = "crimson";
113113
---
114114
```
115115

@@ -129,7 +129,7 @@ La balise `<style>` d'Astro peut également référencer toutes les variables de
129129
</style>
130130
```
131131

132-
3. Vérifiez votre page À propos dans votre aperçu de navigateur. Vous devriez voir que les compétences sont maintenant d'un bleu marine (« navy »), tel que défini par la variable `skillColor` transmise à la directive `define:vars`.
132+
3. Vérifiez votre page À propos dans votre aperçu de navigateur. Vous devriez voir que les compétences sont maintenant d'un rouge cramoisi (« crimson red »), tel que défini par la variable `skillColor` transmise à la directive `define:vars`.
133133
</Steps>
134134

135135
<Box icon="puzzle-piece">
@@ -154,7 +154,7 @@ La balise `<style>` d'Astro peut également référencer toutes les variables de
154154
```
155155

156156
2. Ajoutez les définitions de variables manquantes dans votre script du frontmatter pour que votre nouvelle balise `<style>` applique avec succès ces styles à votre liste de compétences :
157-
- La couleur du texte est le bleu marine
157+
- La couleur du texte est rouge cramoisi
158158
- Le texte est en gras
159159
- Les éléments de la liste sont en majuscules (lettres capitales)
160160
</Steps>
@@ -178,7 +178,7 @@ const happy = true;
178178
const finished = false;
179179
const goal = 3;
180180
181-
const skillColor = "navy";
181+
const skillColor = "crimson";
182182
const fontWeight = "bold";
183183
const textCase = "uppercase";
184184
---

src/content/docs/fr/tutorial/2-pages/5.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ Il existe plusieurs façons de définir des styles de manière **globale** dans
7474
const finished = false;
7575
const goal = 3;
7676
77-
const skillColor = "navy";
77+
const skillColor = "crimson";
7878
const fontWeight = "bold";
7979
const textCase = "uppercase";
8080
---

src/content/docs/fr/tutorial/3-components/3.mdx

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,6 @@ import Badge from "~/components/Badge.astro"
4949

5050
</Box>
5151

52-
53-
54-
5552
<Box icon="puzzle-piece">
5653

5754
## Essayer par vous-même - Mettre à jour vos pages
@@ -95,12 +92,12 @@ import Badge from "~/components/Badge.astro"
9592
## Ajouter des styles réactifs
9693

9794
<Steps>
98-
1. Mettez à jour `Navigation.astro` avec la classe CSS pour contrôler vos liens de navigation. Enveloppez les liens de navigation existants dans une balise `<div>` avec la classe `nav-links`.
95+
1. Mettez à jour `Navigation.astro` avec la classe CSS pour contrôler vos liens de navigation. Enveloppez les liens de navigation existants dans une balise `<div>` avec la classe `nav-links` et l'attribut id défini sur `main-menu`.
9996

10097
```astro title="src/components/Navigation.astro" ins={3,7}
10198
---
10299
---
103-
<div class="nav-links">
100+
<div id="main-menu" class="nav-links">
104101
<a href="/">Accueil</a>
105102
<a href="/about">À propos</a>
106103
<a href="/blog">Blog</a>
@@ -117,7 +114,7 @@ import Badge from "~/components/Badge.astro"
117114
Commencez par définir ce qui doit se passer sur les petits écrans en premier ! Les écrans plus petits nécessitent des mises en page plus simples. Ensuite, ajustez vos styles pour les appareils plus grands. Si vous concevez d'abord le cas compliqué, vous devrez ensuite essayer de le rendre à nouveau simple.
118115
:::
119116

120-
```css title="src/styles/global.css" ins={23-100}
117+
```css title="src/styles/global.css" ins={23-60}
121118
html {
122119
background-color: #f1f5f9;
123120
font-family: sans-serif;
@@ -144,9 +141,6 @@ import Badge from "~/components/Badge.astro"
144141

145142
.nav-links {
146143
width: 100%;
147-
top: 5rem;
148-
left: 48px;
149-
background-color: #ff9776;
150144
display: none;
151145
margin: 0;
152146
}
@@ -159,17 +153,14 @@ import Badge from "~/components/Badge.astro"
159153
font-size: 1.2rem;
160154
font-weight: bold;
161155
text-transform: uppercase;
156+
color: #0d0950;
162157
}
163158

164159
.nav-links a:hover,
165160
.nav-links a:focus {
166161
background-color: #ff9776;
167162
}
168163

169-
.expanded {
170-
display: unset;
171-
}
172-
173164
@media screen and (min-width: 636px) {
174165
.nav-links {
175166
margin-left: 5em;
@@ -183,15 +174,12 @@ import Badge from "~/components/Badge.astro"
183174
display: inline-block;
184175
padding: 15px 20px;
185176
}
186-
187177
}
188178
```
189179
</Steps>
190180

191181
Redimensionnez votre fenêtre et recherchez les styles différents appliqués à différentes largeurs d'écran. Votre en-tête est maintenant **réactif** à la taille de l'écran grâce à l'utilisation des requêtes `@media`.
192182

193-
194-
195183
<Box icon="check-list">
196184

197185
## Liste de contrôle

src/content/docs/fr/tutorial/3-components/4.mdx

Lines changed: 46 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -16,75 +16,66 @@ import Option from '~/components/tutorial/Option.astro';
1616
import PreCheck from '~/components/tutorial/PreCheck.astro';
1717
import { Steps } from '@astrojs/starlight/components';
1818

19-
Ajoutons un menu hamburger pour ouvrir et fermer vos liens sur les écrans de taille mobile, nécessitant ainsi de l'interactivité côté client !
19+
Ajoutons un bouton pour ouvrir et fermer votre menu de navigation sur les tailles d'écran ciblant les mobiles, nécessitant une certaine interactivité côté client !
2020

2121
<PreCheck>
22-
- Créer un composant de menu hamburger
22+
- Créer un composant de menu
2323
- Rédiger un `<script>` pour permettre aux visiteurs de votre site d'ouvrir et de fermer le menu de navigation
2424
- Déplacer votre JavaScript dans son fichier `.js`
2525
</PreCheck>
2626

27-
## Construire un composant Hamburger
27+
## Créer un composant Menu
2828

29-
Créez un composant `<Hamburger />` pour ouvrir et fermer votre menu mobile.
29+
Créez un composant `<Menu />` pour ouvrir et fermer votre menu mobile.
3030

3131
<Steps>
32-
1. Créez un fichier nommé `Hamburger.astro` dans `src/components/`
32+
1. Créez un fichier nommé `Menu.astro` dans `src/components/`
3333

3434

35-
2. Copiez le code suivant dans votre composant. Cela représentera votre menu « hamburger » à 3 lignes pour ouvrir et fermer vos liens de navigation sur mobile. (Vous ajouterez les nouveaux styles CSS dans `global.css` ultérieurement.)
35+
2. Copiez le code suivant dans votre composant. Il crée un bouton qui sera utilisé pour basculer la visibilité des liens de navigation sur les appareils mobiles. (Vous ajouterez les nouveaux styles CSS au fichier « global.css » ultérieurement.)
3636

37-
```astro title="src/components/Hamburger.astro"
37+
```astro title="src/components/Menu.astro"
3838
---
3939
---
40-
<div class="hamburger">
41-
<span class="line"></span>
42-
<span class="line"></span>
43-
<span class="line"></span>
44-
</div>
40+
<button aria-expanded="false" aria-controls="main-menu" class="menu">
41+
Menu
42+
</button>
4543
```
4644

47-
3. Placez ce nouveau composant `<Hamburger />` juste avant votre composant `<Navigation />` dans `Header.astro`.
45+
3. Placez ce nouveau composant `<Menu />` juste avant votre composant `<Navigation />` dans `Header.astro`.
4846

4947
<details>
5048
<summary>Montrez-moi le code !</summary>
5149

5250
```astro title="src/components/Header.astro" ins={2,7}
5351
---
54-
import Hamburger from './Hamburger.astro';
52+
import Menu from './Menu.astro';
5553
import Navigation from './Navigation.astro';
5654
---
5755
<header>
5856
<nav>
59-
<Hamburger />
57+
<Menu />
6058
<Navigation />
6159
</nav>
6260
</header>
6361
```
6462
</details>
6563

66-
4. Ajoutez les styles suivants pour votre composant Hamburger :
64+
4. Ajoutez les styles suivants pour votre composant Menu, y compris certains styles adaptatifs :
6765

68-
```css title="src/styles/global.css" ins={2-13, 56-58}
66+
```css title="src/styles/global.css" ins={2-9, 33-35, 51-53}
6967
/* Styles de la navigation */
70-
.hamburger {
71-
padding-right: 20px;
72-
cursor: pointer;
73-
}
74-
75-
.hamburger .line {
76-
display: block;
77-
width: 40px;
78-
height: 5px;
79-
margin-bottom: 10px;
80-
background-color: #ff9776;
68+
.menu {
69+
background-color: #0d0950;
70+
border: none;
71+
color: #fff;
72+
font-size: 1.2rem;
73+
font-weight: bold;
74+
padding: 5px 10px;
8175
}
8276

8377
.nav-links {
8478
width: 100%;
85-
top: 5rem;
86-
left: 48px;
87-
background-color: #ff9776;
8879
display: none;
8980
margin: 0;
9081
}
@@ -97,13 +88,15 @@ Créez un composant `<Hamburger />` pour ouvrir et fermer votre menu mobile.
9788
font-size: 1.2rem;
9889
font-weight: bold;
9990
text-transform: uppercase;
91+
color: #0d0950;
10092
}
10193

102-
.nav-links a:hover, a:focus {
94+
.nav-links a:hover,
95+
.nav-links a:focus{
10396
background-color: #ff9776;
10497
}
10598

106-
.expanded {
99+
:has(.menu[aria-expanded="true"]) .nav-links {
107100
display: unset;
108101
}
109102

@@ -121,7 +114,7 @@ Créez un composant `<Hamburger />` pour ouvrir et fermer votre menu mobile.
121114
padding: 15px 20px;
122115
}
123116

124-
.hamburger {
117+
.menu {
125118
display: none;
126119
}
127120
}
@@ -131,18 +124,21 @@ Créez un composant `<Hamburger />` pour ouvrir et fermer votre menu mobile.
131124

132125
## Rédiger votre première balise de script
133126

134-
Votre en-tête n'est pas encore **interactif** car il ne peut pas réagir aux interactions de l'utilisateur, comme cliquer sur le menu hamburger pour afficher ou masquer les liens de navigation.
127+
Votre en-tête n'est pas encore **interactif** car il ne peut pas réagir aux interactions de l'utilisateur, comme cliquer sur le menu pour afficher ou masquer les liens de navigation.
135128

136129
L'ajout d'une balise `<script>` fournit du JavaScript côté client pour « écouter » un événement utilisateur, puis réagir en conséquence.
137130

138131
<Steps>
139132
1. Ajoutez la balise `<script>` suivante à `index.astro`, juste avant la balise de fermeture `</body>`.
140133

141-
```astro title="src/pages/index.astro" ins={2-6}
134+
```astro title="src/pages/index.astro" ins={2-9}
142135
<Footer />
143136
<script>
144-
document.querySelector('.hamburger')?.addEventListener('click', () => {
145-
document.querySelector('.nav-links')?.classList.toggle('expanded');
137+
const menu = document.querySelector('.menu');
138+
139+
menu.addEventListener('click', () => {
140+
const isExpanded = menu.getAttribute('aria-expanded') === 'true';
141+
menu.setAttribute('aria-expanded', !isExpanded);
146142
});
147143
</script>
148144
</body>
@@ -159,26 +155,32 @@ Au lieu d'écrire votre JavaScript directement sur chaque page, vous pouvez dép
159155
1. Créez `src/scripts/menu.js` (vous devrez créer un nouveau dossier `/scripts/`) et déplacez-y votre JavaScript.
160156

161157
```js title="src/scripts/menu.js"
162-
document.querySelector('.hamburger').addEventListener('click', () => {
163-
document.querySelector('.nav-links').classList.toggle('expanded');
158+
const menu = document.querySelector('.menu');
159+
160+
menu.addEventListener('click', () => {
161+
const isExpanded = menu.getAttribute('aria-expanded') === 'true';
162+
menu.setAttribute('aria-expanded', !isExpanded);
164163
});
165164
```
166165

167166
2. Remplacez le contenu de la balise `<script>` dans `index.astro` par l'importation de fichier suivante :
168167

169-
```astro title="src/pages/index.astro" ins={7} del={3-5}
168+
```astro title="src/pages/index.astro" ins={10} del={3-8}
170169
<Footer />
171170
<script>
172-
document.querySelector('.hamburger')?.addEventListener('click', () => {
173-
document.querySelector('.nav-links')?.classList.toggle('expanded');
171+
const menu = document.querySelector('.menu');
172+
173+
menu.addEventListener('click', () => {
174+
const isExpanded = menu.getAttribute('aria-expanded') === 'true';
175+
menu.setAttribute('aria-expanded', !isExpanded);
174176
});
175177
176178
import "../scripts/menu.js";
177179
</script>
178180
</body>
179181
```
180182

181-
3. Contrôlez à nouveau votre aperçu de navigateur à une taille plus petite et vérifiez que le menu hamburger est toujours capable d'ouvrir et de fermer vos liens de navigation.
183+
3. Contrôlez à nouveau votre aperçu de navigateur à une taille plus petite et vérifiez que le menu est toujours capable d'ouvrir et de fermer vos liens de navigation.
182184

183185

184186
4. Ajoutez la même balise `<script>` avec l'importation sur vos deux autres pages, `about.astro` et `blog.astro`, et vérifiez que vous avez un en-tête réactif et interactif sur chaque page.

src/content/docs/fr/tutorial/3-components/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Vous créerez :
2626
- Un composant de navigation qui présente un menu de liens vers vos pages
2727
- Un composant de pied de page à inclure en bas de chaque page
2828
- Un composant de médias sociaux, utilisé dans le pied de page, qui renvoie vers des pages de profil
29-
- Un composant interactif Hamburger pour afficher ou masquer la navigation sur mobile
29+
- Un composant interactif Menu pour afficher ou masquer la navigation sur mobile
3030

3131
En chemin, vous utiliserez CSS et JavaScript pour créer un design réactif qui réagit aux tailles d'écran et aux interactions de l'utilisateur.
3232

0 commit comments

Comments
 (0)