Les outils et technologies Web3 essentiels que les développeurs doivent connaître

Web3 est la prochaine itération du Web. Contrairement à Web1, qui consistait en des pages Web statiques, et Web2, qui nous apportait des applications Web et le Web en tant que plate-forme, Web3 consistait en des réseaux décentralisés construits sur des blockchains.

Il y a une forte demande pour les développeurs Web3, car relativement peu de développeurs actuels sont des experts dans ce domaine. Donc, si vous êtes un ingénieur Web2 établi et que vous souhaitez vous lancer dans le Web3, par où commenceriez-vous ? Quels sont les concepts fondamentaux à connaître, et quels outils et technologies auriez-vous besoin d’apprendre ?

Dans cet article, nous allons explorer Web3, pourquoi il est important et en quoi il diffère de Web2. Nous examinerons ensuite la pile technologique avec laquelle les aspirants développeurs Web3 devraient se familiariser pour commencer.


Web3 101

Avant d’approfondir la technologie utilisée dans les applications Web3, commençons par comprendre ce qu’est Web3 et pourquoi il est important.

Les cinq caractéristiques clés de Web3 sont la décentralisation, les chaînes de blocs, la sécurité, l’évolutivité et la confidentialité. Dans le monde décentralisé du Web3, la technologie blockchain et d’autres protocoles modifient fondamentalement la façon dont les données sont stockées, distribuées et accessibles tout en fournissant une couche de transaction native. Les cas d’utilisation populaires de Web3 sont la finance décentralisée (DeFi et crypto-monnaies), le vote via une gouvernance décentralisée connue sous le nom de DAO et les jetons non fongibles (NFT) comme preuve de propriété.

Cela peut sembler cynique, mais une grande partie de la motivation derrière Web3 est basée sur l’érosion de la confiance entre les utilisateurs, les entreprises et les gouvernements.

Dans la finance décentralisée, les utilisateurs stockent leurs fonds dans leurs portefeuilles privés et effectuent des transactions sans jamais interagir avec une institution centralisée ou s’appuyer sur la monnaie fiduciaire d’un État.

Une application de vote construite sur une blockchain rendrait toutes les données de vote transparentes et facilement vérifiables par n’importe qui, de sorte que vous n’avez plus à faire confiance aux personnes au pouvoir pour qu’une élection soit gérée équitablement. C’est ce qui rend Web3 « trustless » : la technologie est transparente et sécurisée par cryptographie, il n’y a donc pas besoin de confiance aveugle dans les institutions.

Les NFT peuvent être utilisés pour fournir une preuve de propriété d’un actif numérique donné comme la musique ou l’art et peuvent vous permettre de soutenir plus directement les créateurs.

Tous ces exemples impliquent des activités de base qui ne dépendent plus des autorités centrales ou des intermédiaires.

Il est important de noter que Web3 n’est pas destiné à remplacer Web2, tout comme Web2 n’a pas remplacé Web1. Il y a encore une place importante sur le Web pour les sites Web statiques comme ceux qui sont sortis de Web1. Même si Web3 gagne en popularité et en utilisation, il y aura toujours une place pour les applications Web2.


Applications décentralisées (Dapps)

Nous avons maintenant une idée générale de ce qu’est le Web3 et pourquoi le concept de décentralisation est important, mais à quoi ressemble réellement une application Web3 ?

Eh bien, elles ressemblent beaucoup aux applications Web2 ! Applications décentralisées, également appelées “dapps” (ou “dApps”), d’une interface utilisateur frontale qui interagit avec un “contrat intelligent” (un petit programme de code) composé sur la blockchain. L’interface peut également interagir avec le portefeuille d’un utilisateur lors de transactions ou d’écriture de données dans la blockchain. La principale différence avec une application Web2 est que le contrat intelligent et la blockchain remplacent un serveur et une base de données typiques détenus et gérés par une seule personne ou entreprise.

Architecture d’application décentralisée


Technologies définissant la pile technologique Web3

Alors, comment créez-vous réellement une application décentralisée (dapp) ? La bonne nouvelle est que vous pouvez commencer avec les compétences et l’expérience en programmation que vous possédez déjà ! Nous savons déjà qu’une dapp a une interface, cela signifie donc que vous devrez connaître HTML, CSS et JavaScript. À moins que vous n’aimiez créer vos applications en JavaScript vanille, vous souhaiterez probablement également utiliser un framework ou une bibliothèque comme Angular, React ou Vue. C’est une excellente nouvelle pour les développeurs front-end qui connaissent déjà bien ces technologies.

Examinons maintenant certains des langages, outils et frameworks que vous devrez apprendre spécifiquement pour Web3 :

