Autrement dit, la première chose avant de se lancer dans le développement d'une solution Web3 est de bien comprendre ce que l'on souhaite développer. Plus la compréhension est claire, plus il sera facile pour les développeurs de mettre en œuvre votre idée. Vous pouvez définir les besoins en toute autonomie ou faire appel à des spécialistes dédiés (analystes métier, marketeurs, programmeurs, designers, financiers, etc.).
Régulièrement, le processus se déroule de la manière suivante, lors d'un briefing, vous expliquez votre idée et les objectifs commerciaux que vous souhaitez atteindre. Prochain:
- L'analyste d'affaires étudie l'actualité, les concurrents, leurs avantages et inconvénients, et s'il y aura une demande pour l'offre ;
- Le spécialiste du marketing aide à comprendre quel produit les utilisateurs aimeront, comment se différencier des concurrents, comment entrer sur le marché et gagner de l'argent ;
- Les concepteurs décrivent à quoi devrait ressembler l'interface pour que les utilisateurs l'aiment et l'utilisent ;
- Les programmeurs expliquent comment le développer en code.
Etape 2 : définir les fonctions
A ce stade, l'équipe de développement définit la fonction à ajouter. La liste des opérations dépend du projet. Les listes de fonctions pour un portefeuille de crypto-monnaie et un échange décentralisé sont entièrement différentes. De plus, la liste des fonctions dépend également de la façon dont vous allez entrer sur le marché, et il peut s'agir d'un MVP (produit minimum viable) ou d'un lancement de produit complet qui offre toutes les fonctions aux clients juste après la sortie.
La différence entre un MVP et un produit entièrement fonctionnel.
La source
En outre, il est crucial de prendre en compte les rôles des utilisateurs au sein du produit. Les rôles typiques sont les utilisateurs finaux et les administrateurs. Cependant, il y a quelques autres rôles. Par exemple, si vous souhaitez développer une place de marché NFT, les postes seront acheteurs et vendeurs. Si vous créez une crypto-monnaie, les utilisateurs réguliers, les mineurs/validateurs et les développeurs amélioreront le code et ajouteront de nouvelles fonctions.
Pour vous donner un exemple, regardons la liste des fonctions pour les crypto-monnaies.
Voici la fonctionnalité d'un portefeuille pour l'utilisateur final :
- Le processus d'enregistrement d'un portefeuille de crypto-monnaie implique la création d'une adresse crypto ou la récupération (liaison) d'une ancienne. Certains portefeuilles, par exemple BlueWallet, nécessitent de sélectionner le type de compte : standard, stockage ou Lightning. Selon le type, le DApp fonctionnera comme un portefeuille ordinaire, un stockage très efficace ou un portefeuille pour effectuer des transactions éclair sur le réseau Bitcoin. À l'avenir, cette étape impliquera une vérification d'identité (les régulateurs des États-Unis et de l'UE commencent à l'exiger).
- Échange, coefficient de conversion. La variante la plus simple d'un portefeuille de crypto-monnaie permet de recevoir et d'envoyer des actifs numériques. C'est quelque chose comme MetaMask. Des portefeuilles plus avancés permettent d'échanger des jetons ou d'afficher le taux de change de tous les jetons du portefeuille, le prix des pièces, par exemple, en fiat, dollars, euros ou livres.
- Gestion d'actifs (paiements). Cette fonction permet aux utilisateurs d'acheter et de vendre des crypto-monnaies dans leur application de portefeuille. Cette fonction doit être aussi intuitive et simple que possible afin que même un débutant en crypto-monnaie soit confiant d'utiliser l'application à diverses fins. L'ajout de codes QR rendra son utilisation encore plus simple, et une liste d'adresses favorites pour les opérations récurrentes rendra les transactions plus rapides.
- Lier un compte bancaire. Permettre aux utilisateurs de connecter une carte de crédit/débit, PayPal, Google Pay, un compte Apple Pay ou tout autre système de paiement améliorera l'expérience utilisateur. Souvent, cela aidera à acheter et à vendre des crypto-monnaies plus rapidement, sans avoir à indiquer les détails du paiement.
- Notifications push. C'est une fonction facultative mais toujours essentielle si vous souhaitez créer un portefeuille Web3 confortable. Les messages informeront les utilisateurs des demandes de paiement, des modifications de solde, des transactions approuvées, des dangers pour la sécurité, des mises à jour du système, etc. La notification redirigera les utilisateurs vers l'application.
- Prise en charge NFT. Une autre fonctionnalité facultative est le support NFT. Les NFT sont désormais l'une des tendances de l'industrie, leur stockage est donc en demande. Plus précisément, il nécessite de supporter les normes suivantes ERC721, ERC1155, BEP-721, BEP-1155, TRC-721, dGoods, Composables.
- Sécurité. Pour les utilisateurs, il est crucial d'avoir 2FA, l'authentification par empreinte digitale ou faciale, la prise en charge du portefeuille matériel, le TTL et la phrase de départ. La protection est vitale pour la plate-forme Web3 contre les attaques DDoS, SSRF, CSRF, HPP, etc.
Voici la fonctionnalité pour l'administrateur :
- Tableau de bord. Cet onglet aide les administrateurs à suivre l'état du système, le nombre d'utilisateurs actifs, le volume de transactions (par seconde, heure, jour), le nombre de transactions, les nouveaux messages, les problèmes actuels, etc.
- Gestion des utilisateurs. Les administrateurs utilisent cet onglet pour suivre l'état des utilisateurs, modifier, ajouter, supprimer, geler ou récupérer des comptes. De plus, cet onglet devrait avoir une conversation avec les utilisateurs.
- Gestion du système de paiement. Ici, l'administrateur peut ajouter ou supprimer des systèmes de paiement. De plus, certains ajustements peuvent être apportés concernant la taille minimale de transaction pour l'achat de crypto-monnaie pour les monnaies fiduciaires.
- Gestion des frais. Cet onglet permet aux administrateurs d'ajouter, de supprimer ou de modifier les frais pour les transactions crypto et fiat. De même, cet onglet permet la taille et la fréquence des paiements du programme de parrainage.
- Gestion du contenu. Vos administrateurs ont besoin d'outils pour modifier, ajouter et supprimer des textes, des images, des animations et d'autres contenus dans l'interface utilisateur de votre plateforme.
- Marketing et publicité. Lors du développement d'un portefeuille Web3, vous pouvez ajouter une fonction pour afficher des publicités via des notifications et des bannières. Si cette fonction existe, les administrateurs auront besoin d'outils pour la gérer.
- Documentation API. Ce sont les intégrations avec d'autres services.
Étape 3 : développement de l'architecture
La prochaine étape dans le développement de la plate-forme Web3 est la création de l'architecture de l'information pour le futur projet. Habituellement, ce diagramme montre les principaux composants du système et leur relation. Il s'agit souvent des futurs écrans de l'interface utilisateur et des transitions entre eux.
Un diagramme est nécessaire pour étudier et optimiser les flux et les actions des utilisateurs pour atteindre les objectifs souhaités, tels que l'achat de crypto-monnaie. On pense que plus le chemin est simple, meilleure est l'expérience utilisateur et plus l'interface utilisateur du site Web ou de l'application est attrayante.
En règle générale, les analystes commerciaux et les concepteurs UX/UI créent cette architecture. Un programmeur ou un autre spécialiste peut également les rejoindre s'ils ont besoin de leurs conseils sur une question. Par exemple, il est maintenant nécessaire d'impliquer des avocats dans la création de projets de cryptographie pour aider à se conformer aux règles et réglementations des régulateurs et aux lois sur le stockage et la distribution des données des utilisateurs.
Un exemple d'architecture informationnelle d'une plateforme Web3.
La source
Étape 4 : Développement de la conception UX/UI
Sur la base des informations recueillies lors des premières étapes, de la liste des fonctions et de l'architecture de l'information, les concepteurs créent une conception d'interface utilisateur pour votre solution Web. Il doit être propre, simple et agréable, et il doit être conforme aux normes de l'industrie (il doit y avoir une conception de bouton familière et des noms de section familiers) et aux tendances de conception actuelles. De plus, la conception doit être conforme aux recommandations des fournisseurs de plates-formes. Par exemple, dans le cas d'une application iOS, il est nécessaire de se conformer aux directives de l'interface humaine , tandis qu'Android — Fournit des applications de haute qualité.
Le développement d'une conception d'interface utilisateur se compose généralement de plusieurs étapes. Le premier est un simple croquis de la future interface, qui affiche les écrans et ce qu'ils devraient être sous une forme très simplifiée. Une telle esquisse est généralement appelée un wireframe basse fidélité. Voici à quoi cela pourrait ressembler :
Un exemple de wireframe basse fidélité.
La source
Ensuite, ces croquis sont coordonnés avec le client, et si tout va bien, les concepteurs les utilisent pour créer des wireframes de haute précision. Ce sont des croquis beaucoup plus précis de la conception de l'interface utilisateur telle qu'elle sera présentée aux utilisateurs finaux. Voici à quoi ils pourraient ressembler :
Wireframes haute fidélité d'un portefeuille.
La source
Si le client approuve également ces esquisses, des prototypes animés de la conception de l'interface utilisateur sont généralement créés, où toutes les animations et transitions fonctionnent, mais pas les fonctions d'application elles-mêmes. Des prototypes sont nécessaires pour tester la conception de l'application sur le public cible et lever des fonds dans les premiers stades de développement. Voici à quoi ils ressemblent :
Étape 5 : écrire le code de l'application
Une fois la fonctionnalité définie, l'architecture de l'information construite et le design de l'interface utilisateur créé, les programmeurs prennent le relais et implémentent tout cela dans le code. Les développeurs doivent choisir la pile technologique qui convient le mieux à la tâche à accomplir pour ce faire. Il est généralement divisé en une pile pour le serveur (back-end) et l'interface (front-end).
Pile technologique pour le développement de solutions backend Web3 :
- Contrats intelligents : Ethereum Virtual Machine ou BSC.
- Bases de données SQL : MySQL, PostgreSQL, MariaDB, MS SQL, Oracle.
- DevOps : GitLab CI, TeamCity, GoCD Jenkins, WS CodeBuild, Terraform.
- Bases de données NoSQL : MongoDB, Cassandra, DynamoDB.
- Moteurs de recherche : Apache Solr, Elasticsearch.
- Langages de programmation : Java, PHP, Python.
- Cadres : Spring, Symphony, Flask.
- Cache : Redis, Memcached.
Pile technologique pour le développement de solutions frontales Web3 :
- Langages de programmation pour le Web : Angular.JS, React.JS et Vue.JS.
- Langages de programmation pour App : Java, Kotlin pour Android et Swift pour iOS.
- Architecture : MVVM pour Android et MVC, MVP, MVVM, VIPER pour iOS.
- IDE : Android Studio et Xcode pour iOS.
- SDK : SDK Android et SDK iOS.
Étape 6 : tester le produit
Les spécialistes de l'assurance qualité effectuent les tests. Ils vérifient le code du produit créé pour les erreurs et la conformité aux spécifications. En outre, la fonctionnalité, la convivialité et les performances sont également testées. Si la solution Web3 contient des contrats intelligents, ils doivent également être testés en interne et avec l'aide d'auditeurs indépendants tels que Certik et Techrate.
Etape 7 : déploiement, release
Lorsque votre solution Web est créée et testée, elle est déployée sur les serveurs locaux de votre entreprise ou dans le cloud (AWS, Azure, Google). S'il s'agit d'une application mobile, elle est ajoutée aux listes App Store, Google Play et Amazon App Store (cela ne contredit pas les règles du site).
Étape 8 : assistance produit
La dernière étape consiste à apprendre au personnel à travailler avec le produit et à constituer l'équipe de support.
Les dépenses liées au développement d'un portefeuille NFT