Comment développer une application décentralisée : Guide dApp non technique
Quelle a été la dernière fois que vous avez utilisé une dApp ? Je parie que beaucoup d'entre nous répondront "jamais" . Même une personne férue de technologie ne peut pas toujours distinguer une application décentralisée d'un logiciel traditionnel. Alors pourquoi est-ce important ?

Quelle a été la dernière fois que vous avez utilisé une dApp ? Je parie que beaucoup d'entre nous ne répondront jamais . Même une personne férue de technologie ne peut pas toujours distinguer une application décentralisée d'un logiciel traditionnel. Alors pourquoi est-ce important ?
Grâce à Bitcoin et à d'autres cryptos atteignant de nouveaux sommets historiques, le développement de dApps - des applications qui vivent sur des blockchains - devient rapidement un sujet brûlant. Nous sommes là pour vous aider à séparer le battage médiatique des applications utiles de cette technologie remarquable, mais pas entièrement nouvelle.
Continuez à lire pour apprendre à développer des dApps.
Pour commencer :
- Les applications décentralisées s'exécutent sur plusieurs plates-formes à la fois - sur une blockchain (sous la forme d'un contrat intelligent) et dans des applications mobiles ou Web. Par conséquent, lorsque vous créez une dApp, vous vous retrouvez rarement avec une seule application.
- Le principal obstacle avec les dApps est l'intégration des nouveaux utilisateurs, car ils doivent être éduqués et bénéficier d'expériences utilisateur attrayantes.
- Avant de développer une dApp, vous devez choisir une blockchain, décider si vous voulez aller au-delà des transactions et identifier l'architecture de la solution.
Table des matières :
- Différence entre une dApp et une application
- Aperçu du marché dApp en 2022
- Avantages et inconvénients des dApps
- Fonctionnalités clés d'une application décentralisée
- Architecture d'une dApp
- Tech Stack pour créer une dApp
- Créer une application décentralisée en 5 étapes
- Combien cela coûte-t-il de développer des dApps
- Comment Advency peut aider à créer des applications décentralisées
Différence entre une dApp et une application
Nous utilisons quotidiennement des applications traditionnelles, que ce soit pour écrire un email dans une interface de navigateur web ou consulter la météo sur nos mobiles. Ces applications ont une chose en commun : elles s'appuient sur des serveurs pour synchroniser les données.
Pouvez-vous repérer la différence entre ces deux projets ?

Les applications décentralisées, au contraire, fonctionnent sur des réseaux peer-to-peer appelés blockchains, sans serveurs centraux. Leur fonctionnement dépend du consensus entre les participants à la blockchain, et il n'y a pas besoin d'une autorité centrale.
Note rapide : une blockchain est une base de données massive et distribuée où les participants garantissent son intégrité en résolvant des problèmes mathématiques complexes et en chiffrant les données. Certains experts en technologie affirment que les dApps sont à l'origine de la révolution Web 3.0 qui cherche à remplacer l'architecture centralisée par l'approche décentralisée basée sur la blockchain.
Vous avez probablement rencontré ce truisme selon lequel "vous êtes le produit" si vous utilisez un logiciel sans le payer. Eh bien, les dApps s'efforcent de rendre le pouvoir à l'utilisateur en supprimant les intermédiaires et en établissant la confiance grâce à la cryptographie distribuée automatisée.
Ce qui est intéressant à propos des dApps par rapport aux applications, c'est qu'elles se ressemblent souvent pour les utilisateurs en surface. Le seul avantage est que les dApps ont toujours un jeton crypto et un modèle économique intégrés, mais encore une fois, il existe de nombreuses applications centralisées comme CoinBase qui traitent de la crypto et dépendent toujours de serveurs privés.
Note rapide : si une application vous demande de connecter un portefeuille crypto, dans 99% du temps, c'est une dApp.