Solidité est un langage de programmation utilisé pour écrire des contrats intelligents qui s’exécutent sur la blockchain Ethereum. Cela ressemble à un mélange de C++, Python et JavaScript. Si vous avez déjà appris quelques langages de programmation, vous savez que l’apprentissage d’un nouveau langage devient plus facile à chaque fois. Étant donné que la plupart des contrats intelligents impliquent une sorte d’échange monétaire, il est essentiel de suivre les normes appropriées et les meilleures pratiques de sécurité.

Truffe est un cadre qui vous aide à écrire, tester et déployer des contrats intelligents. Le site Web Truffle le décrit comme un “environnement de développement, un cadre de test et un pipeline d’actifs pour les chaînes de blocs utilisant la machine virtuelle Ethereum (EVM)”. De la même manière que React vous aide à créer des applications JavaScript, Truffle vous aide avec vos contrats intelligents. Il n’est pas strictement nécessaire d’utiliser Truffle, mais ce framework vous aidera énormément car il élimine une partie de la complexité du développement. Pour les utilisateurs de VS Code, l’extension Truffle pour VS Code facilite encore plus le cycle de vie du développement.

ganache est une blockchain personnelle pour le développement local et le test de contrats intelligents. Il permet aux développeurs de créer une instance locale de la blockchain Ethereum en quelques commandes simples. Tout comme vous développez une application Web2 sur votre hôte local ou un environnement de test plutôt qu’en production, Ganache vous permet également de faire votre développement Web3 localement.

Web3.js est une bibliothèque JavaScript utilisée pour interagir avec Ethereum. Vous utiliseriez web3.js dans votre application frontale pour faire des choses comme se connecter au portefeuille d’un utilisateur, accorder l’accès à un contrat intelligent et appeler des fonctions sur le contrat intelligent. Les contrats intelligents sont accessibles via la CLI ou via une interface utilisateur, donc web3.js est ce qui vous aide à travailler avec des contrats intelligents à partir de l’interface utilisateur.

Métamasque est un portefeuille Web3 que vous pouvez utiliser avec son extension de navigateur ou son application mobile. Nous avons déjà fait allusion aux portefeuilles, mais nous n’avons pas encore vraiment décrit ce qu’ils sont. Un portefeuille fournit une interface à vos actifs numériques. Vous protégez le contenu avec une clé privée que vous seul connaissez. MetaMask fournit aux utilisateurs un moyen sécurisé de se connecter aux applications basées sur la blockchain et d’interagir avec elles avec leurs portefeuilles. Pour les développeurs, les portefeuilles sont nécessaires pour déployer et interagir avec les contrats intelligents. Normalement, vous devriez le faire en plaçant vos clés privées dans votre code, mais le tableau de bord Truffle vous permet de connecter votre portefeuille MetaMask à votre projet sans jamais exposer vos clés.

Fourrure est un fournisseur d’infrastructure pour se connecter à Ethereum et à d’autres blockchains ainsi qu’à des réseaux de stockage décentralisés tels que IPFS. Sans entrer dans trop de détails, toute interaction avec la blockchain nécessite un accès à un nœud via JSON-RPC ou des websockets. Infura fournit l’infrastructure pour que vous n’ayez pas à créer votre propre nœud sur votre machine. Infura peut également servir de solution de repli au cas où vous voudriez exécuter votre propre nœud. Infura fournit également une suite de développement et une boîte à outils comprenant la surveillance, les métriques, la journalisation, la gestion des transactions et d’autres fonctionnalités pour la création de dapps. Il s’agit d’une abstraction supplémentaire en plus de certaines des autres technologies dont nous avons déjà discuté pour rendre le développement Web3 encore plus facile.

Excité de creuser dans tout cela? Avec une brève introduction à chacune de ces technologies, vous êtes prêt à commencer à créer votre première application ! Il existe de nombreux didacticiels de qualité, et chacun d’eux utilisera probablement la plupart (ou la totalité) de ces technologies. Pour vous aider à démarrer, l’équipe ConsenSys dispose de dizaines de “Truffle Boxes”, qui sont des modèles passe-partout que vous pouvez utiliser pour démarrer votre premier projet. Si vous recherchez une manière structurée de monter en puissance pour Web3, consultez ConsenSys Academy.


Conclusion

Web3 est la prochaine évolution d’Internet qui prend en charge la prochaine génération de logiciels. Les chaînes de blocs sont des technologies plus transparentes qui se généralisent déjà non seulement grâce à l’adoption par les consommateurs, mais également par une adoption institutionnelle majeure.

Comprendre ce qu’est la technologie Web3 et comment la construire vous donnera un avantage pour percer sur le marché.

Pour les aspirants développeurs Web3 qui ont déjà une solide base Web2, j’espère que vous êtes maintenant convaincu que vous avez pris un bon départ avec ce que vous savez déjà ! Prenez le temps d’apprendre les technologies ci-dessus et vous serez prêt plus tôt que vous ne le pensez.

CHARGEMENT EN COURS
. . . & commentaires Suite!

Leave a Comment