Chef de projets en solutions blockchain
Certification RNCP40146
Formacodes 31004 | Blockchain 31067 | Développement informatique
Nomenclature Europe Niveau 6
Formacodes 31004 | Blockchain 31067 | Développement informatique
Nomenclature Europe Niveau 6
Les métiers associés à la certification RNCP40146 : Études et développement informatique
Codes NSF 326t | Programmation, mise en place de logiciels
Voies d'accès : Contrat d'apprentissage Formation continue Contrat de professionnalisation VAE
Prérequis : Avoir un niveau 5 au minimum, en cohérence avec la certification visée.
Certificateurs :
Voies d'accès : Contrat d'apprentissage Formation continue Contrat de professionnalisation VAE
Prérequis : Avoir un niveau 5 au minimum, en cohérence avec la certification visée.
Certificateurs :
| Certificateur | SIRET |
|---|---|
| CFA INSTA | 50947289000029 |
| CENTRE DE FORMATION INNOVATION EN SYSTEME D'INFORMATION | 81743947400013 |
Activités visées :
Cartographie de l’environnement technologique du client Analyse des impacts sur le client des développements blockchain envisagés Veille technologique adaptée au contexte du client Conception de frameworks en blockchain Conception de bases de données décentralisées Elaboration de smart contracts sur blockchains privées ou publiques Développement de contenus web utilisant les technologies blockchain Renforcement de la sécurité des données grâce aux technologies blockchain Réalisation des tests de déploiement Configuration de l’environnement de production Configuration des interfaces utilisateurs Réalisation des évaluations post-projet Participation au cadrage des projets Evaluation des risques des solutions blockchain envisagées Participation aux actions de communication en lien avec le projet blockchain
Cartographie de l’environnement technologique du client Analyse des impacts sur le client des développements blockchain envisagés Veille technologique adaptée au contexte du client Conception de frameworks en blockchain Conception de bases de données décentralisées Elaboration de smart contracts sur blockchains privées ou publiques Développement de contenus web utilisant les technologies blockchain Renforcement de la sécurité des données grâce aux technologies blockchain Réalisation des tests de déploiement Configuration de l’environnement de production Configuration des interfaces utilisateurs Réalisation des évaluations post-projet Participation au cadrage des projets Evaluation des risques des solutions blockchain envisagées Participation aux actions de communication en lien avec le projet blockchain
Capacités attestées :
Cartographier l’infrastructure technologique du client en tenant compte des solutions blockchain déjà existantes, afin de définir le périmètre dans lequel la solution blockchain devra s’intégrer. Cartographier les systèmes externes utilisés par le client , en identifiant leur système de gestion propre, afin d’envisager les conditions de leur interaction avec la solution blockchain à développer. Analyser les bénéfices attendus des développements blockchain envisagés au regard des contraintes techniques, technologiques et financières qu’ils posent, afin d’en permettre la priorisation si nécessaire. Cartographier les processus métiers impactés par les développements blockchain envisagés, en collaboration avec les parties prenantes internes et externes au projet, en les classant selon leur nature et leur degré d’importance, afin d’en permettre l’analyse. Analyser les processus métiers impactés par les développements blockchain envisagés, au regard des exigences fonctionnelles et non fonctionnelles du projet, afin de les prendre en compte de façon adaptée. Mettre en place une veille technologique automatisée, en sélectionnant les sources pertinentes et en organisant l’accessibilité aux informations collectées, afin de rester en permanence informé des actualités susceptibles d’influencer les développements blockchain envisagés. Analyser les résultats de sa veille au regard du secteur d’activité du client, et du cadre légal et réglementaire spécifique auquel il est soumis, afin d’orienter ses choix technologiques en fonction du contexte du client. Concevoir une architecture de frameworks en blockchain, en définissant l’organisation et l’interconnexion de ses différents composants, en veillant à sa modularité, son évolutivité et son interopérabilité, afin d’en établir la structure. Ajouter de nouvelles fonctionnalités à une architecture de framework, après l’avoir divisée en modules indépendants, en veillant à leur stabilité propre, afin d’en permettre l’évolution sans perturber l'ensemble. Documenter les mises à jour d’une architecture de framework en mettant en place un système de gestion des versions comprenant leur documentation et leur étiquetage, afin de faciliter le suivi des modifications et en assurer la traçabilité. Concevoir des bases de données décentralisées, en définissant le modèle des données, leur structure et les conditions de leur synchronisation, de leur stockage et de leur archivage, afin de garantir l'intégrité des données sur la blockchain. Intégrer des smart contracts dans le processus de conception des bases de données décentralisées, en utilisant un langage de programmation et un mécanisme de consensus appropriés à la technologie blockchain choisie, afin de définir les règles de gestion et d’interconnexion des données et assurer leur cohérence. Rédiger des smart contracts sur blockchains privées ou publiques, conformément à l’état de l’art, en utilisant le langage de programmation approprié à la technologie blockchain choisie et en s’appuyant sur des éditeurs de codes compatibles si nécessaire, après installation des outils de programmation appropriés, afin de permettre aux utilisateurs d’interagir et effectuer des transactions de tokens (jetons d’actifs, de droits…). Implémenter des mécanismes de contrôle dans le code source des smart contracts, après avoir défini, selon les objectifs de leur utilisation, les conditions d’autorisations, de privilèges, de validation et de révocation des utilisateurs, ainsi que leurs droits de vote, afin de tracer les interactions et ainsi se conformer aux exigences réglementaires ou normatives, surveiller les activités et détecter les comportements suspects. Intégrer des fonctionnalités blockchain dans un site ou une application web, en utilisant les API de la technologie blockchain adaptée aux besoins du projet, afin de permettre au contenu de communiquer avec la blockchain, effectuer des transactions, lire des données et interagir avec les smart contracts. Créer des interfaces utilisateurs web et mobile intégrant la technologie blockchain, en tenant compte des règles de robustesse, d’ergonomie et d’accessibilité, et en y intégrant un mécanisme de gestion des clés privées, afin de permettre aux utilisateurs d’interagir et gérer leur compte blockchain en toute sécurité. Renforcer la sécurité des données et des transactions par la technologie blockchain, en définissant et intégrant des mécanismes de cryptographie et en gérant les clés publiques et privées de chiffrement associées aux utilisateurs et/ou aux smart contracts, à l'aide d'algorithmes, afin de garantir l’intégrité des données et l’identification des utilisateurs. Sécuriser les nœuds du réseau blockchain, en chiffrant les communications entre les nœuds à l'aide de protocoles spécifiques et en mettant en place un système de stockage et de gestion centralisés des clés, afin d’éviter l'interception des données en transit et de participer à la sécurité globale du réseau blockchain. Elaborer des tests unitaires pour chaque composant de la solution blockchain développée, en adaptant la rédaction des scenarii aux fonctionnalités en présence et aux comportements attendus, afin de permettre la vérification de la fiabilité du code source sur chaque partie de la solution. Ecrire des scripts de tests automatisés permettant d’être exécutés régulièrement, en s’appuyant sur des outils adaptés à l’environnement de développement blockchain, afin d’accélérer la détection des erreurs avant la phase d’intégration. Réaliser des tests d'intégration de la solution blockchain développée, en vérifiant l'intégration de la blockchain avec les bases de données, les API et les interfaces utilisateur, afin de s'assurer que les composants fonctionnent de manière cohérente et interagissent correctement. Réaliser des tests de performance de la solution blockchain développée, en procédant à des simulations de charges, de transactions et de scénarii de stress, afin de mesurer sa capacité à gérer des charges de travail variables et détecter les éventuels problèmes de scalabilité. Réaliser des tests de sécurité de la solution blockchain développée, en recherchant ses vulnérabilités, afin d’évaluer sa robustesse contre les attaques et prendre les mesures correctives nécessaires. Installer les nœuds blockchain nécessaires après avoir défini les modalités d’hébergement, afin d’en permettre la configuration conformément aux règles du protocole. Configurer les nœuds blockchain selon les besoins identifiés en matière de sécurité, de gouvernance et d’interopérabilité, afin de s’assurer que l’infrastructure blockchain est prête à être déployée en production. Intégrer les informations provenant de la blockchain dans les interfaces utilisateurs, dans le respect des règles et normes de sécurité applicables, après avoir créé les portefeuilles et identifiants, et appliqué les règles d’affichage des données, afin de permettre la configuration des interfaces conformément aux spécifications techniques et fonctionnelles de la solution développée. Configurer les interfaces utilisateurs des solutions blockchain développées, selon les besoins du client, en collaboration avec les autres parties prenantes à son déploiement, afin de permettre leur intégration dans l’environnement du client. Définir les objectifs des évaluations post-projet en y associant les indicateurs pertinents, afin de permettre l’évaluation de sa réussite. Evaluer la solution blockchain déployée, en vérifiant sa conformité, et en mesurant sa performance et sa sécurité, afin de déterminer son niveau de réussite et mettre en place les actions correctives nécessaires. Elaborer un plan d’amélioration de la solution blockchain déployée, en collaboration avec les autres parties prenantes au projet, en tenant compte des retours des utilisateurs, afin de guider les opérations de correction et d’optimisation, dans une démarche d’amélioration continue. Participer aux actions de communication des résultats des évaluations menées auprès des parties prenantes internes et externes, en expliquant les notions techniques, dans la limite de ses compétences et en s’adaptant au niveau de compréhension des destinataires (y compris en cas de handicap), afin de leur permettre de comprendre les enjeux en présence. Recueillir les besoins du client sur les projets blockchain envisagés, en coordination avec les autres parties prenantes, en les interrogeant sur leurs attentes spécifiques, leur contexte et leurs contraintes, afin de comprendre l'objectif du projet et le traduire techniquement. Traduire le besoin du client en fonctionnalités techniques, en y associant les technologies blockchain et langages de programmation envisageables pour y répondre, afin de contribuer à la rédaction de la note de cadrage et du cahier des charges. Evaluer la faisabilité technique du développement blockchain envisagé, au regard des critères fixés par les parties prenantes au projet, afin d’évaluer sa viabilité avant prototypage. Cartographier les risques potentiels des solutions blockchain envisagées, en les classant selon leur nature et leur probabilité de survenance dans le cadre du développement envisagé, afin d’en permettre l’évaluation. Evaluer les risques des solutions blockchain envisagées, en étudiant les conséquences en cas de survenance, afin de permettre aux parties prenantes au projet de s’en appuyer lors des différentes prises de décision. Élaborer des reporting sur ses actions dans le cadre du projet blockchain, en utilisant les outils de gestion pertinents et les technologies à disposition, afin d’assurer une traçabilité des opérations et leurs résultats et en rendre compte. Présenter, aux différentes parties prenantes, les résultats de ses actions dans le cadre du projet blockchain, en les partageant via des outils collaboratifs, en veillant à leur accessibilité, et en les expliquant de manière vulgarisée si besoin, afin de partager ses avancées.
Cartographier l’infrastructure technologique du client en tenant compte des solutions blockchain déjà existantes, afin de définir le périmètre dans lequel la solution blockchain devra s’intégrer. Cartographier les systèmes externes utilisés par le client , en identifiant leur système de gestion propre, afin d’envisager les conditions de leur interaction avec la solution blockchain à développer. Analyser les bénéfices attendus des développements blockchain envisagés au regard des contraintes techniques, technologiques et financières qu’ils posent, afin d’en permettre la priorisation si nécessaire. Cartographier les processus métiers impactés par les développements blockchain envisagés, en collaboration avec les parties prenantes internes et externes au projet, en les classant selon leur nature et leur degré d’importance, afin d’en permettre l’analyse. Analyser les processus métiers impactés par les développements blockchain envisagés, au regard des exigences fonctionnelles et non fonctionnelles du projet, afin de les prendre en compte de façon adaptée. Mettre en place une veille technologique automatisée, en sélectionnant les sources pertinentes et en organisant l’accessibilité aux informations collectées, afin de rester en permanence informé des actualités susceptibles d’influencer les développements blockchain envisagés. Analyser les résultats de sa veille au regard du secteur d’activité du client, et du cadre légal et réglementaire spécifique auquel il est soumis, afin d’orienter ses choix technologiques en fonction du contexte du client. Concevoir une architecture de frameworks en blockchain, en définissant l’organisation et l’interconnexion de ses différents composants, en veillant à sa modularité, son évolutivité et son interopérabilité, afin d’en établir la structure. Ajouter de nouvelles fonctionnalités à une architecture de framework, après l’avoir divisée en modules indépendants, en veillant à leur stabilité propre, afin d’en permettre l’évolution sans perturber l'ensemble. Documenter les mises à jour d’une architecture de framework en mettant en place un système de gestion des versions comprenant leur documentation et leur étiquetage, afin de faciliter le suivi des modifications et en assurer la traçabilité. Concevoir des bases de données décentralisées, en définissant le modèle des données, leur structure et les conditions de leur synchronisation, de leur stockage et de leur archivage, afin de garantir l'intégrité des données sur la blockchain. Intégrer des smart contracts dans le processus de conception des bases de données décentralisées, en utilisant un langage de programmation et un mécanisme de consensus appropriés à la technologie blockchain choisie, afin de définir les règles de gestion et d’interconnexion des données et assurer leur cohérence. Rédiger des smart contracts sur blockchains privées ou publiques, conformément à l’état de l’art, en utilisant le langage de programmation approprié à la technologie blockchain choisie et en s’appuyant sur des éditeurs de codes compatibles si nécessaire, après installation des outils de programmation appropriés, afin de permettre aux utilisateurs d’interagir et effectuer des transactions de tokens (jetons d’actifs, de droits…). Implémenter des mécanismes de contrôle dans le code source des smart contracts, après avoir défini, selon les objectifs de leur utilisation, les conditions d’autorisations, de privilèges, de validation et de révocation des utilisateurs, ainsi que leurs droits de vote, afin de tracer les interactions et ainsi se conformer aux exigences réglementaires ou normatives, surveiller les activités et détecter les comportements suspects. Intégrer des fonctionnalités blockchain dans un site ou une application web, en utilisant les API de la technologie blockchain adaptée aux besoins du projet, afin de permettre au contenu de communiquer avec la blockchain, effectuer des transactions, lire des données et interagir avec les smart contracts. Créer des interfaces utilisateurs web et mobile intégrant la technologie blockchain, en tenant compte des règles de robustesse, d’ergonomie et d’accessibilité, et en y intégrant un mécanisme de gestion des clés privées, afin de permettre aux utilisateurs d’interagir et gérer leur compte blockchain en toute sécurité. Renforcer la sécurité des données et des transactions par la technologie blockchain, en définissant et intégrant des mécanismes de cryptographie et en gérant les clés publiques et privées de chiffrement associées aux utilisateurs et/ou aux smart contracts, à l'aide d'algorithmes, afin de garantir l’intégrité des données et l’identification des utilisateurs. Sécuriser les nœuds du réseau blockchain, en chiffrant les communications entre les nœuds à l'aide de protocoles spécifiques et en mettant en place un système de stockage et de gestion centralisés des clés, afin d’éviter l'interception des données en transit et de participer à la sécurité globale du réseau blockchain. Elaborer des tests unitaires pour chaque composant de la solution blockchain développée, en adaptant la rédaction des scenarii aux fonctionnalités en présence et aux comportements attendus, afin de permettre la vérification de la fiabilité du code source sur chaque partie de la solution. Ecrire des scripts de tests automatisés permettant d’être exécutés régulièrement, en s’appuyant sur des outils adaptés à l’environnement de développement blockchain, afin d’accélérer la détection des erreurs avant la phase d’intégration. Réaliser des tests d'intégration de la solution blockchain développée, en vérifiant l'intégration de la blockchain avec les bases de données, les API et les interfaces utilisateur, afin de s'assurer que les composants fonctionnent de manière cohérente et interagissent correctement. Réaliser des tests de performance de la solution blockchain développée, en procédant à des simulations de charges, de transactions et de scénarii de stress, afin de mesurer sa capacité à gérer des charges de travail variables et détecter les éventuels problèmes de scalabilité. Réaliser des tests de sécurité de la solution blockchain développée, en recherchant ses vulnérabilités, afin d’évaluer sa robustesse contre les attaques et prendre les mesures correctives nécessaires. Installer les nœuds blockchain nécessaires après avoir défini les modalités d’hébergement, afin d’en permettre la configuration conformément aux règles du protocole. Configurer les nœuds blockchain selon les besoins identifiés en matière de sécurité, de gouvernance et d’interopérabilité, afin de s’assurer que l’infrastructure blockchain est prête à être déployée en production. Intégrer les informations provenant de la blockchain dans les interfaces utilisateurs, dans le respect des règles et normes de sécurité applicables, après avoir créé les portefeuilles et identifiants, et appliqué les règles d’affichage des données, afin de permettre la configuration des interfaces conformément aux spécifications techniques et fonctionnelles de la solution développée. Configurer les interfaces utilisateurs des solutions blockchain développées, selon les besoins du client, en collaboration avec les autres parties prenantes à son déploiement, afin de permettre leur intégration dans l’environnement du client. Définir les objectifs des évaluations post-projet en y associant les indicateurs pertinents, afin de permettre l’évaluation de sa réussite. Evaluer la solution blockchain déployée, en vérifiant sa conformité, et en mesurant sa performance et sa sécurité, afin de déterminer son niveau de réussite et mettre en place les actions correctives nécessaires. Elaborer un plan d’amélioration de la solution blockchain déployée, en collaboration avec les autres parties prenantes au projet, en tenant compte des retours des utilisateurs, afin de guider les opérations de correction et d’optimisation, dans une démarche d’amélioration continue. Participer aux actions de communication des résultats des évaluations menées auprès des parties prenantes internes et externes, en expliquant les notions techniques, dans la limite de ses compétences et en s’adaptant au niveau de compréhension des destinataires (y compris en cas de handicap), afin de leur permettre de comprendre les enjeux en présence. Recueillir les besoins du client sur les projets blockchain envisagés, en coordination avec les autres parties prenantes, en les interrogeant sur leurs attentes spécifiques, leur contexte et leurs contraintes, afin de comprendre l'objectif du projet et le traduire techniquement. Traduire le besoin du client en fonctionnalités techniques, en y associant les technologies blockchain et langages de programmation envisageables pour y répondre, afin de contribuer à la rédaction de la note de cadrage et du cahier des charges. Evaluer la faisabilité technique du développement blockchain envisagé, au regard des critères fixés par les parties prenantes au projet, afin d’évaluer sa viabilité avant prototypage. Cartographier les risques potentiels des solutions blockchain envisagées, en les classant selon leur nature et leur probabilité de survenance dans le cadre du développement envisagé, afin d’en permettre l’évaluation. Evaluer les risques des solutions blockchain envisagées, en étudiant les conséquences en cas de survenance, afin de permettre aux parties prenantes au projet de s’en appuyer lors des différentes prises de décision. Élaborer des reporting sur ses actions dans le cadre du projet blockchain, en utilisant les outils de gestion pertinents et les technologies à disposition, afin d’assurer une traçabilité des opérations et leurs résultats et en rendre compte. Présenter, aux différentes parties prenantes, les résultats de ses actions dans le cadre du projet blockchain, en les partageant via des outils collaboratifs, en veillant à leur accessibilité, et en les expliquant de manière vulgarisée si besoin, afin de partager ses avancées.
Secteurs d'activité :
Alors que la blockchain est souvent associée à la cryptomonnaie, ses applications s’étendent à d’autres secteurs tels que les services financiers, l’assurance, l’administration publique, la gestion de la chaîne logistique, la santé, l’Internet des objets, et d’autres filières où le besoin des systèmes décentralisés, sécurisés et transparents est demandé.
Alors que la blockchain est souvent associée à la cryptomonnaie, ses applications s’étendent à d’autres secteurs tels que les services financiers, l’assurance, l’administration publique, la gestion de la chaîne logistique, la santé, l’Internet des objets, et d’autres filières où le besoin des systèmes décentralisés, sécurisés et transparents est demandé.
Types d'emplois accessibles :
Développeur blockchain - Chef de projets blockchain - Par la suite Ingénieur blockchain
Développeur blockchain - Chef de projets blockchain - Par la suite Ingénieur blockchain
Objectif contexte :
La blockchain est une technologie de stockage, cryptant des chaines d’informations distinctes et immuables, qui nécessite des compétences spécialisées en raison de son langage unique par rapport aux autres codes informatiques. Le chef de projets en solutions blockchain est chargé de concevoir, coder et améliorer des systèmes spécifiques à la blockchain, en utilisant des langages de programmation adaptés tels que Solidity, C ++ ou JavaScript. D’autre part, en plus de développer des applications web et des frameworks, il est également responsable de l’analyse des besoins des clients et de la mise en place d’architectures blockchain robustes et sécurisées. Grâce à leurs compétences approfondie des concepts blockchain et de cryptographie, ils contribuent à la création de solutions innovantes pour divers secteurs tels que la finance, la logistique et la santé. En collaboration étroite avec d’autres parties prenantes les développeurs blockchain jouent un rôle crucial dans la gestion des projets blockchain, assurant une coordination efficace pour atteindre les objectifs fixés et répondre aux besoins des clients, avec des solutions techniquement fiables et évolutives.
La blockchain est une technologie de stockage, cryptant des chaines d’informations distinctes et immuables, qui nécessite des compétences spécialisées en raison de son langage unique par rapport aux autres codes informatiques. Le chef de projets en solutions blockchain est chargé de concevoir, coder et améliorer des systèmes spécifiques à la blockchain, en utilisant des langages de programmation adaptés tels que Solidity, C ++ ou JavaScript. D’autre part, en plus de développer des applications web et des frameworks, il est également responsable de l’analyse des besoins des clients et de la mise en place d’architectures blockchain robustes et sécurisées. Grâce à leurs compétences approfondie des concepts blockchain et de cryptographie, ils contribuent à la création de solutions innovantes pour divers secteurs tels que la finance, la logistique et la santé. En collaboration étroite avec d’autres parties prenantes les développeurs blockchain jouent un rôle crucial dans la gestion des projets blockchain, assurant une coordination efficace pour atteindre les objectifs fixés et répondre aux besoins des clients, avec des solutions techniquement fiables et évolutives.
Bloc de compétences
RNCP40146BC01 : Analyser l’environnement du client (interne ou externe) et ses impacts sur les développements blockchain envisagés
Compétences :
Cartographier l’infrastructure technologique du client (serveurs, bases de données, CMS, CRM, systèmes d’hébergement, matériels …), en tenant compte des solutions blockchain déjà existantes, afin de définir le périmètre dans lequel la solution blockchain devra s’intégrer. Cartographier les systèmes externes utilisés par le client (systèmes de paiement, API tierces, bases de données externes…), en identifiant leur système de gestion propre, afin d’envisager les conditions de leur interaction avec la solution blockchain à développer. Analyser les bénéfices attendus des développements blockchain envisagés (économiques, commerciaux, cybersécurité, automatisation de processus, innovation …) au regard des contraintes techniques, technologiques et financières qu’ils posent, afin d’en permettre la priorisation si nécessaire. Cartographier les processus métiers impactés par les développements blockchain envisagés, en collaboration avec les parties prenantes internes et externes au projet, en les classant selon leur nature et leur degré d’importance (sur les utilisateurs, les données, les opérations commerciales, le fonctionnement interne…), afin d’en permettre l’analyse. Analyser les processus métiers impactés par les développements blockchain envisagés, au regard des exigences fonctionnelles (flux de données, objectifs, utilisateurs, droits spécifiques pour les utilisateurs en situation de handicap…) et non fonctionnelles (sécurité, performance, évolutivité, conformité légale et réglementaire, confidentialité…) du projet, afin de les prendre en compte de façon adaptée. Mettre en place une veille technologique automatisée, en sélectionnant les sources pertinentes et en organisant l’accessibilité aux informations collectées, afin de rester en permanence informé des actualités (solutions existantes, nouveautés, contraintes, interopérabilité, types d’utilisation …) susceptibles d’influencer les développements blockchain envisagés. Analyser les résultats de sa veille au regard du secteur d’activité du client (santé, banque, tourisme, assurance…) et du cadre légal et réglementaire spécifique auquel il est soumis, afin d’orienter ses choix technologiques en fonction du contexte du client.
Cartographier l’infrastructure technologique du client (serveurs, bases de données, CMS, CRM, systèmes d’hébergement, matériels …), en tenant compte des solutions blockchain déjà existantes, afin de définir le périmètre dans lequel la solution blockchain devra s’intégrer. Cartographier les systèmes externes utilisés par le client (systèmes de paiement, API tierces, bases de données externes…), en identifiant leur système de gestion propre, afin d’envisager les conditions de leur interaction avec la solution blockchain à développer. Analyser les bénéfices attendus des développements blockchain envisagés (économiques, commerciaux, cybersécurité, automatisation de processus, innovation …) au regard des contraintes techniques, technologiques et financières qu’ils posent, afin d’en permettre la priorisation si nécessaire. Cartographier les processus métiers impactés par les développements blockchain envisagés, en collaboration avec les parties prenantes internes et externes au projet, en les classant selon leur nature et leur degré d’importance (sur les utilisateurs, les données, les opérations commerciales, le fonctionnement interne…), afin d’en permettre l’analyse. Analyser les processus métiers impactés par les développements blockchain envisagés, au regard des exigences fonctionnelles (flux de données, objectifs, utilisateurs, droits spécifiques pour les utilisateurs en situation de handicap…) et non fonctionnelles (sécurité, performance, évolutivité, conformité légale et réglementaire, confidentialité…) du projet, afin de les prendre en compte de façon adaptée. Mettre en place une veille technologique automatisée, en sélectionnant les sources pertinentes et en organisant l’accessibilité aux informations collectées, afin de rester en permanence informé des actualités (solutions existantes, nouveautés, contraintes, interopérabilité, types d’utilisation …) susceptibles d’influencer les développements blockchain envisagés. Analyser les résultats de sa veille au regard du secteur d’activité du client (santé, banque, tourisme, assurance…) et du cadre légal et réglementaire spécifique auquel il est soumis, afin d’orienter ses choix technologiques en fonction du contexte du client.
Modalités d'évaluation :
Mise en situation professionnelle sous forme d’étude de cas portant sur l’analyse de l’environnement client et de son impact sur le développement blockchain. Mise en situation professionnelle sous forme de cas pratique portant sur les exigences fonctionnelles et non fonctionnelles à prendre en compte pour les processus métiers impactés par les développements blockchain envisagés soutenance orale et remise d’un rapport écrit. Épreuve écrite et orale sous forme de présentation portant sur les activités de la veille technologique.
Mise en situation professionnelle sous forme d’étude de cas portant sur l’analyse de l’environnement client et de son impact sur le développement blockchain. Mise en situation professionnelle sous forme de cas pratique portant sur les exigences fonctionnelles et non fonctionnelles à prendre en compte pour les processus métiers impactés par les développements blockchain envisagés soutenance orale et remise d’un rapport écrit. Épreuve écrite et orale sous forme de présentation portant sur les activités de la veille technologique.
RNCP40146BC02 : Développer des solutions basées sur la technologie blockchain en réponse aux besoins du client
Compétences :
Concevoir une architecture de frameworks en blockchain, en définissant l’organisation et l’interconnexion de ses différents composants (smart contract, nœuds du réseau, bases de données, interfaces utilisateur…), en veillant à sa modularité, son évolutivité (nouveaux besoins, mise à jour de la technologie blockchain…) et son interopérabilité (avec d’autres systèmes ou technologies), afin d’en établir la structure. Ajouter de nouvelles fonctionnalités à une architecture de framework, après l’avoir divisée en modules indépendants, en veillant à leur stabilité propre, afin d’en permettre l’évolution sans perturber l'ensemble. Documenter les mises à jour d’une architecture de framework, en mettant en place un système de gestion des versions comprenant leur documentation et leur étiquetage, afin de faciliter le suivi des modifications et en assurer la traçabilité. Concevoir des bases de données décentralisées, en définissant le modèle des données (entités, attributs, relations entre les données…), leur structure (tables, champs, clés primaires/étrangères) et les conditions de leur synchronisation, de leur stockage et de leur archivage, afin de garantir l'intégrité des données sur la blockchain. Intégrer des smart contracts dans le processus de conception des bases de données décentralisées, en utilisant un langage de programmation (Solidity, Rust, Vyper, Go…) et un mécanisme de consensus (PoW, PoS, DPoS) appropriés à la technologie blockchain choisie, afin de définir les règles de gestion et d’interconnexion des données et assurer leur cohérence. Rédiger des smart contracts sur blockchains privées ou publiques, conformément à l’état de l’art, en utilisant le langage de programmation approprié à la technologie blockchain choisie (privée : Hyperledger Fabric, Corda … / publique : Ethereum, Binance Smart Chain…) et en s’appuyant sur des éditeurs de codes compatibles si nécessaire, après installation des outils de programmation appropriés, afin de permettre aux utilisateurs d’interagir et effectuer des transactions de tokens (jetons d’actifs, de droits…). Implémenter des mécanismes de contrôle dans le code source des smart contracts, après avoir défini, selon les objectifs de leur utilisation (automatisation de transactions, gestion d’actifs…), les conditions d’autorisations, de privilèges, de validation et de révocation des utilisateurs, ainsi que leurs droits de vote, afin de tracer les interactions et ainsi se conformer aux exigences réglementaires ou normatives, surveiller les activités et détecter les comportements suspects. Intégrer des fonctionnalités blockchain dans un site ou une application web, en utilisant les API (interfaces de programmation d'applications) de la technologie blockchain adaptée aux besoins du projet (sécurité, décentralisation, ratio coûts/performances…), afin de permettre au contenu de communiquer avec la blockchain, effectuer des transactions, lire des données et interagir avec les smart contracts. Créer des interfaces utilisateurs web et mobile intégrant la technologie blockchain (pages de création de comptes, de visualisation de transactions …) en tenant compte des règles de robustesse, d’ergonomie et d’accessibilité (notamment pour les utilisateurs en situation de handicap), et en y intégrant un mécanisme de gestion des clés privées, afin de permettre aux utilisateurs d’interagir et gérer leur compte blockchain en toute sécurité. Renforcer la sécurité des données et des transactions par la technologie blockchain, en définissant et intégrant des mécanismes de cryptographie et en gérant les clés publiques et privées de chiffrement associées aux utilisateurs et/ou aux smart contracts (génération, distribution, contrôle des accès, rotation, suppression…), à l'aide d'algorithmes, afin de garantir l’intégrité des données et l’identification des utilisateurs. Sécuriser les nœuds du réseau blockchain, en chiffrant les communications entre les nœuds à l'aide de protocoles spécifiques (SSL/TLS…) et en mettant en place un système de stockage et de gestion centralisés des clés, afin d’éviter l'interception des données en transit et de participer à la sécurité globale du réseau blockchain.
Concevoir une architecture de frameworks en blockchain, en définissant l’organisation et l’interconnexion de ses différents composants (smart contract, nœuds du réseau, bases de données, interfaces utilisateur…), en veillant à sa modularité, son évolutivité (nouveaux besoins, mise à jour de la technologie blockchain…) et son interopérabilité (avec d’autres systèmes ou technologies), afin d’en établir la structure. Ajouter de nouvelles fonctionnalités à une architecture de framework, après l’avoir divisée en modules indépendants, en veillant à leur stabilité propre, afin d’en permettre l’évolution sans perturber l'ensemble. Documenter les mises à jour d’une architecture de framework, en mettant en place un système de gestion des versions comprenant leur documentation et leur étiquetage, afin de faciliter le suivi des modifications et en assurer la traçabilité. Concevoir des bases de données décentralisées, en définissant le modèle des données (entités, attributs, relations entre les données…), leur structure (tables, champs, clés primaires/étrangères) et les conditions de leur synchronisation, de leur stockage et de leur archivage, afin de garantir l'intégrité des données sur la blockchain. Intégrer des smart contracts dans le processus de conception des bases de données décentralisées, en utilisant un langage de programmation (Solidity, Rust, Vyper, Go…) et un mécanisme de consensus (PoW, PoS, DPoS) appropriés à la technologie blockchain choisie, afin de définir les règles de gestion et d’interconnexion des données et assurer leur cohérence. Rédiger des smart contracts sur blockchains privées ou publiques, conformément à l’état de l’art, en utilisant le langage de programmation approprié à la technologie blockchain choisie (privée : Hyperledger Fabric, Corda … / publique : Ethereum, Binance Smart Chain…) et en s’appuyant sur des éditeurs de codes compatibles si nécessaire, après installation des outils de programmation appropriés, afin de permettre aux utilisateurs d’interagir et effectuer des transactions de tokens (jetons d’actifs, de droits…). Implémenter des mécanismes de contrôle dans le code source des smart contracts, après avoir défini, selon les objectifs de leur utilisation (automatisation de transactions, gestion d’actifs…), les conditions d’autorisations, de privilèges, de validation et de révocation des utilisateurs, ainsi que leurs droits de vote, afin de tracer les interactions et ainsi se conformer aux exigences réglementaires ou normatives, surveiller les activités et détecter les comportements suspects. Intégrer des fonctionnalités blockchain dans un site ou une application web, en utilisant les API (interfaces de programmation d'applications) de la technologie blockchain adaptée aux besoins du projet (sécurité, décentralisation, ratio coûts/performances…), afin de permettre au contenu de communiquer avec la blockchain, effectuer des transactions, lire des données et interagir avec les smart contracts. Créer des interfaces utilisateurs web et mobile intégrant la technologie blockchain (pages de création de comptes, de visualisation de transactions …) en tenant compte des règles de robustesse, d’ergonomie et d’accessibilité (notamment pour les utilisateurs en situation de handicap), et en y intégrant un mécanisme de gestion des clés privées, afin de permettre aux utilisateurs d’interagir et gérer leur compte blockchain en toute sécurité. Renforcer la sécurité des données et des transactions par la technologie blockchain, en définissant et intégrant des mécanismes de cryptographie et en gérant les clés publiques et privées de chiffrement associées aux utilisateurs et/ou aux smart contracts (génération, distribution, contrôle des accès, rotation, suppression…), à l'aide d'algorithmes, afin de garantir l’intégrité des données et l’identification des utilisateurs. Sécuriser les nœuds du réseau blockchain, en chiffrant les communications entre les nœuds à l'aide de protocoles spécifiques (SSL/TLS…) et en mettant en place un système de stockage et de gestion centralisés des clés, afin d’éviter l'interception des données en transit et de participer à la sécurité globale du réseau blockchain.
Modalités d'évaluation :
Mise en situation professionnelle sous forme d’étude de cas pratique écrite, soutenue à l’oral, portant sur une spécification fonctionnelle à partir d’un cahier des charges. Épreuve sur machine consistant à écrire du code en suivant plusieurs étapes en fonction de la technologie blockchain choisie privée ou publique en répondant à des besoins fonctionnels
Mise en situation professionnelle sous forme d’étude de cas pratique écrite, soutenue à l’oral, portant sur une spécification fonctionnelle à partir d’un cahier des charges. Épreuve sur machine consistant à écrire du code en suivant plusieurs étapes en fonction de la technologie blockchain choisie privée ou publique en répondant à des besoins fonctionnels
RNCP40146BC03 : Intégrer des solutions utilisant la technologie blockchain dans l’environnement du client
Compétences :
Elaborer des tests unitaires pour chaque composant de la solution blockchain développée (smart contracts, base de données décentralisées, interfaces utilisateur …), en adaptant la rédaction des scenarii aux fonctionnalités en présence et aux comportements attendus, afin de permettre la vérification de la fiabilité du code source sur chaque partie de la solution. Ecrire des scripts de tests automatisés permettant d’être exécutés régulièrement, en s’appuyant sur des outils adaptés à l’environnement de développement blockchain (Truffle, Hardhat, Remix…), afin d’accélérer la détection des erreurs avant la phase d’intégration. Réaliser des tests d'intégration de la solution blockchain développée, en vérifiant l'intégration de la blockchain avec les bases de données, les API et les interfaces utilisateur (web et mobiles), afin de s'assurer que les composants fonctionnent de manière cohérente et interagissent correctement. Réaliser des tests de performance de la solution blockchain développée, en procédant à des simulations de charges, de transactions et de scénarii de stress, afin de mesurer sa capacité à gérer des charges de travail variables et détecter les éventuels problèmes de scalabilité. Réaliser des tests de sécurité de la solution blockchain développée, en recherchant ses vulnérabilités (attaques de réentrance, débordements de tampon, problèmes de gestion des clés...), afin d’évaluer sa robustesse contre les attaques et prendre les mesures correctives nécessaires. Installer les nœuds blockchain nécessaires (complets/full nodes, de consensus/consensus nodes, d'indexation/indexing nodes), après avoir défini les modalités d’hébergement (infrastructure cloud, serveurs dédiés…), afin d’en permettre la configuration conformément aux règles du protocole. Configurer les nœuds blockchain selon les besoins identifiés en matière de sécurité, de gouvernance et d’interopérabilité, afin de s’assurer que l’infrastructure blockchain est prête à être déployée en production. Intégrer les informations provenant de la blockchain (transactions, soldes de comptes …) dans les interfaces utilisateurs, dans le respect des règles et normes de sécurité applicables, après avoir créé les portefeuilles et identifiants et appliqué les règles d’affichage des données, afin de permettre la configuration des interfaces conformément aux spécifications techniques et fonctionnelles de la solution développée. Configurer les interfaces utilisateurs des solutions blockchain développées, selon les besoins du client (intégration avec d’autres systèmes internes ou externes, personnalisation du design, exigences spécifiques de sécurité…), en collaboration avec les autres parties prenantes à son déploiement (UX designer, Product owner…), afin de permettre leur intégration dans l’environnement du client. Définir les objectifs des évaluations post-projet (conformité aux exigences du projet, performance de la solution déployée, identification des lacunes …), en y associant les indicateurs pertinents, afin de permettre l’évaluation de sa réussite. Evaluer la solution blockchain déployée, en vérifiant sa conformité (spécifications techniques et fonctionnelles définies, réglementations, normes et processus applicables…) et en mesurant sa performance (vitesse de transaction, capacité de traitement, temps de disponibilité, évolutivité …) et sa sécurité, afin de déterminer son niveau de réussite et mettre en place les actions correctives nécessaires. Elaborer un plan d’amélioration de la solution blockchain déployée, en collaboration avec les autres parties prenantes au projet, en tenant compte des retours des utilisateurs (problèmes d'ergonomie, difficultés d'utilisation, suggestions d'amélioration…), afin de guider les opérations de correction et d’optimisation, dans une démarche d’amélioration continue. Participer aux actions de communication des résultats des évaluations menées auprès des parties prenantes internes et externes (membres de l'équipe projet, client, utilisateurs …), en expliquant les notions techniques, dans la limite de ses compétences et en s’adaptant au niveau de compréhension des destinataires (y compris en cas de handicap), afin de leur permettre de comprendre les enjeux en présence.
Elaborer des tests unitaires pour chaque composant de la solution blockchain développée (smart contracts, base de données décentralisées, interfaces utilisateur …), en adaptant la rédaction des scenarii aux fonctionnalités en présence et aux comportements attendus, afin de permettre la vérification de la fiabilité du code source sur chaque partie de la solution. Ecrire des scripts de tests automatisés permettant d’être exécutés régulièrement, en s’appuyant sur des outils adaptés à l’environnement de développement blockchain (Truffle, Hardhat, Remix…), afin d’accélérer la détection des erreurs avant la phase d’intégration. Réaliser des tests d'intégration de la solution blockchain développée, en vérifiant l'intégration de la blockchain avec les bases de données, les API et les interfaces utilisateur (web et mobiles), afin de s'assurer que les composants fonctionnent de manière cohérente et interagissent correctement. Réaliser des tests de performance de la solution blockchain développée, en procédant à des simulations de charges, de transactions et de scénarii de stress, afin de mesurer sa capacité à gérer des charges de travail variables et détecter les éventuels problèmes de scalabilité. Réaliser des tests de sécurité de la solution blockchain développée, en recherchant ses vulnérabilités (attaques de réentrance, débordements de tampon, problèmes de gestion des clés...), afin d’évaluer sa robustesse contre les attaques et prendre les mesures correctives nécessaires. Installer les nœuds blockchain nécessaires (complets/full nodes, de consensus/consensus nodes, d'indexation/indexing nodes), après avoir défini les modalités d’hébergement (infrastructure cloud, serveurs dédiés…), afin d’en permettre la configuration conformément aux règles du protocole. Configurer les nœuds blockchain selon les besoins identifiés en matière de sécurité, de gouvernance et d’interopérabilité, afin de s’assurer que l’infrastructure blockchain est prête à être déployée en production. Intégrer les informations provenant de la blockchain (transactions, soldes de comptes …) dans les interfaces utilisateurs, dans le respect des règles et normes de sécurité applicables, après avoir créé les portefeuilles et identifiants et appliqué les règles d’affichage des données, afin de permettre la configuration des interfaces conformément aux spécifications techniques et fonctionnelles de la solution développée. Configurer les interfaces utilisateurs des solutions blockchain développées, selon les besoins du client (intégration avec d’autres systèmes internes ou externes, personnalisation du design, exigences spécifiques de sécurité…), en collaboration avec les autres parties prenantes à son déploiement (UX designer, Product owner…), afin de permettre leur intégration dans l’environnement du client. Définir les objectifs des évaluations post-projet (conformité aux exigences du projet, performance de la solution déployée, identification des lacunes …), en y associant les indicateurs pertinents, afin de permettre l’évaluation de sa réussite. Evaluer la solution blockchain déployée, en vérifiant sa conformité (spécifications techniques et fonctionnelles définies, réglementations, normes et processus applicables…) et en mesurant sa performance (vitesse de transaction, capacité de traitement, temps de disponibilité, évolutivité …) et sa sécurité, afin de déterminer son niveau de réussite et mettre en place les actions correctives nécessaires. Elaborer un plan d’amélioration de la solution blockchain déployée, en collaboration avec les autres parties prenantes au projet, en tenant compte des retours des utilisateurs (problèmes d'ergonomie, difficultés d'utilisation, suggestions d'amélioration…), afin de guider les opérations de correction et d’optimisation, dans une démarche d’amélioration continue. Participer aux actions de communication des résultats des évaluations menées auprès des parties prenantes internes et externes (membres de l'équipe projet, client, utilisateurs …), en expliquant les notions techniques, dans la limite de ses compétences et en s’adaptant au niveau de compréhension des destinataires (y compris en cas de handicap), afin de leur permettre de comprendre les enjeux en présence.
Modalités d'évaluation :
Mise en situation professionnelle sous forme d’un projet de développement blockchain portant sur le l’organisation des tests de déploiement
Mise en situation professionnelle sous forme d’un projet de développement blockchain portant sur le l’organisation des tests de déploiement
RNCP40146BC04 : Gérer des projets blockchain en coordination avec les autres parties prenantes
Compétences :
Recueillir les besoins du client sur les projets blockchain envisagés, en coordination avec les autres parties prenantes, en les interrogeant sur leurs attentes spécifiques (cas d’utilisation, bénéfices attendus…), leur contexte (technologique, processus métier, données sensibles …) et leurs contraintes (réglementaire, délais…), afin de comprendre l'objectif du projet et le traduire techniquement. Traduire le besoin du client en fonctionnalités techniques, en y associant les technologies blockchain et langages de programmation envisageables pour y répondre, afin de contribuer à la rédaction de la note de cadrage et du cahier des charges. Evaluer la faisabilité technique du développement blockchain envisagé, au regard des critères fixés par les parties prenantes au projet (besoins métiers, ratio avantages/coûts, état de l’art, environnement technologique du client…), afin d’évaluer sa viabilité avant prototypage. Cartographier les risques potentiels des solutions blockchain envisagées, en les classant selon leur nature (risques de sécurité, performance, conformité réglementaire, gestion des clés, confidentialité des données, erreurs de code …) et leur probabilité de survenance dans le cadre du développement envisagé, afin d’en permettre l’évaluation. Evaluer les risques des solutions blockchain envisagées, en étudiant les conséquences en cas de survenance (sur le client, sur le projet global, sur la sécurité des données…), afin de permettre aux parties prenantes au projet de s’en appuyer lors des différentes prises de décision (couverture assurantielle, priorisations des développements…). Élaborer des reporting sur ses actions dans le cadre du projet blockchain, en utilisant les outils de gestion pertinents (Outils du client, tableaux de bord…) et les technologies à disposition (IA …), afin d’assurer une traçabilité des opérations et leurs résultats et en rendre compte. Présenter, aux différentes parties prenantes, les résultats de ses actions dans le cadre du projet blockchain, en les partageant via des outils collaboratifs, en veillant à leur accessibilité (personnes en situation de handicap) et en les expliquant de manière vulgarisée si besoin, afin de partager ses avancées.
Recueillir les besoins du client sur les projets blockchain envisagés, en coordination avec les autres parties prenantes, en les interrogeant sur leurs attentes spécifiques (cas d’utilisation, bénéfices attendus…), leur contexte (technologique, processus métier, données sensibles …) et leurs contraintes (réglementaire, délais…), afin de comprendre l'objectif du projet et le traduire techniquement. Traduire le besoin du client en fonctionnalités techniques, en y associant les technologies blockchain et langages de programmation envisageables pour y répondre, afin de contribuer à la rédaction de la note de cadrage et du cahier des charges. Evaluer la faisabilité technique du développement blockchain envisagé, au regard des critères fixés par les parties prenantes au projet (besoins métiers, ratio avantages/coûts, état de l’art, environnement technologique du client…), afin d’évaluer sa viabilité avant prototypage. Cartographier les risques potentiels des solutions blockchain envisagées, en les classant selon leur nature (risques de sécurité, performance, conformité réglementaire, gestion des clés, confidentialité des données, erreurs de code …) et leur probabilité de survenance dans le cadre du développement envisagé, afin d’en permettre l’évaluation. Evaluer les risques des solutions blockchain envisagées, en étudiant les conséquences en cas de survenance (sur le client, sur le projet global, sur la sécurité des données…), afin de permettre aux parties prenantes au projet de s’en appuyer lors des différentes prises de décision (couverture assurantielle, priorisations des développements…). Élaborer des reporting sur ses actions dans le cadre du projet blockchain, en utilisant les outils de gestion pertinents (Outils du client, tableaux de bord…) et les technologies à disposition (IA …), afin d’assurer une traçabilité des opérations et leurs résultats et en rendre compte. Présenter, aux différentes parties prenantes, les résultats de ses actions dans le cadre du projet blockchain, en les partageant via des outils collaboratifs, en veillant à leur accessibilité (personnes en situation de handicap) et en les expliquant de manière vulgarisée si besoin, afin de partager ses avancées.
Modalités d'évaluation :
Mise en situation professionnelle sous forme de cas pratique portant sur la conduite d’un projet blockchain avec soutenance orale et remise d’un rapport écrit.
Mise en situation professionnelle sous forme de cas pratique portant sur la conduite d’un projet blockchain avec soutenance orale et remise d’un rapport écrit.