{"id":30095,"date":"2022-03-15T14:10:23","date_gmt":"2022-03-15T18:10:23","guid":{"rendered":"https:\/\/www.canarie.ca\/?page_id=30095"},"modified":"2024-10-30T09:47:46","modified_gmt":"2024-10-30T13:47:46","slug":"solution-type-hyperledger-fabric","status":"publish","type":"page","link":"https:\/\/www.canarie.ca\/fr\/catalogue\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\/solution-type-hyperledger-fabric\/","title":{"rendered":"Solution type : Hyperledger Fabric"},"content":{"rendered":"\n<section class=\"section section--banner simple-fade light-blue alignfull\">\n  <div class=\"grid-container text-center\">\n  \t\t  \t\t  \t  <div class=\"large\"><p><span class=\"TextRun SCXW20856404 BCX0\" lang=\"EN-CA\" xml:lang=\"EN-CA\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW20856404 BCX0\">Bien que le programme ATIR <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW20856404 BCX0\">n\u2019accepte<\/span><span class=\"NormalTextRun SCXW20856404 BCX0\"> plus les <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW20856404 BCX0\">demandes<\/span><span class=\"NormalTextRun SCXW20856404 BCX0\"> pour les <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW20856404 BCX0\">ressources<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW20856404 BCX0\">en<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW20856404 BCX0\">nuage<\/span><span class=\"NormalTextRun SCXW20856404 BCX0\">, <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW20856404 BCX0\">vous<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW20856404 BCX0\">avez<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW20856404 BCX0\">toujours<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW20856404 BCX0\">acc\u00e8s<\/span><span class=\"NormalTextRun SCXW20856404 BCX0\"> aux <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW20856404 BCX0\">Propulseurs<\/span><span class=\"NormalTextRun SCXW20856404 BCX0\"> et \u00e0 <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW20856404 BCX0\">leur<\/span><span class=\"NormalTextRun SCXW20856404 BCX0\"> documentation, qui <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW20856404 BCX0\">seront<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW20856404 BCX0\">pr\u00e9serv\u00e9s<\/span><span class=\"NormalTextRun SCXW20856404 BCX0\"> et <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW20856404 BCX0\">b\u00e9n\u00e9ficieront<\/span><span class=\"NormalTextRun SCXW20856404 BCX0\"> d\u2019un <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW20856404 BCX0\">soutien<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW20856404 BCX0\">jusqu\u2019au<\/span><strong><span class=\"NormalTextRun SCXW20856404 BCX0\"> 17 <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW20856404 BCX0\">janvier<\/span><span class=\"NormalTextRun SCXW20856404 BCX0\"> 2025.<\/span><\/strong><\/span><strong><span class=\"EOP SCXW20856404 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/strong><\/p>\n<\/div>\n\t  \t  \t\t  <\/div>\n<\/section>\n\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                  \t<h3>Apr\u00e8s le 17 janvier 2025:\u00a0<\/h3>\n                    <ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"none\">Les saisies d\u2019\u00e9cran devraient rester fid\u00e8les, mais au lieu de vous connecter \u00e0 votre compte ATIR dans AWS quand on vous le demande, vous devrez vous connecter \u00e0 un compte AWS personnel.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"none\">Les liens vers les scripts CloudFormation d\u2019AWS permettant le d\u00e9ploiement automatique de l\u2019application type devraient rester les m\u00eames et \u00eatre fonctionnels.<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"none\">Les liens vers les d\u00e9p\u00f4ts GitHub permettant de t\u00e9l\u00e9charger le code source du Propulseur resteront valables puisque c\u2019est le cr\u00e9ateur du Propulseur (celui qui a \u00e9labor\u00e9 les applications de source ouverte servant d\u2019exemple) qui en est le propri\u00e9taire et en assure le maintien.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/li>\n<\/ul>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n\n<section class=\"section section--text-with-image  alignfull full-width grey \">\n    <div class=\"grid-container simple-fade\">\n    <div class=\"grid-x grid-padding-x align-middle\">\n      <div class=\"cell large-6 medium-order-2\">\n\t\t  \t\t\t  <div class=\"full-width-img\" style=\"background-image: url(https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/BAIR_BP_Builders_senofi.png); background-size: cover; background-position: center center;\"><\/div>\n\t\t\t  <div class=\"image-mask\"><\/div>\n\t\t        <\/div>\n      <div class=\"cell large-6 medium-order-1 text-left text-cell light\">\n  \t\t                          <div class=\"fade-in-delay text-cell-text\"><h1>Cr\u00e9er un r\u00e9seau \u00e0 cha\u00eenes de blocs priv\u00e9 avec Hyperledger Fabric<\/h1>\n<p>Voici ce que vous trouverez dans cet exemple de solution :<\/p>\n<ul>\n<li><a href=\"#introduction\">Introduction<\/a><\/li>\n<li><a href=\"#solutiontype\">SAST \u2013 Solution type<\/a><\/li>\n<li><a href=\"#D\u00e9ploiement\">D\u00e9ploiement et configuration<\/a><\/li>\n<li><a href=\"#D\u00e9monstration\">D\u00e9monstration de la technologie<\/a><\/li>\n<li><a href=\"#conclusion\">Conclusion<\/a><\/li>\n<li><a href=\"#Consid\u00e9rations\">Consid\u00e9rations<\/a><\/li>\n<li><a href=\"#codedelancement\">Code de lancement<\/a><\/li>\n<li><a href=\"#Glossaire\">Glossaire<\/a><\/li>\n<\/ul>\n<\/div>\n                      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n\n\n<div id=\"introduction\" class=\"anchor-link\"><\/div>\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                  \t<h3>Introduction<\/h3>\n                    <p>Cette solution type montre comment utiliser la plateforme <em>Hyperledger Fabric<\/em> pour r\u00e9soudre un probl\u00e8me de partage des donn\u00e9es de fa\u00e7on s\u00e9curitaire et en toute confiance sur un r\u00e9seau \u00e0 cha\u00eenes de blocs r\u00e9parti et d\u00e9centralis\u00e9.<\/p>\n<h4>Probl\u00e9matique<\/h4>\n<p>Le registre d\u00e9centralis\u00e9 (DLT) \u00e0 cha\u00eenes de blocs est une technologie complexe, tant en raison de son fonctionnement que de la mani\u00e8re dont on s\u2019en sert pour b\u00e2tir des applications. C\u2019est pourquoi avoir les outils n\u00e9cessaires pour mettre rapidement en place une telle plateforme constitue un s\u00e9rieux avantage.<\/p>\n<p>Quoique relativement nouvelle, la technologie DLT \u00e0 cha\u00eenes de blocs promet de r\u00e9soudre de nombreux probl\u00e8mes d\u2019entreprise pour lesquels il n\u2019existe pr\u00e9sentement aucune solution viable.<\/p>\n<p>On comprendra qu\u2019un nouveau projet recourant \u00e0 la DLT pourrait facilement consacrer une grande partie de son budget au d\u00e9veloppement et \u00e0 l\u2019exploitation, notamment\u00a0:<\/p>\n<ul>\n<li>\u00e0 l\u2019installation du logiciel DLT;<\/li>\n<li>\u00e0 la cr\u00e9ation du r\u00e9seau et \u00e0 l\u2019ajout de n\u0153uds au r\u00e9seau;<\/li>\n<li>\u00e0 l\u2019ouverture des canaux de communication;<\/li>\n<li>au d\u00e9ploiement des applications, etc.<\/li>\n<\/ul>\n<p>Ce Propulseur vous \u00e9pargnera ces efforts.<\/p>\n<p>Hyperledger Fabric (HLF) est une plateforme DLT polyvalente, de source ouverte, capable de r\u00e9pondre aux besoins de n\u2019importe quelle entreprise. Gr\u00e2ce \u00e0 elle, l\u2019utilisateur b\u00e2tira un service ou un produit s\u2019appuyant sur une forme de la DLT \u00e0 cha\u00eenes de blocs. HLF autorise l\u2019am\u00e9nagement d\u2019un r\u00e9seau priv\u00e9 avec permissions auquel de nouveaux participants ne pourront adh\u00e9rer que si les membres actuels l\u2019autorisent. Les donn\u00e9es ne sont pas partag\u00e9es publiquement, seuls les membres du r\u00e9seau y ont acc\u00e8s.<\/p>\n<p>Avec le Propulseur Hyperledger Fabric, l\u2019entreprise tirera rapidement parti d\u2019Hyperledger Fabric (HLF) et pourra s\u2019attaquer, d\u00e8s le premier jour, au code d\u2019encha\u00eenement (architecture d\u2019une application r\u00e9partie aussi appel\u00e9e \u00ab\u00a0contrat intelligent\u00a0\u00bb) et \u00e0 son application Web. Le Propulseur comprend un code d\u2019encha\u00eenement servant de mod\u00e8le, une application Web et les instructions pour les d\u00e9ployer et s\u2019en servir, ce qui acc\u00e9l\u00e9rera la mise en march\u00e9. Le code source de la solution type est ouvert \u00e9galement et il est possible de le modifier pour \u00e9laborer rapidement une validation de principe ou un plus petit produit viable (PPPV) bien \u00e0 vous.<\/p>\n<p>Avantages du Propulseur<\/p>\n<ul>\n<li>Installation homog\u00e8ne d\u2019HLF sur le nuage de l\u2019ATIR de CANARIE<\/li>\n<li>Installation simplifi\u00e9e \u2013 tous les logiciels d\u2019arri\u00e8re-plan sont install\u00e9s sur le serveur de l\u2019ATIR<\/li>\n<li>Configuration centrale (fichiers de configuration du r\u00e9seau HLF comme les fichiers Docker, les fichiers de configuration des pairs, etc.)<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Ensuite, nous vous montrerons la meilleure fa\u00e7on de structurer l\u2019application r\u00e9partie (code d\u2019encha\u00eenement) et comment int\u00e9grer de mani\u00e8re s\u00e9curitaire une application Web au r\u00e9seau HLF.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div id=\"solutiontype\" class=\"anchor-link\"><\/div>\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                  \t<h3>SAST \u2013 Solution type<\/h3>\n                    <p>Le diagramme ci-dessous montre comment la solution type est structur\u00e9e.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"474\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S0.png\" alt=\"\" class=\"wp-image-30205\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S0.png 624w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S0-300x228.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n<\/div>\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                    <p>La solution type illustre comment un r\u00e9seau DLT priv\u00e9 avec permissions r\u00e9soud les probl\u00e8mes que pose la s\u00e9curisation des transactions et du partage de donn\u00e9es en temps r\u00e9el entre les membres d\u2019un r\u00e9seau d\u2019affaire (baptis\u00e9 \u00ab\u00a0<em>Clinical Trials<\/em>\u00a0\u00bb, essais cliniques), command\u00e9 par HLF.<\/p>\n<p>Le code d\u2019encha\u00eenement et l\u2019application Web du mod\u00e8le <em>Clinical Trials<\/em> simulent un consortium de trois organisations (un h\u00f4pital, une soci\u00e9t\u00e9 pharmaceutique et un organisme de r\u00e9glementation). Le but principal du consortium est de partager directement les donn\u00e9es d\u2019un essai clinique en temps r\u00e9el afin que les participants voient les transactions enregistr\u00e9es sur la plateforme.<\/p>\n<h4><strong>Aper\u00e7u de la solution<\/strong><\/h4>\n<p>La solution vous permettra d\u2019utiliser les fonctions de base d\u2019Hyperledger Fabric (HLF). En tant que locataire de l\u2019ATIR, vous obtiendrez un r\u00e9seau HLF op\u00e9rationnel avec une application mod\u00e8le que vous pourrez explorer et adapter \u00e0 votre gr\u00e9.<\/p>\n<p>Le r\u00e9seau HLF \u00e0 lancement automatique aura la topologie que voici.<\/p>\n<ul>\n<li><strong>Fournisseur de service d\u2019adh\u00e9sion (MSP)<\/strong> \u2013 chaque organisation sera repr\u00e9sent\u00e9e par un fournisseur de service d\u2019adh\u00e9sion. Le MSP convertit l\u2019organisation en simple entit\u00e9 dans le r\u00e9seau d\u2019Hyperledger Fabric.<\/li>\n<li><strong>Service d\u2019ordonnancement<\/strong> \u2013 il couvre l\u2019ensemble du r\u00e9seau et ordonne les transactions en fonction du protocole de consensus <a href=\"https:\/\/en.wikipedia.org\/wiki\/Raft_(algorithm)\">RAFT<\/a>.<\/li>\n<li><strong>Pairs<\/strong> \u2013 trois pairs, chacun command\u00e9 par son propre MSP. Les pairs sont l\u2019\u00e2me du r\u00e9seau HLF. Ils permettent le traitement des transactions et laissent les clients du r\u00e9seau cr\u00e9er et consulter les donn\u00e9es.<\/li>\n<li><strong>Code d\u2019encha\u00eenement<\/strong> \u2013 \u00e9chantillon du code qui structure le r\u00e9seau <em>Clinical Trials<\/em>.<\/li>\n<\/ul>\n<p>Les scripts Ansible installent d\u2019abord Docker et quelques outils essentiels \u00e0 l\u2019ex\u00e9cution de la pile Hyperledger Fabric. Les applications qui suivent sont install\u00e9es sur l\u2019instance du nuage de l\u2019ATIR\u00a0:<\/p>\n<ul>\n<li>n\u0153uds du r\u00e9seau Hyperledger Fabric;<\/li>\n<li>autorit\u00e9 de certification d\u2019Hyperledger Fabric;<\/li>\n<li>navigateur d\u2019Hyperledger Fabric \u2013 il permet \u00e0 l\u2019utilisateur de voir les blocs et les transactions enregistr\u00e9es sur le r\u00e9seau DLT \u00e0 cha\u00eenes de blocs;<\/li>\n<li>outils de la ligne de commande d\u2019Hyperledger Fabric \u2013 jeu d\u2019outils indispensables \u00e0 l\u2019administration du r\u00e9seau, une fois celui-ci provisionn\u00e9;<\/li>\n<li>code d\u2019encha\u00eenement du r\u00e9seau <em>Clinical Trials<\/em> d\u00e9ploy\u00e9 sur chaque pair d\u2019Hyperledger Fabric;<\/li>\n<li>application Web <em>Clinical Trials<\/em> (essais cliniques).<\/li>\n<\/ul>\n<h4>Topologie du r\u00e9seau Clinical Trials<\/h4>\n<p>La solution type repose sur trois participants (MSP)\u00a0: \u00ab\u00a0<em>nova<\/em>\u00a0\u00bb, \u00ab\u00a0<em>genh<\/em>\u00a0\u00bb et \u00ab\u00a0<em>regulator<\/em>\u00a0\u00bb. \u00c0 chacun correspond un pair ainsi qu\u2019une application Web, qui lui sont d\u00e9di\u00e9s sur le r\u00e9seau. Le fournisseur de service d\u2019ordonnancement constitue une entit\u00e9 distincte appel\u00e9e \u00ab\u00a0<em>orderer<\/em>\u00a0\u00bb. Chaque participant a aussi son propre serveur AC qui g\u00e8re le certificat des identit\u00e9s du r\u00e9seau (pairs, ordonnanceur, administrateurs et utilisateurs).<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"400\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S1.png\" alt=\"\" class=\"wp-image-30207\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S1.png 624w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S1-300x192.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n<\/div>\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                    <h4>Application Web Clinical Trials<\/h4>\n<p>Cette application repose sur <a href=\"https:\/\/vuejs.org\">Vue.js<\/a> et permet aux participants d\u2019inscrire un essai puis d\u2019en suivre le cours. Les donn\u00e9es transactionnelles sont enregistr\u00e9es dans la cha\u00eene de blocs HLF et on y acc\u00e8de gr\u00e2ce au code d\u2019encha\u00eenement \u00ab\u00a0<em>Clinical Trials<\/em>\u00a0\u00bb HLF. L\u2019application Web utilise la biblioth\u00e8que Java HLF SDK pour initier les transactions et lire les donn\u00e9es qui s\u2019y rapportent.<\/p>\n<h4>Code d\u2019encha\u00eenement Clinical Trials<\/h4>\n<p>Le code d\u2019encha\u00eenement est le programme d\u2019exploitation de l\u2019application qui fonctionne sur le n\u0153ud de chaque pair du r\u00e9seau Hyperledger Fabric et d\u00e9termine quand les transactions sont enregistr\u00e9es dans la cha\u00eene de blocs.<\/p>\n<p>Ses fonctions sont les suivantes\u00a0:<\/p>\n<ul>\n<li>inscrire un essai;<\/li>\n<li>actualiser son \u00e9tat;<\/li>\n<li>terminer l\u2019essai en lui attribuant la valeur \u00ab\u00a0<em>closed<\/em>\u00bb.<\/li>\n<\/ul>\n<h4>Composants<\/h4>\n<p>Le tableau ci-dessous r\u00e9sume les principaux composants de la solution type.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Composant<\/strong><\/td><td><strong>Description<\/strong><strong><\/strong><\/td><\/tr><tr><td><strong><strong>Nuage de l\u2019ATIR<\/strong><\/strong><\/td><td>Plateforme canadienne d\u2019infonuagique permettant aux participants d\u2019acc\u00e9der \u00e0 des ressources publiques en nuage.<\/td><\/tr><tr><td><strong>R\u00e9seau Hyperledger Fabric<\/strong><strong><\/strong> <strong>&nbsp;<\/strong><\/td><td>Fond\u00e9 sur le projet DLT de source ouverte d\u2019Hyperledger Fabric, il se compose des n\u0153uds requis pour que registre d\u00e9centralis\u00e9 fonctionne. <br>Le r\u00e9seau comprend les n\u0153uds suivants&nbsp;: <br>1. ordonnanceur(s)<br>2. pair(s)<\/td><\/tr><tr><td><strong>Autorit\u00e9 de certification (AC) d\u2019Hyperledger Fabric<\/strong><strong><\/strong><\/td><td>Ses fonctions sont les suivantes&nbsp;: <br>1. enregistrer les identit\u00e9s ou se connecter au protocole LDAP pour s\u2019en servir comme registre;<br>2. \u00e9mettre les certificats d\u2019inscription (ECert);<br>3. renouveler ou r\u00e9voquer les certificats.<br><br>L\u2019AC d\u2019Hyperledger Fabric se compose d\u2019un serveur et de ses clients.<\/td><\/tr><tr><td><strong>Outils de la ligne de commande Hyperledger Fabric<\/strong><strong><\/strong><\/td><td>Jeu d\u2019outils servant \u00e0 g\u00e9rer les composants d\u2019Hyperledger Fabric gr\u00e2ce \u00e0 un interpr\u00e9teur Linux.<\/td><\/tr><tr><td><strong>Scripts d\u2019automatisation<\/strong><strong><\/strong><\/td><td>Ils automatisent les t\u00e2ches courantes d\u2019Hyperledger Fabric&nbsp;: <br>1. cr\u00e9er un nouveau r\u00e9seau Hyperledger Fabric avec son autorit\u00e9 de certification, son service d\u2019ordonnancement, ses ordonnanceurs et ses pairs;<br>2. d\u00e9ployer le code d\u2019encha\u00eenement;<br>3. d\u00e9ployer l\u2019application Web.<\/td><\/tr><tr><td><strong>Code d\u2019encha\u00eenement \/ Application r\u00e9partie (<em>Clinical Trials<\/em>)<\/strong><strong><\/strong><\/td><td>Logique de l\u2019application r\u00e9partie de la solution type. Il permet au syst\u00e8me d\u2019enregistrer et de stocker les transactions dans Hyperledger Fabric d\u2019apr\u00e8s les donn\u00e9es saisies par l\u2019utilisateur que transmet l\u2019application Web.<\/td><\/tr><tr><td><strong>Application Web (interface utilisateur <em>Clinical Trials<\/em>)<\/strong><strong><\/strong><\/td><td>Elle sert de passerelle entre l\u2019interface utilisateur et le r\u00e9seau Hyperledger Fabric, permettant \u00e0 l\u2019utilisateur d\u2019enregistrer et de consulter les donn\u00e9es transactionnelles dans le registre d\u00e9centralis\u00e9.<\/td><\/tr><tr><td><strong>D\u00e9p\u00f4t GitHub<\/strong><strong><\/strong><\/td><td>D\u00e9p\u00f4t o\u00f9 est gard\u00e9 le code source des scripts de l\u2019interpr\u00e9teur utilis\u00e9s dans le nuage de l\u2019ATIR, par l\u2019application Web et par le code d\u2019encha\u00eenement.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Ce que vous devriez avoir fait avant de d\u00e9ployer la solution type<\/h3>\n\n\n\n<ol class=\"wp-block-list\" style=\"list-style-type:1\">\n<li>Avoir cr\u00e9\u00e9 une <a href=\"https:\/\/docs.aws.amazon.com\/fr_fr\/AWSEC2\/latest\/UserGuide\/security-group-rules.html\">r\u00e8gle de groupe de s\u00e9curit\u00e9<\/a> vous permettant d\u2019acc\u00e9der aux machines virtuelles (MV) du Nuage de l\u2019ATIR \u00e0 partir de l\u2019adresse IP utilis\u00e9e, par le protocole SSH (port&nbsp;22 du protocole TCP).<\/li>\n\n\n\n<li>Avoir cr\u00e9\u00e9 la <a href=\"https:\/\/docs.aws.amazon.com\/fr_fr\/AWSEC2\/latest\/UserGuide\/create-key-pairs.html#having-ec2-create-your-key-pair\">paire de cl\u00e9s SSH<\/a> (bicl\u00e9) avec laquelle vous vous connecterez \u00e0 vos MV de l\u2019ATIR.<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button has-custom-width wp-block-button__width-100\"><a class=\"wp-block-button__link has-light-grey-color has-cyan-background-color has-text-color has-background wp-element-button\" href=\"https:\/\/docs.aws.amazon.com\/fr_fr\/vpc\/latest\/userguide\/security-group-rules.html#adding-security-group-rules\"><strong>Ajouter des r\u00e8gles entrantes \u00e0 un groupe de s\u00e9curit\u00e9 dans AWS<\/strong><\/a><\/div>\n<\/div>\n\n\n<div id=\"D\u00e9ploiement\" class=\"anchor-link\"><\/div>\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                  \t<h3>D\u00e9ploiement et configuration<\/h3>\n                    <p>Si vous \u00eates un participant de l\u2019ATIR, commencez par ouvrir une s\u00e9ance sur votre compte AWS en suivant les instructions que vous a transmises l\u2019\u00e9quipe de l\u2019ATIR.<\/p>\n<p>Cliquez <a href=\"https:\/\/ca-central-1.console.aws.amazon.com\/cloudformation\/home?region=ca-central-1#\/stacks\/create?stackName=SENOFI-BOOSTERPACK&amp;templateURL=https:\/\/boosterpack-cloudformation-templates.s3.ca-central-1.amazonaws.com\/Senofi.json\"><strong>D\u00c9PLOYER<\/strong> <\/a>pour lancer celui-ci avec une pile de la consol CloudFormation d\u2019AWS.<\/p>\n<p>Cela fait, cliquez <strong>Suivant<\/strong> pour passer \u00e0 la deuxi\u00e8me \u00e9tape et remplissez le formulaire de configuration. Dans le champ <strong>InstanceName<\/strong>, donnez un nom unique \u00e0 l\u2019instance de votre serveur d\u2019application, puis compl\u00e9tez le formulaire avec les menus d\u00e9roulants. Veuillez noter que certains param\u00e8tres comme \u00ab\u00a0ApplicationImage\u00a0\u00bb et \u00ab\u00a0InstanceType\u00a0\u00bb sont d\u00e9j\u00e0 configur\u00e9s et ne peuvent \u00eatre modifi\u00e9s.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"276\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/hlf1.png\" alt=\"\" class=\"wp-image-39743\" style=\"width:640px;height:283px\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/hlf1.png 624w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/hlf1-300x133.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"484\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-parameter-FR-1024x484.png\" alt=\"\" class=\"wp-image-39747\" style=\"width:642px;height:339px\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-parameter-FR-1024x484.png 1024w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-parameter-FR-300x142.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-parameter-FR-768x363.png 768w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-parameter-FR-1536x726.png 1536w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-parameter-FR.png 1635w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                    <p>Cliquez <strong>SUIVANT<\/strong> pour passer \u00e0 la troisi\u00e8me \u00e9tape. Cette partie concerne la configuration d\u2019options avanc\u00e9es ou suppl\u00e9mentaires, inutiles dans le cas qui nous int\u00e9resse. Cliquez simplement <strong>Suivant<\/strong> au bas de la page pour sauter cette \u00e9tape et passer \u00e0 la quatri\u00e8me et derni\u00e8re de CloudFormation.<\/p>\n<p>La derni\u00e8re partie vous permet de v\u00e9rifier la configuration actuelle du Propulseur et d\u2019y apporter des modifications avec le bouton <strong>Modifier<\/strong>, si vous le d\u00e9sirez. Une fois que la configuration vous convient, cliquez <strong>Soumettre<\/strong>, au bas de la page, pour d\u00e9ployer le Propulseur.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"463\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-Step1-Step2-FR-1024x463.png\" alt=\"\" class=\"wp-image-39749\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-Step1-Step2-FR-1024x463.png 1024w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-Step1-Step2-FR-300x136.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-Step1-Step2-FR-768x347.png 768w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-Step1-Step2-FR-1536x695.png 1536w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-Step1-Step2-FR.png 1625w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                    <p>Le d\u00e9ploiement commence par la cr\u00e9ation d\u2019une nouvelle instance. Le reste est automatique. Suivre le d\u00e9veloppement de l\u2019instance AWS n\u2019est possible qu\u2019avec les onglets <strong>\u00c9v\u00e9nements<\/strong> et <strong>Ressources<\/strong> de la console CloudFormation. Pour v\u00e9rifier l\u2019avancement du d\u00e9ploiement, vous devrez donc vous connecter au serveur de l\u2019application.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"238\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-Events-FR-1024x238.png\" alt=\"\" class=\"wp-image-39753\" style=\"width:974px;height:226px\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-Events-FR-1024x238.png 1024w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-Events-FR-300x70.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-Events-FR-768x179.png 768w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-Events-FR.png 1444w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                    <p><strong>Remarque\u00a0:<\/strong> notez l\u2019adresse IP qui appara\u00eet sur l\u2019onglet<strong> Sorties<\/strong> de la console CloudFormation du Propulseur. Il s\u2019agit de l\u2019adresse IP externe de l\u2019instance qui vient d\u2019\u00eatre cr\u00e9\u00e9e. Vous en aurez besoin pour acc\u00e9der \u00e0 l\u2019interface web de l\u2019application ou vous connecter au serveur par le protocole SSH.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"305\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-Sorties-FR-1024x305.png\" alt=\"\" class=\"wp-image-39757\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-Sorties-FR-1024x305.png 1024w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-Sorties-FR-300x89.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-Sorties-FR-768x229.png 768w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/AWS-Sorties-FR.png 1445w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                    <p>Connectez-vous au serveur de l\u2019application \u00e0 partir d\u2019une coquille ou d\u2019un terminal utilisant le protocole SSH avec la commande suivante\u00a0:<\/p>\n<pre>&gt;ssh -i key_file.pem ubuntu@IP<\/pre>\n<p>Remplacez \u00ab\u00a0key_file\u00a0\u00bb par la cl\u00e9 priv\u00e9e de la bicl\u00e9 SSH choisie sur le formulaire des param\u00e8tres de configuration de la console CloudFormation et remplacez \u00ab\u00a0IP\u00a0\u00bb par l\u2019adresse IP fournie, que vous avez pr\u00e9c\u00e9demment not\u00e9e.<\/p>\n<p>Une fois la connexion avec le serveur de l\u2019application \u00e9tablie, vous pourrez suivre le d\u00e9ploiement du script d\u2019automatisation avec les commandes que voici\u00a0:<\/p>\n<pre>&gt;source \/etc\/profile.d\/boosterpack.sh<\/pre>\n<pre>&gt;tail -f \/var\/log\/boosterpack.log<\/pre>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"260\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/HL6-1024x260.png\" alt=\"\" class=\"wp-image-39728\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/HL6-1024x260.png 1024w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/HL6-300x76.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/HL6-768x195.png 768w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/HL6.png 1307w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                    <p>Le d\u00e9ploiement dure en moyenne sept \u00e0 dix minutes.<\/p>\n<p>Pendant ce temps\u2026<\/p>\n<p>Allez \u00e0 la page de configuration des groupes de s\u00e9curit\u00e9 dans AWS afin d\u2019ajouter des r\u00e8gles entrantes au groupe de s\u00e9curit\u00e9 par d\u00e9faut s\u00e9lectionn\u00e9 lors du param\u00e9trage de la console CloudFormation.<\/p>\n<p><a href=\"https:\/\/docs.aws.amazon.com\/fr_fr\/vpc\/latest\/userguide\/security-group-rules.html#adding-security-group-rules\">Plus sur les groupes de s\u00e9curit\u00e9 d\u2019AWS.<\/a><\/p>\n<p>On veut que la connexion HTTP s\u2019\u00e9tablisse sur le port\u00a080, qui donne acc\u00e8s \u00e0 l\u2019application web de la solution type. Si cette r\u00e8gle ne figure pas dans la liste, ajoutez-la. La configuration devrait ressembler \u00e0 ceci\u00a0:<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"128\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/hlf3-1024x128.png\" alt=\"\" class=\"wp-image-39762\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/hlf3-1024x128.png 1024w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/hlf3-300x37.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/hlf3-768x96.png 768w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/hlf3.png 1393w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                    <p>Assurez-vous que la plage d\u2019adresses dans le champ <strong>Source<\/strong> est bien <em>0.0.0.0\/0<\/em>.<\/p>\n<p>Copiez l\u2019adresse IP not\u00e9e pr\u00e9c\u00e9demment sur la console CloudFormation et collez-la dans le navigateur. Si le d\u00e9ploiement s\u2019est bien d\u00e9roul\u00e9, vous devriez voir s\u2019afficher la page d\u2019accueil de la solution type, qui vous donnera acc\u00e8s \u00e0 l\u2019application web et au navigateur d\u2019Hyperledger.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"511\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S13.png\" alt=\"\" class=\"wp-image-30231\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S13.png 624w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S13-300x246.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n<\/div>\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                    <p>Pour voir les blocs et les transactions existants dans le r\u00e9seau, cliquez <strong>Open<\/strong> sous Hyperledger Explorer. Une nouvelle fen\u00eatre ou un nouvel onglet appara\u00eetra \u00e0 l\u2019\u00e9cran. Votre nom d\u2019utilisateur et votre mot de passe sont <em>admin\/adminpw<\/em>.<\/p>\n<p><strong>Remarque\u00a0:<\/strong> Si vous songez r\u00e9utiliser la solution type ou la laisser plus d\u2019une semaine dans l\u2019ATIR, nous vous sugg\u00e9rons vivement de changer le mot de passe pour un autre, moins \u00e9vident.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"358\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S14.png\" alt=\"\" class=\"wp-image-30233\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S14.png 624w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S14-300x172.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n<\/div>\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                    <p class=\"MsoNormal\"><span lang=\"FR-CA\" style=\"mso-fareast-font-family: 'Carlito Regular'; color: black; mso-ansi-language: FR-CA;\">Le tableau de bord devrait s\u2019afficher quand vous cliquez le bouton <strong>SIGN IN<\/strong>.<\/span><\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"350\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S15.png\" alt=\"\" class=\"wp-image-30235\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S15.png 624w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S15-300x168.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n<\/div>\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                    <p>N\u2019h\u00e9sitez pas \u00e0 explorer et \u00e0 parcourir le navigateur. L\u2019onglet <strong>NETWORK<\/strong> pr\u00e9sente les n\u0153uds du r\u00e9seau \u00e0 cha\u00eene de blocs; les onglets <strong>BLOCKS<\/strong> et <strong>TRANSACTIONS<\/strong> montrent ce qui a d\u00e9j\u00e0 \u00e9t\u00e9 enregistr\u00e9, alors que les onglets <strong>CHAINCODES<\/strong> et <strong>CHANNELS<\/strong> vous indiqueront le nom du contrat intelligent et les canaux sur le r\u00e9seau.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div id=\"D\u00e9monstration\" class=\"anchor-link\"><\/div>\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                  \t<h3>D\u00e9monstration de la technologie<\/h3>\n                    <p>Cette partie vous guidera dans la d\u00e9monstration de la solution type cr\u00e9\u00e9e avec Hyperledger Fabric<em>. <\/em>Nous vous montrerons comment utiliser le registre d\u00e9centralis\u00e9, cr\u00e9\u00e9 avec Hyperledger Fabric, pour b\u00e2tir une application r\u00e9partie<em>.<\/em><\/p>\n<p>Pour ajouter une transaction au r\u00e9seau, ouvrez la page d\u2019accueil (copiez l\u2019adresse IP indiqu\u00e9e plus haut dans votre navigateur), puis lancez l\u2019application <strong><em>General Hospital<\/em><\/strong>. Utilisez <em>user\/pass<\/em> comme identifiant et mot de passe.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"555\" height=\"531\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S16.png\" alt=\"\" class=\"wp-image-30237\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S16.png 555w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S16-300x287.png 300w\" sizes=\"auto, (max-width: 555px) 100vw, 555px\" \/><\/figure>\n<\/div>\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                    <p>Une fois la connexion \u00e9tablie, s\u00e9lectionnez <strong>RECORD NEW CASE<\/strong> dans le coin sup\u00e9rieur droit.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"215\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S17.png\" alt=\"\" class=\"wp-image-30239\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S17.png 624w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S17-300x103.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n<\/div>\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                    <p>Saisissez les d\u00e9tails, puis cliquez <strong>RECORD<\/strong>.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"189\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S18.png\" alt=\"\" class=\"wp-image-30241\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S18.png 624w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S18-300x91.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"207\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S19.png\" alt=\"\" class=\"wp-image-30243\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S19.png 624w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S19-300x100.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n<\/div>\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                    <p>L\u2019essai que vous venez d\u2019inscrire appara\u00eet d\u00e9sormais dans Hyperledger Explorer sous forme de transaction.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"683\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S20.png\" alt=\"\" class=\"wp-image-30245\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S20.png 624w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S20-274x300.png 274w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n<\/div>\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                    <p>\u00c0 pr\u00e9sent, connectez-vous \u00e0 l\u2019application <strong><em>Nova Pharma<\/em><\/strong> pour examiner le dossier sur l\u2019essai. Identifiant et mot de passe\u00a0: <em>user\/pass<\/em>.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"488\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S21.png\" alt=\"\" class=\"wp-image-30247\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S21.png 624w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S21-300x235.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n<\/div>\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                    <p>L\u2019essai appara\u00eet maintenant sous le r\u00f4le Nova Pharma.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"160\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S22.png\" alt=\"\" class=\"wp-image-30249\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S22.png 624w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S22-300x77.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n<\/div>\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                    <p>Vous pouvez amorcer une enqu\u00eate et clore le dossier si vous le d\u00e9sirez.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"160\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S23.png\" alt=\"\" class=\"wp-image-30251\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S23.png 624w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S23-300x77.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n<\/div>\n\n\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                    <p>L\u2019organisme de r\u00e9glementation public pourra examiner le dossier de l\u2019essai d\u00e8s que General Hospital le saisit. En ouvrant l\u2019application Web <strong><em>Government Regulator<\/em><\/strong> avec les justificatifs \u00ab\u00a0user\/pass\u00a0\u00bb, vous verrez le dossier et son statut. Apr\u00e8s la cl\u00f4ture du dossier par Nova Pharma, l\u2019organisme de r\u00e9glementation pourra cliquer <strong>ACCEPT <\/strong>et ainsi confirmer que l\u2019essai est termin\u00e9. Son statut changera alors pour <em>Regulator Accepted<\/em> (approuv\u00e9 par l\u2019organisme de r\u00e9glementation).<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"144\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S24.png\" alt=\"\" class=\"wp-image-30253\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S24.png 624w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S24-300x69.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n<\/div>\n\n<div id=\"conclusion\" class=\"anchor-link\"><\/div>\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                  \t<h3>Conclusion<\/h3>\n                    <p>Pour arr\u00eater l\u2019application et la retrancher de votre compte de l\u2019ATIR, revenez \u00e0 la page Piles de la console CloudFormation et supprimez la pile qui correspond au Propulseur.<\/p>\n<p><a href=\"https:\/\/docs.aws.amazon.com\/fr_fr\/AWSCloudFormation\/latest\/UserGuide\/cfn-console-delete-stack.html\">En savoir plus sur la suppression de piles avec la console.<\/a><\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div id=\"Consid\u00e9rations\" class=\"anchor-link\"><\/div>\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                  \t<h3>Consid\u00e9rations<\/h3>\n                    <h4>Autres possibilit\u00e9s de d\u00e9ploiement<\/h4>\n<p>La solution type a \u00e9t\u00e9 con\u00e7ue pour se d\u00e9ployer et s\u2019ex\u00e9cuter sur une seule machine virtuelle. Quelques points importants doivent \u00eatre envisag\u00e9s sur les plans de la performance, de la mise \u00e0 l\u2019\u00e9chelle et de la disponibilit\u00e9 de l\u2019application.<\/p>\n<h4>Performance<\/h4>\n<p>Les transactions effectu\u00e9es sur le r\u00e9seau de la solution type sont des transactions HLF ordinaires qui traversent une s\u00e9rie d\u2019op\u00e9rations ex\u00e9cut\u00e9es par les diff\u00e9rents n\u0153uds du r\u00e9seau (client, pair, ordonnanceur). Il faut bien comprendre que ces op\u00e9rations sont des t\u00e2ches informatiques (p.\u00a0ex., calcul de code hach\u00e9) qui alourdissent la charge de travail de l\u2019unit\u00e9 centrale (UC). Accro\u00eetre la puissance de cette derni\u00e8re devrait acc\u00e9l\u00e9rer les calculs et le d\u00e9bit quand la charge de travail devient trop lourde.<\/p>\n<h4>Mise \u00e0 l\u2019\u00e9chelle<\/h4>\n<p>On peut agrandir le r\u00e9seau horizontalement en y ajoutant d\u2019autres pairs pour traiter les demandes de clients suppl\u00e9mentaires (\u00e0 savoir, lire les donn\u00e9es sur les transactions). Des UC \u00e0 c\u0153urs multiples acc\u00e9l\u00e8reront le d\u00e9bit des transactions. L\u2019ajustement du r\u00e9seau est une d\u00e9marche constante, car le r\u00e9seau DLT devrait prendre ou perdre de l\u2019ampleur avec le temps (quand de nouveaux participants s\u2019y ajoutent ou d\u2019autres le quittent). Pour les r\u00e9seaux de production, utiliser plusieurs MV am\u00e8nera le r\u00e9seau \u00e0 un stade permettant le traitement d\u2019un volume sup\u00e9rieur de transactions. La solution type n\u2019int\u00e8gre pas le principe de mise \u00e0 l\u2019\u00e9chelle et se limite \u00e0 une machine virtuelle.<\/p>\n<h4>Disponibilit\u00e9<\/h4>\n<p>La disponibilit\u00e9 d\u2019un r\u00e9seau d\u00e9pend du nombre de n\u0153uds et de leur r\u00e9partition entre diff\u00e9rentes infrastructures (fournisseurs de services d\u2019infonuagique et centres de donn\u00e9es). En g\u00e9n\u00e9ral, un r\u00e9seau HLF de type produit avec des participants de l\u2019\u00e9tranger fonctionnera sur plusieurs centres de donn\u00e9es et fournisseurs de services d\u2019infonuagique diss\u00e9min\u00e9s dans le monde. La sauvegarde r\u00e9guli\u00e8re des pairs\/ordonnanceurs et de leurs magasins CouchDB (si on utilise ce syst\u00e8me de gestion de base de donn\u00e9es) permettra la restauration des pairs advenant une d\u00e9faillance mat\u00e9rielle. La solution type ne comprend aucune strat\u00e9gie de sauvegarde de s\u00e9curit\u00e9 automatique.<\/p>\n<h4>Technologies de rechange<\/h4>\n<p>HLF n\u2019est qu\u2019une technologie de cha\u00eene de blocs fond\u00e9e sur un registre d\u00e9centralis\u00e9 (DLT) parmi d\u2019autres pouvant servir \u00e0 cr\u00e9er un r\u00e9seau priv\u00e9 avec permissions. Il existe aussi des r\u00e9seaux \u00e0 cha\u00eenes de blocs utilisant des jetons, enti\u00e8rement publics, ouverts et sans permissions. Ces r\u00e9seaux traitent toutefois les transactions avec lenteur, ils ne prot\u00e8gent pas vraiment les donn\u00e9es personnelles et soutiennent mal les mod\u00e8les avec permissions, autant de capacit\u00e9s qu\u2019on juge indispensables \u00e0 maintes applications d\u2019entreprise pour lesquelles la confidentialit\u00e9 et le contr\u00f4le des donn\u00e9es ainsi que des transactions doivent \u00eatre pr\u00e9serv\u00e9s gr\u00e2ce \u00e0 des permissions.<\/p>\n<p>Habituellement, les r\u00e9seaux publics \u00e0 cha\u00eenes de blocs sont command\u00e9s par un grand nombre de pairs r\u00e9partis et d\u00e9centralis\u00e9s. N\u2019importe qui peut exploiter ces pairs, souvent h\u00e9berg\u00e9s dans des fermes ou parcs situ\u00e9s ici et l\u00e0 sur le globe. Certains de ces r\u00e9seaux n\u2019ont d\u2019autre but qu\u2019enregistrer les transactions qui d\u00e9placent des jetons d\u2019un compte ou d\u2019une adresse \u00e0 l\u2019autre dans le registre (c\u2019est notamment le cas du r\u00e9seau Bitcoin). D\u2019autres soutiennent des transactions plus complexes r\u00e9gies par des contrats intelligents qui permettent aux d\u00e9veloppeurs de consigner des donn\u00e9es dans le registre public. Ces r\u00e9seaux se pr\u00eatent \u00e0 de nombreuses utilisations comme la mod\u00e9lisation et l\u2019\u00e9change d\u2019actifs au moyen de jetons non fongibles (NFT). Ethereum figure parmi les r\u00e9seaux publics les plus utilis\u00e9s et les plus reconnus acceptant les contrats intelligents.<\/p>\n<p>La plupart des r\u00e9seaux DLT priv\u00e9s s\u2019appuient sur des technologies \u00e9prouv\u00e9es de cha\u00eenes de blocs comme Corda, HLF, Quorum, Hyperledger Sawtooth, etc., ayant chacune leurs forces et leurs faiblesses, selon l\u2019usage qu\u2019on en fait. Il existe aussi des projets de source ouverte que soutiennent des communaut\u00e9s de d\u00e9veloppeurs et d\u2019entreprises. HLF fait partie des applications les plus populaires, car cette plateforme est assez ouverte et g\u00e9n\u00e9rique pour prendre en charge et r\u00e9soudre les probl\u00e8mes de diverses industries (cha\u00eenes d\u2019approvisionnement, soins de sant\u00e9, finances, etc.).<\/p>\n<h4>S\u00e9curit\u00e9<\/h4>\n<p>On acc\u00e8de au r\u00e9seau HLF provisionn\u00e9 par ses n\u0153uds, sur diff\u00e9rents ports susceptibles d\u2019\u00eatre expos\u00e9s \u00e0 l\u2019ext\u00e9rieur de la MV qui utilise un groupe de s\u00e9curit\u00e9 appropri\u00e9. Les pairs et les ordonnanceurs sont reli\u00e9s entre eux par leurs ports Docker internes, dont les canaux de communication sont encrypt\u00e9s au niveau de la couche TLS. Les artefacts de l\u2019infrastructure \u00e0 cl\u00e9 publique (PKI) sont stock\u00e9s dans le r\u00e9pertoire de fichiers local de la MV. Pour les stocker ailleurs, on pourrait recourir \u00e0 une bo\u00eete noire transactionnelle ou \u00e0 un autre syst\u00e8me de gestion de la PKI (Vault, par exemple).<\/p>\n<p>Les applications Web fournies recourent \u00e0 un syst\u00e8me de gestion des identit\u00e9s qui ne compte qu\u2019un utilisateur, d\u00e9termin\u00e9 \u00e0 l\u2019avance, la solution type n\u2019ayant surtout pour objectif que d\u2019illustrer les capacit\u00e9s d\u2019Hyperledger Fabric employ\u00e9es par un client, o\u00f9 La gestion des utilisateurs est int\u00e9gr\u00e9e \u00e0 la gestion des identit\u00e9s en fonction des besoins du projet.<\/p>\n<p><strong>Remarque\u00a0:<\/strong> L\u2019int\u00e9gration d\u2019un syst\u00e8me de gestion de la PKI ou de l\u2019identit\u00e9 des applications Web d\u00e9borde du sujet de la pr\u00e9sente solution type.<\/p>\n<h4>\u00c9volution<\/h4>\n<p>Les r\u00e9seaux HLF sont command\u00e9s par ordonnancement des n\u0153uds de services et des n\u0153uds de pairs. Le r\u00e9seau permet aux participants d\u2019ajouter au r\u00e9seau autant de pairs que n\u00e9cessaire pour atteindre la meilleure disponibilit\u00e9 et expansion horizontale possibles. Les pairs peuvent \u00eatre h\u00e9berg\u00e9s sur diff\u00e9rents nuages ou dans diff\u00e9rentes r\u00e9gions afin d\u2019en permettre le d\u00e9ploiement dans des nuages hybrides et une meilleure r\u00e9partition. Le service d\u2019ordonnancement de HLF peut aussi r\u00e9partir les n\u0153uds (ordonnanceurs) entre diverses infrastructures, o\u00f9 chaque canal devra maintenir un nombre d\u2019ordonnanceurs g\u00e9rable de mani\u00e8re obtenir une grappe RAFT stable (beaucoup d\u2019autres projets comme Kubernetes recourent au protocole de consensus RAFT). Les participants h\u00e9bergent et g\u00e8rent les n\u0153uds du r\u00e9seau et chacun h\u00e9berge ses pairs sur une infrastructure qui autorise une importante mise \u00e0 l\u2019\u00e9chelle horizontale ou verticale.<\/p>\n<h4>Disponibilit\u00e9<\/h4>\n<p>Les n\u0153uds HLF peuvent \u00eatre h\u00e9berg\u00e9s chez diff\u00e9rents fournisseurs d\u2019infonuagique ou dans diverses r\u00e9gions. Habituellement, plus les n\u0153uds seront r\u00e9partis et plus le r\u00e9seau sera disponible. Chaque participant pourrait exploiter plusieurs n\u0153uds afin de r\u00e9duire les risques de panne pour une sorte de transactions donn\u00e9e. Certaines transactions, par exemple, pourraient exiger d\u2019\u00eatre sanctionn\u00e9es par un sous-groupe de participants, afin que d\u2019autres pairs, inaccessibles ou peu fiables, ne puissent les affecter.<\/p>\n<p>Ce Propulseur propose une solution pouvant accueillir les n\u0153uds d\u2019un r\u00e9seau sur une seule MV, une bonne option pour b\u00e2tir et d\u00e9velopper une application qu\u2019on d\u00e9sire valider. Pour les r\u00e9seaux et les applications de production, on s\u2019attend, ce qui est fortement pr\u00e9conis\u00e9, \u00e0 ce que les n\u0153uds soient h\u00e9berg\u00e9s sur plusieurs infrastructures dans diverses r\u00e9gions, chez un ou plusieurs services d\u2019infonuagique.<\/p>\n<h4>API<\/h4>\n<p>Les n\u0153uds d\u2019Hyperledger Fabric (ordonnanceurs et pairs) et les autorit\u00e9s de certification Hyperledger procurent des API de gestion et d\u2019exploitation (v\u00e9rification de l\u2019\u00e9tat, gestion des journaux, d\u00e9ploiement\/\u00e9vocation du code d\u2019encha\u00eenement, communication entre n\u0153uds, enregistrement des identit\u00e9s, adh\u00e9sion, etc.). Ces interfaces reposent sur le cadriciel gRPC. Dans la plupart des cas, on recommande de s\u00e9curiser ces API sur la couche TLS. Les liens ci-dessous m\u00e8nent aux instructions techniques sur la fa\u00e7on d\u2019activer la couche TLS sur diff\u00e9rents n\u0153uds\u00a0:<\/p>\n<ul>\n<li><a href=\"https:\/\/hyperledger-fabric.readthedocs.io\/en\/release-2.3\/operations_service.html\" target=\"_blank\" rel=\"noopener\">API d\u2019exploitation pour les pairs et les ordonnanceurs<\/a><\/li>\n<li><a href=\"https:\/\/hyperledger-fabric.readthedocs.io\/en\/release-2.3\/operations_service.html\" target=\"_blank\" rel=\"noopener\">API de communication pour les n\u0153uds de pairs<\/a><\/li>\n<li><a href=\"https:\/\/hyperledger-fabric.readthedocs.io\/en\/release-2.3\/deployorderer\/ordererchecklist.html#general-tls\" target=\"_blank\" rel=\"noopener\">API de communication pour les n\u0153uds d\u2019ordonnancement<\/a><\/li>\n<li><a href=\"https:\/\/hyperledger-fabric-ca.readthedocs.io\/en\/release-1.4\/deployguide\/ca-config.html#tls\" target=\"_blank\" rel=\"noopener\">API des AC Hyperledger<\/a><\/li>\n<\/ul>\n<p><strong>Remarque\u00a0:<\/strong> Sur une plateforme \u00e0 permissions ultra s\u00e9curis\u00e9e, on pourra recourir \u00e0 un protocole TLS commun afin de s\u00e9curiser davantage les protocoles de communication \u00e0 chaque niveau et ne laisser traverser le serveur TLS commun que les clients dont le certificat a \u00e9t\u00e9 valid\u00e9.<\/p>\n<h4>Co\u00fbt<\/h4>\n<p>Le co\u00fbt d\u2019exploitation d\u2019un r\u00e9seau HLF d\u00e9pend de l\u2019infrastructure retenue pour accommoder les contraintes non fonctionnelles du r\u00e9seau (disponibilit\u00e9, performance, s\u00e9curit\u00e9, etc.).<\/p>\n<p>Les r\u00e9seaux de production pourraient n\u00e9cessiter plusieurs n\u0153uds, situ\u00e9s \u00e0 divers endroits (ou centres de donn\u00e9es), de mani\u00e8re \u00e0 garantir une disponibilit\u00e9 ad\u00e9quate. On pourra recourir \u00e0 des bo\u00eetes noires transactionnelles (BNT) pour stocker les artefacts de l\u2019infrastructure \u00e0 cl\u00e9 publique (PKI) comme les certificats et les cl\u00e9s priv\u00e9es.<\/p>\n<p>Le r\u00e9seau Hyperledger Fabric de Senofi n\u2019utilise qu\u2019une MV et quelques pairs et ordonnanceurs. Les artefacts sont conserv\u00e9s dans le r\u00e9pertoire de fichiers local de la MV. \u00c0 titre de comparaison, AWS et Azure facturent 45\u00a0$ par mois pour une instance de 4\u00a0Go \u00e0 double c\u0153ur, minimum requis pour ex\u00e9cuter la solution type.<\/p>\n<p>Calculer les services et les infrastructures dont on a besoin permettra d\u2019\u00e9tablir le co\u00fbt exact de la solution.<\/p>\n<p>N\u2019importe quel r\u00e9seau de production \u00e9voluera avec le temps, car des n\u0153uds et des participants s\u2019y ajouteront ou en seront retranch\u00e9s. En cons\u00e9quence, son co\u00fbt d\u2019exploitation variera \u00e0 la hausse ou \u00e0 la baisse.<\/p>\n<h4>Licence d\u2019exploitation<\/h4>\n<p>Les composants de la solution Hyperledger Fabric propos\u00e9e par Senofi sont tous vis\u00e9s par une licence de source ouverte. Pour en apprendre davantage \u00e0 ce sujet, on consultera les <a href=\"https:\/\/github.com\/senofi\/canarie-hyperledger-fabric\/blob\/develop\/README.md#license\" target=\"_blank\" rel=\"noopener\">d\u00e9p\u00f4ts du code source<\/a>.<\/p>\n                    <div class=\"button-group\">\n              \t\t\t\t  \t<a class=\"button-border-blue\" href=\"https:\/\/calculator.aws\/#\/\" target=\"_self\">Calculateur de tarification AWS<\/a>\n    \t\t\t    \t\t\t    \t\t\t<\/div>\n    \t\t\t        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div id=\"codedelancement\" class=\"anchor-link\"><\/div>\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                  \t<h3>Code de lancement<\/h3>\n                    <p>Le <a href=\"https:\/\/github.com\/senofi\/canarie-hyperledger-fabric\/\" target=\"_blank\" rel=\"noopener\">code source<\/a> de la solution type se trouve dans un d\u00e9p\u00f4t public GitHub.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<div id=\"Glossaire\" class=\"anchor-link\"><\/div>\n<section class=\"section section--text-columns no-background\">\n    <div class=\"grid-container\">\n      <div class=\"grid-x grid-padding-x\">\n        <div class=\"cell\">\n                  \t<h3>Glossaire<\/h3>\n                    <p>Voici la d\u00e9finition des termes et des expressions qui reviennent dans le document.<\/p>\n<table width=\"623\">\n<tbody>\n<tr>\n<td width=\"311\"><strong>Terme ou expression<\/strong><\/td>\n<td width=\"311\"><strong>Description<\/strong><\/td>\n<td width=\"105\"><strong>Lien<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"311\">API<\/td>\n<td width=\"311\">Interface de programmation d\u2019application<\/td>\n<td width=\"105\"><a href=\"https:\/\/fr.wikipedia.org\/wiki\/Interface_de_programmation\" target=\"_blank\" rel=\"noopener\">Wikip\u00e9dia<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"311\"><\/td>\n<td width=\"311\"><\/td>\n<td width=\"105\"><\/td>\n<\/tr>\n<tr>\n<td width=\"311\">Hyperledger<\/td>\n<td width=\"311\">Hyperledger est une plateforme communautaire ouverte qui s\u2019attache \u00e0 mettre au point une s\u00e9rie de cadriciels, d\u2019outils et de biblioth\u00e8ques stables pour le d\u00e9ploiement de cha\u00eenes de blocs dans les entreprises<\/td>\n<td width=\"105\"><a href=\"https:\/\/www.hyperledger.org\/\" target=\"_blank\" rel=\"noopener\">Hyperledger<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"105\">Hyperledger Fabric<\/td>\n<td width=\"252\">Hyperledger Fabric est une technologie de registre d\u00e9centralis\u00e9 (DLT) avec permissions de source ouverte con\u00e7ue pour les entreprises<\/td>\n<td width=\"265\"><a href=\"https:\/\/www.hyperledger.org\/use\/fabric\" target=\"_blank\" rel=\"noopener\">Hyperledger Fabric<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"105\">Autorit\u00e9 de certification d\u2019Hyperledger (Hyperledger Certificate Authority)<\/td>\n<td width=\"252\">Autorit\u00e9 de certification (AC) d\u2019Hyperledger Fabric.<\/td>\n<td width=\"265\"><a href=\"https:\/\/hyperledger-fabric-ca.readthedocs.io\/en\/release-1.4\" target=\"_blank\" rel=\"noopener\">Hyperledger CA<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"105\">Navigateur Hyperledger (Hyperleger Explorer)<\/td>\n<td width=\"252\">Navigateur Web convivial utilis\u00e9 pour visualiser, \u00e9voquer, d\u00e9ployer ou chercher des blocs, des transactions et des donn\u00e9es, ainsi que les informations connexes dans le r\u00e9seau<\/td>\n<td width=\"265\"><a href=\"https:\/\/www.hyperledger.org\/use\/explorer\" target=\"_blank\" rel=\"noopener\">Hyperledger Explorer<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"105\">Vue.js<\/td>\n<td width=\"252\">Cadriciel en script Java servant \u00e0 b\u00e2tir des interfaces utilisateur<\/td>\n<td width=\"265\"><a href=\"https:\/\/vuejs.org\/\" target=\"_blank\" rel=\"noopener\">Vue.js<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"105\">CouchDB<\/td>\n<td width=\"252\">Syst\u00e8me de gestion de base de donn\u00e9es NoSQL orient\u00e9 documents de source ouverte d\u2019Apache<\/td>\n<td width=\"265\"><a href=\"https:\/\/docs.couchdb.org\/en\/stable\/\" target=\"_blank\" rel=\"noopener\">CouchDB Documentation<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"105\">Pair HLF<\/td>\n<td width=\"252\">Entit\u00e9 qui, dans un r\u00e9seau, garde un registre et exploite des conteneurs \u00e0 code d\u2019encha\u00eenement<\/td>\n<td width=\"265\"><a href=\"https:\/\/hyperledger-fabric.readthedocs.io\/en\/release-2.3\/glossary.html\" target=\"_blank\" rel=\"noopener\">HLF Glossary<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"105\">Ordonnanceur HLF<\/td>\n<td width=\"252\">Entit\u00e9 qui, dans un r\u00e9seau, ordonne les transactions en bloc puis r\u00e9partit les blocs entre des pairs connect\u00e9s au r\u00e9seau afin qu\u2019ils les valident et les exploitent<\/td>\n<td width=\"265\"><a href=\"https:\/\/hyperledger-fabric.readthedocs.io\/en\/release-2.3\/glossary.html\" target=\"_blank\" rel=\"noopener\">HLF Glossary<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"105\">Fournisseur de service d\u2019adh\u00e9sion HLF<\/td>\n<td width=\"252\">Composant abstrait du syst\u00e8me qui procure un identifiant aux pairs et aux clients afin qu\u2019ils puissent adh\u00e9rer \u00e0 un r\u00e9seau d\u2019Hyperledger Fabric<\/td>\n<td width=\"265\"><a href=\"https:\/\/hyperledger-fabric.readthedocs.io\/en\/release-2.3\/glossary.html\" target=\"_blank\" rel=\"noopener\">HLF Glossary<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"105\">Bo\u00eete noire transactionnelle (BNT)<\/td>\n<td width=\"252\">Mat\u00e9riel \u00e9lectronique offrant un service de s\u00e9curit\u00e9 qui g\u00e9n\u00e8re, stocke et prot\u00e8ge des cl\u00e9s cryptographiques; il comprend aussi des fonctions de chiffrement et de d\u00e9chiffrement<\/td>\n<td width=\"265\"><a href=\"https:\/\/fr.wikipedia.org\/wiki\/Hardware_Security_Module\" target=\"_blank\" rel=\"noopener\">Wikip\u00e9dia<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"105\">Vault<\/td>\n<td width=\"252\">Outil donnant acc\u00e8s \u00e0 des secrets de fa\u00e7on s\u00e9curitaire<\/td>\n<td width=\"265\"><a href=\"https:\/\/www.vaultproject.io\/\" target=\"_blank\" rel=\"noopener\">Vault<\/a><\/p>\n<p><a href=\"https:\/\/github.com\/hashicorp\/vault\" target=\"_blank\" rel=\"noopener\">GitHub<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"105\">Transport Layer Security (TLS)<\/td>\n<td width=\"252\">Protocole de s\u00e9curisation des \u00e9changes sur r\u00e9seau informatique<\/td>\n<td width=\"265\"><a href=\"https:\/\/fr.wikipedia.org\/wiki\/Transport_Layer_Security\" target=\"_blank\" rel=\"noopener\">Wikip\u00e9dia<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"105\">Registre d\u00e9centralis\u00e9 (DLT)<\/td>\n<td width=\"252\">Registre de donn\u00e9es simultan\u00e9ment copi\u00e9es, enregistr\u00e9es et synchronis\u00e9es par consensus sur un r\u00e9seau d\u2019ordinateurs diss\u00e9min\u00e9s entre de nombreux sites, pays ou institutions<\/td>\n<td width=\"265\"><a href=\"https:\/\/fr.wikipedia.org\/wiki\/Registre_distribu%C3%A9\" target=\"_blank\" rel=\"noopener\">Wikip\u00e9dia<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"105\">Cha\u00eene de blocs<\/td>\n<td width=\"252\">Liste grandissante d\u2019informations, appel\u00e9es blocs, regroup\u00e9es et reli\u00e9es par cryptographie<\/td>\n<td width=\"265\"><a href=\"https:\/\/fr.wikipedia.org\/wiki\/Blockchain\" target=\"_blank\" rel=\"noopener\">Wikip\u00e9dia<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"105\">gRPC<\/td>\n<td width=\"252\">Cadriciel moderne de source ouverte pour les appels de proc\u00e9dure \u00e0 distance; il permet aux applications clientes et aux serveurs de communiquer entre eux de fa\u00e7on transparente, ce qui facilite l\u2019\u00e9laboration de syst\u00e8mes connect\u00e9s<\/td>\n<td width=\"265\"><a href=\"https:\/\/grpc.io\/\" target=\"_blank\" rel=\"noopener\">gRPC<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"105\">API Web<\/td>\n<td width=\"252\">Interface de programmation d\u2019applications pour un serveur Web ou un navigateur<\/td>\n<td width=\"265\"><a href=\"https:\/\/en.wikipedia.org\/wiki\/Web_API\" target=\"_blank\" rel=\"noopener\">Wikipedi<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Composant Description Nuage de l\u2019ATIR Plateforme canadienne d\u2019infonuagique permettant aux participants d\u2019acc\u00e9der \u00e0 des ressources publiques en nuage. R\u00e9seau Hyperledger [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"parent":30097,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-30095","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Solution type : Hyperledger Fabric - CANARIE<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\/solution-type-hyperledger-fabric\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Solution type : Hyperledger Fabric - CANARIE\" \/>\n<meta property=\"og:description\" content=\"Composant Description Nuage de l\u2019ATIR Plateforme canadienne d\u2019infonuagique permettant aux participants d\u2019acc\u00e9der \u00e0 des ressources publiques en nuage. R\u00e9seau Hyperledger [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\/solution-type-hyperledger-fabric\/\" \/>\n<meta property=\"og:site_name\" content=\"CANARIE\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-30T13:47:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S0.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/nuage\\\/catalogue\\\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\\\/solution-type-hyperledger-fabric\\\/\",\"url\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/nuage\\\/catalogue\\\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\\\/solution-type-hyperledger-fabric\\\/\",\"name\":\"Solution type : Hyperledger Fabric - CANARIE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.canarie.ca\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/nuage\\\/catalogue\\\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\\\/solution-type-hyperledger-fabric\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/nuage\\\/catalogue\\\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\\\/solution-type-hyperledger-fabric\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.canarie.ca\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/S0.png\",\"datePublished\":\"2022-03-15T18:10:23+00:00\",\"dateModified\":\"2024-10-30T13:47:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/nuage\\\/catalogue\\\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\\\/solution-type-hyperledger-fabric\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/nuage\\\/catalogue\\\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\\\/solution-type-hyperledger-fabric\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/nuage\\\/catalogue\\\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\\\/solution-type-hyperledger-fabric\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.canarie.ca\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/S0.png\",\"contentUrl\":\"https:\\\/\\\/www.canarie.ca\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/S0.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/nuage\\\/catalogue\\\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\\\/solution-type-hyperledger-fabric\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Le nuage de l&#8217;ATIR\",\"item\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/?page_id=44361\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Catalogue des Propulseurs de l\u2019ATIR\",\"item\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/?page_id=6557\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Plan de vol pour : Cr\u00e9er un r\u00e9seau \u00e0 cha\u00eenes de blocs priv\u00e9 avec Hyperledger Fabric\",\"item\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/nuage\\\/catalogue\\\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\\\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Solution type : Hyperledger Fabric\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.canarie.ca\\\/#website\",\"url\":\"https:\\\/\\\/www.canarie.ca\\\/\",\"name\":\"CANARIE\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.canarie.ca\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Solution type : Hyperledger Fabric - CANARIE","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\/solution-type-hyperledger-fabric\/","og_locale":"fr_FR","og_type":"article","og_title":"Solution type : Hyperledger Fabric - CANARIE","og_description":"Composant Description Nuage de l\u2019ATIR Plateforme canadienne d\u2019infonuagique permettant aux participants d\u2019acc\u00e9der \u00e0 des ressources publiques en nuage. R\u00e9seau Hyperledger [&hellip;]","og_url":"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\/solution-type-hyperledger-fabric\/","og_site_name":"CANARIE","article_modified_time":"2024-10-30T13:47:46+00:00","og_image":[{"url":"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S0.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\/solution-type-hyperledger-fabric\/","url":"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\/solution-type-hyperledger-fabric\/","name":"Solution type : Hyperledger Fabric - CANARIE","isPartOf":{"@id":"https:\/\/www.canarie.ca\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\/solution-type-hyperledger-fabric\/#primaryimage"},"image":{"@id":"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\/solution-type-hyperledger-fabric\/#primaryimage"},"thumbnailUrl":"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S0.png","datePublished":"2022-03-15T18:10:23+00:00","dateModified":"2024-10-30T13:47:46+00:00","breadcrumb":{"@id":"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\/solution-type-hyperledger-fabric\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\/solution-type-hyperledger-fabric\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\/solution-type-hyperledger-fabric\/#primaryimage","url":"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S0.png","contentUrl":"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/03\/S0.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\/solution-type-hyperledger-fabric\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.canarie.ca\/fr\/"},{"@type":"ListItem","position":2,"name":"Le nuage de l&#8217;ATIR","item":"https:\/\/www.canarie.ca\/fr\/?page_id=44361"},{"@type":"ListItem","position":3,"name":"Catalogue des Propulseurs de l\u2019ATIR","item":"https:\/\/www.canarie.ca\/fr\/?page_id=6557"},{"@type":"ListItem","position":4,"name":"Plan de vol pour : Cr\u00e9er un r\u00e9seau \u00e0 cha\u00eenes de blocs priv\u00e9 avec Hyperledger Fabric","item":"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-pour-creer-un-reseau-a-chaines-de-blocs-prive-avec-hyperledger-fabric\/"},{"@type":"ListItem","position":5,"name":"Solution type : Hyperledger Fabric"}]},{"@type":"WebSite","@id":"https:\/\/www.canarie.ca\/#website","url":"https:\/\/www.canarie.ca\/","name":"CANARIE","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.canarie.ca\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"}]}},"_links":{"self":[{"href":"https:\/\/www.canarie.ca\/fr\/wp-json\/wp\/v2\/pages\/30095","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.canarie.ca\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.canarie.ca\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.canarie.ca\/fr\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.canarie.ca\/fr\/wp-json\/wp\/v2\/comments?post=30095"}],"version-history":[{"count":3,"href":"https:\/\/www.canarie.ca\/fr\/wp-json\/wp\/v2\/pages\/30095\/revisions"}],"predecessor-version":[{"id":44499,"href":"https:\/\/www.canarie.ca\/fr\/wp-json\/wp\/v2\/pages\/30095\/revisions\/44499"}],"up":[{"embeddable":true,"href":"https:\/\/www.canarie.ca\/fr\/wp-json\/wp\/v2\/pages\/30097"}],"wp:attachment":[{"href":"https:\/\/www.canarie.ca\/fr\/wp-json\/wp\/v2\/media?parent=30095"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}