Ainsi, vous ne pouvez jamais dire si vous travaillez avec un dApp ou une application standard en vous basant uniquement sur son apparence, car ils peuvent sembler identiques. Cependant, les utilisateurs avancés peuvent toujours travailler avec des dApps même sans interface utilisateur graphique. Ce sont les éléments principaux qui comptent lorsqu'il s'agit de dApps.
Nous parlerons bientôt de ce qui est si intéressant dans le back-end des dApps, mais d'abord, examinons brièvement ce qui se passe sur le marché des dApp aujourd'hui.
Aperçu du marché dApp
Si vous envisagez de créer une application décentralisée, il est utile de connaître votre concurrence et les tendances inaugurant la nouvelle vague de dApps.
J'aimerais commencer par vous rappeler que les applications peer-to-peer ne sont pas un concept entièrement nouveau. Vous avez probablement téléchargé quelques films sur des services comme BitTorrent ou Émule. Ces logiciels existe depuis le début des années 2000 et fonctionnent également sur un protocole décentralisé.
Ce qui distingue les protocoles de blockchain modernes, ce sont les nouveaux mécanismes de confiance partagés sécurisés par cryptographie. Cette nature sécurisée et immunitaire de la technologie des registres distribués (DLT) s'étend aux dApps et aux autres avantages intrinsèques dont ils héritent de la blockchain.
Note rapide : DLT, ou technologie de grand livre distribué, n'est qu'un autre mot astucieux pour blockchain.
Nous examinerons un peu les avantages que les dApps apportent à la table, mais d'abord, voyons quelles applications décentralisées existent aujourd'hui.
DappRadar répertorie près de 10 000 dApps suivies sur 46 blockchains différentes (mars 2022) :

La première chose que vous remarquerez en explorant le monde des dApps est combien d'entre elles tournent autour des finances et des jeux. C'est parce que ces applications fonctionnent sur des blockchains, et que les blockchains vivent et respirent les transactions : c'est leur fonction principale.
Donc, si chaque action dans une solution décentralisée est une transaction sur une chaîne, il n'est pas étonnant que les jeux et les applications DeFi (finance décentralisée) dominent l'espace.

