Skip to content

Commit 9f3eeb3

Browse files
Merge pull request #24 from vuejs-fr/navigation-guards
Traduction de `navigation-guards.md`
2 parents 426f300 + 2ae2ad7 commit 9f3eeb3

File tree

7 files changed

+67
-67
lines changed

7 files changed

+67
-67
lines changed

docs/en/SUMMARY.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
- [Passage de props aux composants de route](essentials/passing-props.md)
1717
- [Mode historique de HTML5](essentials/history-mode.md)
1818
- Avancé
19-
- [Navigation Guards (En)](advanced/navigation-guards.md)
19+
- [Intercepteurs de navigation](advanced/navigation-guards.md)
2020
- [Champs meta de route](advanced/meta.md)
2121
- [Transitions (En)](advanced/transitions.md)
2222
- [Récupération de données](advanced/data-fetching.md)

docs/en/advanced/data-fetching.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Parfois vous avez besoin de récupérer des données depuis le serveur lorsqu'un
44

55
- **Récupération de donnée après la navigation** : effectue la navigation en premier, et récupère les données dans le hook entrant du cycle de vie d'un composant. Affiche un état de chargement pendant que les données sont en train d'être récupérées.
66

7-
- **Récupération de donnée avant la navigation** : récupère les données avant la navigation dans la fonction de sécurisation d'entrée de la route, et effectue la navigation après que les données aient été récupérées.
7+
- **Récupération de donnée avant la navigation** : récupère les données avant la navigation dans la fonction d'interception d'entrée de la route, et effectue la navigation après que les données aient été récupérées.
88

99
Techniquement, les deux choix sont valides. Cela dépend de l'expérience utilisateur que vous souhaitez apporter.
1010

