Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Traduction de universal & structure #5

Merged
merged 7 commits into from
May 18, 2017

Conversation

mdartic
Copy link
Member

@mdartic mdartic commented May 10, 2017

Merci de relire ces deux traductions,

J'ai fait au mieux et me suis inspiré de ce que j'ai pu voir dans les traductions déjà existantes, et d'une issue répertoriant des conseils de traduction.

J'ai traduit les commentaires de code, et les libellés présents dedans, mais n'ai pas renommé les variables.

Copy link
Member

@MachinisteWeb MachinisteWeb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Top ! Merci pour ta contribution @mdartic !

Voici mes retour !

en/structure.md Outdated

As seen in the basic example, we are **creating a new root Vue instance for each request.** This is similar to how each user will be using a fresh instance of the app in their own browser. If we use a shared instance across multiple requests, it will easily lead to cross-request state pollution.
Comme vu dans l'exemple de base, nous **créons une nouvelle instance racine Vue pour chaque requête.** Cela est similaire au fait que chaque utilisateur utilise une nouvelle instance de l'application dans son propre navigateur. Si nous utilisons une instance partagée entre plusieurs requêtes, nous prenons le risque d'une pollution d'état multi-requêtes.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je le proposerai plutôt dans cet ordre pour garder « l'instance de Vue »

instance de Vue racine

ou

instance de Vue principale

je propose

d'une pollution d'état entre requête

ou

d'une pollution d'état inter-requête

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 pour l'instance de Vue.

en/structure.md Outdated

So, instead of directly creating an app instance, we should expose a factory function that can be repeatedly executed to create fresh app instances for each request:

Ainsi, au lieu de créer directement une instance d'application, nous devons exposer une fonction Fabrique qui peut être exécutée à plusieurs reprises pour créer de nouvelles instances d'application pour chaque requête :
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fonction de fabrique

de la même manière que declaration function se traduit par déclaration de fonction ou expression function par fonction d'expression je pense que l'on peut dire que factory function devient très simplement fonction de fabrique

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je me suis trompé car on dit déclaration de fonction et expression de fonction.

P-e que fabrique de fonction est plus juste ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah, ma référence était https://fr.wikipedia.org/wiki/Fabrique_(patron_de_conception)
on utilise plutôt méthode de fabrique dans l'explication, du coup, fonction de fabrique me paraissait bien ?

en/structure.md Outdated
@@ -17,12 +20,12 @@ module.exports = function createApp (context) {
data: {
url: context.url
},
template: `<div>The visited URL is: {{ url }}</div>`
template: `<div>L'URL visible est: {{ url }}</div>`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

est :

espace entre est et :

})
}
```

And our server code now becomes:
Et notre code serveur devient:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

devient :

(espace)

en/structure.md Outdated
res.end(html)
})
})
```

The same rule applies to router, store and event bus instances as well. Instead of exporting it directly from a module and importing it across your app, you need to create a fresh instance in `createApp` and inject it from the root Vue instance.
La même règle s'applique aussi bien au routeur, qu'au store et aux instances de bus d'événements. Au lieu de l'exporter directement depuis un module et de l'importer dans votre application, vous devez créer une nouvelle instance dans `createApp` et l'injecter depuis l'instance racine de Vue.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

instance racine de Vue

à aligner avec se qui aura été choisi pour "l'instance racine Vue" discuté plus haut

en/universal.md Outdated

