{"id":35540,"date":"2022-11-14T09:59:50","date_gmt":"2022-11-14T14:59:50","guid":{"rendered":"https:\/\/www.canarie.ca\/?page_id=35540"},"modified":"2024-10-30T09:46:02","modified_gmt":"2024-10-30T13:46:02","slug":"solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique","status":"publish","type":"page","link":"https:\/\/www.canarie.ca\/fr\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\/","title":{"rendered":"Solution type  :  Une plateforme en nuage de renseignement g\u00e9ospatial avec apprentissage automatique"},"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\/11\/ESI-machine-learning-Facebook-Cover-Album-Cover-1.gif); 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>Le Propulseur GAIT (Geospatial-AI lnformation Toolbox)<\/h1>\n<h2>Une plateforme en nuage de renseignement g\u00e9ospatial avec apprentissage automatique.<\/h2>\n<p>Solution type par <a href=\"https:\/\/ecosinfo.ca\/\">Ecosystem Informatics Inc.\u2122<\/a><\/p>\n<\/div>\n                      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:800;text-transform:uppercase\">Introduction<\/h2>\n\n\n\n<p>La Solution type du Propulseur GAIT (<em>Geospatial-AI lnformation Toolbox<\/em>) est une plateforme en nuage de renseignement g\u00e9ospatial avec apprentissage automatique (AA). Elle montre comment Ecosystem Informatics Inc. a b\u00e2ti une plateforme en nuage modulaire et adaptable pour servir d\u2019alternative aux logiciels commerciaux plus on\u00e9reux.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00c9nonc\u00e9 du probl\u00e8me<\/h3>\n\n\n\n<p>Beaucoup d\u2019applications intelligentes utilisant les m\u00e9gadonn\u00e9es et pourvues de capacit\u00e9s associ\u00e9es au renseignement g\u00e9ospatial recourent \u00e0 de multiples \u00e9l\u00e9ments d\u2019infrastructure comme une base de donn\u00e9es pour stocker ces derni\u00e8res, des d\u00e9p\u00f4ts de code source pour l\u2019intelligence artificielle (IA) et d\u2019autres modules de traitement des donn\u00e9es, un moteur de visualisation pour reporter les donn\u00e9es g\u00e9ospatiales sur une carte et ainsi de suite.<\/p>\n\n\n\n<p>On a nettement besoin d\u2019une plateforme en nuage de source ouverte r\u00e9unissant plusieurs de ces \u00e9l\u00e9ments de base, assortie d\u2019une architecture de microservices qui autoriserait la mise \u00e0 l\u2019\u00e9chelle et la modularit\u00e9 des diff\u00e9rents composants. Parall\u00e8lement, on doit pouvoir int\u00e9grer et d\u00e9ployer le code efficacement dans le nuage. Plusieurs types d\u2019entreprises et d\u2019industries \u00e9prouvent ce besoin.<\/p>\n\n\n\n<p>Les m\u00e9thodes classiques pour y arriver comprennent l\u2019installation s\u00e9par\u00e9e des composants requis, t\u00e2che \u00e0 la fois laborieuse et on\u00e9reuse quand il faut recourir \u00e0 des logiciels commerciaux et \u00e0 des services de donn\u00e9es. Par ailleurs, les applications qu\u2019utilisent les analystes SIG interdisent souvent le partage et l\u2019exploitation des donn\u00e9es \u00e0 cause de la fa\u00e7on dont celles-ci sont format\u00e9es. On pourrait opter pour plusieurs applications ind\u00e9pendantes, mal int\u00e9gr\u00e9es, ou pour des applications qui le sont extr\u00eamement tel ESRI, avec des plans SaaP et DaaP co\u00fbteux, susceptibles de rebuter les jeunes entreprises.<\/p>\n\n\n\n<p>La Solution type est gratuite. De source ouverte, elle a \u00e9t\u00e9 con\u00e7ue pour \u00eatre souple et comprend un algorithme AA modulaire qui analyse directement les donn\u00e9es. Les formats de donn\u00e9es employ\u00e9s peuvent \u00eatre export\u00e9s vers plusieurs logiciels de cartographie comme ArcGIS, Google Maps ou QGIS. Affranchie du format des donn\u00e9es, la plateforme non seulement simplifie le d\u00e9ploiement, mais facilite aussi l\u2019int\u00e9gration avec d\u2019autres logiciels de source ouverte tout en r\u00e9duisant l\u2019obstacle financier que repr\u00e9sente le lancement de produits qui ont besoin d\u2019un SIG pour g\u00e9rer les donn\u00e9es, les traiter et prendre des d\u00e9cisions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:800;text-transform:uppercase\">Aper\u00e7u<\/h2>\n\n\n\n<p>La Solution type comprend un moteur dorsal qui incorpore ce qui suit&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>l\u2019apprentissage automatique;<\/li>\n\n\n\n<li>des modules pout analyser et visualiser les donn\u00e9es g\u00e9ospatiales;<\/li>\n\n\n\n<li>une application frontale pour le d\u00e9ploiement sur le Web;<\/li>\n\n\n\n<li>une base de donn\u00e9es fusionn\u00e9e avec Docker pour les interventions sur les donn\u00e9es;<\/li>\n\n\n\n<li>une architecture de microservices sous forme de conteneurs.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<div style=\"height:59px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"GeospatialIntelligenceOverview\" style=\"font-style:normal;font-weight:800;text-transform:uppercase\">Diagramme de la Solution type<\/h2>\n\n\n\n<p>La structure de la Solution type est illustr\u00e9e dans le diagramme qui suit.<\/p>\n\n\n\n<div class=\"wp-block-columns alignwide has-light-grey-background-color has-background is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<h4 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:400;text-transform:uppercase\">Cloud Infrastructure<\/h4>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"947\" height=\"1024\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-1_FR-947x1024.png\" alt=\"\" class=\"wp-image-35632\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-1_FR-947x1024.png 947w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-1_FR-278x300.png 278w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-1_FR-768x830.png 768w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-1_FR-1421x1536.png 1421w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-1_FR-1895x2048.png 1895w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-1_FR-1920x2075.png 1920w\" sizes=\"auto, (max-width: 947px) 100vw, 947px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignfull are-vertically-aligned-center has-light-cyan-background-color has-background is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<h4 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:400\">WORKFLOW<\/h4>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"699\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-2_FR-2-1024x699.png\" alt=\"\" class=\"wp-image-35639\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-2_FR-2-1024x699.png 1024w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-2_FR-2-300x205.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-2_FR-2-768x524.png 768w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-2_FR-2-1536x1049.png 1536w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-2_FR-2-2048x1399.png 2048w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-2_FR-2-1920x1311.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:29px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:800;text-transform:uppercase\">Description des \u00e9l\u00e9ments<\/h2>\n\n\n\n<p>Voici un r\u00e9sum\u00e9 des principaux composants de la Solution type.<\/p>\n\n\n\n<p><strong>Une application Flask en Python incluant ce qui suit.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Un module frontal b\u00e2ti avec Dash de Plotly (en Python). Il est \u00e0 la base de l\u2019analyse des donn\u00e9es et de leur visualisation g\u00e9ospatiale. Dash pr\u00e9sente plusieurs avantages&nbsp;: ses applications s\u2019ex\u00e9cutent dans un navigateur Web; on peut aussi les d\u00e9ployer sur des machines virtuelles ou des grappes <a href=\"https:\/\/plotly.com\/dash\/kubernetes\/\">Kubernetes puis les partager avec un <\/a>URL. Puisque ses applications sont visionn\u00e9es dans le navigateur Web, Dash est par d\u00e9finition adapt\u00e9 \u00e0 une vari\u00e9t\u00e9 de diverses plateformes et aux applications mobiles.<\/li>\n\n\n\n<li>Un module d\u2019acc\u00e8s Flask-Login (en Python) et une simple base de donn\u00e9es SQLITE pour stocker les donn\u00e9es servant \u00e0 authentifier l\u2019utilisateur. Ce module pourrait \u00eatre remplac\u00e9 par un syst\u00e8me d\u2019acc\u00e8s plus complexe comme Auth0, Okta ou AWS Cognito, ou par un module d\u2019authentification JWT cr\u00e9\u00e9 sur mesure.<\/li>\n<\/ul>\n\n\n\n<p><strong>Un module d\u2019apprentissage automatique (en Python) venant avec deux algorithmes distincts.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Un algorithme supervis\u00e9 (ANN avec LSTM)<\/li>\n\n\n\n<li>Un algorithme sans supervision (partitionnement en K-moyennes)<\/li>\n\n\n\n<li>Ces algorithmes pourraient \u00eatre remplac\u00e9s par d\u2019autres ou on pourrait les adapter encore plus en fonction de l\u2019application (tant et aussi longtemps qu\u2019on ne modifie pas le format des entr\u00e9es et des sorties).<\/li>\n<\/ul>\n\n\n\n<p><strong>MongoDB, un module \u00e0 base de donn\u00e9es NOSQL pour stocker les donn\u00e9es<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>MongoDB fonctionne n\u2019importe o\u00f9, sur un ordinateur portable comme dans un centre de donn\u00e9es, ce qui le rend extr\u00eamement souple. MongoDB propose aussi une solution en nuage \u00e0 gestion int\u00e9grale permettant de b\u00e2tir plus vite les applications et de les d\u00e9velopper davantage. Plusieurs biblioth\u00e8ques Python interagissent avec la base de donn\u00e9es Mongo (pymongo, utilis\u00e9e dans la Solution type, est la plus populaire)<\/li>\n<\/ul>\n\n\n\n<p><strong>Un module pour serveur Web reposant sur NGINX, logiciel de source ouverte pour les services Web, la procuration invers\u00e9e, la mise en ant\u00e9m\u00e9moire, l\u2019\u00e9quilibrage de la charge, le visionnement en continu et plus.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>D\u2019abord con\u00e7u comme serveur Web pour une performance et une stabilit\u00e9 maximales, ce logiciel est devenu extr\u00eamement populaire en raison de son empreinte l\u00e9g\u00e8re et de sa capacit\u00e9 \u00e0 s\u2019adapter \u00e0 un mat\u00e9riel minimaliste.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Les composants qui pr\u00e9c\u00e8dent sont tous emball\u00e9s dans une architecture de microservices reposant sur Docker, logiciel permettant de cr\u00e9er un conteneur distinct pour chaque service (interface frontale, IA, Mongo, NGINX), d\u2019o\u00f9 son avantage magistral&nbsp;: la portabilit\u00e9<\/p>\n\n\n\n<p>Apr\u00e8s avoir test\u00e9 l\u2019application en conteneur, vous pourrez la d\u00e9ployer dans n\u2019importe quel syst\u00e8me sur lequel fonctionne Docker et \u00eatre s\u00fbr que l\u2019application s\u2019ex\u00e9cutera exactement comme quand vous l\u2019avez essay\u00e9e.<\/p>\n\n\n\n<p>La portabilit\u00e9 et la performance qu\u2019assure la mise en conteneurs rendront le processus de d\u00e9veloppement plus agile et plus r\u00e9actif. Am\u00e9liorer en permanence les processus d\u2019int\u00e9gration et d\u2019ex\u00e9cution afin de profiter des conteneurs et de la technologie, comme les Enterprise Developer Build Tools pour Windows, vous permettra d\u2019installer le logiciel ad\u00e9quat au moment voulu.<\/p>\n\n\n\n<p>Le conteneur Docker renfermant une de vos applications inclura aussi les versions pertinentes du logiciel dont elle a besoin. Que d\u2019autres conteneurs Docker abritent des applications maison n\u00e9cessitant une version diff\u00e9rente du m\u00eame logiciel ne soul\u00e8ve donc aucune difficult\u00e9; les conteneurs Docker sont totalement ind\u00e9pendants les uns des autres.<\/p>\n\n\n\n<p>En traversant les diff\u00e9rentes \u00e9tapes du cycle de d\u00e9veloppement, vous n\u2019aurez donc aucune crainte que l\u2019image cr\u00e9\u00e9e fonctionne autrement que lors des essais, jusqu\u2019\u00e0 ce que vous la proposiez \u00e9ventuellement aux utilisateurs.<\/p>\n\n\n\n<p>Si la demande l\u2019exige, il est possible de cr\u00e9er rapidement de nouveaux conteneurs pour vos applications. Une gamme d\u2019options permet de g\u00e9rer l\u2019usage de multiples conteneurs. Parcourez la documentation de Docker pour en savoir plus.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Ce que vous devriez avoir fait avant de d\u00e9ployer la solution type<\/h2>\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 donnant acc\u00e8s 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\n<h2 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:800;text-transform:uppercase\">D\u00e9ploiement et configuration<\/h2>\n\n\n\n<p>Vous aurez besoin d\u2019un compte sur l\u2019ATIR pour d\u00e9ployer le Propulseur GAIT dans le nuage. L\u2019application est d\u00e9ploy\u00e9e sur une instance Linux.<\/p>\n\n\n\n<p>De la page du <a href=\"https:\/\/www.canarie.ca\/fr\/nuage\/propulseurs\/\">Catalogue des Propulseurs de l\u2019ATIR<\/a>, allez au Propulseur d\u2019Ecosystem Informatics puis cliquez <strong>D\u00c9PLOYER<\/strong> pour le lancer avec la pile AWS CloudFormation.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"276\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esfi-6.png\" alt=\"\" class=\"wp-image-39707\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esfi-6.png 624w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esfi-6-300x133.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n<\/div>\n\n\n<p>Cela fait, cliquez <strong>Suivant<\/strong> pour passer \u00e0 la deuxi\u00e8me \u00e9tape de Cloudformation 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 ApplicationImage et InstanceType sont d\u00e9j\u00e0 configur\u00e9s et ne peuvent \u00eatre modifi\u00e9s.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"540\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esfi-5-1024x540.png\" alt=\"\" class=\"wp-image-39705\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esfi-5-1024x540.png 1024w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esfi-5-300x158.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esfi-5-768x405.png 768w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esfi-5.png 1385w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>Cliquez <strong>SUIVANT<\/strong> pour passer \u00e0 la troisi\u00e8me \u00e9tape de CloudFormation. 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\n\n\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\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"549\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esfi-4-1024x549.png\" alt=\"\" class=\"wp-image-39703\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esfi-4-1024x549.png 1024w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esfi-4-300x161.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esfi-4-768x411.png 768w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esfi-4.png 1329w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\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\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"325\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esfi-3-1024x325.png\" alt=\"\" class=\"wp-image-39701\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esfi-3-1024x325.png 1024w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esfi-3-300x95.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esfi-3-768x244.png 768w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esfi-3.png 1402w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p><strong>Remarque&nbsp;:<\/strong> notez l\u2019adresse IP qui appara\u00eet sur l\u2019onglet<strong> Sorties<\/strong> de la page 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\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"301\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esif-2-1024x301.png\" alt=\"\" class=\"wp-image-39699\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esif-2-1024x301.png 1024w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esif-2-300x88.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esif-2-768x226.png 768w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esif-2.png 1430w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lancement<\/h2>\n\n\n\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&nbsp;:<\/p>\n\n\n\n<p>&gt;ssh -i key_file.pem ubuntu@IP<\/p>\n\n\n\n<p>Remplacez \u00ab&nbsp;key_file&nbsp;\u00bb par la cl\u00e9 priv\u00e9e de la bicl\u00e9 SSH choisie sur le formulaire des param\u00e8tres de configuration CloudFormation et remplacez \u00ab&nbsp;IP&nbsp;\u00bb par l\u2019adresse IP fournie, que vous avez pr\u00e9c\u00e9demment not\u00e9e.<\/p>\n\n\n\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&nbsp;:<\/p>\n\n\n\n<p><kbd>&gt;source \/etc\/profile.d\/boosterpack.sh<\/kbd><\/p>\n\n\n\n<p><kbd>&gt;tail -f \/var\/log\/boosterpack.log<\/kbd><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"916\" height=\"416\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esif-1.png\" alt=\"\" class=\"wp-image-39697\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esif-1.png 916w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esif-1-300x136.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2023\/08\/esif-1-768x349.png 768w\" sizes=\"auto, (max-width: 916px) 100vw, 916px\" \/><\/figure>\n<\/div>\n\n\n<p>Le d\u00e9ploiement dure en moyenne dix \u00e0 quinze minutes, script d\u2019automatisation inclus. L\u2019application d\u00e9marre automatiquement apr\u00e8s l\u2019instanciation.<\/p>\n\n\n\n<p>Pendant ce temps\u2026<\/p>\n\n\n\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 par d\u00e9faut s\u00e9lectionn\u00e9 lors du param\u00e9trage de la console CloudFormation.<\/p>\n\n\n\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\n\n\n<p>Assurez-vous que le groupe de s\u00e9curit\u00e9 choisi pour cette MV comprend des r\u00e8gles entrantes qui donneront acc\u00e8s au port&nbsp;22 (SSH) et au port&nbsp;80 (HTTP) \u00e0 partir de l\u2019adresse IP externe, afin que vous seul puissiez acc\u00e9der \u00e0 la MV.<\/p>\n\n\n\n<p>Pour v\u00e9rifier si l\u2019application du Propulseur a \u00e9t\u00e9 d\u00e9ploy\u00e9e et fonctionne correctement, ex\u00e9cutez la commande Docker qui suit sur le terminal du serveur de l\u2019application&nbsp;:<\/p>\n\n\n\n<p><kbd>&gt;docker images<\/kbd><\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"160\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/image-5.png\" alt=\"\" class=\"wp-image-35390\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/image-5.png 975w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/image-5-300x49.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/image-5-768x126.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p><kbd>&gt;docker ps<\/kbd><\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"100\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/image-6.png\" alt=\"\" class=\"wp-image-35392\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/image-6.png 975w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/image-6-300x31.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/image-6-768x79.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>Pour acc\u00e9der \u00e0 l\u2019interface utilisateur, saisissez l\u2019adresse IP externe dans un navigateur avec le port d\u00e9sign\u00e9 (port 80) comme suit&nbsp;:<strong> <\/strong><kbd>&lt;adresse.IP.externe&gt;:80<\/kbd><\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-columns has-dark-grey-color has-light-cyan-background-color has-text-color has-background is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<p class=\"has-text-align-right has-dark-grey-color has-text-color\"><mark style=\"background-color:#393D3F\" class=\"has-inline-color has-light-cyan-color\">Identifiants par d\u00e9faut<\/mark><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<ul class=\"wp-block-list\">\n<li><strong>Nom d\u2019utilisateur&nbsp;:<\/strong> admin_test<\/li>\n\n\n\n<li><strong>Mot de passe&nbsp;:<\/strong> password<\/li>\n\n\n\n<li><strong>Courriel&nbsp;:<\/strong> admin@sample.com<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:700;text-transform:uppercase\">Survol de l\u2019application<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"495\" src=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/image-7.png\" alt=\"\" class=\"wp-image-35409\" srcset=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/image-7.png 975w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/image-7-300x152.png 300w, https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/image-7-768x390.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n<\/div>\n\n\n<p>La saisie d\u2019\u00e9cran ci-dessus illustre l\u2019interface utilisateur avec le panneau de commande fonctionnel, \u00e0 gauche, et la visualisation, \u00e0 droite. Dans cette derni\u00e8re, l\u2019\u00e9tiquette <em>variable_1<\/em> correspond \u00e0 l\u2019entit\u00e9 qu\u2019on souhaite pr\u00e9dire et voir. Elle fait partie du type de fichier qu\u2019il faut t\u00e9l\u00e9verser, mais peut repr\u00e9senter n\u2019importe quoi, selon les donn\u00e9es qui ont \u00e9t\u00e9 emmagasin\u00e9e. S\u2019il s\u2019agissait d\u2019immobilier, par exemple, <em>variable_1<\/em> pourrait correspondre au prix des habitations; en sciences polici\u00e8res, elle pourrait repr\u00e9senter le nombre de cambriolages.<\/p>\n\n\n\n<p>Cette application pour navigateur effectue plusieurs fonctions importantes, d\u00e9crites en d\u00e9tail plus bas.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" style=\"text-transform:uppercase\">(1) Panneau de commande fonctionnel<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Menu d\u00e9roulant Dataset Selection et bouton Load<\/h5>\n\n\n\n<p>Ils permettent de choisir le jeu de donn\u00e9es sur lequel l\u2019utilisateur souhaite travailler. Cliquer le bouton <strong>Load<\/strong> charge le jeu de donn\u00e9es en question dans l\u2019application.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Fichier Demo<\/h5>\n\n\n\n<p>Ce fichier fait partie de la Solution type. C\u2019est lui qui sert d\u2019\u00e9chantillon par d\u00e9faut quand on utilise les identifiants mentionn\u00e9s plus haut. Apr\u00e8s ouverture de la s\u00e9ance, l\u2019utilisateur peut, \u00e0 son gr\u00e9, choisir le fichier <em>Demo <\/em>dans le menu d\u00e9roulant et en charger le donn\u00e9es avec le bouton <strong>Load<\/strong> ou t\u00e9l\u00e9verser ses propres donn\u00e9es dans le format indiqu\u00e9 (voir le tableau ci-dessous). Apr\u00e8s t\u00e9l\u00e9versement, on charge le fichier en le s\u00e9lectionnant dans le menu d\u00e9roulant.<\/p>\n\n\n\n<p>Le fichier <em>Demo <\/em>rassemble les donn\u00e9es publiques sur les d\u00e9placements effectu\u00e9s avec Divvy, r\u00e9seau de bicyclettes collectives de la r\u00e9gion de Chicago. Les donn\u00e9es viennent du site <a href=\"https:\/\/ride.divvybikes.com\/system-data\">https:\/\/ride.divvybikes.com\/system-data<\/a>. <\/p>\n\n\n\n<p>Ces donn\u00e9es sont constitu\u00e9es comme suit&nbsp;:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<p class=\"has-text-align-right\">Donn\u00e9es spatiales<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<ul class=\"wp-block-list\">\n<li>Station de d\u00e9part (nom, ID, latitude et longitude)<\/li>\n\n\n\n<li>Station d\u2019arriv\u00e9e (nom, ID, latitude et longitude)<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<p class=\"has-text-align-right\">Donn\u00e9es temporelles<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<ul class=\"wp-block-list\">\n<li>Journ\u00e9e et heure de d\u00e9part<\/li>\n\n\n\n<li>Journ\u00e9e et heure d\u2019arriv\u00e9e<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<p class=\"has-text-align-right\">Autres donn\u00e9es<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<ul class=\"wp-block-list\">\n<li>Type d\u2019utilisateur (membre, voyage unique, passeport quotidien)<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<p>Les donn\u00e9es ont \u00e9t\u00e9 modifi\u00e9es pour que leur format convienne \u00e0 cet outil (voir ci-dessous).<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes no-search align-top\"><table><thead><tr><th><strong>lat<\/strong><\/th><th><strong>lng<\/strong><\/th><th><strong><em>variable_1<\/em><\/strong><\/th><th><strong>varriable_1_id<\/strong><\/th><th><strong><em>variable_1<\/em>_name<\/strong><\/th><th><strong>date<\/strong><\/th><\/tr><\/thead><tbody><tr><td><\/td><td><\/td><td><\/td><td><\/td><td><\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Dans notre exemple&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><em>lat<\/em><\/strong> and <strong><em>lng<\/em><\/strong> \u2013 latitude et longitude de la station de d\u00e9part;<\/li>\n\n\n\n<li><strong><em>variable_1<\/em><\/strong> \u2013 nombre de d\u00e9placements ayant la m\u00eame station comme point de d\u00e9part;<\/li>\n\n\n\n<li><strong><em>variable_1_id <\/em><\/strong>\u2013 num\u00e9ro d\u2019identit\u00e9 de la station;<\/li>\n\n\n\n<li><strong><em>variable_1_name <\/em><\/strong>\u2013 nom de la station;<\/li>\n\n\n\n<li><strong><em>date <\/em><\/strong>\u2013 date correspondant au nombre de d\u00e9placements effectu\u00e9s \u00e0 partir de cette station.<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">Date Options<\/h5>\n\n\n\n<p>Permet \u00e0 l\u2019utilisateur de choisir une plage de dates dans les donn\u00e9es charg\u00e9es. Cette fonction permet d\u2019analyser ou de visualiser les donn\u00e9es d\u2019apr\u00e8s telle ou telle date, si on le d\u00e9sire.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">AI prediction options<\/h5>\n\n\n\n<p>On peut recourir \u00e0 plusieurs algorithmes IA pour analyser les donn\u00e9es spatiales et temporelles. La Solution type applique la technique fondamentale du r\u00e9seau neuronal pour pr\u00e9dire les valeurs futures de la s\u00e9rie chronologique \u00e0 partir des valeurs existantes. L\u2019application permet \u00e0 l\u2019utilisateur de saisir n\u2019importe quel entier comme valeur, c\u2019est-\u00e0-dire le nombre de futurs points dans la s\u00e9rie chronologique que doit pr\u00e9dire l\u2019algorithme IA. En cliquant le bouton, la visualisation (les graphiques) sera automatiquement actualis\u00e9e en fonction du nombre saisi.<\/p>\n\n\n\n<p>On peut se servir des pr\u00e9visions IA de deux fa\u00e7ons.<\/p>\n\n\n\n<ol class=\"wp-block-list\" style=\"list-style-type:1\">\n<li>En s\u00e9lectionnant une bulle quelconque sur la carte pour pr\u00e9voir le nombre de d\u00e9placements futurs (<em>variable_1<\/em>) partant de cette station (<em>variable_1_id<\/em>)<\/li>\n\n\n\n<li>En tra\u00e7ant une zone incluant de nombreuses bulles avec l\u2019outil de dessin polygonal sur la carte pour pr\u00e9voir le nombre de d\u00e9placements futurs (somme des <em>variable_1<\/em> des bulles ou stations) dans la zone s\u00e9lectionn\u00e9e<\/li>\n<\/ol>\n\n\n\n<h5 class=\"wp-block-heading\">AI clustering options<\/h5>\n\n\n\n<p>Divers algorithmes IA permettent d\u2019analyser les jeux de donn\u00e9es spatiales et temporelles. L\u2019un d\u2019eux est l\u2019algorithme de <em>partitionnement par k-moyennes<\/em>. Le partitionnement est le proc\u00e9d\u00e9 qui consiste \u00e0 diviser une population ou un ensemble de points de donn\u00e9es en nombreux groupes afin que les points de donn\u00e9es du groupe&nbsp;A se ressemblent plus entre eux qu\u2019aux points de donn\u00e9es des groupes B \u00e0 Z.<\/p>\n\n\n\n<p>L\u2019id\u00e9e est de s\u00e9parer les valeurs aux propri\u00e9t\u00e9s similaires afin de cr\u00e9er des groupes. L\u2019algorithme <em>k-moyennes<\/em> cherche les donn\u00e9es analogues, la variable <em>k<\/em> correspondant au nombre de groupes \u00e0 cr\u00e9er. Le partitionnement nous aide \u00e0 mieux comprendre les donn\u00e9es en les r\u00e9unissant ou en les s\u00e9parant en groupes. Le <em>partitionnement par k-moyennes<\/em> peut s\u2019appliquer \u00e0 tous les domaines, ou presque, des transactions bancaires aux moteurs de recommandation, en passant par la cybers\u00e9curit\u00e9, l\u2019assemblage de documents et la segmentation des images.<\/p>\n\n\n\n<p>Avec le fichier <em>Demo<\/em>, l\u2019algorithme analyse les donn\u00e9es sur les trajets \u00e0 bicyclette, ce qui procure de pr\u00e9cieux renseignements sur la circulation urbaine et permet de planifier les villes de demain. Dans la Solution type, l\u2019algorithme a \u00e9t\u00e9 con\u00e7u pour partitionner la <em>variable1_id<\/em>, donc en \u00e9tablir l\u2019emplacement d\u2019apr\u00e8s la <em>variable_1<\/em>. Quand on l\u2019ex\u00e9cute, on obtient une carte (expliqu\u00e9e plus bas) illustrant comment les <em>variable_1 ID<\/em> sont group\u00e9es. Ceci aide \u00e0 \u00e9tablir les emplacements dont les caract\u00e9ristiques se ressemblent en vue d\u2019une analyse plus pouss\u00e9e et aux fins de planification.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Download sample file<\/h5>\n\n\n\n<p>Permet de t\u00e9l\u00e9charger un fichier CSV pour montrant le format dans lequel les fichiers (renfermant les donn\u00e9es personnelles) doivent \u00eatre pr\u00e9sent\u00e9s afin que l\u2019application puisse s\u2019en servir. Les fichiers qui ne respectent pas ce format ne seront pas trait\u00e9s.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">File upload options<\/h5>\n\n\n\n<p>Permet de t\u00e9l\u00e9verser n\u2019importe quel jeu de donn\u00e9es pour analyser, pourvu que les fichiers respectent le format indiqu\u00e9.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" style=\"text-transform:uppercase\">(2) Panneau de visualisation<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Carte<\/h5>\n\n\n\n<p>Ce graphique montre \u00e0 l\u2019utilisateur l\u2019information g\u00e9ospatiale que renferme le jeu de donn\u00e9es examin\u00e9. Les donn\u00e9es de la colonne <em>variable_1<\/em> apparaissent sous forme de diagramme \u00e0 bulles. Le rayon des bulles correspond \u00e0 la valeur de la variable. En d\u2019autres termes, plus la valeur de <em>variable_1<\/em> est \u00e9lev\u00e9e, plus grosse sera la bulle. On peut aussi visualiser les changements survenus au fil du temps en cliquant la touche de lecture au bas de la carte.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Graphique \u00e0 barres<\/h5>\n\n\n\n<p>Ce diagramme montre les informations temporelles v\u00e9hicul\u00e9es par le jeu de donn\u00e9es. Il pr\u00e9sente la somme des <em>variable_1<\/em> pour chaque p\u00e9riode couverte (jours, semaines, etc.). Le graphique sera vierge si on clique une des bulles sur la carte.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Pr\u00e9sentation des r\u00e9sultats cartographiques<\/h5>\n\n\n\n<p>Cette carte diff\u00e8re de la premi\u00e8re en ne pr\u00e9sentant que les r\u00e9sultats de l\u2019algorithme IA de partitionnement.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Pr\u00e9sentation des r\u00e9sultats graphiques<\/h5>\n\n\n\n<p>Cette partie pr\u00e9sente les r\u00e9sultats de l\u2019algorithme IA pr\u00e9visionnel. Elle montre les niveaux actuels et les niveaux futurs pr\u00e9vus sous forme de couleurs distinctes, pour mieux les diff\u00e9rencier.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<div style=\"height:57px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:700;text-transform:uppercase\">Consid\u00e9rations relatives au r\u00e9seau<\/h3>\n\n\n\n<p>Pour faciliter l\u2019acc\u00e8s <em>http<\/em> avec le navigateur Web, le port&nbsp;80 doit \u00eatre ouvert. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:700;text-transform:uppercase\">Consid\u00e9rations relatives au co\u00fbt<\/h3>\n\n\n\n<p>L\u2019instance Amazon T2 Medium procure les ressources optimales que requiert l\u2019application. On peut toutefois augmenter ces derni\u00e8res pour traiter des donn\u00e9es plus volumineuses et acc\u00e9l\u00e9rer le traitement des tuiles de carte en vue d\u2019un calcul et d\u2019une visualisation plus rapides.<\/p>\n\n\n\n<p>Docker Desktop vient avec une licence gratuite (personnelle) ou un abonnement (professionnel, \u00e9quipe, entreprise). Pour en savoir plus, visitez la page de Docker sur les licences d\u2019exploitation <a href=\"https:\/\/www.docker.com\/pricing\/\">ici<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:700;text-transform:uppercase\">Termination<\/h3>\n\n\n\n<p>Quand vous aurez fini d\u2019explorer la Solution type, arr\u00eatez l\u2019application afin de lib\u00e9rer les ressources en nuage pour les autres membres de l\u2019ATIR.<\/p>\n\n\n\n<p>Revenez \u00e0 la page Piles de la console CloudFormation et supprimez la pile qui correspond au Propulseur. <\/p>\n\n\n\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\n\n\n<h2 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:800;text-transform:uppercase\">Facteurs \u00e0 prendre en consid\u00e9ration<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:700;text-transform:uppercase\">Autres technologies<\/h3>\n\n\n\n<p>La solution a \u00e9t\u00e9 con\u00e7ue pour \u00eatre tr\u00e8s modulaire et faciliter la mise \u00e0 niveau. Chaque composant peut \u00eatre am\u00e9lior\u00e9 pour plus de performance, capacit\u00e9 ou envergure.<\/p>\n\n\n\n<p>L\u2019application Dash peut \u00eatre rehauss\u00e9e en application Dash pour entreprise (contre r\u00e9mun\u00e9ration), laquelle offre beaucoup plus de fonctionnalit\u00e9s et de possibilit\u00e9s de visualisation, tout en garantissant une exp\u00e9rience frontale plus int\u00e9ressante.<\/p>\n\n\n\n<p>N\u2019importe quelle base de donn\u00e9es ou service de base de donn\u00e9es comme MySQL, Oracle, AWS RDS, etc., pourra remplacer le module correspondant de la solution.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:700;text-transform:uppercase\">S\u00e9curit\u00e9<\/h3>\n\n\n\n<p>Avant d\u2019utiliser l\u2019application web dans un environnement de production, il convient de se procurer et d\u2019installer un certificat HTTPS valide.<\/p>\n\n\n\n<p>La Solution type recourt \u00e0 une simple m\u00e9thode d\u2019acc\u00e8s et d\u2019authentification reposant sur Flask-Login pour l\u2019authentification, la gestion de la s\u00e9ance et le stockage des informations sur l\u2019utilisateur dans une base de donn\u00e9es SQLITE. Il ne s\u2019agit que de mesures rudimentaires qu\u2019on devrait renforcer avant de passer \u00e0 la production. Plusieurs options sont possibles, notamment <em>AWS Cognito<\/em>, <em>Auth0<\/em> et <em>Okta<\/em>.<\/p>\n\n\n\n<p>Les identifiants par d\u00e9faut sont les suivants&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Nom d\u2019utilisateur&nbsp;: admin_test<\/strong><\/li>\n\n\n\n<li><strong>Mot de passe&nbsp;: password<\/strong><\/li>\n\n\n\n<li><strong>Courriel&nbsp;: <\/strong><a href=\"mailto:admin@sample.com\"><strong>admin@sample.com<\/strong><\/a><\/li>\n<\/ul>\n\n\n\n<p>Ces identifiants sont m\u00e9moris\u00e9s dans la base de donn\u00e9es SQLITE, int\u00e9gr\u00e9e au code de la Solution type. La base de donn\u00e9es se trouve dans le module\/dossier Flask sous le nom de fichier <em>data.sqlite<\/em>.<\/p>\n\n\n\n<p>Aucun identifiant d\u2019administrateur n\u2019est n\u00e9cessaire pour acc\u00e9der \u00e0 la base de donn\u00e9es SQLITE, cependant, on aura besoin du logiciel de source ouverte d\u2019un tiers pour voir et modifier la liste des utilisateurs. Nous sugg\u00e9rons <a href=\"https:\/\/sqlitebrowser.org\/\">DB Browser pour la version 3.12.1 de SQLITE<\/a>.<\/p>\n\n\n\n<p>Apr\u00e8s installation du logiciel, vous pourrez ouvrir le fichier <em>data.sqlite<\/em> et modifier (puis sauvegarder) les identifiants par d\u00e9faut.<\/p>\n\n\n\n<p><strong>Remarque : <\/strong>La solution est <em>http <\/em>mais doit \u00eatre <strong>convertie <\/strong>en <em>https <\/em>pour des raisons de s\u00e9curit\u00e9 et de compatibilit\u00e9 avec les navigateurs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:700;text-transform:uppercase\">Mise \u00e0 l\u2019\u00e9chelle<\/h3>\n\n\n\n<p>Le d\u00e9veloppement de la Solution type repose sur Docker, plateforme de conteneurisation qui permet d\u2019emballer les applications sous forme de conteneurs distincts qui fonctionneront sur tous les moteurs d\u2019ex\u00e9cution compatibles disponibles. Les conteneurs Docker peuvent \u00eatre mis \u00e0 l\u2019\u00e9chelle de diverses mani\u00e8res. <\/p>\n\n\n\n<p><a href=\"https:\/\/stackoverflow.com\/questions\/18285212\/how-to-scale-docker-containers-in-production\" target=\"_blank\" rel=\"noreferrer noopener\">D\u00e9marrer avec Docker<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:700;text-transform:uppercase\">Interface utilisateur (IU)<\/h3>\n\n\n\n<p>L\u2019interface a \u00e9t\u00e9 \u00e9labor\u00e9e avec Dash, qui permet le d\u00e9veloppement d\u2019une solution compl\u00e8te dans un seul langage (Python). Le tout fonctionne bien parce que la page Web en soi est simple et agile.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:700;text-transform:uppercase\">API<\/h3>\n\n\n\n<p>Le module IA interagit avec les autres modules gr\u00e2ce \u00e0 une API REST. Un des principaux avantages de celle-ci est qu\u2019elle autorise une tr\u00e8s grande souplesse. Les donn\u00e9es ne sont pas li\u00e9es \u00e0 des ressources ou \u00e0 une m\u00e9thode, de sorte que le logiciel peut traiter de nombreuses sortes d\u2019appel, restituer les donn\u00e9es dans divers formats et m\u00eame subir des modifications structurales pourvu qu\u2019on mette correctement en place des hyperm\u00e9dias.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:700;text-transform:uppercase\">Licence d\u2019exploitation<\/h3>\n\n\n\n<p><strong>L\u2019application mod\u00e8le (Dash\/<\/strong><strong>Plotly<\/strong> pour Python) est gratuite. Il s\u2019agit d\u2019un logiciel ouvert que couvre la licence d\u2019exploitation du <strong>MIT<\/strong>. L\u2019installer et l\u2019utiliser ne co\u00fbte rien. Pour voir la source, signaler un probl\u00e8me ou apporter votre contribution, utilisez notre <a href=\"https:\/\/github.com\/LeslieMills\/GILBP.git\">d\u00e9p\u00f4t Github<\/a>.<\/p>\n\n\n\n<p><strong>NGINX&nbsp;: <\/strong>les sources et la documentation sont diffus\u00e9es aux termes d\u2019une licence semblable \u00e0 la licence BSD \u00e0 double condition.<\/p>\n\n\n\n<p><strong>MongoDB<\/strong> est un produit de <a href=\"https:\/\/en.wikipedia.org\/wiki\/MongoDB_Inc.\">MongoDB Inc.<\/a> couvert par la licence <a href=\"https:\/\/en.wikipedia.org\/wiki\/Server_Side_Public_License\">Server Side Public<\/a> (SSPL).<strong><\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Code de lancement<\/h2>\n\n\n\n<p>Vous le trouverez dans le d\u00e9p\u00f4t GitHub <a href=\"https:\/\/github.com\/LeslieMills\/GILBP\">Launch code repo<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Glossaire<\/h2>\n\n\n\n<p>Les termes ou expressions qui suivent peuvent appara\u00eetre dans le document.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes no-search align-top\"><table><tbody><tr><td><strong><strong>Expression<\/strong><\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><strong>API<\/strong><\/td><td>Interface de programmation de l\u2019application<\/td><\/tr><tr><td><strong>SIG<\/strong><\/td><td>Syst\u00e8me d\u2019information g\u00e9ospatiale&nbsp;: syst\u00e8me d\u2019information g\u00e9ographique qui cr\u00e9e, g\u00e8re, analyse et cartographie des donn\u00e9es de toute sorte. Le SIG relie les donn\u00e9es \u00e0 une carte et int\u00e8gre toutes sortes d\u2019informations descriptives (nature des choses) \u00e0 un emplacement (lieu o\u00f9 se trouvent les choses).<\/td><\/tr><tr><td><strong><strong>Conteneur<\/strong><\/strong><\/td><td>Unit\u00e9 de logiciel standard comprenant un code et tout ce qui y est associ\u00e9 afin que l\u2019application puisse s\u2019ex\u00e9cuter rapidement et de fa\u00e7on fiable d\u2019une plateforme \u00e0 une autre.<\/td><\/tr><tr><td><strong>LSTM<\/strong><\/td><td>M\u00e9moire longue \u00e0 court terme (r\u00e9seau neuronal)<\/td><\/tr><tr><td><strong><strong>Apprentissage automatique<\/strong><\/strong><\/td><td>Cadre permettant de b\u00e2tir un mod\u00e8le sans qu\u2019on doive le programmer<\/td><\/tr><tr><td><strong><strong>S\u00e9rie chronologique<\/strong><\/strong><\/td><td>Donn\u00e9es s\u00e9quentielles prises \u00e0 des intervalles de temps identiques<\/td><\/tr><\/tbody><\/table><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Introduction La Solution type du Propulseur GAIT (Geospatial-AI lnformation Toolbox) est une plateforme en nuage de renseignement g\u00e9ospatial avec apprentissage [&hellip;]<\/p>\n","protected":false},"author":19,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-35540","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Solution type : Une plateforme en nuage de renseignement g\u00e9ospatial avec apprentissage automatique - 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\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Solution type : Une plateforme en nuage de renseignement g\u00e9ospatial avec apprentissage automatique - CANARIE\" \/>\n<meta property=\"og:description\" content=\"Introduction La Solution type du Propulseur GAIT (Geospatial-AI lnformation Toolbox) est une plateforme en nuage de renseignement g\u00e9ospatial avec apprentissage [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.canarie.ca\/fr\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\/\" \/>\n<meta property=\"og:site_name\" content=\"CANARIE\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-30T13:46:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-1_FR-947x1024.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\\\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\\\/\",\"url\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\\\/\",\"name\":\"Solution type : Une plateforme en nuage de renseignement g\u00e9ospatial avec apprentissage automatique - CANARIE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.canarie.ca\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.canarie.ca\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/ESI-diagram-1_FR-947x1024.png\",\"datePublished\":\"2022-11-14T14:59:50+00:00\",\"dateModified\":\"2024-10-30T13:46:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.canarie.ca\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/ESI-diagram-1_FR-947x1024.png\",\"contentUrl\":\"https:\\\/\\\/www.canarie.ca\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/ESI-diagram-1_FR-947x1024.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.canarie.ca\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Solution type : Une plateforme en nuage de renseignement g\u00e9ospatial avec apprentissage automatique\"}]},{\"@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 : Une plateforme en nuage de renseignement g\u00e9ospatial avec apprentissage automatique - 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\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\/","og_locale":"fr_FR","og_type":"article","og_title":"Solution type : Une plateforme en nuage de renseignement g\u00e9ospatial avec apprentissage automatique - CANARIE","og_description":"Introduction La Solution type du Propulseur GAIT (Geospatial-AI lnformation Toolbox) est une plateforme en nuage de renseignement g\u00e9ospatial avec apprentissage [&hellip;]","og_url":"https:\/\/www.canarie.ca\/fr\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\/","og_site_name":"CANARIE","article_modified_time":"2024-10-30T13:46:02+00:00","og_image":[{"url":"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-1_FR-947x1024.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.canarie.ca\/fr\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\/","url":"https:\/\/www.canarie.ca\/fr\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\/","name":"Solution type : Une plateforme en nuage de renseignement g\u00e9ospatial avec apprentissage automatique - CANARIE","isPartOf":{"@id":"https:\/\/www.canarie.ca\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.canarie.ca\/fr\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\/#primaryimage"},"image":{"@id":"https:\/\/www.canarie.ca\/fr\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\/#primaryimage"},"thumbnailUrl":"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-1_FR-947x1024.png","datePublished":"2022-11-14T14:59:50+00:00","dateModified":"2024-10-30T13:46:02+00:00","breadcrumb":{"@id":"https:\/\/www.canarie.ca\/fr\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.canarie.ca\/fr\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.canarie.ca\/fr\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\/#primaryimage","url":"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-1_FR-947x1024.png","contentUrl":"https:\/\/www.canarie.ca\/wp-content\/uploads\/2022\/11\/ESI-diagram-1_FR-947x1024.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.canarie.ca\/fr\/solution-type-une-plateforme-en-nuage-de-renseignement-geospatial-avec-apprentissage-automatique\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.canarie.ca\/fr\/"},{"@type":"ListItem","position":2,"name":"Solution type : Une plateforme en nuage de renseignement g\u00e9ospatial avec apprentissage automatique"}]},{"@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\/35540","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=35540"}],"version-history":[{"count":3,"href":"https:\/\/www.canarie.ca\/fr\/wp-json\/wp\/v2\/pages\/35540\/revisions"}],"predecessor-version":[{"id":44493,"href":"https:\/\/www.canarie.ca\/fr\/wp-json\/wp\/v2\/pages\/35540\/revisions\/44493"}],"wp:attachment":[{"href":"https:\/\/www.canarie.ca\/fr\/wp-json\/wp\/v2\/media?parent=35540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}