@@ -71,7 +71,7 @@ export default {
7171

7272
## Récupération de données avant la navigation
7373

74-
Avec cette approche, nous récupérerons les données avant de naviguer vers la nouvelle route. Nous pouvons effectuer la récupération de données dans la fonction de sécurisation `beforeRouteEnter` du composant à venir, et seulement appeler `next` lorsque la récupération est terminée :
74+
Avec cette approche, nous récupérerons les données avant de naviguer vers la nouvelle route. Nous pouvons effectuer la récupération de données dans la fonction d'interception `beforeRouteEnter` du composant à venir, et seulement appeler `next` lorsque la récupération est terminée :
7575

7676
``` js
7777
export default {

docs/en/advanced/navigation-guards.md

+57-57
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# Navigation Guards (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+
# Intercepteurs de navigation
22

3-
As the name suggests, the navigation guards provided by `vue-router` are primarily used to guard navigations either by redirecting it or canceling it. There are a number of ways to hook into the route navigation process: globally, per-route, or in-component.
3+
Comme le nom le suggère, l'interception de navigation fournie par `vue-router` est principalement utilisée pour intercepter la navigation avec des redirections ou des annulations d'accès. Il y a plusieurs hooks disponibles lors du processus de navigation : globaux, par route ou par composant.
44

5-
Remember that **params or query changes won't trigger enter/leave navigation guards**. You can either [watch the `$route` object](../essentials/dynamic-matching.md#reacting-to-params-changes) to react to those changes, or use the `beforeRouteUpdate` in-component guard.
5+
Souvenez-vous de cela : **le changement de paramètre ou de query ne va pas lancer d'interception d'entrée ou de sortie de navigation**. Vous pouvez toujours [observer l'objet `$route`](../essentials/dynamic-matching.md#reacting-to-params-changes) pour réagir à ces changements, ou utiliser la fonction `beforeRouteUpdate` d'une interception par composant.
66

7-
### Global Guards
7+
### Interception globale
88

9-
You can register global before guards using `router.beforeEach`:
9+
Vous pouvez abonner une interception d'entrée en utilisant `router.beforeEach` :
1010

1111
``` js
1212
const router = new VueRouter({ ... })
@@ -16,45 +16,45 @@ router.beforeEach((to, from, next) => {
1616
})
1717
```
1818

19-
Global before guards are called in creation order, whenever a navigation is triggered. Guards may be resolved asynchronously, and the navigation is considered **pending** before all hooks have been resolved.
19+
Les interceptions d'entrées globales sont appelées lors de l'ordre de création, chaque fois qu'une navigation est déclenchée. Les interceptions peuvent être résolues de manière asynchrone, et la navigation est considérée comme **en attente** avant que tous les hooks ne soient résolues.
2020

21-
Every guard function receives three arguments:
21+
Chaque fonction d'interception reçoit trois arguments :
2222

23-
- **`to: Route`**: the target [Route Object](../api/route-object.md) being navigated to.
23+
- **`to: Route`**: L'[objet `Route`](../api/route-object.md) cible vers lequel on navigue.
2424

25-
- **`from: Route`**: the current route being navigated away from.
25+
- **`from: Route`**: la route courante depuis laquelle nous venons de naviguer.
2626

27-
- **`next: Function`**: this function must be called to **resolve** the hook. The action depends on the arguments provided to `next`:
27+
- **`next: Function`**: cette fonction doit être appelée pour **résoudre** le hook. L'action dépend des arguments fournis à `next`:
2828

29-
- **`next()`**: move on to the next hook in the pipeline. If no hooks are left, the navigation is **confirmed**.
29+
- **`next()`**: se déplacer jusqu'au prochain hook du workflow. S'il ne reste aucun hooks, la navigation est **confirmée**.
3030

31-
- **`next(false)`**: abort the current navigation. If the browser URL was changed (either manually by the user or via back button), it will be reset to that of the `from` route.
31+
- **`next(false)`**: annuler la navigation courante. Si l'URL du navigateur avait changée (manuellement par l'utilisateur ou via le bouton retour du navigateur), elle sera remise à sa valeur de route de `from`.
3232

33-
- **`next('/')` or `next({ path: '/' })`**: redirect to a different location. The current navigation will be aborted and a new one will be started.
33+
- **`next('/')` ou `next({ path: '/' })`**: redirige vers la nouvelle URL. La navigation courante va être arrêtée et une nouvelle va se lancer.
3434

35-
- **`next(error)`**: (2.4.0+) if the argument passed to `next` is an instance of `Error`, the navigation will be aborted and the error will be passed to callbacks registered via `router.onError()`.
35+
- **`next(error)`**: (2.4.0+) si l'argument passé à `next` est une instance de `Error`, la navigation va s'arrêter et l'erreur sera passée aux fonctions de rappel via `router.onError()`.
3636

37-
**Make sure to always call the `next` function, otherwise the hook will never be resolved.**
37+
**Assurez-vous de toujours appeler la fonction `next`, sinon le hook ne sera jamais résolu.**
3838

39-
### Global Resolve Guards
39+
### Résolutions des interceptions globales
4040

41-
> New in 2.5.0
41+
> Nouveau dans la 2.5.0
4242
43-
In 2.5.0+ you can register a global guard with `router.beforeResolve`. This is similar to `router.beforeEach`, with the difference that resolve guards will be called right before the navigation is confirmed, **after all in-component guards and async route components are resolved**.
43+
Dans la 2.5.0+ vous pouvez abonner une interception globale avec `router.beforeResolve`. Ceci est similaire a `router.beforeEach`, mais la différence est qu'elle sera appelée juste après que la navigation soit confirmée, **après que toutes les interceptions par composants et les composants de route asynchrone ai été résolus**.
4444

45-
### Global After Hooks
45+
### Hooks de sortie globaux
4646

47-
You can also register global after hooks, however unlike guards, these hooks do not get a `next` function and cannot affect the navigation:
47+
Vous pouvez également abonner des hooks de sortie, cependant, à la différence des interceptions, ces hooks ne fournissent pas de fonction `next` et n'affecte pas la navigation :
4848

4949
``` js
5050
router.afterEach((to, from) => {
5151
// ...
5252
})
5353
```
5454

55-
### Per-Route Guard
55+
### Interception par route
5656

57-
You can define `beforeEnter` guards directly on a route's configuration object:
57+
Vous pouvez définir la interception `beforeEnter` directement sur l'objet de configuration d'une route :
5858

5959
``` js
6060
const router = new VueRouter({
@@ -70,65 +70,65 @@ const router = new VueRouter({
7070
})
7171
```
7272

73-
These guards have the exact same signature as global before guards.
73+
Ces interceptions ont exactement le même effet que les interceptions globales d'entrée.
7474

75-
### Sécurisation intra-composants
75+
### Interception par composant
7676

77-
Finally, you can directly define route navigation guards inside route components (the ones passed to the router configuration) with the following options:
77+
Enfin, vous pouvez directement définir une interception de navigation a l'intérieur du composant lui-même (celui passer à la configuration du routeur) avec les options suivantes :
7878

7979
- `beforeRouteEnter`
80-
- `beforeRouteUpdate` (added in 2.2)
80+
- `beforeRouteUpdate` (ajouté dans la 2.2)
8181
- `beforeRouteLeave`
8282

8383
``` js
8484
const Foo = {
8585
template: `...`,
8686
beforeRouteEnter (to, from, next) {
87-
// called before the route that renders this component is confirmed.
88-
// does NOT have access to `this` component instance,
89-
// because it has not been created yet when this guard is called!
87+
// appelée avant que la route vers le composant soit confirmée.
88+
// cette fonction n'a pas accès à l'instance du composant avec `this`,
89+
// car le composant n'a pas encore été créé quand cette interception est appelée !
9090
},
9191
beforeRouteUpdate (to, from, next) {
92-
// called when the route that renders this component has changed,
93-
// but this component is reused in the new route.
94-
// For example, for a route with dynamic params /foo/:id, when we
95-
// navigate between /foo/1 and /foo/2, the same Foo component instance
96-
// will be reused, and this hook will be called when that happens.
97-
// has access to `this` component instance.
92+
// appelée quand la route qui fait le rendu de ce composant change,
93+
// mais que ce composant est utilisé de nouveau dans la nouvelle route.
94+
// Par exemple, pour une route avec le paramètre dynamique `/foo/:id`, quand nous
95+
// naviguons entre `/foo/1` et `/foo/2`, le même instance du composant `Foo`
96+
// va être ré-utilisée, et ce hook va être appelé quand cela arrivera.
97+
// ce hook a accès à l'instance de ce composant via `this`.
9898
},
9999
beforeRouteLeave (to, from, next) {
100-
// called when the route that renders this component is about to
101-
// be navigated away from.
102-
// has access to `this` component instance.
100+
// appelée quand la route qui fait le rendu de ce composant est sur le point
101+
// d'être laissée en faveur de la prochaine route.
102+
// elle a accès à l'instance de ce composant via `this`.
103103
}
104104
}
105105
```
106106

107-
The `beforeRouteEnter` guard does **NOT** have access to `this`, because the guard is called before the navigation is confirmed, thus the new entering component has not even been created yet.
107+
L'interception `beforeRouteEnter` **n'**a **PAS** accès à `this`, car l'interception est appelée avant que la navigation soit confirmée, et le nouveau composant entrant n'a même pas encore été crée.
108108

109-
However, you can access the instance by passing a callback to `next`. The callback will be called when the navigation is confirmed, and the component instance will be passed to the callback as the argument:
109+
Cependant, vous pouvez accéder à l'instance en passant dans la fonction de rappel `next`. Cette fonction de rappel va être appelée quand la navigation sera confirmée, et l'instance du composant sera passée à la fonction de rappel en tant qu'argument :
110110

111111
``` js
112112
beforeRouteEnter (to, from, next) {
113113
next(vm => {
114-
// access to component instance via `vm`
114+
// accèr à l'instance du composant via `vm`
115115
})
116116
}
117117
```
118118

119-
You can directly access `this` inside `beforeRouteLeave`. The leave guard is usually used to prevent the user from accidentally leaving the route with unsaved edits. The navigation can be canceled by calling `next(false)`.
120-
121-
### The Full Navigation Resolution Flow
122-
123-
1. Navigation triggered
124-
2. Call leave guards in deactivated components
125-
3. Call global `beforeEach` guards
126-
4. Call `beforeRouteUpdate` guards in reused components (2.2+)
127-
5. Call `beforeEnter` in route configs
128-
6. Resolve async route components
129-
7. Call `beforeRouteEnter` in activated components
130-
8. Call global `beforeResolve` guards (2.5+)
131-
9. Navigation confirmed.
132-
10. Call global `afterEach` hooks.
133-
11. DOM updates triggered.
134-
12. Call callbacks passed to `next` in `beforeRouteEnter` guards with instantiated instances.
119+
Vous pouvez directement accéder à `this` à l'intérieur de `beforeRouteLeave`. L'interception de sortie est utilisée pour empêcher l'utilisateur de quitter la route par accident alors qu'il n'a pas sauver ses modifications. La navigation peut être annulée en appelant `next(false)`.
120+
121+
### Le flux de résolution de navigation complet
122+
123+
1. La navigation est demandée.
124+
2. Appel de la interception de sortie des composants désactivés (ceux que l'on va quitter).
125+
3. Appel des interceptions globales `beforeEach`.
126+
4. Appel des interceptions `beforeRouteUpdate` pour les composants ré-utilisés (2.2+).
127+
5. Appel de `beforeEnter` dans la configuration de route.
128+
6. Résolution des composants de route asynchrones.
129+
7. Appel de `beforeRouteEnter` dans les composants activés (ceux où l'on va arriver).
130+
8. Appel des interceptions `beforeResolve` (2.5+).
131+
9. Confirmation de la navigation.
132+
10. Appel des hooks globaux `afterEach`.
133+
11. Modification du DOM demandées.
134+
12. Appel des fonctions de rappel passées à `next` dans l'interception `beforeRouteEnter` avec l'instance instanciée.

docs/en/api/component-injections.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ Ces propriétés sont injectées dans chacun des composants enfants, en passant
1818
- **beforeRouteUpdate** (ajouté en 2.2)
1919
- **beforeRouteLeave**
2020

21-
Voir la [Sécurisation intra-composants](../advanced/navigation-guards.md#securisation-intra-composants).
21+
Voir l'[interception par composant](../advanced/navigation-guards.md#securisation-par-composant).

docs/en/api/route-object.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ L'objet `Route` peut être trouvé à plusieurs endroits :
1212

1313
- Comme valeur de retour après l'appel de `router.match(location)`
1414

15-
- À l'intérieur des fonctions de sécurisation de navigation, dans les deux premiers paramètres de la fonction :
15+
- À l'intérieur des fonctions d'interception de la navigation, dans les deux premiers paramètres de la fonction :
1616

1717
``` js
1818
router.beforeEach((to, from, next) => {

docs/en/api/router-instance.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@
2626
- **router.beforeResolve(guard)** (2.5.0+)
2727
- **router.afterEach(hook)**
2828

29-
Ajout de sécurités globales de navigation. Voir les [sécurités de navigation](../advanced/navigation-guards.md).
29+
Ajout des interceptions globales de navigation. Voir les [Intercepteurs de navigation](../advanced/navigation-guards.md).
3030

31-
Dans la version 2.5.0+, ces trois méthodes retournent une fonction qui enlève les fonctions de sécurisations et hooks enregistrés.
31+
Dans la version 2.5.0+, ces trois méthodes retournent une fonction qui enlève les fonctions d'interception et hooks enregistrés.
3232

3333
- **router.push(location, onComplete?, onAbort?)**
3434
- **router.replace(location, onComplete?, onAbort?)**
@@ -81,8 +81,8 @@
8181
8282
Enregistre une fonction de rappel qui sera appelée lorsqu'une erreur sera capturée pendant la navigation vers une route. Notez que pour qu'une erreur soit appelée, cela doit correspondre à l'un des scénarios suivants :
8383

84-
- L'erreur est lancée de manière synchrone à l'intérieur d'une fonction de sécurisation de route ;
84+
- L'erreur est lancée de manière synchrone à l'intérieur d'une fonction d'interception de route ;
8585

86-
- L'erreur est capturée et traitée de manière asynchrone en appelant `next(err)` à l'intérieur d'une fonction de sécurisation de route ;
86+
- L'erreur est capturée et traitée de manière asynchrone en appelant `next(err)` à l'intérieur d'une fonction de d'interception de route ;
8787

8888
- Une erreur est survenue pendant la résolution d'un composant asynchrone qui est requis pour faire le rendu d'une route.

docs/en/essentials/dynamic-matching.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ const User = {
5353
}
5454
```
5555

56-
Ou utiliser la fonction de sécurisation `beforeRouteUpdate` introduite avec la 2.2 :
56+
Ou utiliser la fonction d'interception `beforeRouteUpdate` introduite avec la 2.2 :
5757

5858
``` js
5959
const User = {

0 commit comments

Comments
 (0)