Skip to content

Commit 74a7cb4

Browse files
authored
Merge pull request #12882 from ethereum/may-fr-20240501163025003
chore: import translations for fr
2 parents eba8f5b + a29e750 commit 74a7cb4

File tree

12 files changed

+134
-24
lines changed
  • public/content/translations/fr/developers/tutorials
    • calling-a-smart-contract-from-javascript
    • erc-721-vyper-annotated-code
    • erc20-with-safety-rails
    • getting-started-with-ethereum-development-using-alchemy
    • how-to-mint-an-nft
    • how-to-mock-solidity-contracts-for-testing
    • how-to-view-nft-in-metamask
    • how-to-write-and-deploy-an-nft
    • kickstart-your-dapp-frontend-development-wth-create-eth-app
    • logging-events-smart-contracts
    • uniswap-v2-annotated-code
    • waffle-test-simple-smart-contract

12 files changed

+134
-24
lines changed

public/content/translations/fr/developers/tutorials/calling-a-smart-contract-from-javascript/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,10 @@ Vous pouvez accéder aux méthodes d'un contrat intelligent instancié pour lequ
105105
```js
106106
daiToken.methods.balanceOf(senderAddress).call(function (err, res) {
107107
if (err) {
108-
console.log("Une erreur s'est produite", err)
108+
console.log("An error occurred", err)
109109
return
110110
}
111-
console.log("Le solde est : ", res)
111+
console.log("The balance is: ", res)
112112
})
113113
```
114114

@@ -123,10 +123,10 @@ daiToken.methods
123123
.transfer(receiverAddress, "100000000000000000000")
124124
.send({ from: senderAddress }, function (err, res) {
125125
if (err) {
126-
console.log("Une erreur s'est produite", err)
126+
console.log("An error occurred", err)
127127
return
128128
}
129-
console.log("Hash de la transaction : " + res)
129+
console.log("Hash of the transaction: " + res)
130130
})
131131
```
132132

public/content/translations/fr/developers/tutorials/erc-721-vyper-annotated-code/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ Dans cet article, nous allons décortiquer le [contrat ERC-721 de Ryuya Nakamura
2020
## Le contrat {#contract}
2121

2222
```python
23-
# @dev Implémentation de la norme de jeton non fongible ERC-721.
23+
# @dev Implementation of ERC-721 non-fungible token standard.
2424
# @author Ryuya Nakamura (@nrryuya)
25-
# Modifié à partir de : https://github.com/vyperlang/vyper/blob/de74722bf2d8718cca46902be165f9fe0e3641dd/examples/tokens/ERC721.vy
25+
# Modified from: https://github.com/vyperlang/vyper/blob/de74722bf2d8718cca46902be165f9fe0e3641dd/examples/tokens/ERC721.vy
2626
```
2727

2828
Tout comme avec Python, les commentaires Vyper commencent par une empreinte numérique (`#`) et continuent jusqu'au bout de la ligne. Les commentaires qui comportent `@<keyword>` sont compris par [NatSpec](https://vyper.readthedocs.io/en/latest/natspec.html) afin de produire une documentation compréhensible pour l'être humain.
@@ -40,7 +40,7 @@ La première ligne importe l'interface, et la deuxième spécifie que nous l'imp
4040
### L'interface ERC721Receiver {#receiver-interface}
4141

4242
```python
43-
# Interface pour le contrat appelé par safeTransferFrom()
43+
# Interface for the contract called by safeTransferFrom()
4444
interface ERC721Receiver:
4545
def onERC721Received(
4646
```

public/content/translations/fr/developers/tutorials/erc20-with-safety-rails/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Si vous souhaitez consulter le code source complet :
2424

2525
## Création d'un contrat ERC-20 {#creating-an-erc-20-contract}
2626