Les autres catégories notables de logiciels décentralisés comprennent :
- Places de marché (a décollé avec l'engouement NFT)
- Échanges
- Jeux d'argent
- Gestion de l'identité
- Portefeuilles
Comme vous pouvez le constater, tout ce qui concerne les actifs numériques attire de nombreux utilisateurs.
Pour l'instant, apprécions simplement qu'il y ait beaucoup d'élan dans cet espace, offrant de nombreuses opportunités pour les pionniers.
En termes de blockchains, la plupart des dApps vivent sur Ethereum – la première blockchain à introduire des contrats intelligents, rendant les applications décentralisées possibles. Certaines autres chaînes populaires avec dApps incluent EOS, Binance Chain, Solana, TRON et Neo. Mais cela peut bouger rapidement et de nouveaux acteurs peuvent avoir pris la place de certaines blockchain au moment ou vous lisez ces lignes.
Choisir une blockchain (ou des chaînes) pour créer une dApp est assez important, et nous en parlerons lors de la discussion des étapes de création d'une dApp.
Avantages et inconvénients des dApps
Pourquoi avons-nous même besoin d'un logiciel décentralisé ? Après tout, nous avons déjà une myriade d'applications pour à peu près tout. Il doit y avoir certains avantages à passer aux dApps.
AVANTAGES DES DAPPS
- Pas d'autorité centrale
Aucune autorité centrale signifie qu'il n'y a pas d'intermédiaires et que les utilisateurs peuvent effectuer des transactions directement entre eux. Ceci, à son tour, implique moins de frais car les utilisateurs ne doivent payer que des frais de transaction, qui sont généralement très bas.
Un autre avantage est qu'une application véritablement décentralisée peut avoir plusieurs frontaux. Pratiquement toute personne intéressée par un produit peut créer une interface utilisateur fonctionnant avec une application open source décentralisée puisque son code est stocké de manière transparente sur une chaîne.
- Disponibilité impressionnante
Les contrats intelligents alimentant les dApps fonctionnent 24 heures sur 24, 7 jours sur 7, et tant qu'une blockchain hébergeant le contrat est en vie, ils continueront à fonctionner parfaitement.
- Capacité à participer à l'économie décentralisée
Les utilisateurs travaillant avec des applications décentralisées le font généralement en raison d'incitations financières. Ils peuvent gagner des jetons ou des crypto-monnaies qui peuvent être échangées ou échangées contre des fiat plus tard.
- Sécurité et intégrité des données

Le principal attrait de la technologie blockchain est sa sécurité car il n'y a pas de point de défaillance central. En d'autres termes, il est presque impossible de pirater une chaîne et de prendre en charge une application décentralisée.
- Intimité
Toutes les transactions peuvent être tracées sur la blockchain ; pourtant, ils sont complètement anonymes.
INCONVÉNIENTS DES DAPPS
- Transparence
Étant donné que toutes les transactions sont accessibles au public sur une chaîne, il y a un problème avec le stockage des données client. Comment stockez-vous leurs informations sans les divulguer à d'autres utilisateurs ? Il existe des solutions de contournement, et j'aborderai cela dans la section de développement ci-dessous. Cependant, rappelez-vous qu'en tant que base de données, la blockchain est la dernière technologie à considérer pour stocker de grandes quantités de données.
- Maintenance
Une dApp est plus difficile à gérer qu'une application classique car vous devez tenir compte des spécificités de la blockchain lors de la conception d'une solution décentralisée. Par exemple, une fois qu'une telle application a été déployée sur un réseau décentralisé, il est très difficile de la mettre à jour. Les applications mobiles traditionnelles reçoivent des mises à jour en moyenne dans les deux semaines.
- Évolutivité
L'évolution de votre dApp dépendra en grande partie de la congestion du réseau. Il existe un exemple proverbial de CryptoKitties qui a stoppé brutalement toutes les transactions sur la blockchain Ethereum lorsque des milliers de personnes ont décidé d'essayer un crypto tamagotchi.
- Interface conviviale
Une grande partie des dApps est construite par des développeurs qui n'ont pas nécessairement beaucoup d'expertise en conception UI/UX. En conséquence, un Joe moyen peut trouver les interfaces de nombreux dApps assez intimidantes.
Heureusement, ces inconvénients sont facilement renversés par les avantages de l'utilisation de logiciels décentralisés. De plus, certaines solutions de contournement peuvent vous aider à éviter la plupart de ces problèmes (plus à ce sujet plus tard).
Fonctionnalités clés d'une application décentralisée
Une dApp peut avoir absolument toutes les fonctionnalités que les applications régulières ont depuis des années. Pensons un instant à une application Uber décentralisée ? Est-il possible? Théoriquement, oui. L'application ne serait pas aussi rapide et nous devions régler nous-mêmes les problèmes avec les conducteurs, mais en général, oui, c'est faisable. Cet Uber décentralisé aurait toutes les fonctionnalités de l'application Uber standard, y compris les paiements, la recherche, la messagerie, les notifications, etc.
Tout ce que j'essaie de dire, c'est qu'il est difficile de décrire les fonctionnalités d'une dApp "typique", car cela peut être n'importe quoi, n'est-ce pas ? Pourtant, il existe des caractéristiques spécifiques que toutes les dApps doivent avoir pour obtenir une traction. Qu'est-ce que c'est?
PORTEFEUILLE CRYPTO
Étant donné que l'intégration de l'utilisateur à toute application décentralisée commence par la connexion d'un portefeuille crypto, cela devient une partie essentielle de tout logiciel fonctionnant sur une blockchain.
Vos clients auront besoin d'un portefeuille pour recevoir des bonus et des récompenses sous forme d'argent virtuel, de devises ou de jetons non fongibles.
Vous pouvez en savoir plus sur la façon de développer un portefeuille crypto dans un article séparé.
JETON (Token)
Un dApp a toujours le jeton principal dont les utilisateurs ont besoin pour accéder aux différentes options logicielles. Le jeton alimente toutes les transactions qui se produisent en arrière-plan de l'application. Nous parlons de la façon de créer un jeton de chiffrement dans un article séparé.
ACTIONS BASÉES SUR LES TRANSACTIONS
Comme toute application standard, vous vous attendez à ce qu'une dApp effectue des actions spécifiques. La seule différence avec les applications « normales » est que les applications décentralisées nécessitent des transactions pour fonctionner.
Comme déjà mentionné, outre ces fonctionnalités fondamentales, les logiciels décentralisés peuvent avoir absolument toutes les fonctionnalités que nous trouvons souvent dans d'autres applications. En effet, à première vue, nous interagissons généralement avec des applications Web et mobiles traditionnelles lorsque nous utilisons des dApps.
Je peux presque entendre votre « Attendez, quoi ? », continuons,
Architecture d'une dApp
Il est temps de jeter un coup d'œil à une architecture typique d'une dApp. Ne vous inquiétez pas, nous n'irons pas trop dans la technique. Il y a juste quelques choses que vous devez comprendre.
DAPPS PUREMENT TRANSACTIONNELLES
Nous savons déjà que les dApps vivent sur des blockchains. Pour être plus précis, la partie spécifique qui vit sur une blockchain est un contrat intelligent - un logiciel qui s'exécute automatiquement, par exemple, pour payer le bonus d'un utilisateur, transférer un NFT ou effectuer toute action en chaîne à l'intérieur de l'application.
Les utilisateurs interagissent avec un contrat intelligent via le Web, le bureau, le mobile ou tout autre type de logiciel avec des interfaces utilisateur familières. La seule chose qui intrigue souvent les clients est qu'ils doivent connecter (ou créer et connecter) un portefeuille crypto pour fonctionner avec une dApp.
Prenez n'importe quelle interface utilisateur typique, connectez-la à un contrat intelligent afin que les actions de l'utilisateur fassent différentes choses au contrat intelligent - et vous avez déjà une application décentralisée. C'est déjà suffisant pour les dApps purement transactionnelles.

DAPPS ET SERVEURS CENTRALISÉS
Il y a une mise en garde, cependant. Si vous cherchez à créer une application décentralisée qui permet aux utilisateurs de faire plus que simplement effectuer des transactions, vous avez toujours besoin d'un back-end basé sur un serveur.
C'est là que vous conserverez les données des utilisateurs, telles que leurs informations de profil, etc., car vous ne pouvez tout simplement pas les intégrer à une chaîne. C'est là que vous pourrez obtenir des rapports et des analyses sur les performances de votre dApp. En bref, ce sera l'autre moitié de votre dApp décentralisée - et elle sera centralisée.
ORACLES
Enfin, si votre contrat intelligent repose sur des données externes, vous devrez ajouter des oracles décentralisés à l'équation. Les oracles décentralisés fonctionnent comme des nœuds sur une chaîne. Ils doivent parvenir à un accord sur toute information avant de l'envoyer à un contrat intelligent.
Nous devons également mentionner que votre dApp n'a pas à s'appuyer sur un seul contrat intelligent. En fait, il est courant que des solutions décentralisées complexes s'exécutent sur plusieurs contrats intelligents interconnectés qui s'exécutent et peuvent lancer des actions ultérieures sur d'autres contrats.
Tech Stack pour créer une dApp
Pour vous dire la vérité, la pile technologique pour créer une application décentralisée peut être complètement différente en fonction de :
- La blockchain que vous ciblez
- Les frontaux que vous envisagez (mobile/web)
- Les fonctionnalités que votre dApp propose

Le kit standard pour développer une dApp sur Ethereum comprend la suite de logiciels Truffle ainsi que Ganache, le langage de programmation Solidity (pour de nombreuses blockchain) et l'environnement de développement Remix.
Vous pouvez utiliser toutes les technologies appropriées du côté frontal, par exemple React.js, Node.js et Web3.js pour le Web et Swift/Kotlin ou React Native pour mobile.
Créer une application décentralisée en 5 étapes
Comme indiqué dans la section architecture, lorsque vous créez une application décentralisée avec blockchain, vous devez travailler sur un contrat intelligent et des frontaux.
Le contrat intelligent est un code qui vit sur une chaîne et s'exécute automatiquement lorsque certaines conditions sont remplies. Considérez-le comme une sorte de back-end de votre dApp.
Les frontaux sont nécessaires pour que les utilisateurs interagissent avec le contrat. Il s'agit d'applications Web et mobiles traditionnelles, de préférence avec une interface attrayante et intuitive.
De plus, vous devrez peut-être développer un système back-end agrégeant des analyses et vous permettant d'exécuter des rapports et de gérer certains aspects de la dApp. En termes simples, il s'agit d'une application Web connectée au contrat intelligent via des oracles et des API.
Il y a pas mal de pièces à jongler, comme vous pouvez le voir. Une équipe de développement d'applications compétente et qualifiée dans la création de dApps vous aidera à résoudre toutes ces subtilités techniques. Vous pouvez prendre rendez-vous avec nous pour en discuter.
Voici les étapes à suivre lors de la création de dApps.
ÉTAPE 1 : CRÉER UN CONTRAT INTELLIGENT
Un contrat intelligent ou une combinaison de contrats intelligents est l'endroit où vous placeriez la logique décentralisée de votre dApp. Quelles actions voulez-vous que la dApp effectue automatiquement, en s'appuyant sur le consensus de la chaîne ?
Qu'il s'agisse de transactions simples, d'une chaîne de calculs d'algorithmes ou d'autre chose, toutes ces fonctionnalités d'exécution automatique devront résider dans des contrats intelligents.
bannière de questions sur le développement d'applications décentralisées 3
Étant donné que les contrats intelligents fonctionnent sur une blockchain, vous devrez choisir une ou plusieurs blockchains si vous envisagez une dApp inter-chaînes. En règle générale, les fondateurs choisissent de créer une dApp sur Ethereum, mais d'autres chaînes prennent également en charge les contrats intelligents.
Le réseau Ethereum est un choix facile car il compte de nombreux utilisateurs qui ont déjà des portefeuilles cryptographiques et peuvent s'embarquer plus rapidement. Cependant, si vous envisagez d'introduire votre propre portefeuille crypto, les utilisateurs n'ont même pas besoin de savoir sur quelle blockchain votre dApp fonctionne.
En relation : Guide de développement d'applications Smart Contract
En fin de compte, si vous cherchez réellement à intégrer un public massif et disparate peu familier avec la technologie blockchain, peu importe la blockchain sur laquelle les intégrer.
ÉTAPE 2 : CRÉER DES FRONTAUX
Bien sûr, vous ne pouvez pas créer une application décentralisée sans développer des applications mobiles et/ou Web « normales » destinées aux utilisateurs. Par normal, je veux dire qu'ils ne devraient pas être radicalement différents des autres applications que nous utilisons tous les jours.

Le fait que les actions de l'utilisateur déclenchent certaines fonctions de contrat intelligent sur une blockchain au lieu de se connecter à un serveur central devrait avoir un effet minimal sur l'interface utilisateur.
En relation : Les étapes de conception UX/UI chez Advency
Ainsi, pour créer une expérience utilisateur captivante, prévoyez de commencer par un prototype :
- Interface utilisateur basse fidélité
- Interface utilisateur haute fidélité
- Tests utilisateurs
- Renforcer l'UI/UX en fonction des retours
Tenez compte du fait que l'appel d'une fonction de contrat intelligent à partir d'une interface utilisateur orientée utilisateur prend un certain temps car les transactions ne sont pas exécutées immédiatement sur une blockchain. C'est une bonne idée d'avoir une sorte d'animation intégrée sur le front-end pour montrer aux utilisateurs que leur action est toujours en cours jusqu'à ce qu'elle soit vérifiée sur la chaîne. Voici comment UniSwap gère cela :

Une autre bonne idée est de simplifier l'intégration des utilisateurs avec des portefeuilles existants en s'intégrant à WalletConnect et à des services similaires qui permettent aux utilisateurs de connecter facilement leurs portefeuilles.
Vous devez également garder à l'esprit que les utilisateurs peuvent souhaiter explorer votre solution avant de connecter leurs portefeuilles cryptographiques. Donc, cacher toutes les fonctionnalités jusqu'à ce qu'elles le fassent n'est probablement pas la meilleure tactique.
ÉTAPE 3 : CRÉEZ UN BACK-END CENTRALISÉ
Si vous créez des dApps Ethereum qui nécessitent un stockage massif de données ou prévoyez d'exécuter des rapports ou envisagez toute autre fonctionnalité qui ne relève pas des transactions en chaîne, vous aurez besoin d'une solution Web sur un serveur privé.
Un tel portail d'administration se connectera aux contrats intelligents et aux applications frontales pour que les clients vous offrent des fonctionnalités supplémentaires en tant que propriétaire d'entreprise (pour contrôler votre dApp) et les utilisateurs.
ÉTAPE 4 : TESTEZ RIGOUREUSEMENT
Comme pour tout autre projet de développement d'applications, vous devez commencer à tester votre dApp le plus tôt possible pendant le développement. Chaque nouvelle version doit passer par un processus d'assurance qualité approfondi.
Alors que le test des applications frontales est une procédure plus ou moins standardisée, le test de contrat intelligent est un peu unique en ce sens que vous devez utiliser un testnet pour vérifier sa fonctionnalité.

Sinon, une fois que vous avez déployé un contrat intelligent sur le réseau principal, comme Ethereum, vous ne pouvez plus le modifier. Cela signifie que tous les bugs cachés qui se sont rendus sur le réseau principal resteront intacts.
ÉTAPE 5 : DÉPLOYER ET MAINTENIR
Dans une dernière étape, vous devez déployer votre dApp. Cela implique de télécharger des applications mobiles sur l'App Store et Google Play, de basculer votre portail principal vers un environnement de production en direct et d'ajouter un contrat intelligent à la blockchain. Des services comme Infura vous aideront à réduire les efforts DevOps requis pour déployer une application décentralisée.
Quant à la maintenance, c'est plutôt un processus continu. Même si le contrat intelligent restera le même qu'une application blockchain immunisée contre les changements, vous devrez toujours mettre à jour les choses sur le front-end.
Combien cela coûte-t-il de développer des dApps
Un prototype d'application décentralisée peut coûter entre 50 000 € et 70 000 €, selon son ensemble de fonctionnalités, et le prix de développement d'une solution à part entière dépendra du nombre de frontaux dont vous avez besoin, etc.
Comment Advency peut aider à créer des applications décentralisées ?
Chez Advency, nous nous efforçons d'être à la pointe de la technologie, en veillant à ce qu'elle ait un impact réel sur la vie de vos clients.
J'espère que cet article vous a aidé à mieux comprendre comment créer des applications décentralisées. N'hésitez pas à planifier une réunion si vous avez d'autres questions.