Adding French translations for the documentation (#8097)
authorGuerin <guerin_guillaume@hotmail.fr>
Wed, 30 Nov 2016 17:49:36 +0000 (09:49 -0800)
committerKevin Sawicki <kevin@github.com>
Wed, 30 Nov 2016 17:49:36 +0000 (09:49 -0800)
* Adding French translation of electron-versioning.md

* Adding French translation of security.md

* Fixing typos and rewriting some text

* Update security.md

docs-translations/fr-FR/tutorial/electron-versioning.md [new file with mode: 0644]
docs-translations/fr-FR/tutorial/security.md [new file with mode: 0644]
docs-translations/fr-FR/tutorial/supported-platforms.md

diff --git a/docs-translations/fr-FR/tutorial/electron-versioning.md b/docs-translations/fr-FR/tutorial/electron-versioning.md
new file mode 100644 (file)
index 0000000..1c30cff
--- /dev/null
@@ -0,0 +1,14 @@
+# Versionage d'Electron
+
+Si vous êtes un développeur Node expérimenté, vous êtes sûrement au courant de `semver` - et pourrez l'utiliser pour donner à vos systèmes de gestion de dépendences seulement des lignes directrices générales plutôt que des numéros de version fixes. En raison d'une forte dépendence avec Node et
+Chromium, Electron est dans une position quelque peu difficile et ne suit pas
+semver. Vous devez donc toujours faire référence à une version spécifique d'Electron.
+
+Les numéros de version sont mis à jour selon les règle suivantes:
+
+* Majeur: Pour les gros changements entrainant des ruptures dans l'API d'Electron - Si vous passez de la version `0.37.0`
+  à `1.0.0`, vous devrez effectuer une migration de votre application.
+* Mineur: Pour des changements majeurs de Chrome et des changements mineur de Node; ou  des changements important d'Electron - si vous mettez à jour de `1.0.0` vers `1.1.0`, le plus gros de votre application fonctionnera, seul de petits changements seront à effectuer.
+* Patch: Pour de nouvelles fonctionalités et des résolutions de bugs - si vous passez de la version `1.0.0` à `1.0.1`, votre application continuera de s'exécuter telle quelle.
+
+Si vous utilisez `electron` ou `electron-prebuilt`, nous vous recommandons de fixer le numéro de version (`1.1.0` instead of `^1.1.0`) pour être sûr que toutes les mises à jour d'Electron sont une opération manuelle faite par vous, le développeur.
diff --git a/docs-translations/fr-FR/tutorial/security.md b/docs-translations/fr-FR/tutorial/security.md
new file mode 100644 (file)
index 0000000..7b22899
--- /dev/null
@@ -0,0 +1,76 @@
+# Securité, Application Natives, et Votre Responsabilité
+
+En tant que développeurs Web, nous avons l'habitude de bénéficier d'une sécurité élevée au niveau du navigateur - les
+risques associés au code que nous écrivons sont relativement faibles. Nos sites internet ont des droit limités au sein 
+d'une sandbox, et nous faisons confiance à nos utilisateurs pour utiliser des navigateurs créés par de grosses équipes d'ingénieurs 
+capables de réagir rapidement lorsqu'une faille de sécurité est découverte.
+
+Quand on travaille avec Electron, il est important de comprendre qu'Electron n'est pas un navigateur web.
+Il vous permet de construire des applications de bureau riches de fonctionnalités au travers de technologies web familaires,
+mais votre code a beaucoup plus de possibilités. Javascript peut accéder au système de fichier, au shell, et plus. 
+Cela vous permet de construire des applications natives de haute qualité, mais les problèmes de sécurité sont inhérents à toutes ces possibilités.
+
+Avec ça en tête, soyez conscient qu'afficher du contenu arbitraire depuis des sources extérieures pose un gros risque au niveau de la sécurité qu'Electron ne peut gérer.
+En fait, les applications utilisant Electron les plus populaires (Atom, Slack, Visual Studio Code, ...etc) affichent principalement du contenu local (ou de confiance, il s'agit alors de contenu distant sécurisé sans intégration avec Node) - si votre application exécute du code depuis une source extérieur, il est de votre responsabilité de vous assurer que ce code n'est pas malveillant.
+
+
+## Problèmes de sécurités liés à Chromium et mises à jour
+
+Tandis qu'Electron essai de supporter les nouvelles versions de Chromium dès que possible,
+les developpeurs doivent garder à l'esprit que le fait de mettre à jour l'application est une tâche laborieuse durant laquelle plusieurs douzaines, voir plusieurs centaines de fichiers doivent être modifiés à la main.
+Selon les ressources et les contributions actuelles, Electron ne fonctionnera pas toujours avec la dernière version de Chromium, un délai de quelques jours voir quelques semaines est à prévoir.
+
+Nous pensons que notre système actuel de mises à jour du composant Chromium correspond à
+équilibre approprié entre les ressources dont nous disposons et les besoins de la
+majorité des applications construites autour du framework.
+Les Pull requests et les contributions supportant cet effort sont toujours les bienvenues.
+
+## Ignorer les conseils précédents
+
+Un problème de sécurité existe quand vous recevez du code depuis une source distante puis l'exécutez localement. Prenons comme exemple l'affichage d'un site web distant affiché à l'intérieur d'une fenêtre de navigateur.
+Si un attaquant parvient d'une quelconque façon de changer son contenu
+(soit en attaquant la source directement, ou bien en se placant entre votre application et sa destination actuelle), ils seront capables d'executer du code natif sur la machine de l'utilisateur.
+
+> :warning: En aucun cas vous ne devez charger puis exécuter du code distant avec Node. A la place, utilisez seulement des fichiers locaux (regroupés avec votre application) pour exécuter du code de Node. Pour afficher du contenu distant, utilisez le tag
+`webview` et assurez vous de désactiver `nodeIntegration`.
+
+#### Checklist
+
+Il ne s'agit pas d'une liste exhaustive, mais au moins, pour palier aux problèmes de sécurités vous devez essayer de:
+
+* Afficher seulement du contenu (https) sécurisé
+* Désactiver l'intégration de Node dans tout ce qui gère le rendu avec du contenu distant
+  (using `webPreferences`)
+* Ne pas désactiver `webSecurity`. Disabling it will disable the same-origin policy.
+* Définir une [`Content-Security-Policy`](http://www.html5rocks.com/en/tutorials/security/content-security-policy/)
+, et utiliser des règles strictes (i.e. `script-src 'self'`)
+* [Surcharger et désactiver `eval`](https://github.com/nylas/N1/blob/0abc5d5defcdb057120d726b271933425b75b415/static/index.js#L6-L8)
+, qui permet à des chaines de caractères d'être exécutées comme du code.
+* Ne pas assigner `allowDisplayingInsecureContent` à true.
+* Ne pas assigner `allowRunningInsecureContent` à true.
+* Ne pas activer `experimentalFeatures` ou `experimentalCanvasFeatures` à moins d'être sûr ce que vous faites.
+* Ne pas utiliser `blinkFeatures` à moins d'être sûr ce que vous faites.
+* WebViews: Assigner `nodeintegration` à false
+* WebViews: Ne pas utiliser `disablewebsecurity`
+* WebViews: Ne pas utiliser `allowpopups`
+* WebViews: Ne pas utiliser `insertCSS` ou `executeJavaScript` avec du CSS/JS distant.
+
+Encore une fois, cette liste permet de diminuer les risques de problème de sécurité, mais en aucun cas elle ne l'enlève complètement. Si votre objectif est d'afficher un site internet, choisir un navigateur sera une option plus sûre.
+
+## Buffer Global
+
+La classe [Buffer](https://nodejs.org/api/buffer.html) de Node est actuellement disponible
+en tant que global même quand `nodeIntegration` est à `false`. Vous pouvez le supprimer en faisant la manipulation suivante dans votre script `preload`:
+
+```js
+delete global.Buffer
+```
+
+Le supprimer peut casser les modules Node utilisés dans votre script preload script et votre application depuis que plusieurs librairies s'attendent à ce qu'il soit en tant que global plutôt que de le demander de manière explicite via:
+
+```js
+const {Buffer} = require('buffer')
+```
+
+Le `Buffer` global risque d'être supprimé dans de futures versions d'Electron.
+
index 2316864..78b666c 100644 (file)
@@ -4,15 +4,14 @@ Les plateformes suivantes sont supportées par Electron:
 
 ### macOS
 
-Seulement les binaires en 64bit sont fournis sur macOS, et la version minimale de macOS suportée est macOS 10.9.
+Seuls les binaires en 64bit sont fournis sur macOS, et la version minimale de macOS suportée est macOS 10.9.
 
 ### Windows
 
-Windows 7 et suivants sont supportés, les systèmes d'exploitation plus ancien ne sont pas supporté
-(et ne marchent pas).
+Les systèmes d'exploitations Windows 7 et supérieur sont supportés. Les versions antérieures ne sont pas supportées (et ne marchent pas).
 
 Les binaires `ia32` (`x86`) et `x64` (`amd64`) sont fournis pour Windows.
-Veuillez noter que la version `ARM` de Windows n'est pas supporté à ce jour.
+Veuillez noter que la version `ARM` de Windows n'est pas supportée à ce jour.
 
 ### Linux
 
@@ -20,7 +19,7 @@ Les binaires précompilés `ia32` (`i686`) et `x64` (`amd64`) d'Electron sont co
 Ubuntu 12.04, le binaire `arm` est compilé à partir d'une version ARM v7 hard-float ABI et
 NEON pour Debian Wheezy.
 
-Le binaire précompilé peut tourner sur une distribution si la distribution contient les librairies liées à Electron, sur la plateforme de compilation. Donc il est ganranti de pouvoir le faire marcher seulement sur Ubuntu 12.04, mais les plateformes suivantes sont aussi vérifiées comme capable de faire marcher la version précompilé des binaires d'Electron :
+Pour que les binaires pré-compilés puissent s'exécuter sur une certaine distribution, il faut que cette distribution inclut les librairies dont Electron a besoin. C'est à dire que seulement Ubuntu 12.04 est guaranti de fonctionner, même si les plateformes suivantes sont aussi verifiées et capables d'exécuter les binaires pré-compilés d'Electron:
 
 * Ubuntu 12.04 et suivantes
 * Fedora 21