{"id":19373,"date":"2021-03-09T14:50:46","date_gmt":"2021-03-09T19:50:46","guid":{"rendered":"https:\/\/canarie.machinedev.ca\/?page_id=19373"},"modified":"2024-10-30T09:50:41","modified_gmt":"2024-10-30T13:50:41","slug":"solution-type-outil-devaluation-des-donnees-apption","status":"publish","type":"page","link":"https:\/\/www.canarie.ca\/fr\/catalogue\/plan-de-vol-outil-devaluation-des-donnees-apption\/solution-type-outil-devaluation-des-donnees-apption\/","title":{"rendered":"Solution type : Outil d\u2019\u00e9valuation des donn\u00e9es Apption"},"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<div style=\"height:48px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h1 class=\"wp-block-heading\">Solution type : Outil d\u2019\u00e9valuation des donn\u00e9es Apption<\/h1>\n\n\n\n<p>Si ce n\u2019est d\u00e9j\u00e0 fait, lisez le Plan de vol du Propulseur Apption,&nbsp;<a href=\"https:\/\/www.canarie.ca\/fr\/nuage\/propulseurs\/catalogue\/plan-de-vol-outil-devaluation-des-donnees-apption\/\">Outil d&rsquo;\u00e9valuation des donn\u00e9es Apption<\/a>, avant de tester la solution type.<\/p>\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>Introduction<\/h3>\n                    <p>L\u2019outil d\u2019\u00e9valuation des donn\u00e9es Apption (A-DAT) est un projet de source ouverte proposant une solution pour ce qui suit :<\/p>\n<ul>\n<li>amorcer les projets \u00e0 base de donn\u00e9es scientifiques et identifier une trentaine de types de donn\u00e9es;<\/li>\n<li>charger des fichiers CSV dans n\u2019importe quelle base de donn\u00e9es en nuage (ou locale) sur SQL Server;<\/li>\n<li>produire une structure optimale pour les donn\u00e9es;<\/li>\n<li>r\u00e9sumer les champs de donn\u00e9es et fournir des chiffres sur la qualit\u00e9 de ces derni\u00e8res.<\/li>\n<\/ul>\n<p>Normalement, pour accomplir ces t\u00e2ches, l\u2019utilisateur investirait dans des solutions on\u00e9reuses aux multiples fonctions qui assureront une conversion \u00e9troite des donn\u00e9es. La Solution type analyse les donn\u00e9es en d\u00e9tail et propose une structure assortie de tableaux et de graphiques instructifs pour chaque champ de donn\u00e9es. L\u2019utilisateur peut adapter et contr\u00f4ler le sch\u00e9ma d\u00e9finitif de la base de donn\u00e9es. Ensuite, il suffit de transf\u00e9rer les donn\u00e9es du fichier \u00e0 la base en nuage.<\/p>\n<p>Bien que nombreux, les outils ETL qui r\u00e9solvent ce probl\u00e8me exigent parfois passablement d\u2019efforts lors de la cr\u00e9ation des jeux de donn\u00e9es, m\u00eame pour les fichiers rudimentaires, si bien qu\u2019il finit par y avoir engorgement, autant pour les projets scientifiques que pour l\u2019exploration des donn\u00e9es.<\/p>\n<p>La Solution type r\u00e9duit le flux de t\u00e2ches au maximum, sans qu\u2019il y ait conversion de donn\u00e9es, puis charge le fichier non structur\u00e9 dans le nuage en quelques \u00e9tapes simples, sans aucun d\u00e9veloppement.<\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n<h2 class=\"wp-block-heading\">Solution type<\/h2>\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>Aper\u00e7u<\/h3>\n                    <h2>Principales caract\u00e9ristiques<\/h2>\n<p>La solution peut \u00eatre s\u00e9par\u00e9e en quatre :<\/p>\n<ol>\n<li><strong>Connexion.<\/strong>\u00a0La premi\u00e8re interaction avec l\u2019outil permet \u00e0 l\u2019utilisateur d\u2019\u00e9tablir les param\u00e8tres qui d\u00e9termineront comment l\u2019application effectue l\u2019analyse (nom et format du fichier qui contient les donn\u00e9es, cha\u00eenes de connexion avec la base de donn\u00e9es).<\/li>\n<li><strong>Analyse.<\/strong>\u00a0Durant la premi\u00e8re phase de l\u2019analyse, l\u2019application examine les donn\u00e9es pour en brosser un tableau g\u00e9n\u00e9ral et affiche les r\u00e9sultats (cl\u00e9s principales, types fondamentaux, compl\u00e9tude des donn\u00e9es, autres statistiques).<\/li>\n<li><strong>Classification.<\/strong>\u00a0Cette \u00e9tape consiste en une analyse approfondie de chaque champ avec r\u00e9partition des donn\u00e9es en divers types. Il suffit alors \u00e0 l\u2019utilisateur de v\u00e9rifier quels champs il faut ajouter \u00e0 la structure. L\u2019affichage des donn\u00e9es sensibles et de graphiques illustrant comment les donn\u00e9es sont distribu\u00e9es dans les champs l\u2019aide aussi \u00e0 d\u00e9terminer s\u2019il faut accepter ou pas les types de donn\u00e9es que sugg\u00e8re l\u2019application.<\/li>\n<li><strong>Chargement.<\/strong>\u00a0Avec cette derni\u00e8re \u00e9tape, l\u2019application pr\u00e9sente le sch\u00e9ma qui servira d\u2019architecture \u00e0 la base de donn\u00e9es. Si celui-ci lui convient, l\u2019utilisateur autorise la migration des donn\u00e9es du fichier non hi\u00e9rarchique \u00e0 la base de donn\u00e9es.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19422\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/System-Architecture.png\" alt=\"\" width=\"1234\" height=\"429\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/System-Architecture.png 1234w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/System-Architecture-300x104.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/System-Architecture-1024x356.png 1024w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/System-Architecture-768x267.png 768w\" sizes=\"auto, (max-width: 1234px) 100vw, 1234px\" \/><\/p>\n<h2><strong>Architecture du syst\u00e8me<\/strong><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19424\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/System-Architecture_2.png\" alt=\"\" width=\"545\" height=\"471\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/System-Architecture_2.png 545w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/System-Architecture_2-300x259.png 300w\" sizes=\"auto, (max-width: 545px) 100vw, 545px\" \/><\/p>\n<table width=\"100%\">\n<tbody>\n<tr>\n<td width=\"34%\"><strong>Composant<\/strong><\/td>\n<td width=\"65%\"><strong>R\u00e9sum\u00e9<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"34%\"><em><strong>Plateforme de l\u2019ATIR<\/strong><\/em><\/td>\n<td width=\"65%\"><em>Cette plateforme propose une interface Web permettant au participant d\u2019acc\u00e9der \u00e0 ses ressources.<\/em><\/td>\n<\/tr>\n<tr>\n<td width=\"34%\"><em><strong>Reconnaissance des donn\u00e9es<\/strong><\/em><\/td>\n<td width=\"65%\"><em>Cet \u00e9l\u00e9ment se concentre sur l\u2019analyse du fichier, une colonne \u00e0 la fois, et attribue les m\u00e9tadonn\u00e9es appropri\u00e9es \u00e0 chaque colonne. Il reconna\u00eet les principaux types de donn\u00e9es SQL (varchar, int, float, etc.).<\/em><\/td>\n<\/tr>\n<tr>\n<td width=\"34%\"><em><strong>D\u00e9tection des donn\u00e9es sensibles<\/strong><\/em><\/td>\n<td width=\"65%\"><em>Sert \u00e0 marquer les donn\u00e9es sensibles \u00e9ventuellement pr\u00e9sentes dans le fichier (nom, adresse, etc.).<\/em><\/td>\n<\/tr>\n<tr>\n<td width=\"34%\"><em><strong>Interface Web et Electron <\/strong><\/em><\/td>\n<td width=\"65%\"><em>La solution peut \u00eatre ex\u00e9cut\u00e9e dans une architecture Electron en tant qu\u2019application de l\u2019ordinateur ou dans le nuage gr\u00e2ce \u00e0 un portail Web ordinaire.<\/em><\/td>\n<\/tr>\n<tr>\n<td width=\"34%\"><em><strong>Chargement des donn\u00e9es dans le nuage<\/strong><\/em><\/td>\n<td width=\"65%\"><em>Des interfaces optimis\u00e9es pour la migration des donn\u00e9es t\u00e9l\u00e9verseront ces derni\u00e8res du fichier non structur\u00e9 \u00e0 la base de donn\u00e9es en nuage.<\/em><\/td>\n<\/tr>\n<tr>\n<td width=\"34%\"><em><strong>Rapport sur les donn\u00e9es<\/strong><\/em><\/td>\n<td width=\"65%\"><em>Ce rapport pr\u00e9sente les r\u00e9sultats de l\u2019analyse et de la d\u00e9tection des donn\u00e9es sensibles.<\/em><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\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>D\u00e9ploiement<\/h3>\n                    <p>Le d\u00e9ploiement de la Solution type se fait en deux \u00e9tapes.<\/p>\n<ol>\n<li>Cr\u00e9er un h\u00f4te Docker dans l\u2019ATIR<\/li>\n<li>D\u00e9ployer Apption (A-DAT) avec Morpheus<\/li>\n<li>\u00c9tape facultative : d\u00e9ployer une instance de SQL Server<\/li>\n<\/ol>\n<h2>D\u00e9ploiement<\/h2>\n<p>L\u2019outil Apption (A-DAT) se trouve dans le <a href=\"https:\/\/hub.docker.com\/r\/apption\/adat-os\">d\u00e9p\u00f4t public Apption sur Docker Hub<\/a>. On s\u2019en servira pour d\u00e9ployer la Solution type sur la plateforme AWS avec la console CloudFormation. Le script CloudFormation d\u00e9ploiera l\u2019outil Apption (A-DAT) et une instance du serveur SQL sous la forme d\u2019applications en contenant Docker.<\/p>\n<p>Les explications qui suivent concernent la configuration et le d\u00e9ploiement de l\u2019outil d\u2019\u00e9valuation des donn\u00e9es Apption plac\u00e9 dans le contenant Docker.<\/p>\n<p>Le nom du serveur doit respecter la convention &lt;IP&gt;,&lt;port&gt;. Utilisez l\u2019adresse IP publique et le port mentionn\u00e9 par d\u00e9faut (\u00e0 savoir, 3.99.61.180,1433).<\/p>\n<p>Vous aurez besoin d\u2019un compte de l\u2019ATIR pour d\u00e9ployer le Propulseur d\u2019Apption sur la plateforme en nuage. L\u2019application est d\u00e9ploy\u00e9e sur une instance Linux d\u2019AWS.<\/p>\n<p>De la page du Catalogue de Propulseurs, allez \u00e0 la partie \u00ab\u00a0Outil d\u2019\u00e9valuation des donn\u00e9es\u00a0\u00bb d\u2019Apption et cliquez <strong>D\u00c9PLOYER<\/strong> pour lancer celle-ci avec une pile de la console CloudFormation d\u2019AWS.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-39934 size-full\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption12.png\" alt=\"\" width=\"624\" height=\"276\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption12.png 624w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption12-300x133.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/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<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-39907\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption02.png\" alt=\"\" width=\"936\" height=\"532\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption02.png 936w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption02-300x171.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption02-768x437.png 768w\" sizes=\"auto, (max-width: 936px) 100vw, 936px\" \/><\/p>\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<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-39909\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption03.png\" alt=\"\" width=\"936\" height=\"582\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption03.png 936w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption03-300x187.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption03-768x478.png 768w\" sizes=\"auto, (max-width: 936px) 100vw, 936px\" \/><\/p>\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<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-39911\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption04.png\" alt=\"\" width=\"1421\" height=\"464\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption04.png 1421w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption04-300x98.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption04-1024x334.png 1024w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption04-768x251.png 768w\" sizes=\"auto, (max-width: 1421px) 100vw, 1421px\" \/><\/p>\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.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-39913\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption05.png\" alt=\"\" width=\"1458\" height=\"429\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption05.png 1458w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption05-300x88.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption05-1024x301.png 1024w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption05-768x226.png 768w\" sizes=\"auto, (max-width: 1458px) 100vw, 1458px\" \/><\/p>\n<p>L\u2019usage de la base de donn\u00e9es sur le serveur SQL est facultatif. Pour importer des donn\u00e9es de l\u2019application web et les verser dans la base de donn\u00e9es SQL, vous devrez d\u2019abord v\u00e9rifier la connexion au serveur qui a \u00e9t\u00e9 install\u00e9 avec SQL Server Management Studio (SSMS), que vous pouvez t\u00e9l\u00e9charger <a href=\"https:\/\/learn.microsoft.com\/fr-ca\/sql\/ssms\/download-sql-server-management-studio-ssms?view=sql-server-2017\">ici<\/a>.<\/p>\n<p>Le nom du serveur doit respecter la formulation &lt;IP&gt;,&lt;port&gt;, IP correspondant \u00e0 l\u2019adresse IP publique et port au port par d\u00e9faut (3.99.61.180,1433)<\/p>\n<p><em>Remarque\u00a0: SQL\u00a0Server Management Studio de Microsoft utilise la virgule \u00ab\u00a0,\u00a0\u00bb, pas le deux-points \u00ab\u00a0:\u00a0\u00bb pour s\u00e9parer l\u2019adresse IP et le num\u00e9ro du port dans le nom du serveur que vous saisirez dans le champ ci-dessous.<\/em><\/p>\n<div id=\"attachment_39917\" style=\"width: 726px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-39917\" class=\"wp-image-39917 size-full\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption07.png\" alt=\"\" width=\"716\" height=\"482\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption07.png 716w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption07-300x202.png 300w\" sizes=\"auto, (max-width: 716px) 100vw, 716px\" \/><p id=\"caption-attachment-39917\" class=\"wp-caption-text\">Param\u00e8tres pour la connexion \u00e0 SQL Server Management Studio<\/p><\/div>\n<p>Apr\u00e8s vous \u00eatre connect\u00e9 au serveur de la base de donn\u00e9es, cr\u00e9ez une base de donn\u00e9es d\u2019essai dans laquelle l\u2019application pourra charger les donn\u00e9es. Pour cela, cliquez <strong>Databases<\/strong> avec le bouton droit de la souris et s\u00e9lectionnez <strong>New Database.<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19393\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/adddatabase.png\" alt=\"\" width=\"742\" height=\"597\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/adddatabase.png 742w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/adddatabase-300x241.png 300w\" sizes=\"auto, (max-width: 742px) 100vw, 742px\" \/><\/p>\n<p>Suivre les instructions de l\u2019assistant pour terminer la configuration de la base de donn\u00e9es.<\/p>\n<p>Pour utiliser l\u2019application A-DAT, ouvrir une nouvelle fen\u00eatre dans le navigateur et utiliser l\u2019adresse IP publique avec le port par d\u00e9faut 8000 (<a href=\"http:\/\/3.99.61.180:8000\">http:\/\/3.99.61.180:8000<\/a>) de fa\u00e7on \u00e0 afficher l\u2019image Docker.<\/p>\n<p><strong>Attention\u00a0:<\/strong> Pour acc\u00e9der \u00e0 l\u2019application A-DAT, vous devrez indiquer l\u2019adresse IP externe de la machine dans le groupe de s\u00e9curit\u00e9 par d\u00e9faut d\u2019AWS, faute de quoi, la connexion sera refus\u00e9e.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-39923\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption09-1.png\" alt=\"\" width=\"936\" height=\"523\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption09-1.png 936w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption09-1-300x168.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption09-1-768x429.png 768w\" sizes=\"auto, (max-width: 936px) 100vw, 936px\" \/><\/p>\n<p>Si vous songez utiliser la base de donn\u00e9es avec le serveur SQL, la connexion doit \u00eatre format\u00e9e comme suit\u00a0:<\/p>\n<p>Server=172.31.34.76;Initial Catalog=Apption;Uid=sa;Pwd=Welcome2Adat!<\/p>\n<p>O\u00f9\u00a0:<\/p>\n<ul>\n<li>l\u2019adresse IP du serveur correspond \u00e0 l\u2019adresse IP <strong>interne<\/strong> (pas l\u2019adresse IP publique);<\/li>\n<li>\u00ab\u00a0Initial Catalog\u00a0\u00bb correspond au nom que vous avez attribu\u00e9 \u00e0 la base de donn\u00e9es cr\u00e9\u00e9e avec SSMS;<\/li>\n<li>Uid et Pwd sont les valeurs par d\u00e9faut (sa et Welcome2Adat!) engendr\u00e9es automatiquement lors du d\u00e9ploiement du Propulseur.<\/li>\n<\/ul>\n<p>Pour conna\u00eetre l\u2019adresse IP priv\u00e9e, cherchez la page r\u00e9capitulant l\u2019instance EC2 dans AWS.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-39925\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption10.png\" alt=\"\" width=\"924\" height=\"518\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption10.png 924w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption10-300x168.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption10-768x431.png 768w\" sizes=\"auto, (max-width: 924px) 100vw, 924px\" \/><\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\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>Travailler avec le code source<\/h3>\n                    <p>La section que voici explique comment configurer l\u2019environnement de d\u00e9veloppement pour tester le code de l\u2019application, le modifier et d\u00e9ployer la nouvelle version afin d\u2019en v\u00e9rifier les r\u00e9sultats. Pour travailler avec le code source, vous devrez l\u2019extraire du d\u00e9p\u00f4t de CANARIE (Gogs) et le lancer dans Visual Studio 2019 (environnement de d\u00e9veloppement interactif ou IDE). L\u2019IDE vous donnera acc\u00e8s aux options suivantes pour l\u2019ex\u00e9cution :<\/p>\n<ul>\n<li>ex\u00e9cution de l\u2019application sur le Web local<\/li>\n<li>ex\u00e9cution autonome sur Electron<\/li>\n<\/ul>\n<p>TPour lancer l\u2019application Web (voir l\u2019\u00e9cran ci-dessous), enfoncez le bouton de lecture vert.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19403\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/studiolaunch.png\" alt=\"\" width=\"528\" height=\"40\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/studiolaunch.png 528w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/studiolaunch-300x23.png 300w\" sizes=\"auto, (max-width: 528px) 100vw, 528px\" \/><\/p>\n<h3>Pr\u00e9requis<\/h3>\n<p>Vous devrez d\u2019abord installer ce qui suit.<\/p>\n<p>1.\u00a0\u00a0\u00a0 Visual Studio 2019 de Microsoft<\/p>\n<p>2.\u00a0\u00a0\u00a0.NET Core 3 Tools \u2013 disponible sur\u00a0<a href=\"https:\/\/dotnet.microsoft.com\/download\/dotnet-core\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/dotnet.microsoft.com\/download\/dotnet-core\/<\/a><\/p>\n<p>3.\u00a0\u00a0\u00a0Version la plus r\u00e9cente du module Blazor Language Services, disponible sur Visual Studio Marketplace \u00e0 l\u2019adresse :\u00a0<a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=aspnet.blazor\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/marketplace.visualstudio.com\/items?itemName=aspnet.blazor<\/a><\/p>\n<p>4.\u00a0\u00a0\u00a0Docker for Developers, disponible \u00e0 l\u2019adresse\u00a0<a href=\"https:\/\/www.docker.com\/get-started\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/www.docker.com\/get-started<\/a><\/p>\n<p>5.\u00a0\u00a0\u00a0PowerShell de Microsoft<\/p>\n<p>Les quatre premiers logiciels sont essentiels pour b\u00e2tir l\u2019application Apption dans Visual Studio.<\/p>\n<p>Les deux derniers permettent de transf\u00e9rer les donn\u00e9es binaires d\u2019Apption \u00e0 l\u2019image Docker dans laquelle elles seront distribu\u00e9es.<\/p>\n<h3><strong>Cr\u00e9er une image Docker<\/strong><\/h3>\n<p>Cette \u00e9tape suppose que les fichiers source d\u2019Apption ont d\u00e9j\u00e0 \u00e9t\u00e9 clon\u00e9s localement et qu\u2019il est possible d\u2019ouvrir la solution pour la modifier dans Visual Studio. Les pr\u00e9requis 1 \u00e0 4 doivent aussi avoir \u00e9t\u00e9 remplis.<\/p>\n<p>L\u2019environnement .Net Core et le module Blazor autorisent le lancement d\u2019une t\u00e2che ex\u00e9cutable Windows sur un h\u00f4te Linux. Il est donc possible de b\u00e2tir une image Docker sur le syst\u00e8me d\u2019exploitation par d\u00e9faut Linux.<\/p>\n<p>L\u2019image Docker que nous cr\u00e9erons en est une fournie par Microsoft dans laquelle .Net Core et Blazor ont \u00e9t\u00e9 install\u00e9s \u00e0 l\u2019avance. Il suffira d\u2019y ajouter les biblioth\u00e8ques et les t\u00e2ches ex\u00e9cutables suppl\u00e9mentaires. En r\u00e9sultera une image Docker que n\u2019importe quel client Docker pourra extraire et utiliser.<\/p>\n<h3><strong>Publication ou construction locale de l\u2019outil Apption<\/strong><\/h3>\n<ol>\n<li>Cliquez \u00e0 droite sur le projet \u00ab\u00a0WebAppMaterialize.Server\u00a0\u00bb dans Solution Explorer, puis cliquez \u00ab\u00a0<strong>Open Folder in File Explorer<\/strong>\u00bb pour ouvrir l\u2019explorateur de fichiers.<\/li>\n<li>Descendez les r\u00e9pertoires \u00ab\u00a0bin\u00a0\u00bb, \u00ab\u00a0Debug\u00a0\u00bb et \u00ab\u00a0netcoreapp2.1\u00a0\u00bb. Vous d\u00e9couvrirez une s\u00e9rie de fichiers .dll, .json et .config, ainsi qu\u2019un fichier baptis\u00e9 \u00ab\u00a0Dockerfile\u00a0\u00bb, sans extension.<\/li>\n<li>Cliquez l\u2019espace qui suit imm\u00e9diatement le chemin du r\u00e9pertoire, presque au sommet de l\u2019explorateur de fichiers et enfoncez Ctrl-C pour copier le chemin dans le presse-papiers.<\/li>\n<li>Revenez \u00e0 Visual Studio et cliquez \u00e0 droite sur le projet \u00ab\u00a0WebAppMaterialize.Server\u00a0\u00bb dans Solution Explorer, puis cliquez \u00ab\u00a0<strong>Publish<\/strong>\u2026\u00bb.<\/li>\n<li>S\u00e9lectionnez \u00ab\u00a0FolderProfile\u00bb et cliquez l\u2019hyperlien \u00ab\u00a0Configure\u2026\u00a0\u00bb.<\/li>\n<li>Cliquez la bo\u00eete \u00ab\u00a0Target location\u00bb et collez-y le chemin du r\u00e9pertoire en enfon\u00e7ant Ctrl-V.<\/li>\n<li>Ajoutez \u00ab\u00a0\/publish\u00a0\u00bb (sans guillemets) \u00e0 la fin du chemin et enfoncez le bouton \u00ab\u00a0<strong>Save<\/strong>\u00bb.<\/li>\n<\/ol>\n<p>Une fois le processus achev\u00e9, retournez \u00e0 l\u2019explorateur de fichiers. Vous devriez voir un nouveau r\u00e9pertoire baptis\u00e9 \u00ab publish \u00bb renfermant une cinquantaine de fichiers et trois sous-r\u00e9pertoires. Ceci termine l\u2019\u00e9tape de la publication ou de la construction locale.<\/p>\n<h3><strong>Cr\u00e9ation d\u2019une image Docker<\/strong><\/h3>\n<p>Avec cette \u00e9tape, vous cr\u00e9erez une image Docker \u00e0 partir du r\u00e9pertoire \u00ab publish \u00bb. L\u2019image utilise les commandes du client Docker dans l\u2019environnement PowerShell.<\/p>\n<ol>\n<li>Lancez PowerShell \u00e0 partir du menu D\u00e9marrer de Windows.<\/li>\n<li>Confirmez que Docker a \u00e9t\u00e9 install\u00e9 correctement en actionnant la commande \u00ab docker version \u00bb. Si l\u2019installation s\u2019est bien d\u00e9roul\u00e9e, vous verrez un rapport sur la configuration du Client et du Serveur.<\/li>\n<li>Saisissez \u00ab cd \u201c \u00bb (cd suivi d\u2019un guillemet anglais), puis cliquez \u00e0 droite pour coller ce que vous avez copi\u00e9 dans le r\u00e9pertoire cr\u00e9\u00e9 \u00e0 l\u2019\u00e9tape pr\u00e9c\u00e9dente. Vous devrez peut-\u00eatre retourner dans l\u2019explorateur de fichiers si le chemin copi\u00e9 pr\u00e9c\u00e9demment ne figure plus dans la m\u00e9moire tampon.<\/li>\n<li>Ajoutez les guillemets anglais de fermeture (\u00ab \u201d \u00bb) puis enfoncez la touche \u00ab entr\u00e9e \u00bb.<\/li>\n<li>Saisissez la commande \u00ab ls \u00bb. Assurez-vous que le fichier \u00ab Dockerfile \u00bb (sans extension) figure bien dans la liste.<\/li>\n<li>Saisissez la commande \u00ab docker build -t webappmaterialize . \u00bb (n\u2019oubliez pas l\u2019espace suivi d\u2019un point).<\/li>\n<li>Docker extraira une image Docker de Microsoft et copiera les commandes ex\u00e9cutables du r\u00e9pertoire \u00ab publish \u00bb pour en cr\u00e9er une nouvelle.<\/li>\n<li>Saisissez la commande \u00ab docker images \u00bb.<\/li>\n<\/ol>\n<p>La derni\u00e8re commande devrait produire ce qui suit.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19405\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/dockeroutput.png\" alt=\"\" width=\"638\" height=\"43\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/dockeroutput.png 638w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/dockeroutput-300x20.png 300w\" sizes=\"auto, (max-width: 638px) 100vw, 638px\" \/><\/p>\n<p>Une fois cr\u00e9\u00e9e, l\u2019image Docker peut \u00eatre d\u00e9ploy\u00e9e et lanc\u00e9e \u00e0 partir de n\u2019importe quel client Docker (sur votre machine de d\u00e9veloppement locale ou dans l\u2019h\u00f4te Docker de l\u2019ATIR). Pour lancer l\u2019image Docker que vous venez de b\u00e2tir, utilisez la commande que voici :<\/p>\n<p><code>\u2018docker run -p 8000:80 --rm -it webappmaterialize\u2019<\/code><\/p>\n<p>Vous obtiendrez ceci :<\/p>\n<p><code>Hosting environment: Production<\/code><\/p>\n<p><code>Content root path: \/App<\/code><\/p>\n<p><code>Now listening on: http:\/\/[::]:<\/code><\/p>\n<p><code>Application started. Press Ctrl+C to shut down.<\/code><\/p>\n<p>Vous pouvez maintenant utiliser l\u2019application Apption (A-DAT) \u00e0 partir du navigateur situ\u00e9 \u00e0 l\u2019URL \u00ab\u00a0localhost:8000\u00a0\u00bb.<\/p>\n<p>Pour stopper le processus, utilisez Ctrl-C.<\/p>\n<h2><strong>Guide d\u2019utilisation<\/strong><\/h2>\n<p>Une fois d\u00e9ploy\u00e9e, vous pourrez acc\u00e9der \u00e0 l\u2019application en saisissant son URL dans un navigateur. La page d\u2019accueil d\u2019Apption (A-DAT) ci-dessous s\u2019affichera \u00e0 l\u2019\u00e9cran.<\/p>\n<h3>1re \u00e9tape : se connecter<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19407\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/connect.png\" alt=\"\" width=\"1387\" height=\"912\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/connect.png 1387w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/connect-300x197.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/connect-1024x673.png 1024w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/connect-768x505.png 768w\" sizes=\"auto, (max-width: 1387px) 100vw, 1387px\" \/><\/p>\n<p>Ceci est la page d\u2019accueil de l\u2019application. Vous y saisirez l\u2019information sur le fichier contenant les donn\u00e9es et sur la base de donn\u00e9es de destination. Le bouton \u00ab\u00a0Start Analysis\u00a0\u00bb ne sera activ\u00e9 qu\u2019apr\u00e8s migration compl\u00e8te du fichier de donn\u00e9es. Vous devrez indiquer quel s\u00e9parateur utiliser dans le fichier et pr\u00e9ciser si ce dernier renferme des en-t\u00eates.<\/p>\n<p>La base de donn\u00e9es de destination n\u2019est pas obligatoire, mais vous devez la sp\u00e9cifier\u00a0<em>si\u00a0<\/em>vous voulez y migrer les donn\u00e9es du fichier. Indiquez l\u2019adresse IP de la base de donn\u00e9es interne dans la cha\u00eene \u00ab\u00a0Target\u00a0\u00bb puisque la connexion s\u2019\u00e9tablit \u00e0 l\u2019int\u00e9rieur du nuage. Vous trouverez l\u2019adresse de la base de donn\u00e9es interne sur l\u2019\u00e9cran \u00ab\u00a0Instance Summary\u00a0\u00bb, en s\u00e9lectionnant l\u2019onglet \u00ab\u00a0Network\u00a0\u00bb comme le montre l\u2019image ci-dessous.<\/p>\n<p>Si vous le pr\u00e9f\u00e9rez, vous pouvez aussi analyser les donn\u00e9es sans les charger dans la base de donn\u00e9es.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-39936 size-full\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption13.png\" alt=\"\" width=\"892\" height=\"829\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption13.png 892w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption13-300x279.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption13-768x714.png 768w\" sizes=\"auto, (max-width: 892px) 100vw, 892px\" \/><\/p>\n<p>Si vous le pr\u00e9f\u00e9rez, vous pouvez aussi analyser les donn\u00e9es sans les charger dans la base de donn\u00e9es.<\/p>\n<p>Apr\u00e8s avoir saisi les informations requises, cliquez le bouton \u00ab\u00a0Start Analysis\u00a0\u00bb pour lancer l\u2019analyse. La page qui suit illustre ce qui s\u2019affiche \u00e0 l\u2019\u00e9cran une fois l\u2019op\u00e9ration termin\u00e9e.<\/p>\n<h3>2<sup>e\u00a0<\/sup>\u00e9tape\u00a0: analyser les donn\u00e9es<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19411\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/Analysis.png\" alt=\"\" width=\"1370\" height=\"896\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/Analysis.png 1370w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/Analysis-300x196.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/Analysis-1024x670.png 1024w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/Analysis-768x502.png 768w\" sizes=\"auto, (max-width: 1370px) 100vw, 1370px\" \/><\/p>\n<p>L\u2019\u00e9cran \u00ab\u00a0Analysis\u00a0\u00bb affiche les r\u00e9sultats de l\u2019analyse pr\u00e9liminaire des donn\u00e9es. Les champs apparaissent tous du c\u00f4t\u00e9 gauche. \u00c0 droite figurent les pr\u00e9cisions sur le champ s\u00e9lectionn\u00e9. Vous y verrez notamment son nom, le type de donn\u00e9e (cha\u00eene ou chiffre) et le genre de stockage possible. Les statistiques et un \u00e9chantillon des donn\u00e9es s\u2019affichent compl\u00e8tement \u00e0 droite, ce qui permet d\u2019\u00e9tablir si les donn\u00e9es sont uniques ou pas. L\u2019analyse pr\u00e9liminaire engendre une structure rudimentaire que vous pouvez n\u00e9anmoins retenir. Certains utilisateurs pr\u00e9f\u00e8rent classer les champs de fa\u00e7on plus pr\u00e9cise. Si c\u2019est votre cas, passer \u00e0 l\u2019\u00e9tape suivante en cliquant le bouton \u00ab\u00a0Classify Fields\u00a0\u00bb (invisible sur l\u2019illustration), \u00e0 la fin de la liste des champs, \u00e0 gauche. Apr\u00e8s classification, ce qui suit devrait appara\u00eetre sur l\u2019\u00e9cran.<\/p>\n<h3>3<sup>e\u00a0<\/sup>\u00e9tape\u00a0: classifier les donn\u00e9es<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19413\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/Classification.png\" alt=\"\" width=\"1536\" height=\"891\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/Classification.png 1536w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/Classification-300x174.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/Classification-1024x594.png 1024w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/Classification-768x446.png 768w\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" \/><\/p>\n<p>La liste \u00e0 gauche propose une interpr\u00e9tation plus d\u00e9taill\u00e9e du champ. L\u2019application d\u00e9termine la nature sp\u00e9cifique des donn\u00e9es dans chacun et indique \u00e0 l\u2019utilisateur si le champ contient ou pas des donn\u00e9es sensibles en affichant l\u2019ic\u00f4ne correspondante dans la colonne \u00ab\u00a0Sensitive\u00a0\u00bb. La liste d\u00e9roulante \u00ab\u00a0Data Type\u00a0\u00bb \u00e9num\u00e8re toutes les sortes de donn\u00e9es en fonction de leur probabilit\u00e9. D\u2019autres statistiques s\u2019ajoutent \u00e0 celles qui pr\u00e9c\u00e8dent sous forme de graphique, ce qui permet de voir les donn\u00e9es contenues dans chaque champ. En parcourant la liste, vous verrez aussi un histogramme signalant le degr\u00e9 de probabilit\u00e9 des donn\u00e9es (ici, celui du champ FirstName).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19415\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/Graph.png\" alt=\"\" width=\"621\" height=\"307\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/Graph.png 621w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/Graph-300x148.png 300w\" sizes=\"auto, (max-width: 621px) 100vw, 621px\" \/><\/p>\n<p>\u00c0 ce point, vous pourrez apporter divers ajustements au champ ou au fichier, par exemple\u00a0:<\/p>\n<ul>\n<li>modifier le nom de tableau dans la base de donn\u00e9es;<\/li>\n<li>s\u00e9lectionner les champs \u00e0 importer;<\/li>\n<li>modifier le nom des champs;<\/li>\n<li>changer le type de donn\u00e9es, s\u2019il y a lieu;<\/li>\n<li>changer le type de stockage (servant \u00e0 la production du sch\u00e9ma);<\/li>\n<li>basculer les principaux param\u00e8tres des champs uniques;<\/li>\n<li>\u00e9tablir si un champ peut avoir une valeur nulle.<\/li>\n<\/ul>\n<p>Une fois les modifications termin\u00e9es, cliquez le bouton \u00ab\u00a0<strong>View Schema<\/strong>\u00a0\u00bb pour passer \u00e0 la derni\u00e8re partie du processus, la migration des donn\u00e9es.<\/p>\n<h3>4<sup>e<\/sup>\u00a0\u00e9tape\u00a0: charger les donn\u00e9es<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19417\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/Upload.png\" alt=\"\" width=\"1536\" height=\"940\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/Upload.png 1536w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/Upload-300x184.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/Upload-1024x627.png 1024w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2021\/03\/Upload-768x470.png 768w\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" \/><\/p>\n<h2>Cl\u00f4ture<\/h2>\n<p>Apr\u00e8s avoir franchi ces \u00e9tapes et t\u00e9l\u00e9vers\u00e9 les donn\u00e9es dans la base de donn\u00e9es, vous pouvez arr\u00eater l\u2019application en fermant simplement l\u2019onglet du navigateur. Pour lib\u00e9rer les ressources dans l\u2019ATIR, vous devrez supprimer l\u2019instance Pile et le(s) conteneur(s) que vous avez cr\u00e9\u00e9(s). Il est possible de le faire en une \u00e9tape. Retournez \u00e0 la page <strong>Piles <\/strong>de la console <strong>Cloudformation <\/strong>d\u2019AWS, s\u00e9lectionnez la pile \u00e0 supprimer et cliquez \u00ab\u00a0<strong>Supprimer<\/strong>\u00a0\u00bb.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-39927 size-full\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption11.png\" alt=\"\" width=\"936\" height=\"496\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption11.png 936w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption11-300x159.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/apption11-768x407.png 768w\" sizes=\"auto, (max-width: 936px) 100vw, 936px\" \/><\/p>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\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>Consid\u00e9rations<\/h3>\n                    <h2>Architecture des donn\u00e9es<\/h2>\n<p>La solution est autonome et une base de donn\u00e9es SQL\u00a0Server suffit pour la migration des donn\u00e9es. L\u2019application g\u00e9n\u00e8re la structure de la base de donn\u00e9es, sans lien avec une autre base.<\/p>\n<h3>S\u00e9curit\u00e9 et r\u00e9seau<\/h3>\n<p>La solution s\u2019appuie sur les mesures de s\u00e9curit\u00e9 \u00e9prouv\u00e9es de .Net\u00a0Core (ASP.NET\u00a0Core, Blazor). Les autres consid\u00e9rations d\u00e9pendent de la mani\u00e8re dont le r\u00e9seau est configur\u00e9 et d\u00e9ploy\u00e9. Un seul port d\u2019entr\u00e9e suffit pour acc\u00e9der \u00e0 l\u2019application avec le protocole HTTPS. Nous pr\u00e9conisons d\u2019\u00e9tablir la base de donn\u00e9es de destination sur un r\u00e9seau priv\u00e9 afin de restreindre le nombre de ports ouverts dans le pare-feu.<\/p>\n<p>On configurera les param\u00e8tres du pare-feu du serveur de l\u2019application de mani\u00e8re \u00e0 autoriser la connexion avec les serveurs de la base de donn\u00e9es. Pour effectuer des essais, si SQL\u00a0Server et l\u2019application se trouvent dans des conteneurs Docker distincts, il conviendrait d\u2019ouvrir les ports 80 et 1433 afin qu\u2019ils communiquent entre eux.<\/p>\n<h3>Mise \u00e0 l\u2019\u00e9chelle<\/h3>\n<p>La solution est con\u00e7ue pour utiliser de nombreux c\u0153urs et exploiter efficacement les UCT afin d\u2019\u00e9quilibrer la charge de travail. Plus le fichier est petit, plus il sera trait\u00e9 et charg\u00e9 rapidement. Les donn\u00e9es sont t\u00e9l\u00e9vers\u00e9es en vrac dans la base pour une insertion optimale. N\u00e9anmoins, il est possible de modifier cette m\u00e9thode dans le code afin d\u2019autoriser une insertion normale et accommoder des bases de donn\u00e9es configur\u00e9es autrement.<\/p>\n<h3>Disponibilit\u00e9<\/h3>\n<p>L\u2019application utilise une infrastructure Web standard et acceptera des pare-feu et r\u00e9partiteurs de charge ce qui en accro\u00eetra la disponibilit\u00e9 gr\u00e2ce \u00e0 des serveurs multiples.<\/p>\n<h3>Interface utilisateur (IU)<\/h3>\n<p>L\u2019interface utilisateur a \u00e9t\u00e9 b\u00e2tie avec Materialize (<a href=\"https:\/\/materializecss.com\/\">https:\/\/materializecss.com<\/a>). Pour la modifier, il faudrait donc recourir \u00e0 ce logiciel. L\u2019adjonction d\u2019autres interfaces de conception ouvertes comme Bootstrap est une possibilit\u00e9, mais la chose pourrait s\u2019av\u00e9rer difficile car l\u2019application suit d\u2019autres normes CSS.<\/p>\n<h3>API<\/h3>\n<p>L\u2019efficacit\u00e9 de l\u2019application r\u00e9side dans sa capacit\u00e9 d\u2019analyser les champs et d\u2019\u00e9tablir la nature des donn\u00e9es qui s\u2019y trouvent. Pour l\u2019instant, la solution regroupe 30 identificateurs de donn\u00e9es.<\/p>\n<p>Pour augmenter le nombre d\u2019identificateurs, ajoutez une nouvelle classe au projet d\u2019identification (RecognizerTools) en proc\u00e9dant comme suit.<\/p>\n<ol>\n<li>Copiez et collez TemplateRecognizer.cs et lui donnant le nom que vous d\u00e9sirez.<\/li>\n<li>Ouvrez le nouvel identificateur et remplacez les attributs (StorageTypes) par ceux du type de stockage envisag\u00e9, puis modifiez la valeur de retour dans la fonction GetDescription() avec le nom de l\u2019identificateur.<\/li>\n<li>Adaptez les interfaces d\u2019apr\u00e8s les caract\u00e9ristiques du nouvel identificateur.\n<ol>\n<li>Interface de base\u00a0: INumberRecognizer, ILetterRecognizer, ILetterWithNumberRecognizer<\/li>\n<li>Interface de longueur\u00a0: IShortStringRecognizer (0,4], IMediumStringRecognizer (4,11), ILongStringRecognizer [11,\u2026)<\/li>\n<li>Interface de sensibilit\u00e9\u00a0: ISensitiveRecognizer<\/li>\n<li>Vous devez choisir une des interfaces de base et une ou plusieurs interfaces de longueur. Utilisez l\u2019interface de sensibilit\u00e9 selon la nature de l\u2019identificateur.<\/li>\n<\/ol>\n<\/li>\n<li>Appliquez l\u2019algorithme correspondant dans la fonction ValidateData().<\/li>\n<li>(Facultatif) \u2013 Adaptez le graphique des donn\u00e9es en modifiant la fonction GetStatus() et en rempla\u00e7ant la m\u00e9thode de collecte des donn\u00e9es par la v\u00f4tre dans la fonction IncrementStats().\n<ol>\n<li>Examinez MoneyRecognizer.cs pour en savoir plus.<\/li>\n<li>C\u2019est la longueur des donn\u00e9es qui est d\u00e9termin\u00e9e par d\u00e9faut.<\/li>\n<\/ol>\n<\/li>\n<li>Ajoutez le nouveau DataType \u00e0 la liste (DataTools.ColumnMetadata.cs)<\/li>\n<\/ol>\n<h3>Co\u00fbt<\/h3>\n<p>Dans un environnement de d\u00e9veloppement, la solution devrait co\u00fbter environ 100\u00a0$ par mois, si la base de donn\u00e9es et le serveur Web sont h\u00e9berg\u00e9s sur une grande image EC2 T2 et fonctionnent en permanence.<\/p>\n<p>Dans un environnement de production, on devra ajouter d\u2019autres n\u0153uds et \u00e9quilibrer la charge. Chaque n\u0153ud suppl\u00e9mentaire (petit EC2 T2) devrait co\u00fbter environ 20\u00a0$ par mois.<\/p>\n<h3>Licence d\u2019exploitation<\/h3>\n<p>The license of the project is The Mozilla Public License v2. All the dependent libraries from Nuget are under compatible licenses.<\/p>\n<h2>Code source<\/h2>\n<p>Vous trouverez le code source dans le d\u00e9p\u00f4t <a href=\"https:\/\/github.com\/DAIR-ATIR-Code\/Apption---Cloud-Data-Tools\">DAIR Github<\/a>. Il est assorti de la licence\u00a0<a href=\"https:\/\/www.mozilla.org\/en-US\/MPL\/2.0\/\" target=\"_blank\" rel=\"noopener noreferrer\">Mozilla Public License V2<\/a>.<\/p>\n                    <div class=\"button-group\">\n              \t\t\t\t  \t<a class=\"button-border-blue\" href=\"https:\/\/www.canarie.ca\/fr\/nuage\/propulseurs\/catalogue\/plan-de-vol-outil-devaluation-des-donnees-apption\/\" target=\"_self\">Plan de vol <\/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\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Solution type : Outil d\u2019\u00e9valuation des donn\u00e9es Apption Si ce n\u2019est d\u00e9j\u00e0 fait, lisez le Plan de vol du Propulseur [&hellip;]<\/p>\n","protected":false},"author":19,"featured_media":0,"parent":18627,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-19373","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 : Outil d\u2019\u00e9valuation des donn\u00e9es Apption - 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-outil-devaluation-des-donnees-apption\/solution-type-outil-devaluation-des-donnees-apption\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Solution type : Outil d\u2019\u00e9valuation des donn\u00e9es Apption - CANARIE\" \/>\n<meta property=\"og:description\" content=\"Solution type : Outil d\u2019\u00e9valuation des donn\u00e9es Apption Si ce n\u2019est d\u00e9j\u00e0 fait, lisez le Plan de vol du Propulseur [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-outil-devaluation-des-donnees-apption\/solution-type-outil-devaluation-des-donnees-apption\/\" \/>\n<meta property=\"og:site_name\" content=\"CANARIE\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-30T13:50:41+00:00\" \/>\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-outil-devaluation-des-donnees-apption\\\/solution-type-outil-devaluation-des-donnees-apption\\\/\",\"url\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/nuage\\\/catalogue\\\/plan-de-vol-outil-devaluation-des-donnees-apption\\\/solution-type-outil-devaluation-des-donnees-apption\\\/\",\"name\":\"Solution type : Outil d\u2019\u00e9valuation des donn\u00e9es Apption - CANARIE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.canarie.ca\\\/#website\"},\"datePublished\":\"2021-03-09T19:50:46+00:00\",\"dateModified\":\"2024-10-30T13:50:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/nuage\\\/catalogue\\\/plan-de-vol-outil-devaluation-des-donnees-apption\\\/solution-type-outil-devaluation-des-donnees-apption\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/nuage\\\/catalogue\\\/plan-de-vol-outil-devaluation-des-donnees-apption\\\/solution-type-outil-devaluation-des-donnees-apption\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/nuage\\\/catalogue\\\/plan-de-vol-outil-devaluation-des-donnees-apption\\\/solution-type-outil-devaluation-des-donnees-apption\\\/#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 : Outil d\u2019\u00e9valuation des donn\u00e9es Apption\",\"item\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/nuage\\\/catalogue\\\/plan-de-vol-outil-devaluation-des-donnees-apption\\\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Solution type : Outil d\u2019\u00e9valuation des donn\u00e9es Apption\"}]},{\"@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 : Outil d\u2019\u00e9valuation des donn\u00e9es Apption - 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-outil-devaluation-des-donnees-apption\/solution-type-outil-devaluation-des-donnees-apption\/","og_locale":"fr_FR","og_type":"article","og_title":"Solution type : Outil d\u2019\u00e9valuation des donn\u00e9es Apption - CANARIE","og_description":"Solution type : Outil d\u2019\u00e9valuation des donn\u00e9es Apption Si ce n\u2019est d\u00e9j\u00e0 fait, lisez le Plan de vol du Propulseur [&hellip;]","og_url":"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-outil-devaluation-des-donnees-apption\/solution-type-outil-devaluation-des-donnees-apption\/","og_site_name":"CANARIE","article_modified_time":"2024-10-30T13:50:41+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-outil-devaluation-des-donnees-apption\/solution-type-outil-devaluation-des-donnees-apption\/","url":"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-outil-devaluation-des-donnees-apption\/solution-type-outil-devaluation-des-donnees-apption\/","name":"Solution type : Outil d\u2019\u00e9valuation des donn\u00e9es Apption - CANARIE","isPartOf":{"@id":"https:\/\/www.canarie.ca\/#website"},"datePublished":"2021-03-09T19:50:46+00:00","dateModified":"2024-10-30T13:50:41+00:00","breadcrumb":{"@id":"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-outil-devaluation-des-donnees-apption\/solution-type-outil-devaluation-des-donnees-apption\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-outil-devaluation-des-donnees-apption\/solution-type-outil-devaluation-des-donnees-apption\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-outil-devaluation-des-donnees-apption\/solution-type-outil-devaluation-des-donnees-apption\/#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 : Outil d\u2019\u00e9valuation des donn\u00e9es Apption","item":"https:\/\/www.canarie.ca\/fr\/nuage\/catalogue\/plan-de-vol-outil-devaluation-des-donnees-apption\/"},{"@type":"ListItem","position":5,"name":"Solution type : Outil d\u2019\u00e9valuation des donn\u00e9es Apption"}]},{"@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\/19373","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\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/www.canarie.ca\/fr\/wp-json\/wp\/v2\/comments?post=19373"}],"version-history":[{"count":5,"href":"https:\/\/www.canarie.ca\/fr\/wp-json\/wp\/v2\/pages\/19373\/revisions"}],"predecessor-version":[{"id":44509,"href":"https:\/\/www.canarie.ca\/fr\/wp-json\/wp\/v2\/pages\/19373\/revisions\/44509"}],"up":[{"embeddable":true,"href":"https:\/\/www.canarie.ca\/fr\/wp-json\/wp\/v2\/pages\/18627"}],"wp:attachment":[{"href":"https:\/\/www.canarie.ca\/fr\/wp-json\/wp\/v2\/media?parent=19373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}