Skip to content

Commit 2ae2ad7

Browse files
Merge branch 'working' into navigation-guards
2 parents 2641f85 + 426f300 commit 2ae2ad7

File tree

4 files changed

+71
-48
lines changed

4 files changed

+71
-48
lines changed

docs/en/SUMMARY.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
- [Routes nommées](essentials/named-routes.md)
1414
- [Vues nommées](essentials/named-views.md)
1515
- [Redirection et alias](essentials/redirect-and-alias.md)
16-
- [Passing Props to Route Components (En)](essentials/passing-props.md)
17-
- [HTML5 History Mode (En)](essentials/history-mode.md)
16+
- [Passage de props aux composants de route](essentials/passing-props.md)
17+
- [Mode historique de HTML5](essentials/history-mode.md)
1818
- Avancé
1919
- [Intercepteurs de navigation](advanced/navigation-guards.md)
20-
- [Route Meta Fields (En)](advanced/meta.md)
20+
- [Champs meta de route](advanced/meta.md)
2121
- [Transitions (En)](advanced/transitions.md)
2222
- [Récupération de données](advanced/data-fetching.md)
2323
- [Comportement du défilement](advanced/scroll-behavior.md)

docs/en/advanced/meta.md

+11-11
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Route Meta Fields (En) <br><br> *Cette page est en cours de traduction française. Revenez une autre fois pour lire une traduction achevée ou [participez à la traduction française ici](https://github.com/vuejs-fr/vue-router).*
1+
# Champs meta de route
22

3-
You can include a `meta` field when defining a route:
3+
Vous pouvez inclure un champ `meta` quand vous définissez une route :
44

55
``` js
66
const router = new VueRouter({
@@ -12,7 +12,7 @@ const router = new VueRouter({
1212
{
1313
path: 'bar',
1414
component: Bar,
15-
// a meta field
15+
// un champ `meta`
1616
meta: { requiresAuth: true }
1717
}
1818
]
@@ -21,21 +21,21 @@ const router = new VueRouter({
2121
})
2222
```
2323

24-
So how do we access this `meta` field?
24+
Comment maintenant accéder à ce champ `meta` ?
2525

26-
First, each route object in the `routes` configuration is called a **route record**. Route records may be nested. Therefore when a route is matched, it can potentially match more than one route record.
26+
Tout d'abord, chaque objet route dans la configuration de `routes` est appelé un **registre de route**. Les registres de route peuvent être imbriqués. Par conséquent, quand une route concorde, elle peut potentiellement concorder avec plus d'un registre de route.
2727

28-
For example, with the above route config, the URL `/foo/bar` will match both the parent route record and the child route record.
28+
Par exemple, avec la configuration de route ci-dessous, l'URL `/foo/bar` va concorder avec le registre parent et le registre enfant.
2929

30-
All route records matched by a route are exposed on the `$route` object (and also route objects in navigation guards) as the `$route.matched` Array. Therefore, we will need to iterate over `$route.matched` to check for meta fields in route records.
30+
Tous les registres concordant avec une route sont exposés dans l'objet `$route` (ainsi que les objets de route dans les sécurisations de navigation) dans le tableau `$route.matched`. Donc, nous devons itérer à travers `$route.matched` pour vérifier les champs meta dans les registres de route.
3131

32-
An example use case is checking for a meta field in the global navigation guard:
32+
Un exemple concret est la vérification d'un champ meta dans une interception de navigation globale :
3333

3434
``` js
3535
router.beforeEach((to, from, next) => {
3636
if (to.matched.some(record => record.meta.requiresAuth)) {
37-
// this route requires auth, check if logged in
38-
// if not, redirect to login page.
37+
// cette route demande une autorisation, vérifions si l'utilisateur est logué.
38+
// sinon, redirigeons le sur la page de login.
3939
if (!auth.loggedIn()) {
4040
next({
4141
path: '/login',
@@ -45,7 +45,7 @@ router.beforeEach((to, from, next) => {
4545
next()
4646
}
4747
} else {
48-
next() // make sure to always call next()!
48+
next() // assurez vous de toujours appeler `next()` !
4949
}
5050
})
5151
```

docs/en/essentials/history-mode.md

+36-12
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# HTML5 History Mode (En) <br><br> *Cette page est en cours de traduction française. Revenez une autre fois pour lire une traduction achevée ou [participez à la traduction française ici](https://github.com/vuejs-fr/vue-router).*
1+
# Mode historique de HTML5
22

3-
The default mode for `vue-router` is _hash mode_ - it uses the URL hash to simulate a full URL so that the page won't be reloaded when the URL changes.
3+
Le mode par défaut de `vue-router` est le _mode hash_. Il utilise la partie hash de l'URL pour simuler une URL complète et ainsi ne pas recharger la page quand l'URL change.
44

5-
To get rid of the hash, we can use the router's **history mode**, which leverages the `history.pushState` API to achieve URL navigation without a page reload:
5+
Pour se passer du hash, nous pouvons utiliser le **mode historique** qui utilisera l'API `history.pushState` afin de permettre une navigation sans rechargement de page :
66

77
``` js
88
const router = new VueRouter({
@@ -11,13 +11,13 @@ const router = new VueRouter({
1111
})
1212
```
1313

14-
When using history mode, the URL will look "normal," e.g. `http://oursite.com/user/id`. Beautiful!
14+
Quand vous utilisez le mode historique, l'URL ressemblera a n'importe quelle URL normale. Par ex. `http://oursite.com/user/id`. Magnifique !
1515

16-
Here comes a problem, though: Since our app is a single page client side app, without a proper server configuration, the users will get a 404 error if they access `http://oursite.com/user/id` directly in their browser. Now that's ugly.
16+
Cependant, un problème apparaît si votre application est une application monopage cliente. Sans une configuration serveur adaptée, les utilisateurs tomberons sur une page d'erreur 404 en tentant d'accéder à `http://oursite.com/user/id` directement dans leur navigateur. Maintenant ça craint.
1717

18-
Not to worry: To fix the issue, all you need to do is add a simple catch-all fallback route to your server. If the URL doesn't match any static assets, it should serve the same `index.html` page that your app lives in. Beautiful, again!
18+
Ne vous inquiétez pas. Pour résoudre ce problème, il vous suffit d'ajouter une route à votre serveur prenant en compte toutes les adresses demandées. Si l'URL demandée ne concorde avec aucun fichier statique, alors il doit toujours renvoyer la page `index.html` qui contient le code de votre application. De nouveau magnifique !
1919

20-
## Example Server Configurations
20+
## Exemple de configurations serveur
2121

2222
#### Apache
2323

@@ -40,9 +40,33 @@ location / {
4040
}
4141
```
4242

43-
#### Node.js (Express)
43+
#### Node.js natif
4444

45-
For Node.js/Express, consider using [connect-history-api-fallback middleware](https://github.com/bripkens/connect-history-api-fallback).
45+
```js
46+
const http = require("http")
47+
const fs = require("fs")
48+
const httpPort = 80
49+
50+
http.createServer(function (req, res) {
51+
fs.readFile("index.htm", "utf-8", function (err, content) {
52+
if (err) {
53+
console.log('Impossible d\'ouvrir le fichier "index.htm"')
54+
}
55+
56+
res.writeHead(200, {
57+
"Content-Type": "text/html; charset=utf-8"
58+
})
59+
60+
res.end(content)
61+
})
62+
}).listen(httpPort, function () {
63+
console.log("Server listening on: http://localhost:%s", httpPort)
64+
})
65+
```
66+
67+
#### Node.js avec Express
68+
69+
Pour Node.js avec Express, vous pouvez utiliser le [middleware connect-history-api-fallback](https://github.com/bripkens/connect-history-api-fallback).
4670

4771
#### Internet Information Services (IIS)
4872

@@ -82,9 +106,9 @@ rewrite {
82106
}
83107
```
84108

85-
## Caveat
109+
## Limitation
86110

87-
There is a caveat to this: Your server will no longer report 404 errors as all not-found paths now serve up your `index.html` file. To get around the issue, you should implement a catch-all route within your Vue app to show a 404 page:
111+
Il y a une limitation a tout ceci. Votre serveur ne renverra plus les erreurs 404 des chemins qui ne sont pas trouvés puisqu'il va servir à présent le fichier `index.html`. Pour contourner ce problème, vous pouvez implémenter une route concordant avec toutes les adresses en 404 dans votre application Vue :
88112

89113
``` js
90114
const router = new VueRouter({
@@ -95,4 +119,4 @@ const router = new VueRouter({
95119
})
96120
```
97121

98-
Alternatively, if you are using a Node.js server, you can implement the fallback by using the router on the server side to match the incoming URL and respond with 404 if no route is matched.
122+
Une alternative possible, si vous utilisez un serveur Node.js, est d'implémenter ce mécanisme de substitution en utilisant le routeur côté serveur pour vérifier la concordance des demande d'URL entrante. Si la route ne concorde avec rien, la page est inexistante. Consultez l'[utilisation de Vue côté serveur](https://ssr.vuejs.org/fr/) pour plus d'informations.

docs/en/essentials/passing-props.md

+21-22
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,52 @@
1-
# Passing Props to Route Components (En) <br><br> *Cette page est en cours de traduction française. Revenez une autre fois pour lire une traduction achevée ou [participez à la traduction française ici](https://github.com/vuejs-fr/vue-router).*
1+
# Passage de props aux composants de route
22

3-
Using `$route` in your component creates a tight coupling with the route which limits the flexibility of the component as it can only be used on certain urls.
3+
Utiliser `$route` dans vos composants crée un couplage fort à la route qui va limiter la flexibilité du composant qui ne pourra être utilisé que par certaines URLs.
44

5-
To decouple this component from the router use props:
5+
Pour découpler un composant de son routeur, utilisez les props :
66

7-
**Coupled to $route**
7+
**Couplé avec `$route`**
88

99
``` js
1010
const User = {
11-
template: '<div>User {{ $route.params.id }}</div>'
11+
template: '<div>Utilisateur {{ $route.params.id }}</div>'
1212
}
1313
const router = new VueRouter({
1414
routes: [
15-
{ path: '/user/:id', component: User }
15+
{ path: '/utilisateur/:id', component: User }
1616
]
1717
})
1818
```
1919

20-
**👍 Decoupled with props**
20+
**👍 Découplé avec les props**
2121

2222
``` js
2323
const User = {
2424
props: ['id'],
25-
template: '<div>User {{ id }}</div>'
25+
template: '<div>Utilisateur {{ id }}</div>'
2626
}
2727
const router = new VueRouter({
2828
routes: [
29-
{ path: '/user/:id', component: User, props: true }
29+
{ path: '/utilisateur/:id', component: User, props: true }
3030

31-
// for routes with named views, you have to define the props option for each named view:
31+
// pour les routes avec vues nommées, vous devez définir l'option `props` pour chaque vue nommée :
3232
{
33-
path: '/user/:id',
33+
path: '/utilisateur/:id',
3434
components: { default: User, sidebar: Sidebar },
3535
props: { default: true, sidebar: false }
3636
}
3737
]
3838
})
3939
```
4040

41-
This allows you to use the component anywhere, which makes the component easier to reuse and test.
41+
Cela vous permet d'utiliser le composant n'importe où, ce qui le rend plus facile à réutiliser et à tester.
4242

43-
### Boolean mode
43+
### Mode booléen
4444

45-
When props is set to true, the route.params will be set as the component props.
45+
Quand `props` est mis à `true`, le `route.params` est remplis en tant que props du composant.
4646

47-
### Object mode
47+
### Mode objet
4848

49-
When props is an object, this will be set as the component props as-is.
50-
Useful for when the props are static.
49+
Quand `props` est un objet, cela alimente les props de celui-ci. Utile quand les props sont statiques.
5150

5251
``` js
5352
const router = new VueRouter({
@@ -57,9 +56,9 @@ const router = new VueRouter({
5756
})
5857
```
5958

60-
### Function mode
59+
### Mode fonction
6160

62-
You can create a function that returns props. This allows you to cast the parameter to another type, combine static values with route-based values, etc.
61+
Vous pouvez créer une fonction qui va retourner les props. Cela vous permet de coercer un paramètre dans un autre type, de combiner les valeurs statiques avec les valeurs des routes, etc.
6362

6463
``` js
6564
const router = new VueRouter({
@@ -69,8 +68,8 @@ const router = new VueRouter({
6968
})
7069
```
7170

72-
The url: `/search?q=vue` would pass `{query: "vue"}` as props to the SearchUser component.
71+
L'URL `/search?q=vue` passerait `{query: 'vue'}` comme `props` au composant `SearchUser`.
7372

74-
Try to keep the props function stateless, as it's only evaluated on route changes. Use a wrapper component if you need state to define the props, that way vue can react to state changes.
73+
Essayez de garder la fonction de `props` sans état, car il n'est évalué que sur les changements de route. Utilisez un composant englobant si vous avez besoin d'état pour définir les props, ainsi la vue pourra réagir au changement d'état.
7574

76-
For advanced usage, checkout the [example](https://github.com/vuejs/vue-router/blob/dev/examples/route-props/app.js).
75+
Pour une utilisation avancée, jettez un œil à cet [exemple](https://github.com/vuejs/vue-router/blob/dev/examples/route-props/app.js).

0 commit comments

Comments
 (0)