27-
Avant de pouvoir ajouter la fonctionnalité de sécurité, nous avons besoin d'un contrat ERC-20. Dans cet article, nous utiliserons [l'assistant de contrats OpenZeppelin](https://docs.openzeppelin.com/contracts/5.x/wizard). Ouvrez-le dans un autre navigateur et suivez ces instructions :
27+
Avant de pouvoir ajouter la fonctionnalité de sécurité, nous avons besoin d'un contrat ERC-20. Dans cet article, nous utiliserons [l'assistant de contrats OpenZeppelin](https://docs.openzeppelin.com/contracts/4.x/wizard). Ouvrez-le dans un autre navigateur et suivez ces instructions :
2828

2929
1. Sélectionnez **ERC20**.
3030
2. Entrez ces paramètres :

public/content/translations/fr/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ Pour interagir avec l'infrastructure de nœuds d'Alchemy, exécutez en NodeJS ou
9898
```js
9999
const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
100100
const web3 = createAlchemyWeb3(
101-
"https://eth-mainnet.alchemyapi.io/v2/votre-clé-api"
101+
"https://eth-mainnet.alchemyapi.io/v2/your-api-key"
102102
)
103103
```
104104

public/content/translations/fr/developers/tutorials/how-to-mint-an-nft/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ mintNFT("ipfs://QmYueiuRNmL4MiA2GwtVMm6ZagknXnSpQnB3z2gWbz36hP")
315315
Maintenant, exécutez `node scripts/mint-nft.js` pour déployer votre NFT. Après quelques secondes, vous devriez voir une réponse comme celle-ci dans votre terminal :
316316

317317
Le hachage de votre transaction est : 0x301791fdf492001fcd9d5e5b12f3aa1bbbea9a88ed24993a8ab2cdae2d06e1e8e8
318-
318+
319319
Vérifiez le Mempool d'Alchemy pour voir l'état de votre transaction !
320320

321321
Ensuite, consultez votre [Alchemy mempool](https://dashboard.alchemyapi.io/mempool) pour voir l'état de votre transaction (en attente, minée ou rejetée par le réseau). Si votre transaction a été rejetée, il est également utile de vérifier [Sepolia Etherscan](https://sepolia.etherscan.io/) et rechercher votre hachage de transaction.
@@ -324,6 +324,6 @@ Ensuite, consultez votre [Alchemy mempool](https://dashboard.alchemyapi.io/mempo
324324

325325
Et voilà ! Vous avez maintenant déployé ET frappé un NFT sur la blockchain Ethereum. <Emoji text=":money_mouth_face:" size={1} />
326326

327-
En utilisant `mint-nft.js` vous pouvez frapper autant de NFT que vous (ou votre portefeuille) désirez ! Assurez-vous juste de passer une nouvelle URI de jeton décrivant les métadonnées du NFT (sinon, vous ne réaliserez qu'une multitude de métadonnées identiques avec différents identifiants).
327+
En utilisant `mint-nft.js` vous pouvez frapper autant de NFT que vous (ou votre wallet crypto) désirez ! Assurez-vous juste de passer une nouvelle URI de jeton décrivant les métadonnées du NFT (sinon, vous ne réaliserez qu'une multitude de métadonnées identiques avec différents identifiants).
328328

329329
Sans doute, vous souhaiteriez pouvoir afficher votre NFT dans votre portefeuille — alors n’oubliez pas de consulter la [Partie 3 : Comment voir votre NFT dans votre portefeuille](/developers/tutorials/how-to-view-nft-in-metamask/) !

public/content/translations/fr/developers/tutorials/how-to-mock-solidity-contracts-for-testing/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ lang: fr
66
tags:
77
- "solidity"
88
- "contrats intelligents"
9-
- "tests"
10-
- "simulation"
9+
- "test"
10+
- "bouchonnage"
1111
skill: intermediate
1212
published: 2020-05-02
1313
source: soliditydeveloper.com

public/content/translations/fr/developers/tutorials/how-to-view-nft-in-metamask/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Ce tutoriel décrit comment visualiser un NFT existant sur MetaMask
44
author: "Sumi Mudgil"
55
tags:
66
- "ERC-721"
7-
- "alchemy"
7+
- "Alchemy"
88
- "Solidity"
99
skill: beginner
1010
lang: fr

public/content/translations/fr/developers/tutorials/how-to-write-and-deploy-an-nft/index.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ description: Ce tutoriel est la première partie de la série sur les NFT et vou
44
author: "Sumi Mudgil"
55
tags:
66
- "ERC-721"
7-
- "alchemy"
8-
- "solidity"
7+
- "Alchemy"
8+
- "Solidity"
99
- "contrats intelligents"
1010
skill: beginner
1111
lang: fr
@@ -87,7 +87,7 @@ La manière dont vous répondez à ces questions d'installation a peu d'importan
8787
author:
8888
license: (ISC)
8989
About to write to /Users/thesuperb1/Desktop/my-nft/package.json:
90-
90+
9191
{
9292
"name": "my-nft",
9393
"version": "1.0.0",
@@ -118,7 +118,7 @@ Dans notre dossier de projet, exécutez :
118118

119119
npx hardhat
120120

121-
Vous devriez maintenant voir un message de bienvenue ainsi qu'une option pour sélectionner ce que vous voulez faire. Sélectionnez : « create an empty hardhat.config.js » :
121+
Vous devriez maintenant voir un message de bienvenue ainsi qu'une option pour séléctionner ce que vous voulez faire. Sélectionnez : « create an empty hardhat.config.js » :
122122

123123
888 888 888 888 888
124124
888 888 888 888 888
@@ -128,7 +128,7 @@ Vous devriez maintenant voir un message de bienvenue ainsi qu'une option pour s
128128
888 888 .d888888 888 888 888 888 888 .d888888 888
129129
888 888 888 888 888 Y88b 888 888 888 888 888 Y88b.
130130
888 888 "Y888888 888 "Y88888 888 888 "Y888888 "Y888
131-
👷 Bienvenue dans Hardhat v2.0.11 👷‍
131+
👷 Welcome to Hardhat v2.0.11 👷‍
132132
? Que voulez vous faire ? …
133133
Create a sample project
134134
❯ Create an empty hardhat.config.js
@@ -138,7 +138,7 @@ Cela va générer un fichier 'hardhar.config.js' dans lequel nous allons spécif
138138

139139
## Étape 9 : Ajouter les dossiers du projet {#add-project-folders}
140140

141-
Pour garder notre projet organisé, nous allons créer deux nouveaux dossiers. Naviguez vers le répertoire racine de votre projet dans votre invite de commande en ligne et tapez :
141+
Pour garder notre projet organisé, nous allons créer deux nouveaux dossiers. Naviguez vers le répertoire racine de votre projet dans votre ligne de commande et tapez :
142142

143143
mkdir contracts
144144
mkdir scripts
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
---
2+
title: Démarrer le développement de votre interface dApp avec create-eth-app
3+
description: Aperçu de l'utilisation de create-eth-app et de ses fonctionnalités
4+
author: "Markus Waas"
5+
tags:
6+
- "create-eth-app"
7+
- "frontend"
8+
- "javascript"
9+
- "ethers.js"
10+
- "the graph"
11+
- "DeFi"
12+
skill: beginner
13+
lang: fr
14+
published: 2020-04-27
15+
source: soliditydeveloper.com
16+
sourceUrl: https://soliditydeveloper.com/create-eth-app
17+
---
18+
19+
La dernière fois nous nous sommes intéressés à [Solidity](https://soliditydeveloper.com/solidity-overview-2020) et avons mentionné [create-eth-app](https://github.com/PaulRBerg/create-eth-app). Vous allez maintenant découvrir comment l'utiliser, quelles fonctionnalités y sont intégrées et comment l'étendre encore. Initiée par Paul Razvan Berg, fondateur de [Sablier](http://sablier.com/), cette application livrée avec plusieurs intégrations facultatives au choix va vous permettre de débuter le développement de votre interface.
20+
21+
## Installation {#installation}
22+
23+
L'installation nécessite au minimum Yarn 0.25 (`npm install yarn --global`). L'installation est aussi simple que l'exécution :
24+
25+
```bash
26+
yarn create eth-app my-eth-app
27+
cd my-eth-app
28+
yarn react-app:start
29+
```
30+
31+
Elle s'appuie sur [create-react-app](https://github.com/facebook/create-react-app). Pour voir votre application, ouvrez `http://localhost:3000/`. Lorsque vous êtes prêt à déployer en production, créez un paquet minifié avec le constructeur yarn. Un moyen simple de l'héberger est [Netlify](https://www.netlify.com/). Vous pouvez créer un dépôt GitHub, l'ajouter à Netlify, configurer la commande de construction et le tour est joué ! Votre application sera hébergée et utilisable par tout le monde. Et tout ceci gratuitement.
32+
33+
## Fonctionnalités {#features}
34+
35+
### React & create-react-app {#react--create-react-app}
36+
37+
Premièrement, le coeur de l'application : React et toutes les fonctionnalités additionnelles livrées avec _create-react-app_. Utiliser cette seule application est une excellente option si vous ne souhaitez pas intégrer Ethereum. [React](https://reactjs.org/) rend la construction d'interfaces utilisateur interactives très facile. La prise en main n'est peut-être pas aussi facile qu'avec [Vue](https://vuejs.org/), mais l'application est encore largement utilisée, possède plus de fonctionnalités et surtout offre un choix de plusieurs milliers de bibliothèques supplémentaires. Avec _create-react-app_, le démarrage est très simple. L'application inclut :
38+
39+
- React, JSX, ES6, TypeScript et le support pour Flow syntax.
40+
- Langages complémentaires à ES6 comme l'opérateur de propagation d'objet.
41+
- CSS auto-préfixé, pour se passer de -webkit- ou d'autres préfixes.
42+
- Un exécuteur de test unitaire interactif rapide avec une prise en charge intégrée pour les rapports de couverture.
43+
- Un serveur de développement en direct qui signale les erreurs courantes.
44+
- Un script de construction pour associer du JS, du CSS et des images en vue de la mise en production, avec des hachages et une cartographie du code source.
45+
46+
_create-react-app_, en particulier, fait usage des nouveaux [effets hooks](https://reactjs.org/docs/hooks-effect.html). Une méthode pour écrire de puissants mais très petits composants, dits fonctionnels. Voir ci-dessous la section sur Apollo pour savoir comment ils sont utilisés dans _create-react-app_.
47+
48+
### Espaces de travail Yarn {#yarn-workspaces}
49+
50+
[Les espaces de travail Yarn](https://classic.yarnpkg.com/en/docs/workspaces/) vous permettent de disposer de plusieurs paquets, mais également d'être en mesure de tous les gérer à partir du dossier racine et d'installer toutes leurs dépendances en une fois en utilisant `yarn install`. Ceci est particulièrement adapté pour les petits packs additionnels, tels que les adresses de contrats intelligents/la gestion ABI (les informations sur l'endroit où vous avez déployé tels contrats intelligents et comment communiquer avec eux) ou l'intégration de graphes, les deux parties de `create-eth-app`.
51+
52+
### ethers.js {#ethersjs}
53+
54+
Si [Web3](https://docs.web3js.org/) est encore largement utilisé, [ethers.js](https://docs.ethers.io/) a davantage été employé comme alternative l'année dernière et est intégré à _create-eth-app_. Vous pouvez travailler avec celui-ci, le faire évoluer vers Web3 ou envisager une mise à niveau pour passer à [ethers.js v5](https://docs-beta.ethers.io/) qui n'est pratiquement plus en version bêta.
55+
56+
### Le réseau Graph {#the-graph}
57+
58+
[GraphQL](https://graphql.org/) est un moyen alternatif de gérer les données par rapport à une [API Restful](https://restfulapi.net/). Il offre plusieurs avantages par rapport aux APIs REST, en particulier pour les données décentralisées de la blockchain. Si vous êtes intéressé par le raisonnement qui le sous-tend, jetez un œil à [GraphQL va propulser le Web décentralisé](https://medium.com/graphprotocol/graphql-will-power-the-decentralized-web-d7443a69c69a).
59+
60+
Vous récupérez normalement directement les données de votre contrat intelligent. Vous souhaitez connaître l'instant précis de la dernière transaction ? Appelez simplement `MyContract.methods.latestTradeTime().call()` qui récupère les données d'un nœud Ethereum comme Infura dans votre dApp. Mais que faire si vous avez besoin de centaines de points de données différents ? Il en résulterait des centaines d'extractions de données vers le nœud, nécessitant à chaque fois un [RTT](https://wikipedia.org/wiki/Round-trip_delay_time) qui ralentirait votre dApp et lui ferait perdre son efficacité. Pour éviter cela, une solution pourrait être d'utiliser une fonction d'appel de récupération dans votre contrat qui restitue plusieurs données à la fois. Ce n'est cependant pas toujours idéal.
61+
62+
Vous pourriez également être intéressé par les données historiques. Vous souhaitez peut-être connaître non seulement le moment de la dernière transaction mais également le moment de chacune des transactions que vous avez réalisées vous-même. Utilisez le paquet subgraph de _create-eth-app_, lisez la [documentation](https://thegraph.com/docs/define-a-subgraph) et adaptez-la à vos propres contrats. Si vous êtes à la recherche de contrats intelligents populaires, il se peut même qu'il en existe déjà un avec subgraph. Jetez un œil à [l'explorateur de sous-graphes](https://thegraph.com/explorer/).
63+
64+
Une fois que vous disposez d'un subgraph, vous pouvez écrire une simple requête dans votre dApp afin de récupérer toutes les données importantes de la blockchain, y compris les données historiques dont vous avez besoin. Une seule demande de récupération suffit.
65+
66+
### Apollo {#apollo}
67+
68+
Grâce à l'intégration d'[Apollo Boost](https://www.apollographql.com/docs/react/get-started/), vous pouvez facilement intégrer Graph dans votre dApp React. Surtout lorsque vous utilisez [des hooks React et Apollo](https://www.apollographql.com/blog/apollo-client-now-with-react-hooks-676d116eeae2), récupérer des données est aussi simple que d'écrire une requête GraphQl dans votre composant:
69+
70+
```js
71+
const { loading, error, data } = useQuery(myGraphQlQuery)
72+
73+
React.useEffect(() => {
74+
if (!loading && !error && data) {
75+
console.log({ data })
76+
}
77+
}, [loading, error, data])
78+
```
79+
80+
## Modèles (Templates) {#templates}
81+
82+
En haut, il est possible de choisir parmi différents modèles. À ce jour, vous pouvez utiliser une intégration Aave, Compound, UniSwap ou Sablier. Ces modèles ajoutent tous des adresses importantes de contrats intelligents de service ainsi que des intégrations pré-construites de subgraph. Il suffit d'ajouter le modèle à la commande de création comme `yarn create eth-app my-eth-app --with-template aav`.
83+
84+
### Aave {#aave}
85+
86+
[Aave](https://aave.com/) est un marché décentralisé de prêt d'argent. Les déposants fournissent des liquidités au marché pour gagner un revenu passif, tandis que les emprunteurs peuvent emprunter avec des garanties. Une fonctionnalité exclusive d'Aave réside dans ces [prêts flash](https://docs.aave.com/developers/guides/flash-loans) qui vous permettent d'emprunter de l'argent sans aucune garantie, pour autant que vous remboursiez le prêt en une seule transaction. Cela peut être utile par exemple pour vous donner de l'argent supplémentaire sur l'arbitrage d'échange.
87+
88+
Les jetons échangés qui vous rapportent des intérêts sont appelés _aTokens_.
89+
90+
Si vous choisissez d'intégrer Aave avec _create-eth-app_, vous obtiendrez une [intégration subgraph](https://docs.aave.com/developers/getting-started/using-graphql). Aave utilise The Graph et vous fournit déjà plusieurs Subgraphs prêts à l'emploi sur [Ropsten](https://thegraph.com/explorer/subgraph/aave/protocol-ropsten) et [le réseau principal](https://thegraph.com/explorer/subgraph/aave/protocol) en formulaire [brut](https://thegraph.com/explorer/subgraph/aave/protocol-raw) ou [formaté](https://thegraph.com/explorer/subgraph/aave/protocol).
91+
92+
![Aave Flash Loan meme - "Ouah, si je pouvais garder mon prêt flash plus longtemps qu'une transaction, ce serait génial&quot ;](./flashloan-meme.png)
93+
94+
### Compound {#compound}
95+
96+
[Compound](https://compound.finance/) est similaire à Aave. L'intégration inclut déjà le nouveau [Compound v2 Subgraph](https://medium.com/graphprotocol/https-medium-com-graphprotocol-compound-v2-subgraph-highlight-a5f38f094195). Les intérêts gagnés des jetons sont ici étonnamment appelés _cTokens_.
97+
98+
### Uniswap {#uniswap}
99+
100+
[Uniswap](https://uniswap.exchange/) est un système d'échange décentralisé (DEX). Les fournisseurs de liquidités peuvent percevoir des commissions en fournissant les jetons ou l'éther requis pour les deux parties d'une transaction. Le protocole est largement utilisé et dispose donc de liquidités très nombreuses pour une très large gamme de jetons. Vous pouvez facilement l'intégrer dans votre dApp pour permettre, par exemple, aux utilisateurs d'échanger leur ETH contre du DAI.
101+
102+
Malheureusement, à l'heure où ces lignes sont écrites, l'intégration est uniquement proposée pour Uniswap v1 et non pour la toute nouvelle version [v2](https://uniswap.org/blog/uniswap-v2/).
103+
104+
### Sablier {#sablier}
105+
106+
[Sablier](https://sablier.com/) permet aux utilisateurs d'effectuer des paiements en continu. Au lieu d'un seul versement, vous recevez en fait votre argent en continu sans avoir rien d'autre à faire après la mise en place initiale. L'intégration inclut son [propre sous-graphe](https://thegraph.com/explorer/subgraph/sablierhq/sablier).
107+
108+
## Et après ? {#whats-next}
109+
110+
Si vous avez des questions sur _create-eth-app_, allez sur le [serveur de la Communauté Sablier](https://discord.gg/bsS8T47), où vous pouvez entrer en contact avec les auteurs de _create-eth-app_. Dans un premier temps, vous pourriez vouloir intégrer un framework d'interface utilisateur comme [Material UI](https://material-ui.com/), écrire des requêtes GraphQL pour les données dont vous avez réellement besoin et configurer le déploiement.

public/content/translations/fr/developers/tutorials/logging-events-smart-contracts/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ tags:
77
- "remix"
88
- "solidity"
99
- "événements"
10-
skill: advanced
10+
skill: intermediate
1111
lang: fr
1212
published: 2020-04-03
1313
source: EthereumDev

0 commit comments

Comments
 (0)