Skip to content

Commit 4a99aa6

Browse files
committed
Traduction de navigation-guards.md
Signed-off-by: Bruno Lesieur <bruno.lesieur@gmail.com>
1 parent dcbf4be commit 4a99aa6

File tree

2 files changed

+57
-57
lines changed

2 files changed

+57
-57
lines changed

docs/en/SUMMARY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
- [Passing Props to Route Components (En)](essentials/passing-props.md)
1717
- [HTML5 History Mode (En)](essentials/history-mode.md)
1818
- Avancé
19-
- [Navigation Guards (En)](advanced/navigation-guards.md)
19+
- [Sécurisations de navigation](advanced/navigation-guards.md)
2020
- [Route Meta Fields (En)](advanced/meta.md)
2121
- [Transitions (En)](advanced/transitions.md)
2222
- [Récupération de données](advanced/data-fetching.md)

docs/en/advanced/navigation-guards.md

Lines changed: 56 additions & 56 deletions
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+
# Sécurisations 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, la sécurisation de navigation fournie par `vue-router` est principalement utilisée pour sécuriser sa navigation avec des redirections ou des annulations d'accès. Il y a plusieurs hooks disponibles lors du processus de navigation : globaux, par routes ou intra-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 de sécurisation 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 sécurisation intra-composant.
66

7-
### Global Guards
7+
### Sécurisation globale
88

9-
You can register global before guards using `router.beforeEach`:
9+
Vous pouvez abonner une sécurisation 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 sécurisations d'entrées globales sont appelées lors de l'ordre de création, chaque fois qu'une navigation est déclenchée. Les sécurisations 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 de sécurisation 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 sécurisations 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 sécurisation 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 sécurisations intra-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 sécurisations, 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+
### Sécurisation par route
5656

57-
You can define `beforeEnter` guards directly on a route's configuration object:
57+
Vous pouvez définir la sécurisation `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 sécurisations ont exactement le même effet que les sécurisations globales d'entrée.
7474

7575
### Sécurisation intra-composants
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 sécurisation 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 sécurisation 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+
La sécurisation `beforeRouteEnter` **n'**a **PAS** accès à `this`, car la sécurisation 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`. La sécurisation 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 sécurisation de sortie des composants désactivés (ceux que l'on va quitter),
125+
3. Appel des sécurisations globales `beforeEach`,
126+
4. Appel des sécurisations `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 sécurisations `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 la sécurisation `beforeRouteEnter` avec l'instance instanciée.

0 commit comments

Comments
 (0)