From d6d7bff2cb19f9bb82c8bfee59e14846ec1e3533 Mon Sep 17 00:00:00 2001 From: Hachemi Date: Tue, 24 Dec 2019 00:08:36 +0100 Subject: [PATCH] Tranlate Fetch: Cross-Origin Requests page in french language --- .../1-do-we-need-origin/solution.md | 10 +- .../1-do-we-need-origin/task.md | 14 +- 5-network/05-fetch-crossorigin/article.md | 287 +++++++++--------- 3 files changed, 155 insertions(+), 156 deletions(-) diff --git a/5-network/05-fetch-crossorigin/1-do-we-need-origin/solution.md b/5-network/05-fetch-crossorigin/1-do-we-need-origin/solution.md index d44494e18..d856b27e7 100644 --- a/5-network/05-fetch-crossorigin/1-do-we-need-origin/solution.md +++ b/5-network/05-fetch-crossorigin/1-do-we-need-origin/solution.md @@ -1,9 +1,9 @@ -We need `Origin`, because sometimes `Referer` is absent. For instance, when we `fetch` HTTP-page from HTTPS (access less secure from more secure), then there's no `Referer`. +Nous avons besoin de `Origin`, car parfois `Referer` est absent. Par exemple, lorsque nous faisons un `fetch` de la page HTTP à partir de la page HTTPS (accès moins sécurisé de plus sécurisé), il n'y a pas de `Referer`. -The [Content Security Policy](http://en.wikipedia.org/wiki/Content_Security_Policy) may forbid sending a `Referer`. +Le [Content Security Policy](http://en.wikipedia.org/wiki/Content_Security_Policy) peut interdire l'envoi d'un `Referer`. -As we'll see, `fetch` has options that prevent sending the `Referer` and even allow to change it (within the same site). +Comme nous le verrons, `fetch` a des options qui empêchent d'envoyer le` Referer` et permettent même de le changer (dans le même site). -By specification, `Referer` is an optional HTTP-header. +Par spécification, `Referer` est un en-tête HTTP facultatif. -Exactly because `Referer` is unreliable, `Origin` was invented. The browser guarantees correct `Origin` for cross-origin requests. +Précisément parce que `Referer` n'est pas fiable, `Origin` a été inventé. Le navigateur garantit une origine correcte pour les requêtes cross-origin. diff --git a/5-network/05-fetch-crossorigin/1-do-we-need-origin/task.md b/5-network/05-fetch-crossorigin/1-do-we-need-origin/task.md index fb8142a3b..3eadf0df6 100644 --- a/5-network/05-fetch-crossorigin/1-do-we-need-origin/task.md +++ b/5-network/05-fetch-crossorigin/1-do-we-need-origin/task.md @@ -2,11 +2,11 @@ importance: 5 --- -# Why do we need Origin? +# Pourquoi avons-nous besoin d'Origin ? -As you probably know, there's HTTP-header `Referer`, that usually contains an url of the page which initiated a network request. +Comme vous le savez probablement, il y a un en-tête HTTP `Referer`, qui contient généralement une URL de la page qui a initié une requête réseau. -For instance, when fetching `http://google.com` from `http://javascript.info/some/url`, the headers look like this: +Par exemple, lors de la récupération de `http://google.com` à partir de `http://javascript.info/some/url`, les en-têtes ressemblent à ceci : ``` Accept: */* @@ -20,9 +20,9 @@ Referer: http://javascript.info/some/url */!* ``` -As you can see, both `Referer` and `Origin` are present. +Comme vous pouvez le voir, `Referer` et `Origin` sont présents. -The questions: +Questions : -1. Why `Origin` is needed, if `Referer` has even more information? -2. Is it possible that there's no `Referer` or `Origin`, or is it incorrect? +1. Pourquoi `Origin` est nécessaire, si `Referer` a encore plus d'informations ? +2. Est-il possible qu'il n'y ait pas de `Referer` ou `Origin`, ou est-ce incorrect ? diff --git a/5-network/05-fetch-crossorigin/article.md b/5-network/05-fetch-crossorigin/article.md index 1394433d9..14711262c 100644 --- a/5-network/05-fetch-crossorigin/article.md +++ b/5-network/05-fetch-crossorigin/article.md @@ -1,50 +1,50 @@ -# Fetch: Cross-Origin Requests +# Fetch: Requêtes Cross-Origin -If we send a `fetch` request to another web-site, it will probably fail. +Si nous envoyons une requête `fetch` à un autre site Web, elle échouera probablement. -For instance, let's try fetching `http://example.com`: +Par exemple, essayons de récupérer `http://example.com` : ```js run async try { await fetch('http://example.com'); } catch(err) { - alert(err); // Failed to fetch + alert(err); // Échec de la récupération } ``` -Fetch fails, as expected. +La récupération échoue, comme prévu. -The core concept here is *origin* -- a domain/port/protocol triplet. +Le concept principal ici est *origin* - un triplet domaine/port/protocole. -Cross-origin requests -- those sent to another domain (even a subdomain) or protocol or port -- require special headers from the remote side. +Les requêtes cross-origin - celles envoyées vers un autre domaine (même un sous-domaine) ou un protocole ou un port - nécessitent des en-têtes spéciaux du côté distant. -That policy is called "CORS": Cross-Origin Resource Sharing. +Cette politique est appelée "CORS": Cross-Origin Resource Sharing. -## Why is CORS needed? A brief history +## Pourquoi CORS est-il nécessaire ? Un bref historique -CORS exists to protect the internet from evil hackers. +CORS existe pour protéger Internet des diaboliques pirates. -Seriously. Let's make a very brief historical digression. +Plus sérieusement, faisons une très brève digression historique. -**For many years a script from one site could not access the content of another site.** +**Pendant de nombreuses années, un script d'un site n'a pas pu accéder au contenu d'un autre site.** -That simple, yet powerful rule was a foundation of the internet security. E.g. an evil script from website `hacker.com` could not access user's mailbox at website `gmail.com`. People felt safe. +Cette règle simple mais puissante a été le fondement de la sécurité Internet. Par exemple. un script malveillant du site Web `hacker.com` ne pouvait pas accéder à la boîte aux lettres de l'utilisateur sur le site Web `gmail.com`. Les gens se sentaient en sécurité. -JavaScript also did not have any special methods to perform network requests at that time. It was a toy language to decorate a web page. +JavaScript n'avait pas non plus de méthodes spéciales pour effectuer des requêtes réseau à l'époque. C'était un langage pour s'amuser à décorer une page Web. -But web developers demanded more power. A variety of tricks were invented to work around the limitation and make requests to other websites. +Mais les développeurs Web ont demandé plus de puissance. Diverses astuces ont été inventées pour contourner la limitation et faire des demandes à d'autres sites Web. -### Using forms +### Utilisation de formulaires -One way to communicate with another server was to submit a `
` there. People submitted it into `