diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ab792d07f0816..22c745e8d1540 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -80,5 +80,10 @@ aforementioned sections). - Don't add a period/dot (.) at the end of the summary line. +## Translations + +This document is available in the following translations: + +- [French :fr:](translations/CONTRIBUTING.french.md) (Credits: Some sections are adapted from https://github.com/PostgREST/postgrest/blob/master/.github/CONTRIBUTING.md) diff --git a/README.md b/README.md index 8788eaeefc4b2..ec17279c5a01b 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Hasura GraphQL Engine is a blazing-fast GraphQL server that gives you **instant, Hasura helps you build GraphQL apps backed by Postgres or incrementally move to GraphQL for existing applications using Postgres. -Read more at [hasura.io](https://hasura.io) and the [docs](https://docs.hasura.io). +Read more at [hasura.io](https://hasura.io) and the [docs](https://docs.hasura.io). ------------------ @@ -28,7 +28,7 @@ Read more at [hasura.io](https://hasura.io) and the [docs](https://docs.hasura.i * **Make powerful queries**: Built-in filtering, pagination, pattern search, bulk insert, update, delete mutations * **Realtime**: Convert any GraphQL query to a live query by using subscriptions -* **Merge remote schemas**: Access custom GraphQL schemas for business logic via a single GraphQL Engine endpoint. [**Read more**](remote-schemas.md). +* **Merge remote schemas**: Access custom GraphQL schemas for business logic via a single GraphQL Engine endpoint. [**Read more**](remote-schemas.md). * **Trigger webhooks or serverless functions**: On Postgres insert/update/delete events ([read more](event-triggers.md)) * **Works with existing, live databases**: Point it to an existing Postgres database to instantly get a ready-to-use GraphQL API * **Fine-grained access control**: Dynamic access control that integrates with your auth system (eg: auth0, firebase-auth) @@ -61,7 +61,7 @@ Read more at [hasura.io](https://hasura.io) and the [docs](https://docs.hasura.i -## Quickstart: +## Quickstart: ### One-click deployment on Heroku @@ -138,7 +138,7 @@ Check out all the example applications in the - [Browse APIs](https://realtime-chat.demo.hasura.app/console) - Live location tracking app that shows a running vehicle changing current GPS - coordinates moving on a map. + coordinates moving on a map. - [Try it out](https://realtime-location-tracking.demo.hasura.app/) - [Tutorial](community/examples/realtime-location-tracking) - [Browse APIs](https://realtime-location-tracking.demo.hasura.app/console) @@ -199,7 +199,7 @@ badge to your applications built using Hasura. ❤️ ## License -The core GraphQL Engine is available under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0) (Apache-2.0). +The core GraphQL Engine is available under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0) (Apache-2.0). All **other contents** (except those in [`server`](server), [`cli`](cli) and [`console`](console) directories) are available under the [MIT License](LICENSE-community). @@ -210,4 +210,7 @@ directories. This readme is available in the following translations: -- [Japanese :jp:](README.japanese.md) (:pray: [@moksahero](https://github.com/moksahero)) +- [Japanese :jp:](translations/README.japanese.md) (:pray: [@moksahero](https://github.com/moksahero)) +- [French :fr:](translations/README.french.md) (:pray: [@l0ck3](https://github.com/l0ck3)) + +Translations for other files can be found [here](translations). \ No newline at end of file diff --git a/SECURITY.md b/SECURITY.md index 33ee674ebef45..94524a7f72e9c 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -30,3 +30,8 @@ A public disclosure date is negotiated by the Hasura product security team and t (Some sections have been inspired and adapted from [https://github.com/kubernetes/website/blob/master/content/en/docs/reference/issues-security/security.md](https://github.com/kubernetes/website/blob/master/content/en/docs/reference/issues-security/security.md)) +## Translations + +This document is available in the following translations: + +- [French :fr:](translations/SECURITY.french.md) diff --git a/code-of-conduct.md b/code-of-conduct.md index 7d1c8d56c1f8b..bc1a6dff36454 100644 --- a/code-of-conduct.md +++ b/code-of-conduct.md @@ -71,3 +71,9 @@ This Code of Conduct is adapted from the [Contributor Covenant][homepage], versi available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html [homepage]: https://www.contributor-covenant.org + +## Translations + +This document is available in the following translations: + +- [French :fr:](translations/code-of-conduct.french.md) diff --git a/event-triggers.md b/event-triggers.md index 2178a65d09533..4bf542298574b 100644 --- a/event-triggers.md +++ b/event-triggers.md @@ -98,3 +98,9 @@ Propagate event-driven and asynchronous information to UI clients easily with Gr ![Reactive apps architecture](assets/reactive-apps-arch.png) **Watch**: [Building a reactive app with an async backend](https://youtu.be/kTSOxRrtCeI) (*04:15 mins*) + +## Translations + +This document is available in the following translations: + +- [French :fr:](translations/event-triggers.french.md) diff --git a/remote-schemas.md b/remote-schemas.md index ea4eaca9b8bb3..d1195cc8963fa 100644 --- a/remote-schemas.md +++ b/remote-schemas.md @@ -77,4 +77,8 @@ These limitations will be addressed in upcoming versions. Read the complete [documentation](https://docs.hasura.io/1.0/graphql/manual/remote-schemas/index.html). +## Translations +This document is available in the following translations: + +- [French :fr:](translations/remote-schemas.french.md) diff --git a/translations/CONTRIBUTING.french.md b/translations/CONTRIBUTING.french.md new file mode 100644 index 0000000000000..788d4ad4a7e9c --- /dev/null +++ b/translations/CONTRIBUTING.french.md @@ -0,0 +1,82 @@ +# Contribuer à Hasura graphql-engine + +*Premièrement*: si vous n'êtes pas certain ou avez des craintes au sujet de quoi que ce soit, +il vous suffit de poser une question, ou de soumettre une issue ou pull request malgré tout. +Personne ne vous grondera alors que vous faites de votre mieux. +Le pire serait que l'on vous demande poliment de modifier quelque chose. +Nous apprécions toute contribution, et ne voulons pas qu'une muraille de règles entrave cela. + +Cependant, pour ceux qui souhaitent un peu plus d'accompagnement sur la meilleure +manière de contribuer au projet, lisez plus loin. Ce document traite du sujet qui +vous intéresse. En répondant à tous les critères que nous recherchons, les chance que +nous puissions intégrer ou traiter vos contributions augmenteront. + +## Vue d'ensemble + +[hasura/graphql-engine](https://github.com/hasura/graphql-engine) est un mono-repo +consistant en 3 composants. Chacun ayant son propre guide de contribution: + +1. [Server (Haskell)](../server/CONTRIBUTING.md) +2. [CLI (Go)](../cli/CONTRIBUTING.md) +3. [Console (JavaScript)](../console/README.md#contributing-to-hasura-console) + +Chacun de ces trois composants possède une version unique, désignée soit par le tag git, soit par une +combinaison du nom de la branche et du SHA de commit git. + +Pour toutes les contributions, un CLC (Contat de Licence de Contributeur) doit être signé [ici](https://cla-assistant.io/hasura/graphql-engine) avant (ou après) que la pull request ait été soumise. Un bot demandera si nécessaire aux contributeurs de signer le CLC au moyen d'un commentaire de pull request. + + +### Documentation + +Le guide de contribution pour la documentation peut être trouvé sur [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md). + +### Contenu communautaire + +Il n'existe aucun guide spécifique pour la contribution au contenu communautaire. +N'importe quoi pouvant aider la communauté ou les utilisateurs du GraphQL Engine +peut faire partie de cette section. Nous avons identifié [boilerplates](../community/boilerplates), +[sample-apps](../community/sample-apps) et [outils](../community/tools) comme candidats principaux. +N'hésitez pas à soumettre une pull request si vous avez quelque chose à ajouter (n'appartenant +pas forcément aux sections mentionnées ci-dessus). + +## Problèmes + +### Rapporter un Problème + +- Soyez certains de tester avec la dernière version disponible. Il est possible que + le bug que vous rencontrez ait déja été corrigé. + +- Précisez les étapes à suivre pour reproduire le problème, en incluant la version + de Postgres, la version de graphql-engine et la plateforme sur laquelle vous les + exécutez (Heroku, Docker, etc ...). + +- Veuillez inclure les logs du server, si nécessaire. + + +## Directives communes + +- Soyez certain qu'il y a une issue associée avec le travail que vous êtes en train de réaliser. + +- Si vous travaillez sur une issue, veuillez commenter ce que vous faites pour éviter une duplication + du travail par d'autres. + +- Veuillez "squasher" vos commits et ajouter une référence à l'issue en ajoutant `fix #` + ou `close #` dans le message de commit, à la fin. + Par exemple `resolve answers to everything (fix #42)` ou `resolve answers to everything, fix #42` + +- Rebasez master avec votre branche avant de soumettre une pull request. + +## Messages de commit + +- La première ligne doit être un résumé des changements, ne dépassant pas 50 caractères, suivi + par une section optionnelle contenant plus de détails au sujet des modifications. + Référez vous à [ce lien](https://github.com/erlang/otp/wiki/writing-good-commit-messages) + pour plus d'informations à propos de l'écriture de bons messages de commit. + +- Utilisez l'impératif présent: "add/fix/change", et non "added/fixed/changed" ou "adds/fixes/changes". + +- Ne mettez pas la première lettre de la ligne de résumé en majuscule. + +- N'ajoutez pas de point (.) à la fin de la ligne de résumé. + +(Credits: Certaines sections sont adaptées de https://github.com/PostgREST/postgrest/blob/master/.github/CONTRIBUTING.md) diff --git a/translations/README.french.md b/translations/README.french.md new file mode 100644 index 0000000000000..bbb0a59b1592c --- /dev/null +++ b/translations/README.french.md @@ -0,0 +1,197 @@ +# Hasura GraphQL Engine + +[![Docs](https://img.shields.io/badge/docs-v1.0-brightgreen.svg?style=flat)](https://docs.hasura.io) +[![CircleCI](https://circleci.com/gh/hasura/graphql-engine.svg?style=shield)](https://circleci.com/gh/hasura/graphql-engine) + + + + + + +Hasura GraphQL Engine est un serveur GraphQL ultra-rapide qui vous permet de créer **instantanément, des APIs GraphQL basées sur Postgres**, avec des [**déclencheurs de webhoook**](event-triggers.french.md) pour la logique métier. + +Hasura vous aide à construire des applications GraphQL basées sur Posgres ou à adopter graduellement GraphQL pour des applications existantes utilisant Postgres. + + +Plus d'informations sur [hasura.io](https://hasura.io) et dans la [documentation](https://docs.hasura.io). + +------------------ + +![Démo Hasura GraphQL Engine](../assets/demo.gif) + +------------------ + +![Démo Hasura GraphQL Engine Realtime](../assets/realtime.gif) + +------------------- + +## Fonctionnalités + +* **Réalisez des requêtes avancées**: filtrage intégré, pagination, recherche par patterns, mutations d'insertions en masse, mises-à-jour et suppression. +* **Temps réel**: Convertissez n'importe quelle requête GraphQL en requête temps-réel en uttilisant les `subscriptions`. +* **Fusionnez des schémas distants**: Accédez à vos propres schémas GraphQL pour votre logique métier, via un point d'accès GraphQL unique. [Plus d'informations](remote-schemas.french.md). +* **Déclenchez des webhooks ou des fonctions serverless**: En réactions aux évènements Postgres insert/update/delete ([Plus d'informations](event-triggers.french.md)) +* **Fonctionne avec les bases de données existantes**: Pointez GraphQL Engine vers une base de données Postgres existante afin d'obtenir instantanément une API GraphQL prête à l'emploi. +* **Contrôle d'accès détaillé**: Contrôle d'accès dynamique qui s'intègre avec votre système d'authentification (ex: auth0, firebase-auth) +* **Haute performance & faible impact**: Image Docker de ~15MB; ~50MB RAM @ 1000 req/s; prise en compte du multi-core +* **Interface d'administration & Migrations**: Interface d'administration & migrations de schéma à la Rails +* **Postgres** ❤️: Supporte les types Postgres (PostGIS/geo-location, etc.), transforme les vues en *graphs*, déclenche des procédures ou fonctions stockées via les mutations + +Plus d'informations sur [hasura.io](https://hasura.io) et dans la [documentation](https://docs.hasura.io). + +## Table des matières + +**Table des matières** + +- [Démarrage rapide](#quickstart) + - [Déploiement sur Heroku en un click](#one-click-deployment-on-heroku) + - [Autres méthodes de déploiement](#other-deployment-methods) +- [Architecture](#architecture) +- [Outils côté client](#client-side-tooling) +- [Ajout de logique métier](#add-business-logic) + - [Schémas distants](#remote-schemas) + - [Déclenchez des webhooks sur des evènements de base de donnée](#trigger-webhooks-on-database-events) +- [Demos](#demos) + - [Applications temps-réel](#realtime-applications) + - [Videos](#videos) +- [Support & Dépannage](#support--troubleshooting) +- [Contribuer](#contributing) +- [Elements de marque](#brand-assets) +- [Licence](#license) + + + +## Démarrage rapide: + +### Déploiement sur Heroku en un click + +La manière la plus rapide d'essayer Hasura est via Heroku. + +1. Cliquez sur le bouton ci-dessous pour déployer GraphQL Engine sur Heroku avec l'add-on Postgres gratuit: + + [![Déployer sur Heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/hasura/graphql-engine-heroku) + +2. Ouvrez la console Hasura + + Visitez `https://.herokuapp.com` (*remplacez \ par le nom de votre application*) pour ouvrir la console d'administration. + +3. Réalisez votre première requête GraphQL + + Créez une table et réalisez votre première requête. Suivez ce [guide](https://docs.hasura.io/1.0/graphql/manual/getting-started/first-graphql-query.html). + +### Autres méthodes de déploiement + +Pour les méthodes de déploiement basées sur Docker et les options de configuration avancées, consultez les [guides de déploiement](https://docs.hasura.io/1.0/graphql/manual/getting-started/index.html) ou les [manifestes d'installation](../install-manifests). + +## Architecture + +Hasura GraphQL Engine se place en frontal d'une base de données Postgres et peut accepter les requêtes GraphQL de vos applications clientes. Il peut être configuré pour fonctionner avec votre système d'authentification existant et peut gérer le contrôle d'accès au niveau des champs grâce a des règles, avec des variables dynamiques provenant du système d'authentification. + +Vous pouvez également fusionner des schémas GraphQL distants et fournir une API GraphQL unifiée. + +![Architecture de Hasura GraphQL Engine](../assets/hasura-arch.svg) + +## Outils côté client + +Hasura fonctionne avec n'importe quel client GraphQL. Nous recommandons l'utilisation d'[Apollo Client](https://github.com/apollographql/apollo-client). Consultez [awesome-graphql](https://github.com/chentsulin/awesome-graphql) pour une liste de clients. + +## Ajout de logique métier + +GraphQL Engine fournit plusieurs méthodes claires, évolutives et performantes pour ajouter votre propre logique métier à votre backend: + +### Schémas distants + +Ajoutez vos propres resolvers dans un schéma distant en plus du schéma dérivé de Postgres d'Hasura. Idéal pour des cas d'utilisation tels que l'implémentation d'une API de paiement, ou le requêtage de donnée ne se trouvant pas dans votre base de données - [plus d'informations](remote-schemas.french.md). + +### Déclenchez des webhooks sur des évènements de base de données + +Ajoutez de la logique métier asynchrone, déclenchée par des évènements de base de données. +Idéal pour les notifications, les pipelines de données de Postgres ou les +traitements asynchrones - [plus d'informations](event-triggers.french.md). + +### Données dérivée ou transformations de données + +Transformez les données dans Postgres ou exécutez de la logique métier dessus pour en deriver un autre jeu de données qui peut être requêté à l'aide de GraphQL Engine - [plus d'informations](https://docs.hasura.io/1.0/graphql/manual/queries/derived-data.html). + +## Démos + +Consultez toutes les applications d'example dans le répertoire +[community/sample-apps](../community/sample-apps). + +### Applications temps-réel + +- Application de messagerie de groupe développée avec React, incluant un indicateur de frappe, les utilisateurs connectés & les + notifications de nouveaux messages. + - [Essayez la](https://realtime-chat.demo.hasura.app/) + - [Tutoriel](../community/examples/realtime-chat) + - [Explorez les APIs](https://realtime-chat.demo.hasura.app/console) + +- Application de localisation en temps-réel montrant un véhicule dont les coordonnées GPS évoluent + se déplacer sur une carte. + - [Essayez la](https://realtime-location-tracking.demo.hasura.app/) + - [Tutoriel](../community/examples/realtime-location-tracking) + - [Explorez les APIs](https://realtime-location-tracking.demo.hasura.app/console) + +- Un tableau de bord temps-réel pour l'aggrégation de données en constante évolution. + - [Essayez la](https://realtime-poll.demo.hasura.app/) + - [Tutoriel](../community/examples/realtime-poll) + - [Explorez les APIs](https://realtime-poll.demo.hasura.app/console) + +### Vidéos + +* [Ajoutez GraphQL à une instance GitLab auto-hébergée](https://www.youtube.com/watch?v=a2AhxKqd82Q) (*3:44 mins*) +* [Application de liste de tâches avec Auth0 et un backend GraphQL](https://www.youtube.com/watch?v=15ITBYnccgc) (*4:00 mins*) +* [API GraphQL sur GitLab intégrée avec l'authentification GitLab](https://www.youtube.com/watch?v=m1ChRhRLq7o) (*4:05 mins*) +* [Tableau de bord pour 10 millions de trajets avec géolocalisation (PostGIS, Timescale)](https://www.youtube.com/watch?v=tsY573yyGWA) (*3:06 mins*) + +## Support & Dépannage + +La documentation et la communauté vous aideront à résoudre la plupart des problèmes. Si vous avez rencontré un bug ou avez besoin de nous contacter, vous pouvez nous joindre au travers des canaux suivants: + +* Support & retours: [Discord](https://discord.gg/vBPpJkS) +* Problèmes & remontées de bugs: [GitHub issues](https://github.com/hasura/graphql-engine/issues) +* Suivez les mise à jour du produit: [@HasuraHQ](https://twitter.com/hasurahq) +* Parlez nous sur la [messagerie du site Web](https://hasura.io) + +Nous nous impliquons dans le développement d'un environnement ouvert et accueillant dans la communauté. Veuillez consulter le [Code de Conduite](code-of-conduct.french.md). + + +Si vous souhaitez rapporter un problème de sécurité, veuillez [lire ceci](SECURITY.french.md). + +## Contribuer + +Consultez notre [guide de contribution](CONTRIBUTING.french.md) pour plus de détails. + +## Elements de marque + +Les élements de marque Hasura (logos, mascotte Hasura, badges "powered by" etc...) peuvent être +trouvés dans le répertoire [assets/brand](../assets/brand). N'hésitez pas à les utiliser dans votre +application/site Web etc... Nous serions ravis si vous ajoutiez le badge "Powered by Hasura" +à votre application développée à l'aide d'Hasura. ❤️ + +
+ + +
+ +```html + + + + + + + + + +``` + +## Licence + +Le GraphQL Engine est disponible sous [Apache License +2.0](https://www.apache.org/licenses/LICENSE-2.0) (Apache-2.0). + +Tous les **autres contenus** (à l'exception de ceux dans les répertoires +[`server`](../server), [`cli`](../cli) et [`console`](../console)) sont +disponibles sous [Licence MIT](../LICENSE-community). Cela inclut tout le +contenu des répertoires [`docs`](../docs) et [`community`](../community). diff --git a/README.japanese.md b/translations/README.japanese.md similarity index 82% rename from README.japanese.md rename to translations/README.japanese.md index 9183515c385e9..04215137a6ac4 100644 --- a/README.japanese.md +++ b/translations/README.japanese.md @@ -8,7 +8,7 @@ -Hasura GraphQLエンジンは **Postgres上で瞬時にリアルタイムのGraphQL API** を[**ウェブフックトリガー**](event-triggers.md)をデータベースイベントで起動し、ビジネスロジック用の[**リモートスキーマ**](remote-schemas.md)を提供する、非常に高速なGraphQLサーバーです。 +Hasura GraphQLエンジンは **Postgres上で瞬時にリアルタイムのGraphQL API** を[**ウェブフックトリガー**](../event-triggers.md)をデータベースイベントで起動し、ビジネスロジック用の[**リモートスキーマ**](../remote-schemas.md)を提供する、非常に高速なGraphQLサーバーです。 Hasuraは、Postgresをバックエンドに持つGraphQLアプリケーションを構築したり、Postgresを使用して既存のアプリケーションをGraphQLに段階的に移行したりするのに役立ちます。 @@ -16,11 +16,11 @@ Hasuraは、Postgresをバックエンドに持つGraphQLアプリケーショ ------------------ -![Hasura GraphQL エンジンデモ](assets/demo.gif) +![Hasura GraphQL エンジンデモ](../assets/demo.gif) ------------------ -![Hasura GraphQL エンジンリアルタイムデモ](assets/realtime.gif) +![Hasura GraphQL エンジンリアルタイムデモ](../assets/realtime.gif) ------------------- @@ -28,8 +28,8 @@ Hasuraは、Postgresをバックエンドに持つGraphQLアプリケーショ * **強力なクエリ**: 組み込みフィルタリング、ページ付け、パターン検索、一括挿入、更新、削除などのmutations * **リアルタイム**: subscriptions使って様々なGraphQLクエリをライブクエリに変換 -* **リモートスキーマのマージ**: 単一のGraphQLエンジンエンドポイントを介してビジネスロジック用のカスタムGraphQLスキーマにアクセスカスタムのGraphQLスキーマにアクセス [**続きを読む**](remote-schemas.md). -* **ウェブフックやサーバーレス機能を起動する**: Postgresのinsert / update / deleteイベント時 ([続きを読む](event-triggers.md)) +* **リモートスキーマのマージ**: 単一のGraphQLエンジンエンドポイントを介してビジネスロジック用のカスタムGraphQLスキーマにアクセスカスタムのGraphQLスキーマにアクセス [**続きを読む**](../remote-schemas.md). +* **ウェブフックやサーバーレス機能を起動する**: Postgresのinsert / update / deleteイベント時 ([続きを読む](../event-triggers.md)) * **既存のライブデータベースと連携**: 既存のPostgresデータベースから、すぐに使えるGraphQL APIが即座に作られます * **きめ細かいアクセス制御**: 認証システムと統合する動的アクセス制御(例:auth0、firebase-auth) * **管理UIと移行**: 最大15MBのドッカーイメージ。最大50MB RAM @ 1000 req/s。マルチコア対応 @@ -84,12 +84,12 @@ Hasuraを試す最も早い方法はHerokuを使うことです。 | **インフラ業者** | **ワンクリックリンク** | **追加情報** | |:------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------:| | DigitalOcean | [![DigitalOceanへのデプロイ](https://graphql-engine-cdn.hasura.io/img/create_hasura_droplet_200px.png)](https://marketplace.digitalocean.com/apps/hasura?action=deploy&refcode=c4d9092d2c48&utm_source=hasura&utm_campaign=readme) | [ドキュメント](https://docs.hasura.io/1.0/graphql/manual/guides/deployment/digital-ocean-one-click.html#hasura-graphql-engine-digitalocean-one-click-app) | -| Azure | [![Azureへのデプロイ](http://azuredeploy.net/deploybutton.png)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3a%2f%2fraw.githubusercontent.com%2fhasura%2fgraphql-engine%2fmaster%2finstall-manifests%2fazure-container-with-pg%2fazuredeploy.json) | [ドキュメント](https://docs.hasura.io/1.0/graphql/manual/guides/deployment/azure-container-instances-postgres.html) | +| Azure | [![Azureへのデプロイ](https://azuredeploy.net/deploybutton.png)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3a%2f%2fraw.githubusercontent.com%2fhasura%2fgraphql-engine%2fmaster%2finstall-manifests%2fazure-container-with-pg%2fazuredeploy.json) | [ドキュメント](https://docs.hasura.io/1.0/graphql/manual/guides/deployment/azure-container-instances-postgres.html) | ### 他のデプロイ方法 Dockerでのデプロイと高度なカスタマイズオプションについては [デプロイガイド](https://docs.hasura.io/1.0/graphql/manual/getting-started/index.html) か -[インストールマニフェスト](install-manifests)を参考にしてください。 +[インストールマニフェスト](../install-manifests)を参考にしてください。 ## アーキテクチャ @@ -97,7 +97,7 @@ Hasura GraphQLエンジンはPostgresデータベースインスタンスの前 リモートのGraphQLスキーマをマージして、統一されたGraphQL APIを提供することもできます。 -![Hasura GraphQLエンジンアーキテクチャ](assets/hasura-arch.svg) +![Hasura GraphQLエンジンアーキテクチャ](../assets/hasura-arch.svg) ## クライアント側ツール @@ -109,12 +109,12 @@ GraphQLエンジンは、バックエンドにカスタムビジネスロジッ ### リモートスキーマ -HasuraのPostgresベースのGraphQLスキーマに加えて、リモートスキーマにカスタムリゾルバを追加します。支払いAPIの実装、データベースに無いデータの問い合わせなどのユースケースに最適です - [続きを読む](remote-schemas.md)。 +HasuraのPostgresベースのGraphQLスキーマに加えて、リモートスキーマにカスタムリゾルバを追加します。支払いAPIの実装、データベースに無いデータの問い合わせなどのユースケースに最適です - [続きを読む](../remote-schemas.md)。 ### データベースイベントによるウェブフックの起動 データベースイベントから起動する非同期ビジネスロジックを追加します。 -通知、Postgresからのデータパイプライン、または非同期に最適です - [続きを読む](event-triggers.md)。 +通知、Postgresからのデータパイプライン、または非同期に最適です - [続きを読む](../event-triggers.md)。 ### 派生データまたはデータ変換 @@ -122,23 +122,23 @@ PostgreSQLのデータを変換するか、あるいはその上でビジネス ## デモ -[コミュニティ・サンプル](community/examples) ディレクトリにあるサンプルアプリケーションをチェックできます。 +[コミュニティ・サンプル](../community/sample-apps) ディレクトリにあるサンプルアプリケーションをチェックできます。 ### リアルタイムアプリケーション - Reactを使用して構築されたグループチャットアプリケーション。タイピングインジケーター、オンラインユーザー、新しいメッセージ通知が含まれます。 - [試してみよう](https://realtime-chat.demo.hasura.app/) - - [チュートリアル](community/examples/realtime-chat) + - [チュートリアル](../community/sample-apps/realtime-chat) - [APIの参照](https://realtime-chat.demo.hasura.app/console) - 現在の場所を追跡できるアプリ。地図上を移動する乗り物の現在のGPS座標を表示します。 - [試してみよう](https://realtime-location-tracking.demo.hasura.app/) - - [チュートリアル](community/examples/realtime-location-tracking) + - [チュートリアル](../community/sample-apps/realtime-location-tracking) - [APIの参照](https://realtime-location-tracking.demo.hasura.app/console) - 常にに変化するデータを集約するリアルタイムダッシュボード。 - [試してみよう](https://realtime-poll.demo.hasura.app/) - - [チュートリアル](community/examples/realtime-poll) + - [チュートリアル](../community/sample-apps/realtime-poll) - [APIの参照](https://realtime-poll.demo.hasura.app/console) ### 動画 @@ -157,22 +157,22 @@ PostgreSQLのデータを変換するか、あるいはその上でビジネス * プロダクトアップデートをフォロー: [@HasuraHQ](https://twitter.com/hasurahq) * 直接話す [ウェブサイトチャット](https://hasura.io) -私たちはこのコミュニティの中でオープンで心地よい環境を達成することを約束します。 [行動規範](code-of-onduct.md)をご覧ください。 +私たちはこのコミュニティの中でオープンで心地よい環境を達成することを約束します。 [行動規範](../code-of-onduct.md)をご覧ください。 -セキュリティに関する問題はこちらから報告をお願いします。[詳細を読む](SECURITY.md). +セキュリティに関する問題はこちらから報告をお願いします。[詳細を読む](../SECURITY.md). ## 開発への参加 -[開発者へのガイド](CONTRIBUTING.md) を参照してください。 +[開発者へのガイド](../CONTRIBUTING.md) を参照してください。 ## ブランド資産 -Hasuraブランドの資産(ロゴ、Hasuraマスコット、バッジなどを使用)[ブランド資産](assets / brand)フォルダにあります。自由に使用してください。 +Hasuraブランドの資産(ロゴ、Hasuraマスコット、バッジなどを使用)[ブランド資産](../assets/brand)フォルダにあります。自由に使用してください。 あなたが作ったアプリに"Powered by Hasura"を追加してもらえるととてもうれしいです!
- - + +
```html @@ -191,6 +191,6 @@ Hasuraブランドの資産(ロゴ、Hasuraマスコット、バッジなど GraphQLエンジンのコアは[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)(Apache-2.0)の下で提供されています。 -全ての **その他のコンテンツ** ([`サーバー`](server), [`クライアント`](cli) と -[`コンソール`](console) ディレクトリ以外) は [MITライセンス](LICENSE-community)の下に提供されます。 -これは [`ドキュメント`](docs) と [`コミュニティ`](community) ディレクトリに入っているもの全てを含みます。 +全ての **その他のコンテンツ** ([`サーバー`](../server), [`クライアント`](../cli) と +[`コンソール`](../console) ディレクトリ以外) は [MITライセンス](../LICENSE-community)の下に提供されます。 +これは [`ドキュメント`](../docs) と [`コミュニティ`](../community) ディレクトリに入っているもの全てを含みます。 diff --git a/translations/README.md b/translations/README.md new file mode 100644 index 0000000000000..ed1048dc80e72 --- /dev/null +++ b/translations/README.md @@ -0,0 +1,10 @@ +# Hasura GraphQL Engine - Translations + +| File | Language | +|-----------------|---------------| +| Readme | [:uk: English](../README.md) │ [:fr: Français](README.french.md) │ [:jp: 日本語](README.japanese.md) | +| Event Triggers | [:uk: English](../event-triggers.md) │ [:fr: Français](event-triggers.french.md) | +| Remote Schemas | [:uk: English](../remote-schemas.md) │ [:fr: Français](remote-schemas.french.md) | +| Contributing | [:uk: English](../CONTRIBUTING.md) │ [:fr: Français](CONTRIBUTING.french.md) | +| Security | [:uk: English](../SECURITY.md) │ [:fr: Français](SECURITY.french.md) | +| Code of Conduct | [:uk: English](../code-of-conduct.md) │ [:fr: Français](code-of-conduct.french.md) | diff --git a/translations/SECURITY.french.md b/translations/SECURITY.french.md new file mode 100644 index 0000000000000..3fb8785d4ec99 --- /dev/null +++ b/translations/SECURITY.french.md @@ -0,0 +1,31 @@ +## Rapporter des Vulnerabilités + +Nous sommes extrêmement reconaissant envers les chercheurs en sécurité et les utilisateurs qui rapportent des vulnérabilités à la Communauté Hasura. Tous les rapports sont minutieusement examinés par un ensemble de volontaires de la communauté et par l'équipe Hasura. + +Pour rapporter un problème de sécurité, veuillez nous envoyer un email à [build@hasura.io](mailto:build@hasura.io) avec tous les détails, en y attachant toutes les informations nécessaires. + +### Quand Rapporter une Vulnérabilité? + +- Vous pensez que vous avez découvert une faille de sécurité potentielle dans le Hasura GraphQL Engine ou l'un des composants liés. +- Vous n'êtes pas sûr de la manière dont une vulnérabilité affecte le Hasura GraphQL Engine. +- Vous pensez que vous avez découvert une vulnérabilité dans une autre projet dont Hasura GraphQL Engine dépend. (ex: Heroku, Docker, etc ...) +- Vous voulez rapporter n'importe quel autre risque de sécurité qui pourrait potentiellement affecter les utilisateurs de Hasura GraphQL Engine. + +### Quand ne PAS Rapporter une Vulnérabilité? + +- Vous avez besoin d'aide pour ajuster les composants de Hasura GraphQL Engine pour la sécurité. +- Vous avez besoin d'aide pour appliquer les mises-à-jour de sécurité. +- Votre problème n'est pas lié à la sécurité. + +## Réponse aux Failles de Sécurité + +Chaque rapport est confirmé et analysé par les mainteneurs du projet et l'équipe de sécurité dans les 3 jours ouvrés. + +Le rapporteur sera informé à chaque étape de l'analyse du problème et de sa résolution (tri -> correction -> publication). + +## Délai de Divulgation Publique + +Une date de divulgation publique est négociée par l'équipe de sécurité d'Hasura et le rapporteur du bug. Nous préférons divulguer publiquement le bug dés que possible, dés-lors qu'une atténuation de l'impact pour l'utilisateur est disponible. Il est raisonable de repousser la divulgation quand le bug ou la correction n'est pas encore totalement comprise, la solution n'a pas été testée en détail, ou pour la coordination avec les tiers. La fenêtre de divulgation peut s'étendre du moment de la prise de connaissance de la faille (particulièrement si elle est déjà connue publiquement), à quelques semaines. Nous estimons que le délai moyen entre un rapport et une divulgation publique à environ 7 jours. Les mainteneurs d'Hasura GraphQL Engine et l'équipe de sécurité prendront la décision finale pour décider d'une date de divulgation. + +(Certaines sections ont été inspirées et adaptées de [https://github.com/kubernetes/website/blob/master/content/en/docs/reference/issues-security/security.md](https://github.com/kubernetes/website/blob/master/content/en/docs/reference/issues-security/security.md)) + diff --git a/translations/code-of-conduct.french.md b/translations/code-of-conduct.french.md new file mode 100644 index 0000000000000..dd6231b3a8a40 --- /dev/null +++ b/translations/code-of-conduct.french.md @@ -0,0 +1,75 @@ +# Code de conduite de la communauté Hasura GraphQL Engine + +## Notre engagement + +Dans le but de cultiver un environnement ouvert et accueillant, en tant que contributeurs +et mainteneurs, nous nous engageons à faire en sorte que la participation à notre projet et +notre communauté soit une expérience exempte de harcellement pour tout le monde, indistinctement +de l'âge, la corpulence, les handicaps, l'ethnie, les caractéristiques sexuelles, +l'identité ou l'expression de genre, le niveau d'expérience, l'éducation, +la catégorié socio-professionnelle, la nationalité, l'apparence personnelle, +la race, la religion ou l'identité et l'orientation sexuelle. + +## Nos standards + +Exemples de comportements qui contribuent à créer un environnement positif: + +* Utiliser un langage accueillant et inclusif +* Être respectueux des points de vue et expériences divergents +* Accepter volontiers les critiques constructives +* Se focaliser sur ce qu'il y a de mieux pour la communauté +* Montrer de l'empathie vis-à-vis des autres membres de la communauté + +Exemples de comportements inacceptables de la part des participants: + +* L'usage d'un langage ou d'une imagerie à caractère sexuel et l'attention ou les avances + sexuelles malvenues. +* Le troll, les commentaires insultants/dérogatoires et les attaques personnelles ou politiques +* Le harcellement public ou privé +* La publication d'informations privées telles que l'adresse physique ou électronique d'une personne + sans son consentement explicite +* Tout autre conduite qui pourrait être raisonablement considérée comme + inappropriée dans un cadre professionnel + +## Nos responsabilités + +Les mainteneurs du projet ont la responsabilité de clarifier les standards de ce +qui constitue un comportement acceptable et sont tenus de prendre des mesures correctives +justes et appropriées en réponse à toute occurence de comportement inacceptable. + +Les mainteneurs du projet ont le droit et la responsabilité de supprimer, éditer, ou +rejeter les commentaires, commits, code, éditions de wiki, issues et toute autre contribution +qui ne sont pas en accord avec de Code de Conduite, ou de bannir termporairement ou +définitivement tout contributeur pour tout autre comportement qu'ils jugeraient inapproprié, +menaçant, offensant ou dangereux. + +## Périmètre + +Ce Code de Conduite s'applique à la fois dans les espaces de projet et dans les +espaces publics dés lors qu'un individu représente le projet ou sa communauté. +Des exemples de réprésentation du projet ou de qa communauté incluent l'usage +d'une adresse e-mail officielle du projet, la publication de contenu via un compte +de réseau social officiel, ou le fait d'agir comme un représentant mandaté lors +d'un évènement en-ligne ou hors-ligne. La représentation d'un projet peut être +définie plus précisément par les mainteneurs de ce projet. + +## Mise en application + +Les occurences de comportement abusif, de harcellement ou de tout autre comportement +inacceptable, peuvent être rapportés en contactant l'équipe du projet via build@hasura.io. +Toute plainte sera revue, examinée et débouchera sur une réponse jugée nécessaire et +appropriée au regard des circonstances. L'équipe du projet est obligée de maintenir +la confidentialité en ce qui concerne le rapporteur d'un incident. +Plus de détails sur des politiques de mise en application spécifiques peuvent être publiées +séparément. + +Les mainteneurs du projet qui ne suivent pas ou ne font pas appliquer le Code de Conduite +en toute bonne-foi, s'exposent à de répercussion temporaires ou permanentes, déterminées par +les autres membres de la direction du projet. + +## Attribution + +Ce Code de Conduite est une adaptation de l'[Engagement de Contributeur][homepage], version 1.4, +disponible sur https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org diff --git a/translations/event-triggers.french.md b/translations/event-triggers.french.md new file mode 100644 index 0000000000000..f4151685599e3 --- /dev/null +++ b/translations/event-triggers.french.md @@ -0,0 +1,99 @@ +# Evènenements déclencheurs sur Postgres + +Déclenchez des webhooks à partir d'évènements de la base de données en utilisant les évènenements déclencheurs d'Hasura GraphQL Engine. + +![Démo des évènenements déclencheurs](../assets/event-triggers.gif) + +## Points clés + +* **Développez des fonctionnalités/applications asynchrones & réactives**: Déclenchez des fonctions serverless ou cloud asynchrones afin +de réduire les coûts d'infrastructure et simlifier les DevOps pour les développeurs. + +* **Atomiques & Fiables**: En utilisant les déclencheurs natifs de Postgres, tout action significative sur la base de données est capturée comme évènement. Même si Hasura est inactif ou en cours de mise à jour, les évènements seront capturés et acheminés dés que possible avec une garantie de livraison *atleast-once*. Vous pouvez même configurer les politiques d'acheminement telles que `max_retries` et `retry_interval`. + +* **Evolutifs**: Le système d'évènement déclencheur peut être mis à l'échelle horizontallement - si vous avez besoin de traiter plus d'évènements, il vous suffit de lui fournir plus de ressources! + +* **Fonctionnent avec des bases de données existantes, en production**: Faites le pointer vers une base de données Postgres existante pour instantanément écouter les changements de donnée et invoquer des webhooks. + +* **Prêts pour l'observabilité & le monitoring**: Les évènements générés sont automatiquement instrumentalisés avec un `event-id`, et les logs structurés émis par Hasura facilitent l'usage de vos outils favoris pour exécuter un backend basé sur les évènements en production. +([regardez](https://youtu.be/WOPA52r3bzU) un apperçu utilisant [Honeycomb](https://honeycomb.io/)). + +## Démarrage rapide: + +### Déploiement en un click sur Heroku + +La manière la plus rapide de tester les évènements déclencheurs est via Heroku. + +1. Cliquez sur le bouton suivant pour déployer GraphQL Engine sur Heroku avec l'add-on Postgres gratuit: + + [![Déployer sur Heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/hasura/graphql-engine-heroku) + +2. Ouvrez la consule Hasura + + Visitez `https://.herokuapp.com` (*remplacez \ avec le nom de votre application*) pour ouvrir la console d'administration. + +3. Configurez votre premier évènement déclencheur et webhook + + Créez une table, configurez le changement de donnée que vous souhaitez utiliser comme déclencheur et invoquez immédiatement un webhook en ajoutant une nouvelle ligne dans votre table. + Suivez ce [simple guide](https://docs.hasura.io/1.0/graphql/manual/getting-started/first-event-trigger.html). + +### Autres méthodes de déploiement + +Pour les déploiements basés sur Docker et le options de configuration avancées, consultez les [guides de déploiement](https://docs.hasura.io/1.0/graphql/manual/getting-started/index.html). + +### Demo (*30 secondes*) + +[![Créez un évènement déclencheur et un webhook en 60 secondes](https://img.youtube.com/vi/EaTUVWnDCvA/0.jpg)](https://www.youtube.com/watch?v=EaTUVWnDCvA) + +[Créez un évènement déclencheur et un webhook en 60 secondes](https://youtu.be/EaTUVWnDCvA) + +### Kits de démarrage Serverless + +Utilisez l'un des [kits de démarrage déclencheur serverless](../community/boilerplates/serverless-triggers) pour déployer un webhook pouvant capturer des évènements de base de données. Plateformes Serverless/cloud-functions couvertes par les kits de démarrage: + +* [AWS Lambda](../community/boilerplates/serverless-triggers/aws-lambda) +* [Google Cloud Functions](../community/boilerplates/serverless-triggers/google-cloud-functions) +* [Azure Functions](../community/boilerplates/serverless-triggers/azure-functions) +* [Zeit Now](../community/boilerplates/serverless-triggers/zeit-now) + +## Architecture + +![Architecture des évènements déclencheurs](../assets/event-triggers-arch.png) + +## Démos & Tutoriels: Développer des applications/fonctionnalités réactives & asynchrones + +### Notifications + +Déclenchez des notifications push et des emails à partir d'évènements de la base de données. Essayez la démo et les tutoriels ci-dessous pour voir comment les notifications push du navigateur sont déclenchées lorsque l'utilisateur insère de la donnée: + +* [Regardez la démo](https://www.youtube.com/watch?v=nuSHkzE2-zo) +* [Essayez la](https://serverless-push.demo.hasura.app/) +* [Tutoriel](../community/examples/serverless-push) + + + + +### Transformation de donnée (ETL) + +Transformez et chargez de la donnée dans des data-stores externes. Allez voir cette démo et le tutoriel ci-dessous pour voir comment la donnée Postgres est transformée pour constuire et remplir un index Algolia: + +* [Regardez la démo](https://youtu.be/kWVEBWdEVAA) +* [Essayez la](https://serverless-etl.demo.hasura.app/) +* [Tutoriel](../community/examples/serverless-etl) + +### Construction d'UX réactive pour votre backend asynchrone avec une API GraphQL temps-réel + +Propagez de l'information asynchrone et évènementielle à l'UI des clients facilement avec les subscriptions GraphQL & les live-queries. + +![Artichecture d'applications réactives](../assets/reactive-apps-arch.png) + +**Regardez**: [Construire des applications réactivez avec un backend asynchrones](https://youtu.be/kTSOxRrtCeI) (*04:15 mins*) diff --git a/translations/remote-schemas.french.md b/translations/remote-schemas.french.md new file mode 100644 index 0000000000000..0de3fd49f42ab --- /dev/null +++ b/translations/remote-schemas.french.md @@ -0,0 +1,80 @@ +# Schémas distants + +Fusionnez des schémas GraphQL distants avec le schéma basé sur Postgres de GraphQL engine, pour requêter tous vos types GraphQL à partir du même point de terminaison. Les schémas distants sont idéaux pour des cas d'utilisation tels que: + +* Personnaliser des mutations (*ex: exécuter des validations avant des insertions*) +* Supporter des fonctionnalités telles que les paiements, etc ... et fournir une interface cohérente pour y accéder, c'est à dire au travers de l'API GraphQL Engine. +* Récupérer de la donnée hétérogène à partir d'autres sources (*ex: d'une API de météo ou d'une autre base de données*) + +Pour supporter votre propre logique métier, vous devrez créer un serveur GraphQL (voir [kits de démarrage](../community/boilerplates/graphql-servers)) et fusionner son schéma avec celui de GraphQL Engine. + +![architecture des schémas distants](../assets/remote-schemas-arch.png) + +## Démo (*40 secondes*) + +[![vidéo démontrant la fusion de schémas distants](https://img.youtube.com/vi/eY4n9aPsi0M/0.jpg)](https://www.youtube.com/watch?v=eY4n9aPsi0M) + +[Fusionnez des schémas GraphQL distants (lien YouTube)](https://youtu.be/eY4n9aPsi0M) + +## Démarrage Rapide + +La manière la plus rapide d'essayer les schémas distants est via Heroku. + +1. Cliquez sur le bouton suivant pour déployer GraphQL Engine sur Heroku avec l'add-on Postgres gratuit: + + [![Déployer sur Heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/hasura/graphql-engine-heroku) + +2. Ouvrez la console Hasura + + Visitez `https://.herokuapp.com` (*remplacez \ avec le nom de votre application*) pour ouvrir la console d'admin. + +3. Fusionnez votre propre schéma est requêtez le + + Dans la console d'administration, ouvrez l'onglet ``Remote Schemas`` et cliquez sur le bouton ``Add``. Renseignez les détails suivants: + * Nom du schéma distant: ``countries`` (*un alias pour ce schéma distant*). + * URL du serveur GraphQL: ``https://countries.trevorblades.com/`` (*Une API GraphQL publique que nous allons utiliser pour rapidement tester cette fonctionnalité; maintenue par [@trevorblades](https://github.com/trevorblades)*. + * Ignorez le reste de la configuration et cliquez sur le bouton ``Add Remote Schema``. + + Rendez vous dans l'onglet ``GraphiQL`` et exécutez la requête suivante (*copiez la dans la fenêtre de requête à gauche et cliquez sur le bouton* ▶️ *(play)*): + + ```graphql + { + countries { + emoji + name + languages { + name + native + } + } + } + ``` + + Vous pouvez explorer les types GraphQL du schéma distant au moyen de l'explorateur ``Docs`` dans le coin supérieur-droit de l'interface ``GraphiQL``. + +## Kits de démarrage + +Des kits de démarrage pour vos propres serveurs GraphQL sont disponibles dans plusieurs langages/frameworks populaires. + +* [Kits de démarrage traditionnels](../community/boilerplates/graphql-servers) qui peuvent être déployés n'importe où. +* [Kits de démarrage Serverless](https://github.com/hasura/graphql-serverless) pouvant être déployés sur des plateformes serverless telles que AWS Lambda etc... + +Veullez noter que des kits de démarrage pour d'autres langages, frameworks, plateformes serverless, etc ... sont ajoutés progressivement, et que les contribution de la communauté sont les bienvenues. + + +## Mises en Garde + +**Limitations actuelles**: + +* Nomenclature: Les noms de types et de noeuds doivent être uniques dans l'ensemble des schémas fusionnés (correspondance sensible à la casse). Lors des prochaines itération, le support de la fusion de types avec des noms et structures identiques sera disponible. +* Les noeuds provenant de différents serveurs GraphQL ne peuvent pas être utilisés dans la même query/mutation. Tous les noeuds de premier niveau doivent provenir du même serveur GraphQL. +* Les subscriptions à des serveurs GraphQL distants ne sont pas supportées. +* Les interfaces ne sont pas supportées - si un schéma distant possède des interfaces, une erreur sera remontée lorsque vous tenterez de le fusionner. + +Ces limitations seront adressées dans les prochaines versions. + +## Documentation + +Consultez l'intégralité de la [documentation](https://docs.hasura.io/1.0/graphql/manual/remote-schemas/index.html). + +