For tasks shared between server and client but use different platform APIs, it's recommended to wrap the platform-specific implementations inside a universal API, or use libraries that do this for you. For example, [axios](https://github.com/mzabriskie/axios) is an HTTP client that exposes the same API for both server and client.
Pour les tâches partagées entre le serveur et le client, mais qui utilisent des APIs différentes selon la plate-forme, il est recommandé d'encapsuler le code spécifique à la plate-forme dans une API universelle, ou d'utiliser des bibliothèques qui le font pour vous. Par exemple, [axios](https://github.com/mzabriskie/axios) est un client HTTP qui présente la même API côté serveur et client.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

plateforme

plateforme

côté serveur et côté client

en/universal.md Outdated

For browser-only APIs, the common approach is to lazily access them inside client-only lifecycle hooks.
Pour les APIs exclusives au navigateur, l'approche habituelle est de les utiliser dans les connecteurs de cycle de vie exclusifs au client.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

conserver hook au lieu de connecteur

en/universal.md Outdated

Note that if a 3rd party library is not written with universal usage in mind, it could be tricky to integrate it into an server-rendered app. You *might* be able to get it working by mocking some of the globals, but it would be hacky and may interfere with the environment detection code of other libraries.
Notez que si une bibliothèque tierce n'est pas écrite avec l'objectif d'être universelle, cela peut être délicat de l'intégrer dans une application rendue côté serveur. Vous *devriez* être capable de la faire fonctionner en substituant certaines variables globales, mais cela serait cavalier et pourrait interférer avec du code de détection de l'environnement d'autres bibliothèques.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

avec du code de détection d'environnement des autres bibliothèques

en/universal.md Outdated

2. If you have a custom directive that cannot be easily replaced by components, you can provide a "server-side version" of it using the [`directives`](./api.md#directives) option when creating the server renderer.
2. Si vous avez une directive personnalisée qui ne peut être facilement remplacée par des composants, vous pouvez en fournir une "version serveur" qui utilise l'option [`directives`](./api.md#directives) lors de la création du rendu serveur.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

« version serveur »

en/structure.md Outdated
@@ -1,13 +1,16 @@
# Structure de code (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-ssr-docs).*

## Eviter les singletons stateful
Copy link
Member

@MachinisteWeb MachinisteWeb May 10, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je pense que l'on peut traduire stateful par état

Éviter les singletons d'état

Par exemple « Stateful Firewall » se traduit par « pare-feu d'état » https://fr.wikipedia.org/wiki/Pare-feu_%C3%A0_%C3%A9tats

@Kocal Kocal self-requested a review May 10, 2017 15:58
Copy link
Member

@Kocal Kocal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merci pour la contribution !

en/structure.md Outdated
## Avoid Stateful Singletons

When writing client-only code, we are used to the fact that our code will be evaluated in a fresh context every time. However, a Node.js server is a long-running process. When our code is required into the process, it will be evaluated once and stays in memory. This means if you create a singleton object, it will be shared between every incoming request.
Lors de l'écriture du code exclusif au client, nous sommes habitués au fait que notre code sera interprété dans un nouveau contexte à chaque fois. Cependant, un serveur Node.js est un processus au long cours. Quand notre code est appelé dans le processus, il sera interprété une fois et restera en mémoire. Cela signifie que si vous créez un singleton, il sera partagé entre chaque nouvelle requête.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

un serveur Node.js est un processus au long cours

Pour ma part, lorsque j'avais commencé à traduire vue-ssr-docs de mon côté (vuejs#5), j'avais utilisé la formulation : un serveur Node.js est un processus qui reste actif dans le temps.
Qu'en penses-tu ?

Copy link
Member

@MachinisteWeb MachinisteWeb May 11, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'avais également butté sur la formulation. J'ai été me renseigner et c'est quelque chose qui se dit quand un phénomène dure dans le temps. Et c'est assez poétique haha.

Côté processus informatique, c'est pas mal le mot « actif » de @Kocal

un processus qui reste actif

tout simplement représente bien un long-running processus (en gros un processus qui se clos pas à la fin des instructions). Pas besoin de « dans le temps » du tout.

Donc si c'est bon pour vous deux j'ajouterai bien à la liste des termes à traduire ceci

long-running process = processus qui reste actif

?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pour moi ça me va 👍

en/structure.md Outdated

As seen in the basic example, we are **creating a new root Vue instance for each request.** This is similar to how each user will be using a fresh instance of the app in their own browser. If we use a shared instance across multiple requests, it will easily lead to cross-request state pollution.
Comme vu dans l'exemple de base, nous **créons une nouvelle instance racine Vue pour chaque requête.** Cela est similaire au fait que chaque utilisateur utilise une nouvelle instance de l'application dans son propre navigateur. Si nous utilisons une instance partagée entre plusieurs requêtes, nous prenons le risque d'une pollution d'état multi-requêtes.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 pour l'instance de Vue.

en/structure.md Outdated

As seen in the basic example, we are **creating a new root Vue instance for each request.** This is similar to how each user will be using a fresh instance of the app in their own browser. If we use a shared instance across multiple requests, it will easily lead to cross-request state pollution.
Comme vu dans l'exemple de base, nous **créons une nouvelle instance racine Vue pour chaque requête.** Cela est similaire au fait que chaque utilisateur utilise une nouvelle instance de l'application dans son propre navigateur. Si nous utilisons une instance partagée entre plusieurs requêtes, nous prenons le risque d'une pollution d'état multi-requêtes.

So, instead of directly creating an app instance, we should expose a factory function that can be repeatedly executed to create fresh app instances for each request:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Il faut aussi penser à supprimer le paragraphe original 😛

en/structure.md Outdated
res.end(html)
})
})
```

The same rule applies to router, store and event bus instances as well. Instead of exporting it directly from a module and importing it across your app, you need to create a fresh instance in `createApp` and inject it from the root Vue instance.
La même règle s'applique aussi bien au routeur, qu'au store et aux instances de bus d'événements. Au lieu de l'exporter directement depuis un module et de l'importer dans votre application, vous devez créer une nouvelle instance dans `createApp` et l'injecter depuis l'instance racine de Vue.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

store

Est-ce qu'on n'avait pas traduit ce terme pour gestionnaire d'état dans la doc de vue-router ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Justement je demandais dans les pages traduite avant si on gardait pas le terme « store ». Je pense le garder en attendant de réellement comprendre toute sa portée et lui trouver un équivalent en un seul mot car toute les traduction de store me semble pas approprié.

en/structure.md Outdated

- Typical Vue apps are built with webpack and `vue-loader`, and many webpack-specific features such as importing files via `file-loader`, importing CSS via `css-loader` would not work directly in Node.js.
- les applications typiques Vue sont construites avec webpack et `vue-loader`, et beaucoup d'autres fonctionnalités spécifiques à webpack telles que l'import de fichiers via `file-loader`, ou encore l'import de CSS avec `css-loader` qui ne marcheraient pas directement en Node.js.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

qui ne fonctionneraient pas

en/universal.md Outdated

In a client-only app, every user will be using a fresh instance of the app in their browser. For server-side rendering we want the same: each request should have a fresh, isolated app instance so that there is no cross-request state pollution.
Dans une application qui tourne exclusivement côté client, chaque utilisateur utilisera une nouvelle instance de l'application dans leur navigateur. Pour le rendu serveur nous voulons le même fonctionnement: chaque requête doit disposer d'une nouvelle instance d'application, et isolée. Ainsi il n'y aura pas de pollution liée à du partage d'état multi-requêtes.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remplacer d'une nouvelle instance d'application, et isolée pour d'une nouvelle instance d'application isolée ?

@mdartic
Copy link
Member Author

mdartic commented May 13, 2017

Merci @Kocal & @haeresis pour les revues !
J'ai pris en considération la majeure partie de vos remarques normalement.
Il reste plate-forme / plateforme, et application client / cliente.

@MachinisteWeb
Copy link
Member

MachinisteWeb commented May 13, 2017 via email

@MachinisteWeb
Copy link
Member

MachinisteWeb commented May 13, 2017 via email

@sylvainpolletvillard
Copy link
Member

Pour factory function ? Oui je traduis ça en fonction fabrique: https://fr.wikipedia.org/wiki/Fabrique_(patron_de_conception)

"Fabrique de fonctions" est valable seulement si la fonction fabrique retourne effectivement une fonction (pour de la curryfication par exemple). Mais on utilise le plus souvent le terme en programmation orientée objet, où les fabriques retournent des objets instances de classes.

@MachinisteWeb MachinisteWeb merged commit 1b7e85d into vuejs-fr:working May 18, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants