Gestion de données http://hub-creatif.cetic.be/ en ThingsBoard : gérer les données de vos appareils connectés http://hub-creatif.cetic.be/fiche/thingsboard-gerer-les-donnees-de-vos-appareils-connectes <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--title--hover.html.twig x field--node--title.html.twig * field--node--hover.html.twig * field--title.html.twig * field--string.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <span class="field field--name-title field--type-string field--label-hidden">ThingsBoard : gérer les données de vos appareils connectés</span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--field-tags--hover.html.twig * field--node--field-tags.html.twig * field--node--hover.html.twig * field--field-tags.html.twig * field--entity-reference.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Tags</div> <div class="field__items"> <div class="field__item"><a href="/Connectivit%C3%A9R%C3%A9seaux" hreflang="en">Connectivité/réseaux</a></div> <div class="field__item"><a href="/Gestion%20de%20donn%C3%A9es" hreflang="en">Gestion de données</a></div> <div class="field__item"><a href="/IoT" hreflang="en">IoT</a></div> </div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--uid--hover.html.twig x field--node--uid.html.twig * field--node--hover.html.twig * field--uid.html.twig * field--entity-reference.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <span class="field field--name-uid field--type-entity-reference field--label-hidden"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'username' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> <span lang="" about="/user/5" typeof="schema:Person" property="schema:name" datatype="">laurie</span> <!-- END OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> </span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--created--hover.html.twig x field--node--created.html.twig * field--node--hover.html.twig * field--created.html.twig * field--created.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <span class="field field--name-created field--type-created field--label-hidden">Tue, 11/17/2020 - 11:23</span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--field-pdf--hover.html.twig * field--node--field-pdf.html.twig * field--node--hover.html.twig * field--field-pdf.html.twig * field--file.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <div class="field field--name-field-pdf field--type-file field--label-above"> <div class="field__label">Télécharger le PDF</div> <div class="field__item"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'file_link' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/file-link.html.twig' --> <span class="file file--mime-application-pdf file--application-pdf"> <a href="http://hub-creatif.cetic.be/sites/default/files/2020-09/fiche%20installation%20Thingsboard.pdf" type="application/pdf; length=723217" title="fiche installation Thingsboard.pdf">Fiche Thingsboard</a></span> <!-- END OUTPUT from 'core/themes/classy/templates/field/file-link.html.twig' --> </div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--body--hover.html.twig * field--node--body.html.twig * field--node--hover.html.twig * field--body.html.twig x field--text-with-summary.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-above"> <div class="field__label">Body</div> <div class="field__item"><h2>Installation et prise en main de la plateforme IoT <img alt="thingsoard" data-entity-type="file" data-entity-uuid="98c733e2-8ca2-4420-9369-4f428a6a0b4c" height="52" src="/sites/default/files/inline-images/thingsboard_logo%20%282%29_0.jpg" width="227" /></h2> <p>Cette fiche vous explique comment mettre en place ThingsBoard, une plateforme IoT open source, qui vous permet de gérer vos appareils connectés, collecter, traiter et visualiser les données de télémétries provenant de vos capteurs. </p> <h2 dir="ltr">Prérequis </h2> <p dir="ltr">Connaissances de base en linux</p> <h2 dir="ltr"><img alt="matériel" data-entity-type="file" data-entity-uuid="e525953b-3312-49fe-b3d7-f184a2761525" height="28" src="/sites/default/files/inline-images/outils_0.png" width="28" class="align-left" /> Matériel requis</h2> <p dir="ltr">Avoir un réseau de capteurs déployé.</p> <p dir="ltr">La configuration matérielle requise dépend de la base de données choisie et du nombre d’appareils connectés au système :</p> <ul dir="ltr"><li> <p>ThingsBoard + base de données Postgres : environnement de production minimal (2Go de RAM minimum;4 Go de Ram recommandés).</p> </li> <li> <p>ThingsBoard + base de données Cassandra : environnement de production optimisé (4Go de RAM minimum; 8 Go sont recommandés).</p> </li> <li> <p>ThingsBoard + base de données HSQLDB embarquée : environnement de développement (Non recommandé).</p> </li> </ul><h2 dir="ltr"><strong><img alt="goal" data-entity-type="file" data-entity-uuid="5cf7f2c7-e68d-4305-813e-32f95f765998" height="29" src="/sites/default/files/inline-images/goal2_0.png" width="29" class="align-left" /> Pour quoi faire? </strong></h2> <p>Comme expliqué dans notre précédente fiche relative aux plateformes IoT, ThingsBoard nous semble être la solution la plus pertinente par rapport aux critères de sélection que nous avions énoncés (besoin d’être open source, de supporter la gestion des appareils, de collecter les données via les protocoles HTTP, MQTT et CoAP, d’inclure un outil de visualisation des données et une base de données “IoT”,...).</p> <h2><strong><img alt="étape" data-entity-type="file" data-entity-uuid="7bb9ba54-2d90-4291-a330-3993be0c9b19" height="31" src="/sites/default/files/inline-images/pieds.png" width="31" class="align-left" /> Get Started - ThingsBoard CE &amp; Docker</strong></h2> <p>Pour effectuer l’installation de la plateforme IoT Open Source ThingsBoard, plusieurs solutions s’offrent à vous. Il est possible d’installer ThingsBoard sur plusieurs plateformes comme indiqué sur <a href="https://thingsboard.io/docs/user-guide/install/installation-options/">la documentation officielle</a>. Dans notre cas, nous installerons ThingsBoard sur Docker, dans une machine virtuelle Debian.</p> <h2><strong><img alt="étape" data-entity-type="file" data-entity-uuid="7bb9ba54-2d90-4291-a330-3993be0c9b19" height="31" src="/sites/default/files/inline-images/pieds.png" width="31" class="align-left" /> Etape 1 -  Installation de Docker</strong></h2> <p dir="ltr">Docker est un outil qui permet de packager des applications afin de faciliter leurs partages et leurs utilisations. </p> <p dir="ltr">Pour effectuer l’installation sur une machine Linux, il vous faut télécharger le fichier docker-install.sh puis l'exécuter avec la commande suivante :</p> <pre> <code>wget get.docker.com -o docker-install.sh &amp;&amp; sudo sh docker-install.sh</code></pre> <p dir="ltr">Si des erreurs surviennent, veuillez effectuer l’installation pas à pas avec la documentation officielle de Docker disponible sur ce <a href="https://docs.docker.com/get-docker/">lien</a>.</p> <h2 dir="ltr"><strong><img alt="étape" data-entity-type="file" data-entity-uuid="7bb9ba54-2d90-4291-a330-3993be0c9b19" height="31" src="/sites/default/files/inline-images/pieds.png" width="31" class="align-left" /> Etape 2 -  Installation et prise en main de ThingsBoard</strong></h2> <p dir="ltr">Pour l’installation de ThingsBoard, trois configurations de base de données s’offrent à vous :</p> <ul><li dir="ltr"> <p dir="ltr">ThingsBoard + base de données Postgres : environnement de production minimal (2Go de RAM minimum;4 Go de Ram recommandés).</p> </li> <li dir="ltr"> <p dir="ltr">ThingsBoard + base de données Cassandra : environnement de production optimisé (4Go de RAM minimum; 8 Go sont recommandés).</p> </li> </ul><ul><li dir="ltr"> <p dir="ltr">ThingsBoard + base de données HSQLDB embarquée : environnement de développement (Non recommandé).</p> </li> </ul><p dir="ltr">Dans ce tutoriel, nous utiliserons la configuration légère ThingsBoard Postgres car elle répond parfaitement à notre besoin de démonstration.</p> <h2 dir="ltr"><strong>2.1 Installation de ThingsBoard CE</strong></h2> <p>Maintenant que Docker est opérationnel, vous pouvez installer et exécuter l’outil via la commande suivante :</p> <pre> <code>docker run -it -p 9090:9090 -p 1883:1883 -p 5683:5683/udp -v ~/.mytb-data:/data -v ~/.mytb-logs:/var/logs/thingsboard --name mytb --restart always thingsboard/tb-postgres </code></pre> <h2><strong>2.2 Login</strong></h2> <p dir="ltr">Pour accéder à l’outil ThingsBoard, il est nécessaire d’identifier votre adresse IP (par exemple, si vous avez installé ThingsBoard sur votre odinateur, l’adresse est “localhost”) :</p> <ul><li dir="ltr"> <p dir="ltr">http://$YOUR-IP$:9090</p> </li> </ul><p dir="ltr">Une fois sur l’interface ThingsBoard, il vous faut vous connecter au compte administrateur avec les informations suivantes : </p> <ul><li dir="ltr"> <p dir="ltr">Email par défaut : tenant@thingsboard.org,</p> </li> <li dir="ltr"> <p dir="ltr">Mot de passe par défaut : tenant.</p> </li> </ul><h2 dir="ltr"><strong>2.3 Création d’un device</strong></h2> <p dir="ltr">Pour créer votre premier appareil connecté, vous devez : </p> <p dir="ltr">      1. vous rendre sur l’onglet “Dispositifs” ou “Devices”,</p> <p dir="ltr">      2. cliquez ensuite sur le “+” en bas à droite puis “Ajouter un nouveau dispositif”, </p> <p dir="ltr">      3. donnez-lui un nom et attribuez-lui un type,</p> <p dir="ltr">      4. cliquez sur “Ajouter”.</p> <p dir="ltr">Votre device est désormais créé.</p> <h2 dir="ltr"><strong>2.4 Simulation d’un device</strong></h2> <p>Afin de simplifier la démonstration, nous utiliserons dans ce tutoriel un appareil connecté simulé. Pour simuler le senseur, nous allons utiliser le système de “Chaîne de règle” de ThingsBoard :</p> <p dir="ltr">      1. Cliquez sur l’onglet “Chaîne de règles” (ou “Rule chains” en anglais), puis créez une nouvelle chaîne de règles.</p> <p dir="ltr">      2. Donnez-lui  un nom et cliquez sur “Ajouter”.</p> <p dir="ltr">Il faut désormais configurer cette chaîne de règles : </p> <p dir="ltr">      1. Pour simuler un device, nous allons avoir besoin d’un “Generator” : sélectionnez, dans la catégorie “Action”, le bloc rouge nommé “Générator”,</p> <p dir="ltr">      2. Dans son écran de configuration, attribuez-lui un nom,</p> <p dir="ltr">      3. Choisissez le nombre de secondes entre chaque message généré par le device. Dans notre exemple nous prendrons 2 secondes. </p> <p dir="ltr">      4. Sélectionnez ensuite “Dispositif” comme origine et choisissez le device créé précédemment. Enfin,  notre fonction de démonstration est la suivante :</p> <pre> <code>var msg = { temp: 25+Math.floor(Math.random() * Math.floor(5)), humidity: 77 }; var metadata = { data: 40 }; var msgType = "POST_TELEMETRY_REQUEST"; return { msg: msg, metadata: metadata, msgType: msgType };</code></pre> <p dir="ltr">      5. Cliquez ensuite sur “Ajouter”,</p> <p dir="ltr">      6. Ensuite, sélectionnez dans la catégorie “Action”, un bloc rouge “Save timeseries”, ajoutez-le, nommez-le et cliquez sur “Ajouter”. Ce bloc va vous permettre de stocker vos données.</p> <p dir="ltr">      7. Reliez le bloc “Generator” au bloc “Save timeseries” en choisissant “Success” comme “Étiquette de liens” et cliquez sur “Ajouter”. Ne vous préoccupez pas du bloc vert “Input”.</p> <p dir="ltr">Votre device est maintenant simulé et vous pouvez le vérifier comme suit :</p> <p dir="ltr">      1. Cliquez sur l’onglet “Dispositif”, </p> <p dir="ltr">      2. Cliquez sur le device créé précédemment,</p> <p dir="ltr">      3. Cliquez sur  l’onglet “Dernière télémétrie”. Vous pouvez désormais observer la température et l’humidité qui sont mises à jour toutes les deux secondes.</p> <h2 dir="ltr"><strong>2.5 Visualisation des données dans le dashboard</strong></h2> <p dir="ltr">Maintenant que vous avez un appareil simulé opérationnel, vous allez pouvoir visualiser les informations qu’il renvoit sur un écran de contrôle appelé “Dashboard” grâce aux étapes suivantes :</p> <p dir="ltr">      1. Cliquez sur l’onglet “Tableaux de bord“ (ou “Dashboards” en anglais).</p> <p dir="ltr">      2. Cliquez ensuite sur le “+” en bas à droite puis “Créer un nouveau tableau de bord”,</p> <p dir="ltr">      3. Nommez-le et cliquez sur “Ajouter”. Il est possible d’attribuer ce Dashboard à un utilisateur en cliquant sur l'icône “Gérer les clients affectés” à côté de l'icône supprimer.</p> <p dir="ltr">Après avoir cliqué sur le dashboard, il faut définir l’alias qui sera utilisé. Il s’agit d’un nom secondaire qui va être attribué à un certain device. Pour se faire : </p> <p dir="ltr">      1. cliquez sur le bouton orange “Edition” en bas à droite,</p> <p dir="ltr">      2. cliquez ensuite sur l’icône “Alias d’entité” à gauche du bouton plein écran. Vous pouvez alors ajouter votre alias en saisissant un nom. </p> <p dir="ltr">      3. Dans votre cas, sélectionnez le filtre “Entité unique” puis le type dispositif avec le nom de votre device.</p> <p dir="ltr">Votre alias est désormais créé. Vous pouvez désormais ajouter des éléments à votre dashboard en cliquant sur “Ajouter un nouveau widget” (une carte, une jauge de température, un graphique temporel...).</p> <h2 dir="ltr"><strong><img alt="vidéo" data-entity-type="file" data-entity-uuid="c2797e27-acac-42c9-867b-0da74ebf320b" height="28" src="/sites/default/files/inline-images/camera_0.png" width="28" class="align-left" /> La démonstration en vidéo</strong></h2> <p>Retrouvez la démonstration de la plateforme IoT ThingsBoard grâce cette <a href="https://youtu.be/NUhlmcJDy1s">vidéo</a></p> <h2><strong>Pour aller plus loin</strong></h2> <p>Si vous désirez en savoir plus sur ThingsBoard, nous vous invitons à consulter la documentation officielle disponible<a href="https://thingsboard.io/docs/"> ici</a>.</p></div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> Tue, 17 Nov 2020 10:23:53 +0000 laurie 29 at http://hub-creatif.cetic.be Tsimulus : un générateur de séries chronologiques réalistes open source http://hub-creatif.cetic.be/fiche/tsimulus-un-generateur-de-series-chronologiques-realistes-open-source <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--title--hover.html.twig x field--node--title.html.twig * field--node--hover.html.twig * field--title.html.twig * field--string.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <span class="field field--name-title field--type-string field--label-hidden">Tsimulus : un générateur de séries chronologiques réalistes open source </span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--field-tags--hover.html.twig * field--node--field-tags.html.twig * field--node--hover.html.twig * field--field-tags.html.twig * field--entity-reference.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Tags</div> <div class="field__items"> <div class="field__item"><a href="/Cloud" hreflang="en">Cloud Computing</a></div> <div class="field__item"><a href="/Gestion%20de%20donn%C3%A9es" hreflang="en">Gestion de données</a></div> <div class="field__item"><a href="/IoT" hreflang="en">IoT</a></div> <div class="field__item"><a href="/Logiciel" hreflang="en">Logiciel</a></div> <div class="field__item"><a href="/Tutoriel" hreflang="en">Tutoriel</a></div> </div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--uid--hover.html.twig x field--node--uid.html.twig * field--node--hover.html.twig * field--uid.html.twig * field--entity-reference.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <span class="field field--name-uid field--type-entity-reference field--label-hidden"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'username' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> <span lang="" about="/user/5" typeof="schema:Person" property="schema:name" datatype="">laurie</span> <!-- END OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> </span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--created--hover.html.twig x field--node--created.html.twig * field--node--hover.html.twig * field--created.html.twig * field--created.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <span class="field field--name-created field--type-created field--label-hidden">Sun, 11/15/2020 - 10:32</span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--field-pdf--hover.html.twig * field--node--field-pdf.html.twig * field--node--hover.html.twig * field--field-pdf.html.twig * field--file.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <div class="field field--name-field-pdf field--type-file field--label-above"> <div class="field__label">Télécharger le PDF</div> <div class="field__item"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'file_link' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/file-link.html.twig' --> <span class="file file--mime-application-pdf file--application-pdf"> <a href="http://hub-creatif.cetic.be/sites/default/files/2021-03/Fiche%20TSimulus.pdf" type="application/pdf; length=1467118" title="Fiche TSimulus.pdf">Fiche Tsimulus</a></span> <!-- END OUTPUT from 'core/themes/classy/templates/field/file-link.html.twig' --> </div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--body--hover.html.twig * field--node--body.html.twig * field--node--hover.html.twig * field--body.html.twig x field--text-with-summary.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-above"> <div class="field__label">Body</div> <div class="field__item"><h2><img alt="TSimulus" data-entity-type="file" data-entity-uuid="c123ccb4-c94b-463f-b23c-d3de6882bc31" height="123" src="/sites/default/files/inline-images/logo%20tsimulus.png" width="303" /></h2> <p>Vous devez tester à grande échelle le bon comportement des outils de traitement de données, y compris dans un contexte big data ?  Vous manquez de données en temps réel ?</p> <p dir="ltr">Nous avons la solution ! Cette fiche vous présente TSimulus, l’outil qui vous permet de simuler des données, sous forme de séries temporelles, de manière très réaliste. </p> <p>Après l’énonciation des différents concepts nécessaires à sa compréhension, nous vous proposons une démonstration de son utilisation en simulant des températures externes pour la ville d’Uccle. Nous y détaillons les différentes étapes qui permettent de les rendre aussi réalistes que possible. </p> <p>Cette bibliothèque fait partie du projet de recherche EAM-SDI, fondé par la Région Wallonne.</p> <h2 dir="ltr"><strong>Prérequis </strong></h2> <p dir="ltr">Connaissances basiques en JSON</p> <p dir="ltr">Savoir écrire des lignes de commandes dans un terminal</p> <h2 dir="ltr"><img alt="goal" data-entity-type="file" data-entity-uuid="62bbc1fc-7ce5-416e-a0c3-e2f1ae856bd2" height="35" src="/sites/default/files/inline-images/goal2.png" width="35" class="align-left" /> Pour quoi faire ? </h2> <p dir="ltr">Les séries chronologiques sont utilisées dans une grande variété de domaines, notamment l’industrie, l’économie, les finances, la démographie, les prévisions météorologiques et le traitement du signal. Elles répondent à de nombreux objectifs dont les principaux sont la prévision, l’estimation d’une tendance ou encore l’évaluation de l’impact d’un événement. </p> <p>La bibliothèque TSimulus vous permet de simuler différents capteurs et de générer une quantité suffisante de données pour effectuer des tests par exemple. Vous spécifiez la forme d'une série chronologique (modèles généraux, cycles, importance du bruit ajouté, etc. - ces différents concepts sont décrits dans la section suivante) et TSimulus convertit cette spécification en valeurs de séries chronologiques. </p> <p>Concrètement, cet outil propose :</p> <ul><li> <p>Un moyen d'exprimer des contraintes de séries chronologiques à l'aide de documents JSON, ainsi qu'une API Scala pour exprimer programmatiquement ces contraintes.</p> </li> <li dir="ltr"> <p dir="ltr">Un moyen pratique de combiner des contraintes afin d'exprimer des contraintes de niveau supérieur.</p> </li> <li dir="ltr"> <p dir="ltr">Un moteur qui génère des valeurs de séries temporelles en fonction des contraintes décrites.</p> </li> <li dir="ltr"> <p dir="ltr">Un outil en ligne de commande qui s'appuie sur le moteur pour générer des séries chronologiques.</p> </li> <li dir="ltr"> <p dir="ltr">Un microservice sans état qui fournit des services de génération de séries chronologiques.</p> </li> </ul><h2 dir="ltr"><img alt="concepts" data-entity-type="file" data-entity-uuid="a041bebb-6f07-4cc2-85ae-01ae3fd7625c" height="37" src="/sites/default/files/inline-images/book-open-shape_icon-icons.com_70792.png" width="37" class="align-left" /> Quelques concepts </h2> <h2 dir="ltr">Une série chronologique (ou série temporelle)</h2> <p dir="ltr">Il s’agit d’une séquence de points ordonnée dans le temps, chacun d'eux étant associé au plus à une valeur. </p> <h3 dir="ltr">1. Évaluation de la série</h3> <p dir="ltr">Les séries chronologiques peuvent être évaluées à tout moment. Cette évaluation est rapide, sans effet secondaire et référentiellement transparente (en particulier, l'évaluation d'une série chronologique fournit toujours la même valeur pour un horodatage donné).</p> <p>De plus, la bibliothèque TSimulus prend en charge la génération de valeurs de séries chronologiques sous forme de flux numériques (potentiellement illimités). </p> <h3 dir="ltr">2. Les valeurs manquantes </h3> <p dir="ltr">Une série chronologique peut ne pas avoir de valeur à fournir pour un horodatage donné. Ce cas est géré par la bibliothèque comme des valeurs «manquantes». Les valeurs manquantes peuvent être remplacées par des valeurs «par défaut» et peuvent être supprimées d'une collection de valeurs avant d'opérer une agrégation.</p> <h2 dir="ltr">Les générateurs</h2> <p dir="ltr">L'objectif principal des générateurs est de décrire les contraintes qui façonnent la série temporelle générée.</p> <p>Alors que les générateurs de nombres aléatoires peuvent facilement être utilisés pour produire des séquences de nombres non liés (ou, du moins, dont les relations sont difficilement prévisibles), générer des séquences de nombres qui semblent respecter certains modèles évidents est également intéressant dans de nombreuses circonstances, y compris la simulation de l'acquisition de données dans les domaines mentionnés dans la section précédente.</p> <h3 dir="ltr">1. Une simulation de données réaliste</h3> <p dir="ltr">Afin de créer des séries chronologiques réalistes, un bruit convaincant doit généralement être ajouté à certains modèles spécifiés. De plus, les valeurs d'une série chronologique peuvent être liées à celles d'une autre série chronologique.</p> <h3 dir="ltr">2. Les différents types de générateurs </h3> <p dir="ltr">Voici une description succincte de trois types de générateurs. Vous trouverez davantage d’informations sur ceux-ci ainsi que sur les autres types existants <a href="https://tsimulus.readthedocs.io/en/latest/generators.html#about-generators">ici</a>. </p> <h3 dir="ltr"><strong>2.1. Les générateurs primaires</strong></h3> <p dir="ltr">Les séries chronologiques primaires génèrent des valeurs qui n’ont de relation avec aucune autre série chronologique. Un utilisateur peut contraindre la forme générale d'une série chronologique primaire en spécifiant certains points de données (qui correspondent à des points dans les temps associés à des valeurs spécifiques) et en spécifiant que la série chronologique générée doit contenir ces points de données. Pour avoir plus d’informations sur les générateurs primaires, cliquez <a href="https://tsimulus.readthedocs.io/en/latest/generators.html#primary-generators">ici</a>.</p> <h3 dir="ltr"><strong>2.2. Les générateurs composites</strong></h3> <p dir="ltr">Les générateurs peuvent être combinés de diverses manières afin de produire des générateurs plus complexes. De tels générateurs, appelés générateurs composites, expriment des séries chronologiques dont les valeurs sont le résultat de l'agrégation, de la comparaison, de la corrélation, etc. des valeurs générées par des séries temporelles décrites par d'autres générateurs. Vous en saurez davantage en cliquant <a href="https://tsimulus.readthedocs.io/en/latest/generators.html#composite-generators">ici</a>.</p> <h3 dir="ltr"><strong>2.3.  Les générateurs binaires</strong></h3> <p dir="ltr">Les valeurs des séries temporelles générées peuvent être numériques ou binaires. Des opérations booléennes peuvent être appliquées à des valeurs binaires, qui peuvent être utilisées pour décrire des séries chronologiques conditionnelles. Les valeurs numériques peuvent être combinées et comparées de différentes manières, afin de créer des séries chronologiques complexes en combinant des séries simples. Vous en saurez davantage sur les générateurs binaires en cliquant <a href="https://tsimulus.readthedocs.io/en/latest/generators.html#binary-generators">ici</a>.</p> <h3 dir="ltr"><strong>3. Le document de configuration</strong></h3> <p dir="ltr">Comme expliqué précédemment, la forme des séries temporelles générées est définie à l'aide de générateurs. Votre travail, en tant qu'utilisateur de TSimulus, est donc de modifier les descriptions de ces générateurs afin d'obtenir un résultat aussi réaliste que possible. Ces générateurs peuvent être spécifiés de manière déclarative dans un document dit de configuration, qui est un document JSON respectant une structure donnée. Ce document est composé d'une section “generators”, dans laquelle les générateurs sont déclarés, d'une section “exported” contenant la liste des générateurs qui doivent être convertis en séries chronologiques, ainsi que d'une paire de dates délimitant la période pour laquelle des valeurs de séries chronologiques doivent être générées.</p> <h3 dir="ltr"><strong>3.1. La section “generators”</strong></h3> <p dir="ltr">L'utilisation de la section “generators” dans un document de configuration, bien que facultative, est fortement recommandée afin de décrire la spécification des générateurs décrivant la série temporelle à générer. La section “generators” est donc essentiellement une liste de générateurs qui pourraient être convertis en séries chronologiques. </p> <h3><strong>3.2. La section “exported”</strong></h3> <p dir="ltr">Cette section du document de configuration répertorie les générateurs qui doivent être convertis en séries chronologiques. Il s'agit essentiellement d'une liste d'objets JSON contenant les attributs suivants :</p> <ul><li dir="ltr"> <p dir="ltr">name : le nom qui doit être associé à la série chronologique.</p> </li> <li dir="ltr"> <p dir="ltr">generators : une description du générateur représentant la série temporelle à générer. Cela peut être une description en ligne.</p> </li> <li dir="ltr"> <p dir="ltr">frequency : la période, en millisecondes, à laquelle les valeurs de séries temporelles doivent être générées.</p> </li> </ul><h3 dir="ltr"><strong>3.3. Les sections “from” et “to”</strong></h3> <p dir="ltr">Alors que la bibliothèque entière peut générer des valeurs pour tout moment valide, et malgré le fait que les séries temporelles soient considérées en interne comme des flux de valeurs potentiellement illimités, une telle génération illimitée ne peut pas être traitée dans un temps limité. Par conséquent, deux champs supplémentaires, exprimant le début et la fin de la période pour laquelle des valeurs doivent être générées, sont nécessaires dans le document de configuration afin de pouvoir générer des séries temporelles.</p> <h2 dir="ltr"><img alt="demonstration" data-entity-type="file" data-entity-uuid="f13565b8-8698-4a82-a94c-00ac454757ce" height="31" src="/sites/default/files/inline-images/note_list_icon_124054.png" width="31" class="align-left" /> Démonstration de TSimulus</h2> <p dir="ltr">Dans le cadre de cette fiche, nous vous proposons une démonstration de l’utilisation de TSimulus réalisant une simulation des températures externes pour la ville d’Uccle.  Après avoir détaillé le matériel nécessaire, nous décrivons les différentes manières d’installer TSimulus et expliquons comment l’utiliser.</p> <p>La démonstration à proprement parler commence lors de la troisième étape où vous pouvez créer un générateur de données et ensuite le rendre plus réaliste par le biais d’autres générateurs. </p> <h2 dir="ltr"><img alt="matériel" data-entity-type="file" data-entity-uuid="16d535da-0245-4eb9-96ee-362152f6a3e4" height="28" src="/sites/default/files/inline-images/outils.png" width="28" class="align-left" /> Matériel requis </h2> <p dir="ltr">Concernant le CLI, il vous faut : </p> <ul><li dir="ltr"> <p dir="ltr">une machine virtuelle <a href="https://www.java.com/fr/">Java</a></p> </li> <li dir="ltr"> <p dir="ltr">installer un fichier de configuration</p> </li> <li dir="ltr"> <p dir="ltr">taper la ligne de code suivante : java -jar tsimlus-cli.jar</p> </li> </ul><h2 dir="ltr"><img alt="étape1" data-entity-type="file" data-entity-uuid="e5797bb1-ff59-418d-a01a-9cf451aee5da" height="29" src="/sites/default/files/inline-images/footprint.png" width="29" class="align-left" /> Étape 1  - Comment utiliser la bibliothèque Tsimulus ? </h2> <p>Les séries chronologiques peuvent être générées selon les règles décrites dans un document de configuration. Vous pouvez envisager d'utiliser <a href="https://github.com/cetic/tsimulus-cli/releases">notre application CLI</a> qui lit les documents de configuration à partir d'un fichier JSON standard.</p> <p>Vous pouvez également envisager d'utiliser <a href="https://github.com/cetic/tsimulus-ms/releases">notre microservice</a> qui écoute les requêtes HTTP. Dans ce cas, le document de configuration est soumis en tant que paramètre d'une requête POST.</p> <h2 dir="ltr"><img alt="étape1" data-entity-type="file" data-entity-uuid="e5797bb1-ff59-418d-a01a-9cf451aee5da" height="29" src="/sites/default/files/inline-images/footprint.png" width="29" class="align-left" /> Étape 2 - Getting started</h2> <h3 dir="ltr"><strong>2.1. Une première génération de données</strong></h3> <p dir="ltr">Le moyen le plus simple de tester le projet TSimulus est de télécharger <a href="https://github.com/cetic/tsimulus-cli/releases">la dernière version d'un fichier Jar</a> exécutable contenant une application basée sur la bibliothèque TSimulus. Comme décrit dans la section “Matériel requis”, vous aurez besoin d'une machine virtuelle Java installée sur votre environnement.</p> <p>Pour votre première génération de séries chronologiques, nous allons spécifier un générateur qui proposera un simulateur de températures externes de base pour la ville d’Uccle, en Belgique. Selon l'<a href="https://www.meteo.be/fr/climat/atlas-climatique">Institut royal de météorologie de Belgique</a>, les températures moyennes à cet endroit sont les suivantes :</p> <p><img alt="Températures Uccle" data-entity-type="file" data-entity-uuid="c161951c-8eb7-43d2-b5e8-30401fec84c2" height="446" src="/sites/default/files/inline-images/donn%C3%A9es_temp.PNG" width="346" /></p> <h3 dir="ltr"><strong>2.1.1. Création d’un générateur qui décrit l'évolution de la température mois par mois </strong></h3> <p dir="ltr">    1. Encodez ceci dans un fichier JSON : </p> <pre> <code>{ "generators":[ { "name": "monthly-basis", "type": "monthly", "points": {"january": 3.3, "february": 3.7, "march": 6.8, "april": 9.8, "may": 13.6, "june": 16.2, "july": 18.4, "august": 18, "september": 14.9, "october": 11.1, "november": 6.8, "december": 3.9} }], "exported":[ {"name": "temperature", "generator": "monthly-basis", "frequency": 3600000} ], "from": "2016-01-01 00:00:00.000", "to": "2017-12-31 23:59:59.999" }</code></pre> <p>Nous rappelons que le nom et les attributs de chaque objet dans ce document JSON sont décrits dans la section précédente dédiée aux concepts (voir le paragraphe sur les générateurs). </p> <p dir="ltr">    2. Enregistrez la configuration dans un fichier texte à côté de l'application téléchargée et exécutez l'application avec le fichier fraîchement créé :</p> <pre> <code>java -jar rst-gen-cli get_started_1.json</code></pre> <p>Après quelques secondes, vous obtenez une séquence de lignes, chacune d'elles étant une entrée de valeur composée d'une date, d'un nom de série et d'une valeur séparée par des points-virgules. Dans cette démonstration, le nom de la série est toujours «temperature». Si vous tracez les valeurs de série avec votre outil préféré, vous devriez obtenir quelque chose comme le graphique suivant :</p> <p><img alt="graph 1" data-entity-type="file" data-entity-uuid="2c975f94-1fef-41d1-855a-a141b6fe0c99" height="208" src="/sites/default/files/inline-images/get_started_1.png" width="346" /></p> <h3><strong>2.2. Vers un modèle plus réaliste</strong></h3> <p>Comme le montre l’illustration ci-dessus, la température varie en permanence, et pour le milieu de chaque mois, elle est conforme aux valeurs spécifiées dans la configuration. Cependant, vous pouvez vous sentir frustré par la régularité des valeurs obtenues : elles augmentent ou diminuent de façon monotone d'un mois à l'autre, ce qui n'est pas un comportement très réaliste. En réalité, au fil des jours, les températures sont globalement plus élevées pendant la journée et plus basses pendant la nuit.</p> <h3><strong>2.2.1. Création d’un nouveau générateur qui exprime la variation de la température sur les heures d'un jour calendaire </strong></h3> <p><strong><img alt="données heures" data-entity-type="file" data-entity-uuid="3757945a-3fc7-4980-acb9-c03fcd19782b" height="456" src="/sites/default/files/inline-images/donn%C3%A9es_heures_0.PNG" width="183" /></strong></p> <p> </p> <pre> <code> { "generators": [ { "name": "monthly-basis", "type": "monthly", "points": { "january": 3.3, "february": 3.7, "march": 6.8, "april": 9.8, "may": 13.6, "june": 16.2, "july": 18.4, "august": 18, "september": 14.9, "october": 11.1, "november": 6.8, "december": 3.9 } }, { "name": "daily-variation", "type": "daily", "points": { "00:00:00.000": -3, "02:00:00.000": -3.9, "04:00:00.000": -5, "06:00:00.000": -4.6, "08:00:00.000": -5.7, "10:00:00.000": -2.2, "12:00:00.000": 1, "14:00:00.000": 3, "16:00:00.000": 2.3, "18:00:00.000": 0.9, "20:00:00.000": -2.3, "22:00:00.000": -2.7 } }, { "name": "result", "type": "aggregate", "aggregator": "sum", "generators": [ "monthly-basis", "daily-variation" ] } ], "exported": [ { "name": "temperature", "generator": "result", "frequency": 600000 } ], "from": "2016-01-01 00:00:00.000", "to": "2017-12-31 23:59:59.999" } </code></pre> <p dir="ltr">Veuillez noter que les valeurs de ce deuxième générateur sont relatives à une valeur arbitraire «neutre». Le tracé de ces valeurs n'est donc pas pertinent. Cependant, si nous additionnons les températures mensuelles avec les températures quotidiennes, nous obtenons un comportement plus complexe. Les séries chronologiques résultantes sont davantages réalistes et résultent en le graphe suivant :</p> <p><img alt="graph 2" data-entity-type="file" data-entity-uuid="f96c4aed-3717-4b8d-8831-0d7b37c8fb5b" height="295" src="/sites/default/files/inline-images/get_started_2.png" width="516" /></p> <p>Sur cette figure, seules les valeurs du 1er et du 2 janvier 2016 sont affichées. Un modèle de base quotidien est facilement observable, tandis que les valeurs sont assez similaires (bien que légèrement différentes) d'un jour à l'autre.</p> <h3><strong>2.2.2.  Création d’un nouveau générateur qui décrit une série chronologique bruitée</strong></h3> <p dir="ltr">Un examen plus approfondi des valeurs générées révèle que la variation de température reste insatisfaisante: pendant un jour civil, les températures varient de manière irréaliste, et deux jours identiques dans des années différentes (par exemple, 2016-02-03 et 2017-02-03) ont la même séquence de valeurs. Dans la vie réelle, la température change légèrement au fil du temps en raison de modifications complexes des conditions atmosphériques.</p> <p>Afin de simuler ces petits changements, nous introduisons un générateur qui décrit une série chronologique bruitée, et nous le sommons avec les générateurs définis précédemment.</p> <pre> <code> { "generators": [ { "name": "monthly-basis", "type": "monthly", "points": { "january": 3.3, "february": 3.7, "march": 6.8, "april": 9.8, "may": 13.6, "june": 16.2, "july": 18.4, "august": 18, "september": 14.9, "october": 11.1, "november": 6.8, "december": 3.9 } }, { "name": "daily-variation", "type": "daily", "points": { "00:00:00.000": -3, "02:00:00.000": -3.9, "04:00:00.000": -5, "06:00:00.000": -4.6, "08:00:00.000": -5.7, "10:00:00.000": -2.2, "12:00:00.000": 1, "14:00:00.000": 3, "16:00:00.000": 2.3, "18:00:00.000": 0.9, "20:00:00.000": -2.3, "22:00:00.000": -2.7 } }, { "name": "noise", "type": "arma", "model": { "std": 0.2, "c": 0, "seed": 1234 }, "timestep": 300000, "origin": "2016-01-01 00:00:00.000" }, { "name": "result", "type": "aggregate", "aggregator": "sum", "generators": [ "monthly-basis", "daily-variation", "noise" ] } ], "exported": [ { "name": "temperature", "generator": "result", "frequency": 600000 } ], "from": "2016-01-01 00:00:00.000", "to": "2017-12-31 23:59:59.999" } </code></pre> <p>Le résultat final est maintenant suffisamment réaliste pour une simulation de base de la température dans le temps. En observant le tracé de ses valeurs sur l’illustration ci-dessous, on peut constater que des tendances claires et réalistes émergent, tandis qu'un bruit réaliste est également clairement présent.</p> <p><img alt="graph 3" data-entity-type="file" data-entity-uuid="57841ff8-95d7-4373-ad92-42028525d15b" height="427" src="/sites/default/files/inline-images/get_started_3.png" width="651" /></p> <p>Vous n’êtes toujours pas satisfait du réalisme des valeurs générées? N'hésitez pas à modifier les paramètres des générateurs décrits dans le fichier de configuration ou à en essayer d'autres (voir le point sur les générateurs dans la section “quelques concepts”).</p> <p> </p> <h2 dir="ltr"><strong><img alt="Image removed." data-entity-type="file" data-entity-uuid="c2797e27-acac-42c9-867b-0da74ebf320b" height="16" src="/sites/default/files/inline-images/camera_0.png" width="16" title="This image has been removed. For security reasons, only images from the local domain are allowed." class="filter-image-invalid" />  La démonstration en vidéo</strong></h2> <p dir="ltr">Voici <a href="https://www.youtube.com/watch?v=IBTTtiZtU1o">le replay du webinaire </a>organisé par le Hub-C le 24 mars 2021 afin de faire une démonstration de l'utilisation de Tsimulus presentée par Mathieu Goeminne, expert en science de données au sein du CETIC. </p> <h2 dir="ltr"><strong><img alt="Image removed." data-entity-type="file" data-entity-uuid="c3f03cf9-540b-4f39-96ca-1aec98d53b0d" height="16" src="/sites/default/files/inline-images/question.png" width="16" title="This image has been removed. For security reasons, only images from the local domain are allowed." class="filter-image-invalid" /> Besoin d’une aide supplémentaire ?  </strong></h2> <p dir="ltr">Le Hub-C dans le cadre de ses services d’accompagnement numérique organise des workshops et groupes de travail en lien avec les nouvelles technologies de prototypages.  Vous souhaitez un accompagnement pour votre projet innovant ou vous souhaitez participer à un prochain workshop ? N'hésitez pas à contacter <a href="https://www.hub-charleroi.be/fr/team">un membre du Hub</a>! </p> <p><br /> Vous avez une question spécifique à propos d’une fiche ? Elles sont réalisées par les experts du <a href="https://www.cetic.be/">CETIC</a> (Centre d'Excellence en Technologies de l'Information et de la Communication), un  centre de recherche appliquée en informatique situé à Charleroi. Vous trouverez toutes les coordonnées <a href="https://www.cetic.be/Contact">ici</a>.</p> <p dir="ltr"> </p></div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> Sun, 15 Nov 2020 09:32:09 +0000 laurie 32 at http://hub-creatif.cetic.be TSorage : une plateforme de gestion de données (I)IoT http://hub-creatif.cetic.be/fiche/tsorage-une-plateforme-de-gestion-de-donnees-iiot <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--title--hover.html.twig x field--node--title.html.twig * field--node--hover.html.twig * field--title.html.twig * field--string.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <span class="field field--name-title field--type-string field--label-hidden">TSorage : une plateforme de gestion de données (I)IoT </span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--field-tags--hover.html.twig * field--node--field-tags.html.twig * field--node--hover.html.twig * field--field-tags.html.twig * field--entity-reference.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Tags</div> <div class="field__items"> <div class="field__item"><a href="/Cloud" hreflang="en">Cloud Computing</a></div> <div class="field__item"><a href="/Gestion%20de%20donn%C3%A9es" hreflang="en">Gestion de données</a></div> <div class="field__item"><a href="/IoT" hreflang="en">IoT</a></div> <div class="field__item"><a href="/Logiciel" hreflang="en">Logiciel</a></div> <div class="field__item"><a href="/Stockagededonn%C3%A9es" hreflang="en">Stockage de données</a></div> </div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--uid--hover.html.twig x field--node--uid.html.twig * field--node--hover.html.twig * field--uid.html.twig * field--entity-reference.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <span class="field field--name-uid field--type-entity-reference field--label-hidden"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'username' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> <span lang="" about="/user/5" typeof="schema:Person" property="schema:name" datatype="">laurie</span> <!-- END OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> </span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--created--hover.html.twig x field--node--created.html.twig * field--node--hover.html.twig * field--created.html.twig * field--created.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <span class="field field--name-created field--type-created field--label-hidden">Fri, 11/13/2020 - 11:19</span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--field-pdf--hover.html.twig * field--node--field-pdf.html.twig * field--node--hover.html.twig * field--field-pdf.html.twig * field--file.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <div class="field field--name-field-pdf field--type-file field--label-above"> <div class="field__label">Télécharger le PDF</div> <div class="field__item"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'file_link' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/file-link.html.twig' --> <span class="file file--mime-application-pdf file--application-pdf"> <a href="http://hub-creatif.cetic.be/sites/default/files/2022-01/fiche%20Tsorage.pdf" type="application/pdf; length=1180546" title="fiche Tsorage.pdf">Fiche TSorage</a></span> <!-- END OUTPUT from 'core/themes/classy/templates/field/file-link.html.twig' --> </div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--body--hover.html.twig * field--node--body.html.twig * field--node--hover.html.twig * field--body.html.twig x field--text-with-summary.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-above"> <div class="field__label">Body</div> <div class="field__item"><p dir="ltr">Vous êtes une entreprise à la recherche de technologies fiables, rapides et rentables concernant le déploiement d'applications basées sur des séries chronologiques à grande échelle? TSorage est la solution idéale pour gérer vos flux IoT! </p> <p>Après la description de TSorage et de ses différents atouts, nous évoquons les concepts nécessaires à la compréhension de cette plateforme et expliquons son architecture. Nous terminons en vous présentant un cas d'étude.</p> <h2>Prérequis</h2> <p dir="ltr">Pour la lecture de ce document,</p> <ul dir="ltr"><li> <p>connaissance élémentaire de l’IIoT et de ses enjeux, de Kubernetes, de Cassandra.</p> </li> </ul><p dir="ltr">Pour tester TSorage, </p> <ul><li> <p dir="ltr">un cluster Kubernetes doit être installé, par exemple grâce à <a href="https://kubernetes.io/fr/docs/setup/learning-environment/minikube/">minikube</a>.</p> </li> <li> <p dir="ltr">Maîtrise de HTTP et/ou MQTT, JSON, PromQL, Docker.</p> </li> </ul><h2><img alt="goal" data-entity-type="file" data-entity-uuid="62bbc1fc-7ce5-416e-a0c3-e2f1ae856bd2" height="35" src="/sites/default/files/inline-images/goal2.png" width="35" /> Pour quoi faire? </h2> <p dir="ltr">À l’heure actuelle, les entreprises industrielles font face à une concurrence mondiale de plus en plus agressive. L'Internet industriel des objets (IIoT) est perçu comme une opportunité clé pour renforcer la position de ces entreprises ou pour gagner en compétitivité grâce à une meilleure productivité, à l’amélioration de la qualité des produits et à un meilleur contrôle des processus (voir notre <a href="https://toolbox.hub-charleroi.be/node/28">fiche sur la gestion des réseaux de capteurs</a>).</p> <p>Cependant, la gestion de la vitesse et du volume des données de séries chronologiques fournies par ces IIoT représentent un défi dans lequel la valeur des solutions traditionnelles de gestion des données pour l'industrie tend à diminuer. Le monde industriel recherche des outils et des approches capables de répondre aux nouveaux besoins relatifs à  l'évolutivité, à la disponibilité, au problèmes de réutilisation, d'intégration et de tarification, entre autres.</p> <p>Afin de répondre à ces besoins, nous proposons une solution innovante pour la gestion des séries chronologiques appelée TSorage.</p> <p dir="ltr">TSorage est une plateforme  évolutive et résiliente, qui permet la collecte, l’ingestion, le traitement et le stockage de séries chronologiques (ou séries temporelles) générées par l'IoT (industriel ou non) comme les détecteurs, les sondes et autres capteurs au sens large du terme. </p> <p>Cette plateforme propose une collection de services intégrés pour gérer les séries temporelles, à grande échelle, de tout type, avec un horodatage avec une résolution temporelle d’une milliseconde et avec aussi peu de contraintes techniques que possible. </p> <p>Une série temporelle est définie comme une collection de valeurs, triées par un horodatage associé à chaque valeur. Dans TSorage, une valeur peut représenter n’importe quel concept tant que celui-ci peut être représenté sous forme d’un objet JSON. </p> <h2><img alt="Les Atouts " data-entity-type="file" data-entity-uuid="cd8e2d38-7833-48a6-b924-83938fc09dd3" height="35" src="/sites/default/files/inline-images/stars.png" width="35" /><strong> Les atouts de TSorage</strong></h2> <p>TSorage présente les avantages suivants : </p> <h3 dir="ltr"><strong><img alt="1" data-entity-type="file" data-entity-uuid="3acf6303-6e37-4788-8b28-ffbd9e6814b4" height="22" src="/sites/default/files/inline-images/1_1.png" width="22" /> Une disponibilité et un passage à l’échelle avant tout (évolutivité)! </strong></h3> <p>TSorage s'appuie sur du matériel standard et moyen de gamme (commodity hardware) pour garantir un service évolutif et résilient aux pannes. Étant nativement une solution distribuée et décentralisée, ses capacités peuvent être étendues en ajoutant simplement plus de ressources sur un cluster TSorage. Lorsqu'il est déployé  sur plusieurs sites, TSorage offre des performances de lecture et d'écriture locales tout en prenant en charge de manière transparente la réplication et la synchronisation entre sites, dans le monde entier. Lorsqu'un site se remet d'un problème de connexion, il se re-synchronise automatiquement avec les autres sites du groupe.</p> <h3 dir="ltr"><img alt="2" data-entity-type="file" data-entity-uuid="43b4938b-6e27-4135-8e64-c810b5559e01" height="24" src="/sites/default/files/inline-images/2_1.png" width="24" /> Pas de vendor lock-in mais des technologies standardisées, ouvertes, et pérennes</h3> <p dir="ltr">La technologie évolue extrêmement rapidement, surtout le domaine (I)IoT où de nouvelles façons de gérer et d'exploiter les capteurs émergent chaque année. Afin d'atténuer le risque de faire des choix technologiques qui s'avéreraient inappropriés à l'avenir, TSorage est composé de modules indépendants et basés sur des technologies open source. Avec une telle approche, les mises à jour sont beaucoup plus faciles lorsqu’une technologie vient en remplacer une autre. Tous les services de TSorage sont disponibles via une API REST qui offre un moyen standardisé de s’abstraire des technologies sous-jacentes. Cette plateforme favorise également l'intégration avec n'importe quelle source ou consommateur de données, faisant de TSorage une plateforme de choix pour vos applications IoT.</p> <h3 dir="ltr"><strong><img alt="3" data-entity-type="file" data-entity-uuid="309a92f7-3695-4d01-8c11-3e9cfd679750" height="24" src="/sites/default/files/inline-images/3_1.png" width="24" /> Une flexibilité des données  </strong></h3> <p dir="ltr">La plupart des capteurs mesurent un signal continu, tel qu’une température ou une pression. Cependant, les séries chronologiques couvrent également de nombreux autres types de données, tels que les positions géographiques, les transactions commerciales et pratiquement tous les événements répétitifs. TSorage gère nativement des types de données couramment utilisés et est conçu pour être facilement étendu afin de prendre en charge vos types de données spécifiques. Si vous pouvez représenter vos mesures sous forme d'objets JSON, TSorage peut les gérer!</p> <h3 dir="ltr"><strong><img alt="4" data-entity-type="file" data-entity-uuid="0bc80bc0-af67-4fc8-9732-345b5c16c3f8" height="26" src="/sites/default/files/inline-images/4_0.png" width="26" /> Une adaptation rapide et de manière prévisible </strong></h3> <p dir="ltr">L'ajout d'une nouvelle source de données (comme un capteur) doit être aussi simple et rapide que possible afin de ne pas étouffer toute innovation. Commencez simplement à alimenter TSorage avec un nouveau flux de données et administrez-le dans un second temps, soit via une application Web dédiée, soit par programmation. Chaque valeur peut être soumise avec des propriétés arbitraires (appelées “tags” dans la terminologie TSorage, nous détaillons cela dans la section suivante) qui permettent d'interroger et de gérer plus efficacement les sources de données. En fin de compte, les utilisateurs ne font plus référence à un identifiant de source unique, mais interrogent, comparent et agrègent les sources en fonction de leurs tags.</p> <p>Au fur et à mesure que vous intégrez de plus en plus de sources de données à la solution, vos besoins de traitement augmentent. TSorage s'appuie sur une architecture élastique qui exploite efficacement les ressources de votre infrastructure. Commencez avec un petit nombre de services conteneurisés et étendez-les à volonté en exécutant simplement plus de nœuds de travail.</p> <h3><strong> <img alt="5" data-entity-type="file" data-entity-uuid="2cad068d-9f09-4160-abfc-b10890a98976" height="26" src="/sites/default/files/inline-images/5.png" width="26" /> Une adaptation à votre infrastructure, prête pour le Cloud.</strong></h3> <p dir="ltr">Lorsque TSorage est utilisé pour gérer des données sensibles, le déploiement sur site peut être préféré à l'utilisation d'une solution d'hébergement à distance. Pour d'autres cas d'utilisation, un déploiement sur un Cloud public ou privé est une meilleure option. Dans les deux cas, TSorage est fourni avec des scripts de déploiement et de surveillance qui réduisent la charge de déploiement et de maintenance de la solution.</p> <h2 dir="ltr"><img alt="Image removed." data-entity-type="file" data-entity-uuid="a041bebb-6f07-4cc2-85ae-01ae3fd7625c" height="16" src="/sites/default/files/inline-images/book-open-shape_icon-icons.com_70792.png" width="16" title="This image has been removed. For security reasons, only images from the local domain are allowed." class="filter-image-invalid" /><strong> Quelques concepts</strong></h2> <p dir="ltr">Voici les différentes notions nécessaires à la bonne compréhension de la plateforme TSorage :</p> <ul><li dir="ltr"> <p dir="ltr"><strong>Une métrique </strong></p> </li> </ul><p dir="ltr">Concept fondamental de TSorage, une <em>métrique </em>est une entité abstraite associée à des mesures classées chronologiquement. Chaque <em>mesure </em>est également appelée un point de données ou une <em>observation</em>.</p> <p>Dans TSorage, tous les points de données appartenant à une métrique représentent le même phénomène physique, numérique ou logique, et ont donc typiquement le même type de données (bien que ce ne soit pas une limitation technique de la plateforme). Le type de données d'une observation détermine la manière dont TSorage la stocke et la présente, ainsi que les transformations auxquelles cette observation peut être soumise.</p> <ul><li dir="ltr"> <p dir="ltr"><strong>Les tags</strong></p> </li> </ul><p dir="ltr">Les <em>tags </em>sont des propriétés associées aux points de données. Leur utilité est d'aider l'utilisateur à comprendre la signification d'une observation particulière ou à interroger des points de données ayant une signification particulière. Concrètement, un tag est un texte arbitraire (la <em>clé</em>), associé à une valeur textuelle arbitraire (la <em>valeur</em>). Il y a deux types de tags :</p> <p dir="ltr">               - les tags dynamiques :  ils sont directement attachés à un point de données,</p> <p dir="ltr">               - les tags statiques : ils sont attachés à une métrique et sont automatiquement hérités de tous ses points de données.</p> <ul><li dir="ltr"> <p dir="ltr"><strong>Les tagsets</strong></p> </li> </ul><p dir="ltr">L'ensemble de tags associé à un point de données est appelé <em>tagset</em>. Un tagset combiné à une métrique constitue une série chronologique dans TSorage.</p> <p dir="ltr">Il existe deux manières typiques d'utiliser les tagsets :</p> <ul dir="ltr"><li> <p> - Une métrique identifie un capteur (au sens large du terme), tandis que les tags clarifient le statut du capteur (nom du fabricant, position géographique, etc.) ou certains des points de données générés (qualité de la donnée, état de fonctionnement, etc.).</p> </li> <li> <p>- La métrique fait référence à une propriété d'intérêt (utilisation du processeur, par exemple), tandis que les tags font référence à l'élément à l'origine des points de données (serveur numéro 5, par exemple).</p> </li> </ul><p dir="ltr">Bien que mélanger ces deux approches soit techniquement possible, nous vous recommandons de choisir l'une d'entre elles et de vous y tenir.</p> <p>Nous vous conseillons d’utiliser les tagsets pour appliquer une politique de sémantique, c’est-à-dire une ontologie. Au lieu de placer des informations dans le nom de la métrique, en utilisant certaines conventions spécifiques à l’entreprise qui sont peu respectées et qui souffrent donc de nombreuses exceptions, le nom de la métrique peut être dénué de sens et la sémantique peut être explicitée à l’aide du tagset.</p> <ul><li dir="ltr"> <p dir="ltr"><strong>Organisation hiérarchique</strong></p> </li> </ul><p>Veuillez noter que rien ne vous empêche d'organiser les métriques de manière hiérarchique, comme c’est souvent le cas avec les réseaux de capteurs industriels, car les clés de tag peuvent être utilisées pour définir les niveaux hiérarchiques de l'organisation (Vous en découvrirez davantage via la <a href="https://tsorage.readthedocs.io/en/latest/#tagmanagement">documentation officielle</a> ou via cet<a href="https://www.cetic.be/metadonnees-pour-meilleure-exploitation-reseaux-de-capteurs-industriels"> article de blog</a>).</p> <p dir="ltr">Les séries chronologiques sont organisées de manière hiérarchique :  les points de données et les valeurs agrégées des différentes séries chronologiques ayant la même métrique peuvent être combinés afin de produire une série chronologique plus générique.  Bien que les technologies impliquées dans TSorage sont assez efficaces et passent bien à l’échelle, sachez que l'extraction et la fusion de plusieurs séries chronologiques peuvent mener à une consommation importante des ressources disponibles. Par conséquent, le nombre de séries chronologiques qui doivent être fusionnées pour satisfaire une requête de données doit rester raisonnable afin de maintenir la pression sur la base de données à un niveau acceptable. </p> <ul><li dir="ltr"> <p dir="ltr"><strong>Les messages</strong></p> </li> </ul><p dir="ltr">Afin d'offrir de meilleures performances, les communications TSorage sont basées sur le concept de message. Un message est essentiellement un ensemble de points de données liés à la même série chronologique. En d'autres termes, les messages sont un moyen de soumettre plusieurs points de données à la fois, tout en ne soumettant le nom de la métrique, le tagset dynamique et le type de données qu'une fois par message.</p> <p dir="ltr">Chaque message doit contenir les éléments suivants :</p> <ul><li> <p>- metric :  l'identifiant de la métrique pour  laquelle de nouveaux points de données sont fournis.</p> </li> <li dir="ltr"> <p dir="ltr">- tagset : l’ensemble de tags dynamiques associés à tous les points de données décrits dans le message.</p> </li> <li dir="ltr"> <p dir="ltr">- type : le type de tous les points de données décrits dans le message. Bien que l'utilisation du même type pour tous les points de données relatifs à une métrique soit généralement considérée comme une bonne pratique, le type associé à une métrique (ou à une série chronologique) peut changer d'un message à un autre.</p> </li> <li dir="ltr"> <p dir="ltr">- values :  une liste de points de données. Chaque point de données est constitué de deux éléments : une représentation de l'horodatage associé au point de données et  la valeur du point de données.</p> </li> </ul><p dir="ltr">D'un point de vue technique, un message est représenté par un objet JSON (il peut également être représenté par un message Protobuf, cliquez <a href="https://tsorage.readthedocs.io/en/latest/#protobuf-format">ici </a>pour plus d’infos).</p> <p dir="ltr">Le schéma JSON d’un message TSorage est le suivant :</p> <pre dir="ltr"> { "$id": "be.cetic.tsorage.messageschema.json", "type": "object", "properties": { "metric": { "type": "string" }, "tagset": { "type": "object", "additionalProperties": { "type": "string" } }, "type": { "type": "string" }, "values": { "type": "array", "items": [ { "type": "array", "items": [ { "type": "string", "pattern" :"^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(\\.([0-9]){1,3})?$" }, {} ] } ] } }, "required": [ "metric", "type", "values" ] }</pre> <p dir="ltr">Comme illustré ci-dessus, l'attribut tagset doit être un dictionnaire de chaînes de caractères. Chaque valeur (qui représente un point de données) est un tableau contenant l'horodatage et la valeur du point de donnée, dans cet ordre. L'horodatage est représenté par une chaîne de caractères au format <a href="https://fr.wikipedia.org/wiki/ISO_8601">ISO 8601.</a></p> <p dir="ltr">La valeur elle-même peut être n'importe quel objet JSON valide. Son schéma réel dépend du type de donnée spécifié. Il existe plusieurs types de données proposés d’office par TSorage, et des types de données supplémentaires arbitrairement complexes peuvent être ajoutés à volonté.</p> <p dir="ltr">L'extrait ci-dessous est un exemple de message valide décrit à l'aide du format JSON :</p> <pre dir="ltr"> { "metric": "my-temperature-sensor", "tagset": { "quality": "good", "owner": "myself" }, "type": "tdouble", "values": [ [ "2020-01-02T03:04:05.678", 42.1337 ], [ "2020-01-02T03:04:06.123", 654.72 ] ] }</pre> <h2 dir="ltr"><img alt="Architecture" data-entity-type="file" data-entity-uuid="be200399-d425-4570-9907-c936898bb884" height="33" src="/sites/default/files/inline-images/%C3%A9querre_crayon.png" width="33" /> Architecture</h2> <p dir="ltr">Le projet TSorage est basé sur une architecture modulaire, tous les modules étant conçus pour être exécutés dans des conteneurs Docker distincts. Cela fait de TSorage une solution portable, avec des étapes de déploiement simples et standardisées. Il offre également la possibilité de placer les composants sur différentes machines physiques et virtuelles, le rendant disponible sur une large gamme de plateformes et de services.</p> <p>De plus, le (re)dimensionnement d'une architecture conteneurisée est plus facile, puisqu'un composant peut être déplacé vers une plateforme offrant plus de ressources. Sous certaines conditions, les conteneurs peuvent être dupliqués afin d'augmenter les performances des modules sous-jacents.</p> <p dir="ltr">La figure ci-dessous donne un aperçu de l'architecture TSorage.</p> <p dir="ltr"><img alt="architecture TSorage" data-entity-type="file" data-entity-uuid="81f9ae6e-b58a-4d8b-b93f-d51484bbdeb4" height="412" src="/sites/default/files/inline-images/architecture.PNG" width="782" /></p> <p dir="ltr"><strong><img alt="1" data-entity-type="file" data-entity-uuid="3acf6303-6e37-4788-8b28-ffbd9e6814b4" height="15" src="/sites/default/files/inline-images/1_1.png" width="15" /> La passerelle (Gateway) : </strong>le traitement des séries temporelles commence par la couche Gateway, qui contient des composants ad hoc pour collecter ou extraire des valeurs de séries <img alt="gateway" data-entity-type="file" data-entity-uuid="8bde594b-8be8-44e0-99f4-f30dfcb02b90" height="198" src="/sites/default/files/inline-images/couche%20gateway.PNG" width="203" class="align-right" />chronologiques à partir de diverses sources de données. Cette couche prend en charge diverses technologies de communication industrielles, y compris Modbus, OPC-UA et MQTT. Les bases de données distantes peuvent également être consultées pour la collecte de données historiques. Les valeurs de séries chronologiques collectées sont standardisées et temporairement stockées dans un tampon avant d’être finalement transmises à la couche d'ingestion à l'aide des protocoles HTTP ou MQTT.</p> <p dir="ltr"> </p> <p dir="ltr"><strong><img alt="ingestion" data-entity-type="file" data-entity-uuid="e7cc9862-e463-48aa-8576-39f026af8cb0" height="15" src="/sites/default/files/inline-images/2_2.png" width="15" /> La couche d’ingestion :</strong> le système d’ingestion des données est polyvalent et se base sur des technologies standardisées (HTTP, MQTT, etc.) afin de faciliter l’intégration de TSorage dans votre système informatique! Cette couche est celle du  point d'entrée des valeurs de séries chronologiques : la conformité des messages reçus est vérifiée, les messages non autorisés sont rejetés. À partir de là, les entités décrites sont considérées comme des composants internes de TSorage, ce qui signifie essentiellement qu'elles sont gérées par le cluster TSorage. La couche d’ingestion est composée de différents modules d'interface, chacun d'entre eux fournissant un moyen spécifique pour une source de données de soumettre de nouvelles valeurs de séries chronologiques. Les messages acceptés sont poussés vers un topic Apache Kafka12, qui agit comme une file d'attente de messages pour les services internes de traitement de TSorage. </p> <p dir="ltr"><strong><img alt="processing" data-entity-type="file" data-entity-uuid="c4a7526b-a6f3-4558-b7eb-16c26da0514e" height="16" src="/sites/default/files/inline-images/3_2.png" width="16" /> La couche de traitement (processing) : </strong>à ce stade, un ensemble d’applications de traitement gère le flux de messages Kafka. C’est le langage de requêtes de séries chronologiques de Prometheus, PromQL, qui a été implémenté afin d’exploiter les données collectées. Ce langage permet de réaliser des agrégations temporelles, des combinaisons de valeurs, et de filtrer des données tout en prenant en compte la sémantique associée aux capteurs." Il permet d’effectuer des agrégations et des transformations de données en temps réel.</p> <ul dir="ltr"><li> <p>- Les rollups de données (data rollups) sont des agrégations des valeurs au fil du temps. De cette façon, des analyses de haut niveau couvrant de longues périodes peuvent être effectuées plus facilement. Les rollups facilitent également  l’analyse de séries chronologiques, car leurs valeurs sont alignées chronologiquement.</p> </li> <li> <p>- Les transformations de données sont les modifications des valeurs, des noms et des tags des séries chronologiques, en temps réel et selon des fonctions métier, afin d’enrichir les informations traitées. </p> </li> </ul><p dir="ltr"><strong><img alt="Storage" data-entity-type="file" data-entity-uuid="065bf8df-1e0c-45db-b4a1-f5536ab8abef" height="17" src="/sites/default/files/inline-images/4_1.png" width="17" /> La couche de stockage (storage) : </strong><a href="https://aiven.io/cassandra">Apache Cassandra</a> est utilisé pour stocker des valeurs de séries chronologiques de manière permanente. Cette base de données distribuée et décentralisée offre une évolutivité linéaire, tandis que la réplication automatique des données entre différents sites permet à la solution de rester opérationnelle et de se remettre automatiquement de  la défaillance d’un nœud ou même d’un data center entier. De cette façon, la pérennité, la survie et la disponibilité des données sont assurées. TSorage offre également une résilience aux pannes grâce à un mécanisme qui assure la migration automatique des différentes fonctionnalités de la solution d’un serveur défaillant vers un autre fonctionnel, garantissant ainsi une haute disponibilité des différents services.</p> <p dir="ltr">Le modèle de données conçu respecte la nature des données manipulées et des requêtes typiques qui se rapportent à une série chronologique ainsi qu’à un intervalle de temps précis. En plus des valeurs de séries chronologiques, la base de données stocke également les métadonnées qui aident à atteindre plus efficacement les données souhaitées. Par exemple,  une liste de toutes les partitions associées à une métrique particulière, et ayant un tagset particulier, est tenue à jour afin d’améliorer le temps de réponses des requêtes.</p> <p dir="ltr"><strong><img alt="hub" data-entity-type="file" data-entity-uuid="4ce73316-92e7-4d1c-bcc5-5dcf4e9964a2" height="18" src="/sites/default/files/inline-images/5_0.png" width="18" /> La couche Hub : </strong>il s’agit des services qui aident l’utilisateur à interagir avec les autres couches.  Les services déployés dépendent des besoins de l’utilisateur mais ils incluent généralement la gestion des tags, le requêtage de données et les représentations de ces dernières sous forme de tableaux de bord. <a href="https://grafana.com/">Grafana</a> est l’outil proposé pour concevoir et déployer facilement des tableaux de bord, alimentés par les valeurs de séries temporelles ingérées, sous la forme de visualisation <a href="https://scadavis.io/">SCADA</a>. La couche Hub offre une implémentation de <a href="https://prometheus.io/docs/prometheus/latest/querying/basics/">PromQL</a>, le langage de requête de séries chronologiques de Prometheus. Les outils d’analyse et de visualisation supportant ce langage s’intègrent donc aisément avec TSorage.</p> <h2 dir="ltr"><img alt="Exemple" data-entity-type="file" data-entity-uuid="20a6f00a-708c-401e-868c-82514bdde002" height="43" src="/sites/default/files/inline-images/note_list_icon_124054_0.png" width="43" /> Un exemple de cas d’étude</h2> <p dir="ltr">Le CETIC a évalué TSorage dans le cadre du projet de recherche industrielle <a href="//www.cetic.be/ARTEMTEC-en ">SW-ARTEMTEC</a>. L’objectif était de fournir des outils analytiques modernes et avancés issus des technologies liées au big data et à la réalité augmentée afin d’améliorer la maintenance des sites industriels répartis géographiquement dans le monde entier. </p> <p>Le partenaire du CETIC, <a href="https://www.safran-aero-boosters.com/fr">Safran Aero Boosters</a> (SAB), a apporté des flux données provenant de divers capteurs mesurant l’activité d’équipement de test aérospatial. Ces flux de données ont été enregistrés et traités avec TSorage afin de détecter toute anomalie. Le résultat attendu de ce projet est le développement de services innovants répondant aux attentes du marché de SAB.</p> <h2><img alt="conclusion" data-entity-type="file" data-entity-uuid="c50903ee-f184-4410-8b7d-ea7bd1e74247" height="34" src="/sites/default/files/inline-images/pieds_2.png" width="34" /> Pour aller plus loin...</h2> <p dir="ltr">La plateforme TSorage a été développée par le <a href="https://www.cetic.be/">CETIC</a> dans le cadre de l’Industrie 4.0, avec l’ambition de développer un portefeuille d’outils de gestion de données modernes et conformes aux enjeux introduits par l’Internet Industriels des Objets. </p> <p dir="ltr">Vous trouverez la documentation technique <a href="http://doc.tsorage.io">ici</a>, n’hésitez pas à contacter le CETIC pour plus d'informations.</p> <p dir="ltr">Vous pouvez également générer des séries temporelles paramétrables grâce à <a href="http://hub-creatif.ext.cetic.be/fiche/tsimulus-un-generateur-de-series-chronologiques-realistes-open-source">TSimulus </a>pour ensuite les stocker et les visualiser grâce à TSorage. </p> <p dir="ltr">Notez que TSorage peut aussi être déployé à l’aide de <a href="https://fadi.cetic.be">FADI</a>, une plateforme “cloud native” dédiée au Big Data.</p> <p dir="ltr"><strong> </strong></p></div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> Fri, 13 Nov 2020 10:19:18 +0000 laurie 41 at http://hub-creatif.cetic.be DMWay, la communication IoT simplifiée http://hub-creatif.cetic.be/fiche/dmway-la-communication-iot-simplifiee <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--title--hover.html.twig x field--node--title.html.twig * field--node--hover.html.twig * field--title.html.twig * field--string.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <span class="field field--name-title field--type-string field--label-hidden">DMWay, la communication IoT simplifiée</span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--field-tags--hover.html.twig * field--node--field-tags.html.twig * field--node--hover.html.twig * field--field-tags.html.twig * field--entity-reference.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Tags</div> <div class="field__items"> <div class="field__item"><a href="/Connectivit%C3%A9R%C3%A9seaux" hreflang="en">Connectivité/réseaux</a></div> <div class="field__item"><a href="/Gestion%20de%20donn%C3%A9es" hreflang="en">Gestion de données</a></div> <div class="field__item"><a href="/IoT" hreflang="en">IoT</a></div> <div class="field__item"><a href="/Logiciel" hreflang="en">Logiciel</a></div> </div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--uid--hover.html.twig x field--node--uid.html.twig * field--node--hover.html.twig * field--uid.html.twig * field--entity-reference.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <span class="field field--name-uid field--type-entity-reference field--label-hidden"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'username' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> <span lang="" about="/user/5" typeof="schema:Person" property="schema:name" datatype="">laurie</span> <!-- END OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> </span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--created--hover.html.twig x field--node--created.html.twig * field--node--hover.html.twig * field--created.html.twig * field--created.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <span class="field field--name-created field--type-created field--label-hidden">Thu, 11/12/2020 - 15:22</span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--field-pdf--hover.html.twig * field--node--field-pdf.html.twig * field--node--hover.html.twig * field--field-pdf.html.twig * field--file.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <div class="field field--name-field-pdf field--type-file field--label-above"> <div class="field__label">Télécharger le PDF</div> <div class="field__item"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'file_link' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/file-link.html.twig' --> <span class="file file--mime-application-pdf file--application-pdf"> <a href="http://hub-creatif.cetic.be/sites/default/files/2022-01/Fiche%20DMWay.pdf" type="application/pdf; length=1117004" title="Fiche DMWay.pdf">Fiche DMway</a></span> <!-- END OUTPUT from 'core/themes/classy/templates/field/file-link.html.twig' --> </div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--body--hover.html.twig * field--node--body.html.twig * field--node--hover.html.twig * field--body.html.twig x field--text-with-summary.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-above"> <div class="field__label">Body</div> <div class="field__item"><p dir="ltr">Du smart building à l’Industrie 4.0 en passant par l’e-santé, de plus en plus d’appareils intelligents infiltrent notre quotidien. Que ce soit pour optimiser l’efficacité énergétique d’un bâtiment, faire de la maintenance prédictive, s’assurer un meilleur confort de vie,... Il existe désormais une pléthore d’<a href="https://toolbox.hub-charleroi.be/fiche/la-gestion-des-reseaux-de-capteurs">objets connectés</a>! Le hic ? Il existe également une multitude de protocoles IoT. Trouver un seul protocole de communication compatible avec tous les différents appareils connectés s’avère compliqué... sauf si vous avez DMWay!</p> <p dir="ltr">Cette fiche vous explique plus en détails DMWay, la solution multi-protocoles de gestion de données pour l’IoT Gateways.</p> <h2 dir="ltr"><strong><img alt="Image removed." data-entity-type="file" data-entity-uuid="d02fb935-a6eb-4553-9e6c-c3635d7a24e6" height="16" src="/sites/default/files/inline-images/people_0.png" width="16" title="This image has been removed. For security reasons, only images from the local domain are allowed." class="filter-image-invalid" />  Pour qui ? </strong></h2> <p dir="ltr">Vous êtes une entreprise utilisant de nombreux capteurs hétérogènes ? Une entreprise industrielle désirant commander sa chaîne de production ?  Votre société propose des services de maintenance prédictive ?  Vous implémentez des solutions de capture de données ? Vous devez certifier des installations ? Vous vendez des gateways industrielles et  des solutions de data-lake ? Vous voulez simplement vous simplifier la vie quant à la collecte et à la  gestion de vos données ?</p> <p dir="ltr">DMWay est une solution logicielle qui va fortement vous intéresser !</p> <h2 dir="ltr"><strong><img alt="Image removed." data-entity-type="file" data-entity-uuid="36f45317-7161-465a-987e-51d76edda56c" height="16" src="/sites/default/files/inline-images/goal2_5.png" width="16" title="This image has been removed. For security reasons, only images from the local domain are allowed." class="filter-image-invalid" />  Pour quoi faire ? </strong></h2> <p dir="ltr">A l’heure actuelle, il existe une multitude d’objets connectés et tout autant de protocoles de communication IoT, propriétaires ou non. La gestion des sources et des formats de données hétérogènes est très compliquée : les backends ont besoin d’un connecteur adapté pour chaque protocole étant donné que de nombreux types de sources de données ont leurs propres caractéristiques et exigences. Les utilisateurs se retrouvent souvent bloqués soit par rapport à une marque de matériel soit avec un système de gestion qui ne répond pas complètement à leurs attentes.</p> <p dir="ltr"> </p> <img alt="Internet of Things" data-entity-type="file" data-entity-uuid="039aaff4-5f4e-4761-a309-62273d0489da" height="405" src="/sites/default/files/inline-images/communication%20IoT.PNG" width="819" class="align-center" /><p> </p> <p dir="ltr">DMWay (<em>Dynamic Mapping Gateway</em>) sert d’intermédiaire entre les objets connectés et les applications web. Son objectif est d’interconnecter des données hétérogènes en uniformisant les protocoles IoT reçus en entrée et en fournissant, en sortie, les différents protocoles dans le format souhaité. </p> <p>On peut plus facilement résumer le rôle de DMWay à celui de traducteur !</p> <img alt="DMWay" data-entity-type="file" data-entity-uuid="1147dc33-3b3e-4cca-82ff-5acef1e84a59" height="352" src="/sites/default/files/inline-images/traducteur.PNG" width="724" class="align-center" /><h2><img alt="Image removed." data-entity-type="file" data-entity-uuid="cd8e2d38-7833-48a6-b924-83938fc09dd3" height="16" src="/sites/default/files/inline-images/stars.png" width="16" title="This image has been removed. For security reasons, only images from the local domain are allowed." class="filter-image-invalid" /><strong> Les atouts de DMWay</strong></h2> <h3 dir="ltr"><strong>          <img alt="1" data-entity-type="file" data-entity-uuid="918d4267-6cad-4bbd-9400-dd22db7dbd9d" height="23" src="/sites/default/files/inline-images/1_3.png" width="23" />  Se défaire du vendor lock in </strong></h3> <p dir="ltr">Avec DMWay, vous êtes propriétaire de vos données et vous pouvez les gérer comme vous le souhaitez.</p> <h3 dir="ltr"><strong>          <img alt="2" data-entity-type="file" data-entity-uuid="692b8b0c-5c0f-4339-81a6-fd6a69c03b19" height="23" src="/sites/default/files/inline-images/2_4.png" width="23" />  Le multiplexage de données </strong></h3> <p dir="ltr">Grâce à DMWay, vous pourrez connecter vos différents capteurs/actionneurs et distribuer les données qui en résultent à des backends différents. Si vous disposez de  45 capteurs de marque X conçus pour communiquer avec le backend de cette même marque X, il est difficile d’apporter de l’évolutivité à vos données ... Or déployer DMWay comme intermédiaire, vous permet de communiquer les données avec des backends d’autres marques ou open-source.</p> <h3 dir="ltr"><strong>          <img alt="3" data-entity-type="file" data-entity-uuid="0c5b391e-3bed-4a5b-bc0b-1fa519b2aaee" height="23" src="/sites/default/files/inline-images/3_3.png" width="23" /> La sémantique des données </strong></h3> <p dir="ltr">La sémantique des données concerne la signification du message :  elle assure la conservation du sens des données lors des échanges entre les différentes parties communicantes. Le rôle de la sémantique est vraiment d’assurer la cohérence des significations reçues (on parle d’interopérabilité sémantique).</p> <p dir="ltr">DMway permet de  détecter et conserver la sémantique initiale, et sous certaine configuration, il peut l’enrichir, surtout lorsque les couches de protocoles sous-jacentes sont faiblement structurées.</p> <h3 dir="ltr"><strong>          <img alt="4" data-entity-type="file" data-entity-uuid="3b7eb146-74f3-460a-a387-28dfb7bfee05" height="26" src="/sites/default/files/inline-images/4_2.png" width="26" /> Le support built in des standards majeurs de l’IoT </strong></h3> <p dir="ltr">DMway comprend les protocoles principaux, les standards majeurs de l’industrie IoT : </p> <ul><li dir="ltr"> <p dir="ltr">OCF/OneIOTA</p> </li> <li dir="ltr"> <p dir="ltr">OneM2M/HGI</p> </li> <li dir="ltr"> <p dir="ltr">OPC/UA</p> </li> <li dir="ltr"> <p dir="ltr">CoAP</p> </li> <li dir="ltr"> <p dir="ltr">CayenneLPP</p> </li> <li dir="ltr"> <p dir="ltr">ZWave</p> </li> <li dir="ltr"> <p dir="ltr">ModBus</p> </li> <li dir="ltr"> <p dir="ltr">MQTT</p> </li> <li dir="ltr"> <p dir="ltr">...</p> </li> </ul><h3 dir="ltr"><strong>          <img alt="5" data-entity-type="file" data-entity-uuid="11d9fb6d-fcd9-4ff0-b91c-1f81dc573d22" height="24" src="/sites/default/files/inline-images/5_1.png" width="24" /> Les interfaces supportées</strong></h3> <p dir="ltr">Afin de supporter les différents protocoles ci-dessus, DMway supporte diverses interfaces physiques, comme Ethernet, WiFi, GPRS, ou Serial, RS-485, . En effet, p… Par exemple, vous pouvez communiquer directement  vers un équipement en CayenneLPP via Serial ou communiquer en ZWave, RF, LoRaWAN,... via leurs outils d’interfaçage MQTT.T au moyen d’une connexion Ethernet.</p> <h3 dir="ltr"><strong>          <img alt="6" data-entity-type="file" data-entity-uuid="631f1f43-7a38-46e7-b43f-d034cd138e94" height="22" src="/sites/default/files/inline-images/6_0.png" width="22" /> Support built in des backends les plus communs</strong></h3> <p dir="ltr">La solution DMway permet d’intégrer très facilement un nouveau backend grâce à une configuration rapide !</p> <p> </p> <p dir="ltr">Actuellement, elle vous permet de communiquer vers l’extérieur envia, entre autres, MQTT, CoAP, OneM2M et SerialM.,... DMway dispose également de connecteurs spécifiques pour MongoDB, RabbitMQT, <a href="https://toolbox.hub-charleroi.be/fiche/thingsboard-gerer-les-donnees-de-vos-appareils-connectes">Thingsboard </a>et <a href="https://toolbox.hub-charleroi.be/fiche/tsorage-une-plateforme-de-gestion-de-donnees-iiot-open-source">TSorage </a>(et prochainement OPC/UA !). </p> <p><br /> Si vos plateformes intègrent du MQTT, comme Azure ou AWS par exemple, vous pouvez également  les connecter directement à DMwWay.</p> <h3 dir="ltr"><strong>          <img alt="7" data-entity-type="file" data-entity-uuid="6fc7b583-0f9c-4076-927d-ad055d2db126" height="21" src="/sites/default/files/inline-images/7_0.png" width="21" /> Versatilité dans le déploiement</strong></h3> <p dir="ltr">DMway est un logiciel léger que vous pouvez déployer à divers endroits de votre architecture :</p> <ul><li dir="ltr"> <p dir="ltr">Edge computing : vous pouvez réalisez une implémentation de DMWay directement dans votre gateway.</p> </li> <li dir="ltr"> <p dir="ltr">Cloud computing/ Fog server : vous pouvez installer DMWay a l’entrée d’une solution de stockage ou de votre plateforme web pour simplifier l’interconnexion de vos capteurs.</p> </li> <li dir="ltr"> <p dir="ltr">Hybride (Edge &amp; Cloud) : vous pouvez déployer DMWay sur votre gateway et sur vos serveurs afin de simplifier et uniformiser votre architecture de déploiement.</p> </li> </ul><h3 dir="ltr"> </h3> <h3 dir="ltr"><strong>Pourquoi choisir DMway plutôt qu’une autre solution ?</strong></h3> <p dir="ltr">DMWay fait face à de nombreux concurrents sur le marché… Néanmoins, aucun ne couvre tous les aspects de DMWay !</p> <img alt="DMWay et les autres solutions " data-entity-type="file" data-entity-uuid="f12d1992-d9a9-4759-96f8-b7d46c19a8ed" height="553" src="/sites/default/files/inline-images/concurrence.png" width="892" class="align-center" /><h2 dir="ltr"><img alt="Image removed." data-entity-type="file" data-entity-uuid="20a6f00a-708c-401e-868c-82514bdde002" height="16" src="/sites/default/files/inline-images/note_list_icon_124054_0.png" width="16" title="This image has been removed. For security reasons, only images from the local domain are allowed." class="filter-image-invalid" />  Les cas d’utilisation de DMway</h2> <p>DMWay a déjà été mobilisé dans divers cas d’utilisation : </p> <ul><li dir="ltr"> <p dir="ltr"><strong>Le projet de recherche <a href="https://www.cetic.be/MAPIU-fr">MAPIU</a> </strong></p> </li> </ul><p dir="ltr">L’objectif  de ce projet dans le domaine de la logistique était de voir, grâce au placement de capteurs à l’intérieur de camions, les chocs subis par les caisses lors du transport. DMWay a été implémenté entre les capteurs et le système de gestion situé dans le cloud. </p> <ul><li dir="ltr"> <p dir="ltr"><strong>Le projet de recherche <a href="https://www.cetic.be/Keys2Success40-fr">KEY2SUCCESS4.0</a> </strong></p> </li> </ul><p dir="ltr">Ce projet de démonstrateur industriel léger et polyvalent a pour but de démontrer l’usage de l’IoT dans l’industrie 4.0. DMWay a été implémenté localement en tant qu'interprète multiplexeur.</p> <ul><li dir="ltr"> <p dir="ltr"><strong>Le projet <a href="https://www.cetic.be/Construction-40-Build4Wal-fr">Build4Wal</a> </strong></p> </li> </ul><p dir="ltr">Ce projet, aussi appelé Construction 4.0, a pour objectif  de stimuler la transition numérique  du secteur de la construction. DMWay facilite le déploiement des capteurs pour l’interconnexion à la plateforme <a href="https://toolbox.hub-charleroi.be/fiche/thingsboard-gerer-les-donnees-de-vos-appareils-connectes">Thingsboard</a>. </p> <ul><li dir="ltr"> <p dir="ltr"><strong>Le système domotique du CETIC </strong></p> </li> </ul><p dir="ltr">Des capteurs hétérogènes ont été installés au sein du bâtiment. Ce cas d’application illustre la capacité d’ajout de capteurs à chaud ainsi que le multiplexage  : de nouveaux capteurs ont été installés sans avoir besoin de modifier la configuration ou de faire quoi que ce soit d’autre. La communication s’est directement faite avec le système déjà en place et avec différents backends tels que <a href="https://toolbox.hub-charleroi.be/fiche/thingsboard-gerer-les-donnees-de-vos-appareils-connectes">Thingsboard </a>et Grafana. </p> <p dir="ltr"> </p> <h2 dir="ltr"><strong><img alt="Image removed." data-entity-type="file" data-entity-uuid="dcf6a7d2-122d-4277-ae7b-f6d03cc554ed" height="16" src="/sites/default/files/inline-images/camera_1.png" width="16" title="This image has been removed. For security reasons, only images from the local domain are allowed." class="filter-image-invalid" /> La démonstration en vidéo </strong></h2> <p dir="ltr">Voici <a href="https://www.youtube.com/watch?v=tJX_WWQqc0o">le replay du webinaire</a> organisé par le Hub-C le 16 décembre 2021 afin de faire une démonstration de DMway La présentation est réalisée par Amel Achour, ingénieure de recherche Senior en <a href="https://www.cetic.be/spip.php?page=groupes-mots&amp;id_groupe=14&amp;lang=fr">Evolutivité des systèmes embarqués et réseaux Io</a>T au sein du CETIC.</p> <h2><img alt="Image removed." data-entity-type="file" data-entity-uuid="c50903ee-f184-4410-8b7d-ea7bd1e74247" height="16" src="/sites/default/files/inline-images/pieds_2.png" width="16" title="This image has been removed. For security reasons, only images from the local domain are allowed." class="filter-image-invalid" /> Pour aller plus loin...</h2> <p dir="ltr">DMway est un outil développé par le CETIC, n’hésitez pas à prendre contact si vous désirez des informations supplémentaires!</p> <p dir="ltr"><br /> Si vous voulez en savoir plus sur les réseaux de capteurs et l’IoT, vous pouvez consulter nos fiches relatives à la <a href="https://toolbox.hub-charleroi.be/fiche/la-gestion-des-reseaux-de-capteurs">gestion des réseaux de capteurs</a>, à la plateforme IoT <a href="https://toolbox.hub-charleroi.be/fiche/thingsboard-gerer-les-donnees-de-vos-appareils-connectes">Thingsboard</a> ou encore celles concernant la fabrication de <a href="https://toolbox.hub-charleroi.be/fiche/fabriquer-votre-propre-systeme-domotique-open-source">son propre système domotique open source</a> et de <a href="https://toolbox.hub-charleroi.be/fiche/airberry-fabriquer-votre-moniteur-de-qualite-dair">son propre moniteur de qualité d’air</a>.</p> <h2><strong><img alt="Image removed." data-entity-type="file" data-entity-uuid="c3f03cf9-540b-4f39-96ca-1aec98d53b0d" height="16" src="/sites/default/files/inline-images/question.png" width="16" title="This image has been removed. For security reasons, only images from the local domain are allowed." class="filter-image-invalid" /> Besoin d’une aide supplémentaire ?  </strong></h2> <p dir="ltr">Le <a href="https://www.hub-charleroi.be/fr/team">Hub-C</a> dans le cadre de ses services d’accompagnement numérique organise des workshops et groupes de travail en lien avec les nouvelles technologies de prototypages.  Vous souhaitez un accompagnement pour votre projet innovant ou vous souhaitez participer à un prochain workshop? N'hésitez pas à contacter <a href="https://www.hub-charleroi.be/fr/team">un membre du Hub</a> ! </p> <p dir="ltr"><br /> Vous avez une question spécifique à propos d’une fiche? Elles sont réalisées par les experts du <a href="https://www.cetic.be/">CETIC</a> (Centre d'Excellence en Technologies de l'Information et de la Communication), un  centre de recherche appliquée en informatique situé à Charleroi. Vous trouverez toutes les coordonnées <a href="https://www.cetic.be/Contact">ici</a>.</p></div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> Thu, 12 Nov 2020 14:22:15 +0000 laurie 46 at http://hub-creatif.cetic.be Introduction au Data processing http://hub-creatif.cetic.be/fiche/introduction-au-data-processing <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--title--hover.html.twig x field--node--title.html.twig * field--node--hover.html.twig * field--title.html.twig * field--string.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <span class="field field--name-title field--type-string field--label-hidden">Introduction au Data processing</span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--field-tags--hover.html.twig * field--node--field-tags.html.twig * field--node--hover.html.twig * field--field-tags.html.twig * field--entity-reference.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Tags</div> <div class="field__items"> <div class="field__item"><a href="/Cloud" hreflang="en">Cloud Computing</a></div> <div class="field__item"><a href="/Gestion%20de%20donn%C3%A9es" hreflang="en">Gestion de données</a></div> <div class="field__item"><a href="/Stockagededonn%C3%A9es" hreflang="en">Stockage de données</a></div> </div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--uid--hover.html.twig x field--node--uid.html.twig * field--node--hover.html.twig * field--uid.html.twig * field--entity-reference.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <span class="field field--name-uid field--type-entity-reference field--label-hidden"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'username' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> <span lang="" about="/user/5" typeof="schema:Person" property="schema:name" datatype="">laurie</span> <!-- END OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> </span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--created--hover.html.twig x field--node--created.html.twig * field--node--hover.html.twig * field--created.html.twig * field--created.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <span class="field field--name-created field--type-created field--label-hidden">Fri, 11/06/2020 - 14:29</span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--field-pdf--hover.html.twig * field--node--field-pdf.html.twig * field--node--hover.html.twig * field--field-pdf.html.twig * field--file.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <div class="field field--name-field-pdf field--type-file field--label-above"> <div class="field__label">Télécharger le PDF</div> <div class="field__item"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'file_link' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/file-link.html.twig' --> <span class="file file--mime-application-pdf file--application-pdf"> <a href="http://hub-creatif.cetic.be/sites/default/files/2021-06/Fiche%20introduction%20au%20Data%20processing.pdf" type="application/pdf; length=2887108">Fiche introduction au Data processing.pdf</a></span> <!-- END OUTPUT from 'core/themes/classy/templates/field/file-link.html.twig' --> </div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--body--hover.html.twig * field--node--body.html.twig * field--node--hover.html.twig * field--body.html.twig x field--text-with-summary.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-above"> <div class="field__label">Body</div> <div class="field__item"><p><span><span><span><span><span><span>Data lake, ETL, Data warehouse, Batch processing, Data engineer… tous ces termes sont pour vous du charabia ?  Pas de panique ! Cette fiche vous propose de découvrir tout ce jargon qui appartient en réalité au </span></span></span></span></span></span><span><span><span><span><em><span><strong>Data processing</strong>, </span></em></span></span></span></span><span><span><span><span><span><span>le processus qui <strong>traite vos données </strong>pour les<strong> transformer en information utile</strong> et en <strong>valeur ajoutée</strong> pour votre entreprise.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Découvrez également ce qu’est le<strong><em> Data engineering</em></strong>, la discipline en lien, entre autres, avec la <strong>qualité de vos données</strong> ainsi que le<strong> processus ETL</strong>, détaillé étape par étape, et ses spécificités par rapport au <strong>Big Data</strong>. Ensuite, nous examinerons les particularités de deux modes de stockage de données bien connus que sont les </span></span></span></span></span></span><strong><span><span><span><span><em><span>Data lakes</span></em></span></span></span></span></strong><span><span><span><span><span><span> et les </span></span></span></span></span></span><span><span><span><span><em><span><strong>Data warehouses</strong>. </span></em></span></span></span></span></p> <p><span><span><span><span><span><span>Vous verrez qu'il n’y a pas de solution unique qui soit meilleure que les autres, cela dépend de votre entreprise et surtout de vos besoins. </span></span></span></span></span></span></p> <h2><strong> <strong><img alt="pour quoi faire" data-entity-type="file" data-entity-uuid="dc02ec25-2902-439b-a035-9a05da935a01" height="45" src="/sites/default/files/inline-images/goal2_8.png" width="45" /></strong>  Pour quoi faire ? </strong></h2> <p><span><span><span><span><span><span>A l’heure actuelle, notre société est bouleversée par ce qu’on appelle la  </span></span></span></span></span></span><span><span><span><span><em><span>transformation numérique</span></em></span></span></span></span><span><span><span><span><span><span> : les entreprises intègrent de plus en plus de technologies numériques au sein de leurs activités afin d'accroître leur productivité, leur croissance, leurs innovations,... et donc leur compétitivité. </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Les entreprises ont maintenant accès à une multitude de données provenant de sources diverses et variées (vidéos, réseaux sociaux, sites consultés, formulaires complétés,...). Ces données doivent être correctement interprétées pour fournir des informations utiles à l’entreprise, c’est-à-dire des informations qui permettent d’analyser la situation passée et présente afin de prendre des décisions pertinentes concernant le futur (résoudre des problèmes, proposer de nouveaux produits,...). Un des grands défis du Big Data est donc de savoir que faire dire aux données et dans quel but ?  Comment les interpréter correctement afin de les comprendre, de les analyser, de leur ajouter une valeur et les utiliser pour améliorer l’expérience utilisateur ? </span></span></span></span></span></span></p> <h2><span><span><span><span><span><span>Le Data Processing </span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Le </span></span></span></span></span></span><span><span><span><span><em><span>data processing </span></em></span></span></span></span><span><span><span><span><span><span> est ce qu’on appelle le traitement des données au sens large, c’est le processus qui va transformer vos données brutes en informations exploitables. Le traitement des données se compose des étapes suivantes : </span></span></span></span></span></span></p> <ol><li> <p><span><span><span><span><span><span>1. La collecte des données </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>2. La préparation des données (</span></span></span></span></span></span><span><span><span><span><em><span>pre-processing</span></em></span></span></span></span><span><span><span><span><span><span>) : on améliore leur qualité.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>3. L’importation: Les données propres sont ensuite saisies dans leur destination.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>4. Le traitement des données (</span></span></span></span></span></span><span><span><span><span><em><span>processing</span></em></span></span></span></span><span><span><span><span><span><span>) : les données sont transformées, par exemple à l’aide d’algorithmes d'apprentissage automatique.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>5. La sortie et l’interprétation  : il s’agit du résultat. Les données sont converties, lisibles et exploitables car elles fournissent de l’information utile. Elles sont présentées sous forme de graphiques, images, vidéos,... </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>6. Le stockage : les  données transformées sont stockées pour être utilisées ultérieurement. </span></span></span></span></span></span></p> </li> </ol><img alt="Data processing" data-entity-type="file" data-entity-uuid="b74ee6b7-8cf0-4db3-bb5c-24379292f338" height="304" src="/sites/default/files/inline-images/data%20processing.PNG" width="325" class="align-center" /><p><span><span><span><span><span><span>Ces étapes forment un cycle qui va  vous permettre d’extraire de la valeur de vos données.</span></span></span></span></span></span></p> <h2><span><span><span><span><span><span>Le Data Engineering</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Bien que certains considèrent que les origines du </span></span></span></span></span></span><span><span><span><span><em><span>Data Engineering</span></em></span></span></span></span><span><span><span><span><span><span> (ou l’</span></span></span></span></span></span><span><span><span><span><em><span>Ingénierie des données </span></em></span></span></span></span><span><span><span><span><span><span> en français) remontent à 1980, voire à 1950, c’est à partir des années 2000 et l’avènement du Big Data que cette discipline devient vraiment nécessaire, et à partir de 2010 que ce terme est popularisé.  </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Souvent confondue avec la </span></span></span></span></span></span><span><span><span><span><em><span>Science des données</span></em></span></span></span></span><span><span><span><span><span><span> (</span></span></span></span></span></span><span><span><span><span><em><span>Data Science</span></em></span></span></span></span><span><span><span><span><span><span> en anglais), l’</span></span></span></span></span></span><span><span><span><span><em><span>ingénierie des données</span></em></span></span></span></span><span><span><span><span><span><span> vise à mettre en place les outils et infrastructures nécessaires et adéquats pour l’analyse, la préparation et le traitement des données volumineuses afin d’en garantir leur pertinence, leur qualité et d'éliminer celles qui sont inutiles. L’</span></span></span></span></span></span><span><span><span><span><em><span>ingénieur des données</span></em></span></span></span></span><span><span><span><span><span><span> (</span></span></span></span></span></span><span><span><span><span><em><span>Data Engineer</span></em></span></span></span></span><span><span><span><span><span><span>) fournit les données traitées et prêtes à l’usage aux </span></span></span></span></span></span><span><span><span><span><em><span>Data Scientists</span></em></span></span></span></span><span><span><span><span><span><span> (</span></span></span></span></span></span><span><span><span><span><em><span>experts en Science des données</span></em></span></span></span></span><span><span><span><span><span><span>) qui effectueront de l’</span></span></span></span></span></span><span><span><span><span><em><span>analyse prédictive</span></em></span></span></span></span><span><span><span><span><span><span>, du </span></span></span></span></span></span><span><span><span><span><em><span>Machine Learning</span></em></span></span></span></span><span><span><span><span><span><span> ou du </span></span></span></span></span></span><span><span><span><span><em><span>Data Mining</span></em></span></span></span></span><span><span><span><span><span><span> à partir de celle-ci.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Le</span></span></span></span></span></span><span><span><span><span><em><span> data engineering</span></em></span></span></span></span><span><span><span><span><span><span> répond aux 5V caractéristiques du Big data : afin d’obtenir davantage de connaissances sur ses clients, ses ventes, ses stratégies marketing, ses besoins,... et donc d’obtenir un avantage concurrentiel sur le marché (<em>véracité</em> et <em>valeur</em>), une entreprise doit ingérer énormément de données (<em>volume</em>) provenant de sources diverses (<em>variété</em>) et les traiter rapidement (<em>vitesse</em>). </span></span></span></span></span></span></p> <img alt="Big Data" data-entity-type="file" data-entity-uuid="d3ea1ba1-e135-44b6-8359-34e13f190b46" height="304" src="/sites/default/files/inline-images/6_2.png" width="315" class="align-center" /><h2><span><span><span><span><span><span>Le processus ETL</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Apparu dans les années 1970, un </span></span></span></span></span></span><span><span><span><span><em><span>ETL </span></em></span></span></span></span><span><span><span><span><span><span>(</span></span></span></span></span></span><span><span><span><span><em><span>Extraction-Transform-Load</span></em></span></span></span></span><span><span><span><span><span><span>) est le processus utilisé par les </span></span></span></span></span></span><span><span><span><span><em><span>ingénieurs de données (Data Engineer)</span></em></span></span></span></span><span><span><span><span><span><span> pour transformer vos multiples données brutes en informations commerciales exploitables. L’ETL facilite la migration de gros volumes de données provenant de sources multiples vers un emplacement centralisé afin d’en obtenir une vue globale et unifiée, c’est de l’</span></span></span></span></span></span><span><span><span><span><em><span>intégration de données</span></em></span></span></span></span><span><span><span><span><span><span> (</span></span></span></span></span></span><span><span><span><span><em><span>data integration</span></em></span></span></span></span><span><span><span><span><span><span>). Cela se fait en 3 phases : l’extraction, la transformation et le chargement.</span></span></span></span></span></span></p> <img alt="processus ETL" data-entity-type="file" data-entity-uuid="c9d71486-b3ac-4d9b-a725-b4ed76f7938f" height="340" src="/sites/default/files/inline-images/divers%20%284%29_0.png" width="791" class="align-center" /><h3><img alt="1" data-entity-type="file" data-entity-uuid="b086cb73-adcd-439c-b8a1-a634c003604e" height="23" src="/sites/default/files/inline-images/1_4.png" width="23" /><span><span><span><span><span><span> Extraction (</span></span><em><span>extract</span></em></span></span></span></span><span><span><span><span><span><span>)</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>La première phase, l'extraction, est celle de la collecte de données. </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Aujourd’hui, il y a une multiplication des flux de données et de leur quantité.  Davantage complexes, les données proviennent de sources multiples (de votre smartphone, de votre montre connectée, des systèmes d'entreprise, des API, de n’importe quel capteur, d’outils de marketing, de bases de données de transactions, de </span></span></span></span></span></span><span><span><span><span><em><span>data lake</span></em></span></span></span></span><span><span><span><span><span><span> et de </span></span></span></span></span></span><span><span><span><span><em><span>data warehouse</span></em></span></span></span></span><span><span><span><span><span><span>,...) et peuvent donc avoir n’importe quelle structure et format. Il existe 3 types de structure de données : </span></span></span></span></span></span></p> <ol><li> <p><span><span><span><span><span><span>1. Les </span></span></span></span></span></span><span><span><span><span><em><span>données non structurées : </span></em></span></span></span></span><span><span><span><span><span><span>elles ne sont absolument pas organisées et sont sous forme brute absolue. Ce sont par exemple des e-mails, des posts de réseaux sociaux, des Powerpoint, des vidéos, des images… </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>2. Les </span></span></span></span></span></span><span><span><span><span><em><span>données semi-structurées </span></em></span></span></span></span><span><span><span><span><span><span>: elles sont partiellement organisées. Elles sont plus facilement gérables que les données non structurées car elles possèdent des propriétés organisationnelles cohérentes et définies telles que des métadonnées ou des balises sémantiques. Cependant, leur structure n’est pas rigide et elles peuvent toutefois contenir des incohérences ou des variabilités. </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>3. Les </span></span></span></span></span></span><span><span><span><span><em><span>données structurées</span></em></span></span></span></span><span><span><span><span><span><span> : ce sont les données organisées dans un référentiel formaté et qui sont structurées en cellules ou en colonnes. Elles peuvent être générées par des machines mais aussi par des humains. Elles dépendent d'une base de données relationnelle ou d'un schéma et sont donc rigides. </span></span></span></span></span></span></p> </li> </ol><p><span><span><span><span><span><span>La qualité des données importées va donc dépendre de la fiabilité des sources et de leur structure. </span></span></span></span></span></span></p> <h3><span><span><span><span><span><span>Les types de chargement des données </span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Concernant le Big data, il y a deux types de chargement des données assez répandus pour traiter rapidement les grands volumes de données. Le choix de l’un d’eux  dépend de votre cas d’utilisation.</span></span></span></span></span></span></p> <h3><span><span><span><span><span><span>1. Le mode Batch (par lots) </span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Le mode de traitement des données par lots/batch est celui qui est mobilisé traditionnellement pour l’approche ETL : il s’agit de traiter un grand volume de données en une seule fois, sur une période donnée (un traitement des données à la demande). Il faut attendre la fin de la phase de collecte de données (extraction et chargement) pour débuter celle de traitement qui se fait par lots de données (la “</span></span></span></span></span></span><span><span><span><span><em><span>fenêtre de batch</span></em></span></span></span></span><span><span><span><span><span><span>”). Il y a donc une période de latence entre le moment où vos données apparaissent dans la couche de stockage et le moment où elles sont disponibles dans les outils d’analyse et de reporting. Vous ne devez que peu intervenir dans cette phase de traitement car les tâches s’exécutent les unes après les autres selon les priorités déterminées et sans interruption. Vous devez juste indiquer le nombre de données à atteindre (la limite) ou le moment précis  où l’ETL par lots doit être exécuté (toutes les 24 heures, tous les 3 jours,...). </span></span></span></span></span></span></p> <p><br /><span><span><span><span><span><span>Le mode </span></span></span></span></span></span><span><span><span><span><em><span>Batch </span></em></span></span></span></span><span><span><span><span><span><span>est souvent utilisé lorsqu’il faut réaliser  des calculs complexes qui prennent du temps comme des facturations, des commandes ou encore pour mettre à jour le profil utilisateur d’un site de ventes et proposer des articles personnalisés par exemple. </span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-center"><img alt="Mode Batch" data-entity-type="file" data-entity-uuid="569b258a-47ad-4171-80a6-17b4943dea26" height="436" src="/sites/default/files/inline-images/mode%20batch.PNG" width="735" /><figcaption>Illustration du mode Batch provenant de <a href="https://www.upsolver.com/blog/batch-stream-a-cheat-sheet">Upsolver</a></figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><p> </p> <h3><span><span><span><span><span><span>2. Le mode Stream</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Avec le mode Stream, les données sont traitées en continu, c’est-à-dire au fur et à mesure de leur arrivée dans la couche de stockage afin de vous permettre d’accéder rapidement aux données et d’y réagir le plus vite possible une fois un événement détecté. Contrairement au mode </span></span></span></span></span></span><span><span><span><span><em><span>batch</span></em></span></span></span></span><span><span><span><span><span><span>, le flux est quasi en temps réel et les systèmes ne doivent pas stocker de grands volumes de données. </span></span></span></span></span></span></p> <p><br /><span><span><span><span><span><span>Le mode </span></span></span></span></span></span><span><span><span><span><em><span>Stream </span></em></span></span></span></span><span><span><span><span><span><span>est surtout conseillé lorsque vous devez détecter des évènements et y répondre rapidement, comme par exemple la surveillance des services, la cybersécurité, l’analyse des comportements, la détection de fraudes, la disponibilité d’un produit en stock, ...  </span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-center"><img alt="Mode Stream" data-entity-type="file" data-entity-uuid="40016444-7d68-4c45-9003-6645e4d5625d" height="435" src="/sites/default/files/inline-images/mode%20stream.PNG" width="604" /><figcaption>Illustration du mode Stream provenant de <a href="https://www.upsolver.com/blog/batch-stream-a-cheat-sheet">Upsolver</a></figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><h2><img alt="2" data-entity-type="file" data-entity-uuid="49e4f7b0-c866-4e55-8b91-a51b99b26657" height="24" src="/sites/default/files/inline-images/2_5.png" width="24" /> <span><span><span><span><span><span>Transformation (</span></span><em><span>transform</span></em></span></span></span></span><span><span><span><span><span><span>)</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>La seconde phase concerne le traitement apporté aux données collectées. Il se fait grâce à l’exécution d’algorithmes de machine learning et dépend des utilisations prévues des données (celles-ci doivent être déterminées à l’avance). </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Le traitement vise à structurer les données, à les convertir et à les homogénéiser en modifiant leur format, en les enrichissant, en les complétant, en les nettoyant,... Car pour pouvoir croiser, comparer et analyser des données, il faut que celles-ci soient comparables !  Le traitement va donc rendre les données brutes interprétables selon les besoins (les finalités déterminées des données) et les transformer en information commerciale exploitable. </span></span></span></span></span></span></p> <h3><span><span><span><span><span><span>Un stockage intermédiaire et temporaire</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Très souvent, les données extraites lors de la première phase sont stockées temporairement dans une </span></span></span></span></span></span><span><span><span><span><em><span>zone de transit </span></em></span></span></span></span><span><span><span><span><span><span>(</span></span></span></span></span></span><span><span><span><span><em><span>staging</span></em></span></span></span></span><span><span><span><span><span><span> </span></span></span></span></span></span><span><span><span><span><em><span>area</span></em></span></span></span></span><span><span><span><span><span><span>). Cette zone se trouve dans l’ETL utilisé et sert d'intermédiaire entre les sources de données et la cible des données (la destination des données). Vous pouvez y faire toutes les manipulations nécessaires à la transformation de vos données. </span></span></span></span></span></span></p> <h3><span><span><span><span><span><span>Les transformations des données</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Pour analyser vos données, il faut d’abord les préparer, c’est-à-dire qu’il faut effectuer différentes transformations sur celles-ci en fonction de vos besoins. Plus vos sources de données sont de faible qualité, plus vous aurez des transformations et du nettoyage à effectuer pour éviter d’avoir des erreurs telles que des données manquantes, redondantes, une erreur lexicale et/ou  de format,... </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Voici quelques exemples de nettoyages et de transformations possibles de vos données pour que celles-ci soient cohérentes, exploitables et fiables : </span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span>- Le </span></span></span></span></span></span><span><span><span><span><em><span>mappage des données</span></em></span></span></span></span><span><span><span><span><span><span> : il s’agit de faire correspondre deux modèles de données, les champs des données extraites à ceux associés dans la destination. </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- La </span></span></span></span></span></span><span><span><span><span><em><span>vérification </span></em></span></span></span></span><span><span><span><span><span><span>de la cohérence du format des données  et leur </span></span></span></span></span></span><span><span><span><span><em><span>conversion </span></em></span></span></span></span><span><span><span><span><span><span>si nécessaire (des unités de mesure, des dates et heures,...)</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- La </span></span></span></span></span></span><span><span><span><span><em><span>déduplication </span></em></span></span></span></span><span><span><span><span><span><span>: c’est l’identification et la suppression des enregistrements présents en plusieurs exemplaires (autrement dit les doublons).</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- Le </span></span></span></span></span></span><span><span><span><span><em><span>filtrage </span></em></span></span></span></span><span><span><span><span><span><span>: c’est la sélection de certains enregistrements selon des règles.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><em><span>- Tri </span></em></span></span></span></span><span><span><span><span><span><span>des données par ordre croissant ou décroissant. </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- La </span></span></span></span></span></span><span><span><span><span><em><span>jointure </span></em></span></span></span></span><span><span><span><span><span><span>des données : il s’agit de lier des données provenant de sources différentes.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- Le </span></span></span></span></span></span><span><span><span><span><em><span>fractionnement </span></em></span></span></span></span><span><span><span><span><span><span>d’une colonne unique en plusieurs colonnes.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- L’</span></span></span></span></span></span><span><span><span><span><em><span>agrégation </span></em></span></span></span></span><span><span><span><span><span><span>: regroupement de différentes données. </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- La </span></span></span></span></span></span><span><span><span><span><em><span>récapitulation </span></em></span></span></span></span><span><span><span><span><span><span>: calculs pour obtenir des valeurs totales. </span></span></span></span></span></span></p> </li> </ul><h2><img alt="3" data-entity-type="file" data-entity-uuid="a1f68734-f91c-4c55-985a-5a9ca9625ece" height="24" src="/sites/default/files/inline-images/3_4.png" width="24" /> <span><span><span><span><span><span>Chargement (load)</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>La phase de chargement est la phase où vos données traitées et structurées sont chargées et stockées dans la destination cible ;  un système centralisé qui peut être une base de données, un fichier, un serveur mais qui est bien souvent un </span></span></span></span></span></span><span><span><span><span><em><span>datawarehouse </span></em></span></span></span></span><span><span><span><span><span><span>(voir section ci-dessous)</span></span></span></span></span></span><span><span><span><span><em><span>.</span></em></span></span></span></span></p> <h3><span><span><span><span><span><span>Les avantages</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>En résumé, un ETL vous permet d’avoir :</span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span> Une </span></span></span></span></span></span><span><span><span><span><em><span>migration </span></em></span></span></span></span><span><span><span><span><span><span>et une </span></span></span></span></span></span><span><span><span><span><em><span>intégration </span></em></span></span></span></span><span><span><span><span><span><span>automatisées et rapides de grandes quantités de données provenant de systèmes disparates.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>Un</span></span></span></span></span></span><span><span><span><span><em><span> référentiel de données</span></em></span></span></span></span><span><span><span><span><span><span> : les données sont centralisées dans un endroit unique, ce qui vous apporte une meilleure accessibilité à celles-ci.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>Les </span></span></span></span></span></span><span><span><span><span><em><span>transformations complexes apportées</span></em></span></span></span></span><span><span><span><span><span><span> unifient vos données (même format,...) et vous apportent une vue globale de vos ressources. De plus, ces processus de traitement sont réutilisables ! </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>Un </span></span></span></span></span></span><span><span><span><span><em><span>contrôle </span></em></span></span></span></span><span><span><span><span><span><span>sur l’ensemble de vos ressources : vos données sont de meilleure qualité (les traitements les rendent fiables). </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>Une </span></span></span></span></span></span><span><span><span><span><em><span>synchronisation </span></em></span></span></span></span><span><span><span><span><span><span>de vos applications et donc une </span></span></span></span></span></span><span><span><span><span><em><span>actualisation </span></em></span></span></span></span><span><span><span><span><span><span>instantanée de vos données (vous pouvez y accéder en temps réel).</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>Vous pouvez tirer </span></span></span></span></span></span><span><span><span><span><em><span>profit </span></em></span></span></span></span><span><span><span><span><span><span>de vos données traitées.</span></span></span></span></span></span></p> </li> </ul><h3><span><span><span><span><span><span>Quelques outils clouds open source</span></span></span></span></span></span></h3> <ul><li> <p><a href="https://www.talend.com/fr/products/talend-open-studio/%C2%B5"><span><span><span><span><span><span><span><span>Talend Open studio</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> </span></span></span></span></span></span></p> </li> <li> <p><a href="https://scriptella.org/"><span><span><span><span><span><span><span><span>Scriptella </span></span></span></span></span></span></span></span></a></p> </li> <li> <p><a href="https://www.linuxlinks.com/ketl/"><span><span><span><span><span><span><span><span>Ketl</span></span></span></span></span></span></span></span></a> </p> </li> </ul><h3><span><span><span><span><span><span>Le processus ELT</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Le </span></span></span></span></span></span><span><span><span><span><em><span>processus d’intégration ETL</span></em></span></span></span></span><span><span><span><span><span><span> est traditionnellement utilisé mais avec les nombreuses avancées technologiques, cela évolue. Il existe aussi le processus </span></span></span></span></span></span><span><span><span><span><em><span>ELT (Extraction - Loading - Transform</span></em></span></span></span></span><span><span><span><span><span><span>) : dans ce processus, vos données brutes sont extraites des sources de données et sont directement chargées vers votre système cible (très souvent un </span></span></span></span></span></span><span><span><span><span><em><span>Data lake</span></em></span></span></span></span><span><span><span><span><span><span>, voir la définition dans la section suivante), sans les transformer en fonction de vos besoins métier et sans passer par une zone de transit. Le nettoyage et les transformations des données se font donc après, dans le système/plateforme cible,  quand vous devez les utiliser. </span></span></span></span></span></span></p> <img alt="processus ELT" data-entity-type="file" data-entity-uuid="56bdd3aa-b698-49ac-b9ab-385afeac0192" height="342" src="/sites/default/files/inline-images/5_2.png" width="793" class="align-center" /><h3><span><span><span><span><span><span>Les avantages </span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>En résumé, un </span></span></span></span></span></span><span><span><span><span><em><span>ELT </span></em></span></span></span></span><span><span><span><span><span><span>vous permet d’avoir :</span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span>une </span></span></span></span></span></span><span><span><span><span><em><span>extraction </span></em></span></span></span></span><span><span><span><span><span><span>et un </span></span></span></span></span></span><span><span><span><span><em><span>chargement plus </span></em></span></span></span></span><span><span><span><span><span><span>rapides de vos données dans le système cible vu qu’il n’y a pas toute l’étape de transformation. </span></span></span></span></span></span></p> </li> </ul><ul><li> <p><span><span><span><span><span><span>une plus grande </span></span></span></span></span></span><span><span><span><span><em><span>flexibilité </span></em></span></span></span></span><span><span><span><span><span><span>et  </span></span></span></span></span></span><span><span><span><span><em><span>facilité </span></em></span></span></span></span><span><span><span><span><span><span>de stockage de nouvelles données non structurées notamment. </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>un temps de réflexion plus long concernant la détermination des données à transformer et à analyser. </span></span></span></span></span></span></p> </li> </ul><h2><span><span><span><span><span><span>Les modes de stockages et de centralisation de vos données </span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Il existe deux modes de stockage et de centralisation de données qui sont souvent confondus : les </span></span></span></span></span></span><span><span><span><span><em><span>Data lakes</span></em></span></span></span></span><span><span><span><span><span><span> et les </span></span></span></span></span></span><span><span><span><span><em><span>Data warehouses</span></em></span></span></span></span><span><span><span><span><span><span>. Ayant chacun des caractéristiques qui leurs sont propres, le choix d’utiliser l’un ou l’autre va surtout dépendre des besoins spécifiques de votre entreprise. </span></span></span></span></span></span></p> <ol><li> <h3><span><span><span><span><span><span>1. Les </span></span></span></span></span></span><span><span><span><span><em><span>Data lakes </span></em></span></span></span></span><span><span><span><span><span><span>(</span></span></span></span></span></span><span><span><span><span><em><span>lacs de données</span></em></span></span></span></span><span><span><span><span><span><span>) </span></span></span></span></span></span></h3> </li> </ol><p><span><span><span><span><span><span>Un </span></span></span></span></span></span><span><span><span><span><em><span>Data lake </span></em></span></span></span></span><span><span><span><span><span><span>est un référentiel de données qui vous permet de stocker “en vrac” vos données originales et brutes collectées, et d’y accéder rapidement avant leur traitement (la phase de transformation). Vous pouvez donc y trouver des </span></span></span></span></span></span><span><span><span><span><em><span>données non structurées</span></em></span></span></span></span><span><span><span><span><span><span>, </span></span></span></span></span></span><span><span><span><span><em><span>semi-structurées</span></em></span></span></span></span><span><span><span><span><span><span> ou </span></span></span></span></span></span><span><span><span><span><em><span>structurées</span></em></span></span></span></span><span><span><span><span><span><span>. </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>En stockant n’importe quel type de données quelles que soient leur nature et leur origine, vous pouvez découvrir de nouvelles questions/problématiques/hypothèses auxquelles vous ne pensiez pas auparavant… C’est d’ailleurs pour cela que les </span></span></span></span></span></span><span><span><span><span><em><span>Data lakes </span></em></span></span></span></span><span><span><span><span><span><span>sont surtout utilisés par des </span></span></span></span></span></span><span><span><span><span><em><span>Data scientists</span></em></span></span></span></span><span><span><span><span><span><span> et </span></span></span></span></span></span><span><span><span><span><em><span>Data engineers</span></em></span></span></span></span><span><span><span><span><span><span> dans le cadre de </span></span></span></span></span></span><span><span><span><span><em><span>Machine learning</span></em></span></span></span></span><span><span><span><span><span><span>, </span></span></span></span></span></span><span><span><span><span><em><span>intelligence artificielle</span></em></span></span></span></span><span><span><span><span><span><span> et </span></span></span></span></span></span><span><span><span><span><em><span>modélisation prédictive</span></em></span></span></span></span><span><span><span><span><span><span>.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>L’</span></span></span></span></span></span><span><span><span><span><em><span>ELT</span></em></span></span></span></span><span><span><span><span><span><span> est la solution à privilégier si vous disposez de lacs de données car ce processus ingère des données non structurées, contrairement à l’ETL qui transforme les données brutes en données structurées. </span></span></span></span></span></span></p> <ol start="2"><li> <h3><span><span><span><span><span><span>2. Les </span></span></span></span></span></span><span><span><span><span><em><span>Data warehouses</span></em></span></span></span></span><span><span><span><span><span><span>  (</span></span></span></span></span></span><span><span><span><span><em><span>entrepôts de données</span></em></span></span></span></span><span><span><span><span><span><span>) </span></span></span></span></span></span></h3> </li> </ol><p><span><span><span><span><span><span>Les </span></span></span></span></span></span><span><span><span><span><em><span>Data warehouses</span></em></span></span></span></span><span><span><span><span><span><span> sont des bases de données où sont stockées les vues agrégées des données ingérées. Ils ne sont pas connectés aux sources de données directement : ces dernières passent par une solution </span></span></span></span></span></span><span><span><span><span><em><span>ETL </span></em></span></span></span></span><span><span><span><span><span><span>(</span></span></span></span></span></span><span><span><span><span><em><span>Extract, Transform and Load</span></em></span></span></span></span><span><span><span><span><span><span>) qui extrait les données pertinentes de sources de données (éventuellement un </span></span></span></span></span></span><span><span><span><span><em><span>data lake</span></em></span></span></span></span><span><span><span><span><span><span>), les transforme et les charge dans le </span></span></span></span></span></span><span><span><span><span><em><span>Data warehouse</span></em></span></span></span></span><span><span><span><span><span><span>.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Les Data Warehouses sont surtout utilisés par des analystes, managers et des utilisateurs finaux pour analyser leurs données à l’aide de métriques, reportings et chiffres clés, en vue de prendre plus facilement des décisions.</span></span></span></span></span></span></p> <h3><span><span><span><span><span><span>Comparaison entre un Data lake et un Data warehouse</span></span></span></span></span></span></h3> <img alt="comparaison data lake et data warehouse" data-entity-type="file" data-entity-uuid="3db0434b-df9b-49e3-9961-a5901c3ddf58" height="284" src="/sites/default/files/inline-images/comparaison%20data%20lake%20data%20warehouse.PNG" width="579" class="align-center" /><h2><span><span><span><span><span><span>Besoin d’une aide supplémentaire ?</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Le </span></span></span></span></span></span><a href="https://www.hub-charleroi.be/fr/team"><span><span><span><span><span><span><span><span>Hub-C</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> dans le cadre de ses services d’accompagnement numérique organise des workshops et groupes de travail en lien avec les nouvelles technologies de prototypages.  Vous souhaitez un accompagnement pour votre projet innovant ou vous souhaitez participer à un prochain workshop? N'hésitez pas à contacter </span></span></span></span></span></span><a href="https://www.hub-charleroi.be/fr/team"><span><span><span><span><span><span><span><span>un membre du Hub</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> ! </span></span></span></span></span></span></p> <p><br /><span><span><span><span><span><span>Vous avez une question spécifique à propos d’une fiche? Elles sont réalisées par les experts du </span></span></span></span></span></span><a href="https://www.cetic.be/"><span><span><span><span><span><span><span><span>CETIC</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> (Centre d'Excellence en Technologies de l'Information et de la Communication), un  centre de recherche appliquée en informatique situé à Charleroi. Vous trouverez toutes les coordonnées </span></span></span></span></span></span><a href="https://www.cetic.be/Contact"><span><span><span><span><span><span><span><span>ici</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>.</span></span></span></span></span></span></p></div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> Fri, 06 Nov 2020 13:29:29 +0000 laurie 48 at http://hub-creatif.cetic.be FADI, un Framework pour l'Automatisation du Déploiement et de l'orchestration d'Infrastructures conteneurisées http://hub-creatif.cetic.be/fiche/fadi-un-framework-pour-lautomatisation-du-deploiement-et-de-lorchestration-dinfrastructures <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--title--hover.html.twig x field--node--title.html.twig * field--node--hover.html.twig * field--title.html.twig * field--string.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <span class="field field--name-title field--type-string field--label-hidden">FADI, un Framework pour l&#039;Automatisation du Déploiement et de l&#039;orchestration d&#039;Infrastructures conteneurisées</span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--field-tags--hover.html.twig * field--node--field-tags.html.twig * field--node--hover.html.twig * field--field-tags.html.twig * field--entity-reference.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Tags</div> <div class="field__items"> <div class="field__item"><a href="/Cloud" hreflang="en">Cloud Computing</a></div> <div class="field__item"><a href="/Connectivit%C3%A9R%C3%A9seaux" hreflang="en">Connectivité/réseaux</a></div> <div class="field__item"><a href="/Gestion%20de%20donn%C3%A9es" hreflang="en">Gestion de données</a></div> <div class="field__item"><a href="/Logiciel" hreflang="en">Logiciel</a></div> </div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--uid--hover.html.twig x field--node--uid.html.twig * field--node--hover.html.twig * field--uid.html.twig * field--entity-reference.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <span class="field field--name-uid field--type-entity-reference field--label-hidden"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'username' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> <span lang="" about="/user/5" typeof="schema:Person" property="schema:name" datatype="">laurie</span> <!-- END OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> </span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--created--hover.html.twig x field--node--created.html.twig * field--node--hover.html.twig * field--created.html.twig * field--created.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <span class="field field--name-created field--type-created field--label-hidden">Thu, 11/05/2020 - 11:35</span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--field-pdf--hover.html.twig * field--node--field-pdf.html.twig * field--node--hover.html.twig * field--field-pdf.html.twig * field--file.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <div class="field field--name-field-pdf field--type-file field--label-above"> <div class="field__label">Télécharger le PDF</div> <div class="field__item"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'file_link' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/file-link.html.twig' --> <span class="file file--mime-application-pdf file--application-pdf"> <a href="http://hub-creatif.cetic.be/sites/default/files/2021-08/Fiche%20FADI.pdf" type="application/pdf; length=4208569" title="Fiche FADI.pdf">Fiche FADI</a></span> <!-- END OUTPUT from 'core/themes/classy/templates/field/file-link.html.twig' --> </div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--body--hover.html.twig * field--node--body.html.twig * field--node--hover.html.twig * field--body.html.twig x field--text-with-summary.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-above"> <div class="field__label">Body</div> <div class="field__item"><p><span><span><span><span><span><span>Vous disposez de nombreuses données (des mails, des pdfs, des communications vocales, des données provenant de vos capteurs, ...) mais ne savez pas comment les exploiter et les capitaliser ? Vous désirez faire un prototype/POC avec une brique logicielle à moindre frais ? Vous recherchez  une solution technologique "neutre" car vous craignez l'enfermement propriétaire/le vendor lock-in ?</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Que vous soyez une grande entreprise ou une plus petite, FADI va vous intéresser : il s’agit d’une solution peu coûteuse en termes d'infrastructure et d'achat de licences. Avec cette suite, vous pouvez en effet procéder étape par étape dans le développement et l’opération de vos prototypes et produits  : les intégrer, déployer, ... </span></span></span></span></span></span></p> <h2><span><span><span><span><span><span>Prérequis</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Avoir une  connaissance des technologies liées aux conteneurs (Docker, Kubernetes). </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Savoir écrire des lignes de commandes.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Disposer d’une station de travail récente ou d’un espace de test Kubernetes.</span></span></span></span></span></span></p> <h2><strong><img alt="Image removed." data-entity-type="file" data-entity-uuid="36f45317-7161-465a-987e-51d76edda56c" height="16" src="/sites/default/files/inline-images/goal2_5.png" width="16" title="This image has been removed. For security reasons, only images from the local domain are allowed." class="filter-image-invalid" />  Pour quoi faire ? </strong></h2> <p><span><span><span><span><span><span>Pour faire simple, </span></span></span></span></span></span><a href="https://fadi.presentations.cetic.be/#/2"><span><span><span><span><span><span><span><span>FADI</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> est un framework personnalisable selon vos besoins, qui assemble et configure les outils à votre place afin de faciliter et d’automatiser l’intégration, le déploiement et le suivi de vos applications. </span></span></span></span></span></span></p> <p><br /><span><span><span><span><span><span>À l’origine, FADI est une plateforme dédiée au Big Data qui rassemble des applications </span></span></span></span></span></span><span><span><span><span><em><span>cloud native </span></em></span></span></span></span><span><span><span><span><span><span>et qui se base sur des outils open source éprouvés. Cette plateforme rend le déploiement de solutions Big Data mais aussi celui des piles logicielles plus simples, portables et évolutifs sur diverses infrastructures (clouds privés et publics).</span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-center"><img alt="Fadi Illustration" data-entity-type="file" data-entity-uuid="e4e8b245-8bb6-48c0-987f-a718a8a5e78c" height="416" src="/sites/default/files/inline-images/fadi%20framework.PNG" width="508" /><figcaption>Illustration des divers composants de <a href="https://fadi.cetic.be/">FADI </a></figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><h2><img alt="concepts" data-entity-type="file" data-entity-uuid="a041bebb-6f07-4cc2-85ae-01ae3fd7625c" height="37" src="/sites/default/files/inline-images/book-open-shape_icon-icons.com_70792.png" width="37" /><span><span><span><span><span><span>  Quelques concepts ...</span></span></span></span></span></span></h2> <h3><span><span><span><span><span><span>Une application “Cloud Native”</span></span></span></span></span></span></h3> <p><br /><span><span><span><span><span><span>Voici une description succincte des caractéristiques d’une application “</span></span></span></span></span></span><a href="https://www.scalair.fr/blog/cloud-native-cest-quoi"><span><span><span><span><em><span><span><span>cloud</span></span></span></em></span></span></span></span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span><span><span><span><span><em><span><span><span>native</span></span></span></em></span></span></span></span></a><span><span><span><span><span><span>”, et donc des applications assemblées par la plateforme FADI : </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>       <img alt="1" data-entity-type="file" data-entity-uuid="b086cb73-adcd-439c-b8a1-a634c003604e" height="23" src="/sites/default/files/inline-images/1_4.png" width="23" /> Une architecture basée sur les </span></span></span></span></span></span><strong><span><span><span><span><em><span>services </span></em></span></span></span></span></strong><span><span><span><span><span><span>et les </span></span></span></span></span></span><strong><span><span><span><span><em><span>microservices</span></em></span></span></span></span></strong><span><span><span><span><span><span>. </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Un </span></span></span></span></span></span><a href="https://www.talend.com/fr/resources/guide-microservices/"><span><span><span><em><span><span><span>microservice</span></span></span></em></span></span></span></a><span><span><span><span><em><span> </span></em></span></span></span></span><span><span><span><span><span><span>est </span></span></span></span></span></span><span><span><span><span><em><span> </span></em></span></span></span></span><span><span><span><span><span><span>une architecture pour les applications :  les services y sont individuels, indépendants, et spécifiques et, une fois assemblés, constituent l’application. Chaque service peut donc être déployé, mis à jour et géré de façon parfaitement autonome.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>       <img alt="2" data-entity-type="file" data-entity-uuid="49e4f7b0-c866-4e55-8b91-a51b99b26657" height="24" src="/sites/default/files/inline-images/2_5.png" width="24" /> Une communication entre les services (internes et externes) basée sur les </span></span><strong><em><span>API </span></em></strong></span></span></span></span><span><span><span><span><span><span>(</span></span></span></span></span></span><span><span><span><span><span><em><span>Application Programming Interface</span></em></span></span></span></span></span><span><span><span><span><span><span>, interface de programmation d’application).</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>       <img alt="3" data-entity-type="file" data-entity-uuid="a1f68734-f91c-4c55-985a-5a9ca9625ece" height="24" src="/sites/default/files/inline-images/3_4.png" width="24" /> Une infrastructure basée sur les </span></span><strong><em><span>conteneurs </span></em></strong></span></span></span></span><span><span><span><span><span><span>(ce qui facilite la gestion des microservices). </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Un </span></span></span></span></span></span><a href="https://azure.microsoft.com/fr-fr/overview/what-is-a-container/"><span><span><span><em><span><span><span>conteneur</span></span></span></em></span></span></span></a><span><span><span><span><span><span> est un package logiciel léger et indépendant,  une sorte d’enveloppe virtuelle ou d’environnement isolé, qui regroupe tous les éléments nécessaires au bon fonctionnement et à la distribution d’une application : le code, les fichiers de configuration, l’environnement d’exécution, les libraires et toutes les dépendances requises pour l’exécution,... L’ensemble du contenu du conteneur se trouve dans une </span></span></span></span></span></span><span><span><span><span><em><span>image conteneur</span></em></span></span></span></span><span><span><span><span><span><span>, c’est un fichier de code qui contient l’application/service, ses dépendances et sa configuration. Les intérêts des </span></span></span></span></span></span><span><span><span><span><em><span>conteneurs </span></em></span></span></span></span><span><span><span><span><span><span>sont de virtualiser les applications logicielles en utilisant le système d’exploitation de leur hôte et de pouvoir les actualiser sans réorganiser la totalité de l’application. De cette façon, les ressources sont très facilement flexibles et portables d’un système à un autre. Les conteneurs n'intègrent pas leur propre système d’exploitation, ils sont donc très légers et facilement  déployables dans d’autres environnements avec peu, voire aucune modification!  Vous pouvez mettre à jour un seul outil, séparément des autres; vous pouvez installer la dernière version de Grafana et garder Jupyterhub à sa première version par exemple. </span></span></span></span></span></span></p> <p><a href="https://www.docker.com/"><span><span><span><em><span><span><span>Docker</span></span></span></em></span></span></span></a><span><span><span><em><span> </span></em></span></span></span><span><span><span><span><span><span>est la technologie de conteneurisation la plus utilisée. Elle vous permet de </span></span></span></span></span></span><span><span><span><span><span><span>créer aisément vos conteneurs et vos applications basées sur ceux-ci, et est </span></span></span></span></span></span><span><span><span><span><span><span>très facile à déployer. Il s’agit d’une solution open source fonctionnant sous Linux </span></span></span></span></span></span><span><span><span><span><span><span>mais également Windows Server. </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>       <img alt="4" data-entity-type="file" data-entity-uuid="877ade13-6c23-406d-984e-e40cd771125d" height="25" src="/sites/default/files/inline-images/4_3.png" width="25" /> La méthode de développement logiciel </span></span></span><strong><em><span>DevOps</span></em></strong></span></span></span><span><span><span><span><span><span><strong> </strong>(contraction de Développement et Opération).</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Les objectifs de cette méthode sont de permettre, grâce à la communication et à la collaboration entre les développeurs et les responsables des opérations IT, la fluidification des processus, l’accélération de la résolution d'incidents ainsi que de la  livraison de nouvelles fonctionnalités avec un niveau de qualité élevé. </span></span></span></span></span></span></p> <p><a href="https://www.netapp.com/fr/devops-solutions/what-is-devops/"><span><span><span><span><span><span><span><span>Les pratiques DevOps lors du cycle de vie de l’application</span></span></span></span></span></span></span></span><span><span><span><span><span><span> </span></span></span></span></span></span></a><span><span><span><span><span><span><span>se caractérisent par une automatisation et une surveillance accrues de toutes les étapes de la création du logiciel. Cela concerne</span></span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><em><span>L'intégration continue</span></em></span></span></span></span><span><span><span><span><span><span> : il s’agit d'exécuter des tests automatisés afin de vérifier chaque modification du code source pour en garantir sa qualité. Les problèmes d’intégration sont facilement détectés si vous réalisez correctement la planification de votre développement, la compilation, l’intégration, les tests de votre code et la gestion de vos livrables (les </span></span></span></span></span></span><span><span><span><span><em><span>artefacts </span></em></span></span></span></span><span><span><span><span><span><span>prêts à être déployés).</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><em><span>Le déploiement continu</span></em></span></span></span></span><span><span><span><span><span><span> : une fois les tests validés lors de l’intégration continue, ils peuvent être mis en production. Le déploiement continu est  l’automatisation de la mise en production des applications lors de chaque modification. </span></span></span></span></span></span></p> </li> </ul><p><span><span><span><span><span><span>Pour en savoir plus sur les applications </span></span></span></span></span></span><span><span><span><span><em><span>cloud natives,</span></em></span></span></span></span><span><span><span><span><span><span> cliquez </span></span></span></span></span></span><a href="https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/definition"><span><span><span><span><span><span><span><span>ici</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>. Quant à la méthode DevOps, vous pouvez consulter les sites suivants : </span></span></span></span></span></span><a href="https://www.appvizer.fr/magazine/services-informatiques/dev-applications/devops"><span><span><span><span><span><span><span><span>Appvizer</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>, </span></span></span></span></span></span><a href="https://www.netapp.com/fr/devops-solutions/what-is-devops/,"><span><span><span><span><span><span><span><span>Netapp</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>, </span></span></span></span></span></span><a href="https://www.padok.fr/devops-tout-savoir#:~:text=La%20m%C3%A9thodologie%20DevOps%20consiste%20donc,de%20nouvelles%20features%20plus%20rapidement"><span><span><span><span><span><span><span><span>Padok</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> </span></span></span></span></span></span></p> <h3><span><span><span><span><span><span>Un orchestrateur de conteneurs</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Alors qu’utiliser un ou deux conteneurs peut être facilement gérable et contrôlable, en utiliser plus d’une dizaine peut rapidement se révéler être une tâche fastidieuse, notamment à cause des multiples dépendances et communications entre outils. Un </span></span></span></span></span></span><a href="https://www.redhat.com/fr/topics/containers/what-is-container-orchestration"><span><span><span><span><em><span><span><span>orchestrateur de conteneurs </span></span></span></em></span></span></span></span></a><span><span><span><span><span><span>permet de gérer ces communications en automatisant le déploiement, la gestion, la mise à l’échelle et la mise en réseau des conteneurs. L’orchestrateur ne crée pas les conteneurs (pour cela vous devez utiliser une plateforme de conteneurs comme Docker, cité ci-dessus) mais permet de les gérer. </span></span></span></span></span></span></p> <p><br /><span><span><span><span><span><span>L'orchestrateur de conteneurs le plus connu et mature actuellement est open source et développé par google, il s’agit de </span></span></span></span></span></span><a href="https://kubernetes.io/fr/"><span><span><span><strong><em><span><span><span>Kubernetes</span></span></span></em></strong></span></span></span></a><span><span><span><span><span><span>. Très utilisé dans le monde industriel, il se déploie sur toutes les architectures disponibles (dans le cloud privé, dans du bare metal, c’est-à-dire une serveur dédié physique, dans des clouds publiques,...) et peut fonctionner sur tout type d'infrastructure. </span></span></span></span></span></span></p> <h3><span><span><span><span><span><span>Une pile logicielle</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Une </span></span></span></span></span></span><a href="https://www.techopedia.com/definition/27268/software-stack#:~:text=A%20software%20stack%20is%20a,that%20work%20as%20a%20set."><span><span><span><span><span><span><span><span>pile logicielle</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> est un groupe de logiciels fonctionnant selon un ordre spécifique et permettant le développement de sites et applications en offrant, ensemble, un service. </span></span></span></span></span></span></p> <h2><img alt="Image removed." data-entity-type="file" data-entity-uuid="cd8e2d38-7833-48a6-b924-83938fc09dd3" height="16" src="/sites/default/files/inline-images/stars.png" width="16" title="This image has been removed. For security reasons, only images from the local domain are allowed." class="filter-image-invalid" /><span><span><span><span><span><span>  Les atouts de FADI</span></span></span></span></span></span><img alt="Fadi Atouts" data-entity-type="file" data-entity-uuid="5d0fe303-52b5-4ec2-bcec-91eff90811f4" height="340" src="/sites/default/files/inline-images/Figures-sources-Ecosystem.png" width="362" class="align-right" /></h2> <p><span><span><span><span><span><span>Pourquoi FADI est-elle une plateforme très intéressante ?</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Parce vous pouvez développer entièrement vos prototypes et produits ! </span></span></span></span></span></span></p> <h3><strong>          <strong><img alt="1" data-entity-type="file" data-entity-uuid="918d4267-6cad-4bbd-9400-dd22db7dbd9d" height="25" src="/sites/default/files/inline-images/1_3.png" width="25" /></strong>  </strong><span><span><span><span><span><span>Les déploiements sont automatisés et simplifiés</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Déployer chaque outil à la fois prend du temps et rend la maintenance plus compliquée ; l’automatisation des déploiements va vous simplifier la vie !   </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Pour plus de </span>fiabilité</span></span></span></span></span><span><span><span><span><span><span>, vous pouvez prévoir et programmer vos déploiements au moment désiré. Vous pouvez également les contrôler en effectuant une sorte de versionning :  par exemple, vous pouvez réaliser un premier déploiement et faire un correctif pour le second, revenir au premier déploiement,... De cette façon, FADI vous assure une certaine </span></span></span></span></span></span><span><span><span><span><span>traçabilité<span>.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Les déploiements sont simplifiés grâce à des </span>assemblages de services préconfigurés </span></span></span></span></span><span><span><span><span><span><span>basés sur le logiciel </span></span></span></span></span></span><a href="https://helm.sh/"><span><span><span><span><span><span><span>Helm</span></span></span></span></span></span></span></a><span><span><span><span><span><span>, appelés des </span></span></span></span></span></span><span><span><span><em><span>Charts.</span></em></span></span></span><span><span><span><span><span><span> Il s’agit de packages (ou templates) de ressources Kubernetes sous forme de scripts d’installation (des automatisations d’installation) : ces packages sont des sélections d’outils open source pertinents selon le cas d’utilisation/le scénario qui vous intéresse. Par exemple, si vous vous demandez comment installer </span></span></span></span></span></span><a href="http://nifi.apache.org/"><span><span><span><span><span><span><span><span>Apache Nifi</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> sur Kubernetes, vous trouverez toute la démarche </span></span></span></span></span></span><a href="https://github.com/cetic/helm-nifi"><span><span><span><span><span><span><span><span>ici</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>. Vous trouverez les autres Helm Charts produites et maintenues par le CETIC dans ce </span></span></span></span></span></span><a href="https://github.com/cetic/helm-charts"><span><span><span><span><span><span><span><span>dépôt GitHub</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> (attention, ils ne concernent pas tous FADI ! ). </span></span></span></span></span></span></p> <h3><strong>          <strong><img alt="2" data-entity-type="file" data-entity-uuid="692b8b0c-5c0f-4339-81a6-fd6a69c03b19" height="25" src="/sites/default/files/inline-images/2_4.png" width="25" /></strong> </strong><span><span><span><span><span><span>Sa portabilité</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>FADI est une solution </span></span></span></span></span></span><span><span><span><span><span>portable</span></span></span></span></span><span><span><span><span><span><span>, c’est-à-dire que vous pouvez la déployer un peu partout : dans un cloud privé, dans un cloud public, sur site, de manière hybride, etc.  Une chose est certaine, là où vous pouvez déployer Kubernetes, vous pouvez déployer FADI.</span></span></span></span></span></span></p> <h3><strong>          <strong><img alt="3" data-entity-type="file" data-entity-uuid="0c5b391e-3bed-4a5b-bc0b-1fa519b2aaee" height="26" src="/sites/default/files/inline-images/3_3.png" width="26" /></strong>  </strong><span><span><span><span><span><span>Sa maintenabilité</span></span></span></span></span></span></h3> <p><span> </span><span><span><span><span><span><span>FADI s'appuie sur la méthodologie </span>DevOps : <span>vous n’aurez pas à vous soucier de grand-chose étant donné que l’installation, l’intégration, les essais, les déploiements continus et les mises à jour de FADI sont automatisés ! La maintenance étant beaucoup plus facile, le système sera toujours à jour au niveau des dépendances.</span></span></span></span></span></span><span> </span></p> <h3><strong>          <strong><img alt="4" data-entity-type="file" data-entity-uuid="3b7eb146-74f3-460a-a387-28dfb7bfee05" height="27" src="/sites/default/files/inline-images/4_2.png" width="27" /></strong>  </strong><span><span><span><span><span><span>Une solution qui vous correspond</span></span></span></span></span></span></h3> <p><span><span><span><span><span>Personnalisable <span>de bout en bout, FADI s’</span></span></span></span></span></span><span><span><span><span><span>adapte</span></span></span></span></span><span><span><span><span><span><span> à vos besoins. Que cela soit le type d’infrastructure (cloud ou pas), de base de données, etc., FADI offre une sélection d’outils qui vous permet de gérer vos données...  Vous pouvez également y </span></span></span></span></span></span><span><span><span><span><span>intégrer </span></span></span></span></span><span><span><span><span><span><span>très facilement vos propres solutions existantes ou de nouveaux services. De plus, FADI étant une solution se basant sur des technologies </span></span></span></span></span></span><span><span><span><span><span>open source<span> matures, vous pouvez toujours la modifier ! </span></span></span></span></span></span></p> <h3><strong>          <strong><img alt="5" data-entity-type="file" data-entity-uuid="11d9fb6d-fcd9-4ff0-b91c-1f81dc573d22" height="28" src="/sites/default/files/inline-images/5_1.png" width="28" /></strong>  </strong><span><span><span><span><span><span>Ses traitements des données</span></span></span></span></span></span></h3> <p><span> <span><span><span><span><span>FADI propose deux modes d’intégration (</span></span><span><span>voir la fiche </span></span></span></span></span></span><span><span><span><span><em><span>Introduction au data processing</span></em></span></span></span></span><span><span><span><span><span><span> pour plus d’informations) :</span></span></span></span></span></span></p> <p><strong>         </strong><span><span><span><span><span><span>Le mode </span></span></span><em><span>batch  </span></em><span><span><span>pour le traitement d’un grand volume de données en une seule fois, sur une période donnée (traitement par lot). </span></span></span></span></span></span></p> <p><strong>         </strong><span><span><span><span><span><span>Le mode </span></span></span><em><span>stream pour le traitement des données en continu</span></em></span></span></span></p> <p><span> </span><span><span><span><span><span><span>L’avantage d’avoir ces deux modes de traitement est que FADI répond à de nombreux use-cases différents : </span></span></span></span></span></span></p> <p><strong>         </strong><span><span><span><span><span><span>Le mode </span></span><em><span>Batch </span></em><span><span>est souvent utilisé lorsqu’il faut réaliser des facturations, commandes, rapports,... </span></span></span></span></span></span></p> <p><strong>         </strong><span><span><span><span><span><span>Le mode </span></span><em><span>Stream </span></em><span><span>est surtout conseillé lorsque vous devez détecter des évènements et y répondre rapidement, comme par exemple la surveillance des services, la cybersécurité, l’analyse des comportements, la détection de fraudes,...</span></span></span></span></span> </span><span> </span><span> </span><strong><span><span><span><span><span><span> </span></span></span></span></span></span></strong><span> </span></p> <h3><strong>          <strong><img alt="6" data-entity-type="file" data-entity-uuid="631f1f43-7a38-46e7-b43f-d034cd138e94" height="28" src="/sites/default/files/inline-images/6_0.png" width="28" /></strong>  </strong><span><span><span><span><span><span>Ses solutions de stockage de données </span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>FADI propose deux manières de stocker et de centraliser vos données :</span></span></span></span></span></span></p> <p><strong>       </strong>  1) <span><span><span><span><span><span>Les </span></span></span><em><span>Data Lakes</span></em><strong><em><span> </span></em></strong></span></span></span><span><span><span><span><span><span>(</span></span></span></span></span></span><span><span><span><span><em><span>lacs de données</span></em></span></span></span></span><span><span><span><span><span><span>) qui sont le référentiel de données vous permettant de stocker “en vrac” les données brutes originales ingérées (audit, relecture, expériences, etc.). Le mode de traitement des données </span></span></span></span></span></span><span><span><span><span><em><span>par lots</span></em></span></span></span></span><span><span><span><span><span><span>/</span></span></span></span></span></span><span><span><span><span><em><span>batch </span></em></span></span></span></span><span><span><span><span><span><span>est préféré pour ce genre d’approche (traitements des données à la demande).</span></span></span></span></span></span></p> <p><strong>       </strong>  2) <span><span><span><span><span><span>Les </span></span></span><em><span>Data Warehouse</span></em><span><span> <span> (</span></span></span></span></span></span><span><span><span><span><em><span>entrepôts de données</span></em></span></span></span></span><span><span><span><span><span><span>) qui sont des bases de données où sont stockées les vues agrégées des données ingérées. Le mode de traitement des données </span></span></span></span></span></span><span><span><span><span><em><span>Stream </span></em></span></span></span></span><span><span><span><span><span><span>est préféré pour cette approche (traitement au moment de l’ingestion des données). </span></span></span></span></span></span></p> <h3><strong>          <strong><img alt="7" data-entity-type="file" data-entity-uuid="6fc7b583-0f9c-4076-927d-ad055d2db126" height="26" src="/sites/default/files/inline-images/7_0.png" width="26" /></strong>  </strong><span><span><span><span><span><span>Monitoring et Data visualisation</span></span></span></span></span></span></h3> <p><span> </span><span><span><span><span><span><span>Il est extrêmement important, à l’heure actuelle, que vous sachiez si vos infrastructures IT sont opérationnelles et sécurisées. Les outils de supervision (</span></span><em><span>monitoring</span></em></span></span></span></span><span><span><span><span><span><span>) sont précieux pour vos </span></span></span></span></span></span><span><span><span><span><span>stratégies de contrôle, d’observation et de décisions<span>.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>FADI utilise des</span> outils open-source de monitoring<span> afin de vous permettre de suivre l’état de santé de vos systèmes, collecter vos données en temps réel et déclencher des alertes dès qu’un problème est rencontré.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>L’aspect open-source de ces outils répond aux défis du</span></span></span></span></span></span><span><span><span><span><span> </span></span></span></span></span><a href="https://www.journaldunet.com/solutions/dsi/1459455-quatre-solutions-open-source-de-monitoring-d-infrastructures/"><span><span><span><span><span><span><span>DevOps</span></span></span></span></span></span></span></a><span><span><span><span><span><span> : le fait de pouvoir remonter n’importe quel type de métriques provenant des applications, et même les indicateurs métiers, répond aux besoins actuels des entreprises en termes de </span></span></span></span></span></span><span><span><span><span><span>rapidité</span></span></span></span></span><span><span><span><span><span><span>, </span></span></span></span></span></span><span><span><span><span><span>flexibilité </span></span></span></span></span><span><span><span><span><span><span>et de </span></span></span></span></span></span><span><span><span><span><span>maîtrise des coûts<span>. </span></span></span></span></span></span><span> </span></p> <p><span><span><span><span><span><span>FADI vous permet donc de monitorer vos données en configurant vous-même </span>vos systèmes d’alertes. </span></span></span></span></span><span><span><span><span><span><span>Comme vous pouvez le constater ci-dessous, les outils proposés servent aussi à faire de la </span></span></span></span></span></span><span><span><span><span><span>data visualisation</span></span></span></span></span><span><span><span><span><span><span> : c’est-à-dire à représenter et à visualiser les données collectées sous forme de graphique, diagramme et/ou tableaux de bord (</span></span></span></span></span></span><span><span><span><span><em><span>dashboards</span></em><span><span>) afin de pouvoir prendre rapidement des décisions. Les outils proposés initialement par FADI sont :</span></span></span></span></span></span></p> <p>             <a href="https://grafana.com/"><span><span><span><span><span><span><span><span>Grafana</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> </span></span></span></span></span></span><span><span><span><strong><span><span>:  </span></span></strong></span></span></span><span><span><span><span><span><span>il s’agit d’un outil orienté data visualisation avec lequel vous pouvez réaliser des tableaux de bords et des graphiques à partir de différentes sources de données, et principalement à partir de séries temporelles.</span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-center"><img alt="Illustration de Grafana provenant de la présentation de FADI" data-entity-type="file" data-entity-uuid="7d3893bd-0894-482c-bfa2-d199d9184d2d" height="366" src="/sites/default/files/inline-images/monitoring%20donn%C3%A9es2%20.PNG" width="505" /><figcaption>Illustration de Grafana provenant de la présentation de <a href="https://fadi.presentations.cetic.be/#/">FADI</a></figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><p>             <a href="https://prometheus.io/"><span><span><span><span><span><span><span><span>Prometheus</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> : ce logiciel est parfait pour la surveillance de vos métriques ! Il les collecte et les stocke sous forme de séquences temporelles. Bien que des représentations visuelles soient possibles, Prometheus est plutôt utilisé pour la collecte, l’analyse de données ainsi que la génération d’alertes. N’incluant pas de tableaux de bord par défaut, préférez </span></span></span></span></span></span><a href="https://grafana.com/"><span><span><span><span><span><span><span><span>Grafana</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> pour la visualisation de vos données ( il prend en charge l’intégration de Prometheus). Si vous désirez plus d’informations sur Prometheus et le monitoring, nous vous conseillons </span></span></span></span></span></span><a href="https://www.infoq.com/fr/articles/prometheus-monitor-applications-at-scale/"><span><span><span><span><span><span><span><span>ce lien</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>. </span></span></span></span></span></span></p> <p>             <a href="https://www.zabbix.com/"><span><span><span><span><span><span><span><span>Zabbix</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> : cette plateforme distribuée est relativement facile d’utilisation pour les personnes ayant peu de connaissances techniques. Elle vous permet de collecter et de gérer vos données, de détecter un problème et d’envoyer des notifications selon des règles personnalisables.   Vous pouvez également visualiser et analyser l’état de santé de l’infrastructure IT. Tout comme Prometheus, vous pouvez également interfacer Zabbix avec Grafana.</span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-center"><img alt="Illustration d’un dashboard provenant de Zabbix" data-entity-type="file" data-entity-uuid="4eac62ab-c54c-41e1-b780-1a1bc725f3a1" height="442" src="/sites/default/files/inline-images/zabbix.PNG" width="525" /><figcaption>Illustration d’un dashboard provenant de <a href="https://www.zabbix.com/server_monitoring">Zabbix</a></figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><p>             <a href="https://superset.apache.org/"><span><span><span><span><span><span><span><span>Apache Superset</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> : cet outil open source a été initialement développé par Airbnb. Il fonctionne en tant qu’application web sur les principaux navigateurs internet et permet d’explorer et visualiser vos données très intuitivement sous forme de graphiques, feuilles de calculs et tableaux de bord.</span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-center"><img alt="Illustration d’un dashboard provenant de Apache Superset" data-entity-type="file" data-entity-uuid="c4190020-55cd-4cd3-9773-3c647e4997c0" height="297" src="/sites/default/files/inline-images/Superset.PNG" width="474" /><figcaption>Illustration d’un dashboard provenant de <a href="https://superset.apache.org/">Apache Superset</a></figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><p><span><span><span><span><span><span>N’oubliez pas que vous pouvez également intégrer très facilement </span></span></span></span></span></span><span><span><span><strong><span><span>vos propres outils</span></span></strong></span></span></span><span><span><span><span><span><span> dans FADI si vous préférez.</span></span></span></span></span></span></p> <p> </p> <h2><span><span><span><span><span><span><img alt="perspective" data-entity-type="file" data-entity-uuid="dc2940b9-d769-4576-9fda-d6a0d39bbdc0" height="37" src="/sites/default/files/inline-images/search_loupe_1.png" width="37" />  Perspectives</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Actuellement (mai 2021),  le CETIC a prévu plusieurs développements à faire pour FADI ; notamment l’ajout d’un wizard pour configurer encore plus facilement FADI et travailler sur les aspects de sécurité (DevSecOps). </span></span></span></span></span></span></p> <h2><img alt="Image removed." data-entity-type="file" data-entity-uuid="20a6f00a-708c-401e-868c-82514bdde002" height="16" src="/sites/default/files/inline-images/note_list_icon_124054_0.png" width="16" title="This image has been removed. For security reasons, only images from the local domain are allowed." class="filter-image-invalid" /><span><span><span><span><span><span>  Exemple de cas d'étude</span></span></span></span></span></span></h2> <h3><span><span><span><span><span><span>Le monitoring des bureaux du CETIC</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>L’objectif de ce cas d’utilisation était de fournir des informations (tableaux de bord et alertes) en fonction des données des capteurs placés au sein du bâtiment du CETIC (température, CO2, ...). Dans cet exemple, les mesures de température des capteurs ont été ingérées, stockées affichées dans un tableau de bord assez simple. Rendez-vous sur </span></span></span></span></span></span><a href="https://fadi.cetic.be/USERGUIDE.html"><span><span><span><span><span><span><span><span>ce guide utilisateur FADI</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> pour accéder au tutoriel de cet exemple, vous y apprendrez comment :</span></span></span></span></span></span></p> <p><span><span><span><span><span>       1) Installer <span>FADI via </span></span></span></span></span></span><a href="https://fadi.cetic.be/INSTALL.html"><span><span><span><span><span><span><span><span>ce lien</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span><span><span>. </span></span></span></span></span></span></span></span></p> <p><span><span><span><span><span>       2) Préparer <span>la base de données pour stocker les mesures avec </span></span></span></span></span></span><a href="https://www.postgresql.org/"><span><span><span><span><span><span><span><span>PostgreSQL </span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>(qui est à la fois entrepôt de données et base de données).</span></span></span></span></span></span></p> <p><span><span><span><span><span>       3) Ingérer <span>les mesures des capteurs grâce à </span></span></span></span></span></span><a href="https://nifi.apache.org/"><span><span><span><span><span><span><span><span>Apache Nifi</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>, depuis la source de données (un fichier csv dans ce cas) et les stocker dans la base de données.</span></span></span></span></span></span></p> <p><span><span><span><span><span>       4) Afficher <span>les tableaux de bord et configurer des alertes à partir des données ingérées et stockées dans l'entrepôt de données avec </span></span></span></span></span></span><a href="https://grafana.com/"><span><span><span><span><span><span><span><span>Grafana</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>.</span></span></span></span></span></span></p> <p><span><span><span><span><span>       5) Explorez <span>les données avec </span></span></span></span></span></span><a href="https://superset.apache.org/"><span><span><span><span><span><span><span><span>Superset</span></span></span></span></span></span></span></span></a><span><span><span><span><span>. </span></span></span></span></span></p> <p><span><span><span><span><span>       6) Traiter <span>les données en utilisant </span></span></span></span></span></span><a href="https://jupyter.org/"><span><span><span><span><span><span><span><span>Jupyter</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> comme interface web pour les explorer à l'aide de notebooks et </span></span></span></span></span></span><a href="https://spark.apache.org/"><span><span><span><span><span><span><span><span>Apache Spark</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>, un framework de calcul distribué, comme moteur d’analyse pour le traitement de grands ensembles de données.</span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-center"><img alt="monitoring des bureaux du CETIC" data-entity-type="file" data-entity-uuid="8629c953-9b22-4594-bcf6-74c861928752" height="359" src="/sites/default/files/inline-images/fadi_monitoring%20bureaux%20cetic.PNG" width="657" /><figcaption>Illustration du processus de monitoring des bureaux du CETIC provenant du<a href="https://fadi.cetic.be/USERGUIDE.html"> guide utilisateur de FADI</a></figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><h2><span><span><span><span><span><span>Autres exemples de cas d’étude</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Cette liste de projets représente d’autres exemples de cas d’étude où le framework FADI a été utilisé : </span></span></span></span></span></span></p> <p>     <a href="https://www.cetic.be/ARTEMTEC-fr"><span><span><span><span><span><span><span><span>Artemtec</span></span></span></span></span></span></span></span></a></p> <p>     <a href="https://www.cetic.be/GRINDING-40-fr"><span><span><span><span><span><span><span><span>Grinding 4.0</span></span></span></span></span></span></span></span></a></p> <p>     <a href="https://www.cetic.be/CloudMedia-fr"><span><span><span><span><span><span><span><span>UserMEDIA</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>/  </span></span></span></span></span></span><a href="https://www.cetic.be/CloudMedia?lang=fr%2F"><span><span><span><span><span><span><span><span>CloudMedia </span></span></span></span></span></span></span></span></a></p> <p>     <a href="https://www.cetic.be/Newtech4steel-en"><span><span><span><span><span><span><span><span>NewTech4Steel </span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>(European RFCS project)</span></span></span></span></span></span></p> <p>     <a href="https://www.cetic.be/Quality-40-fr"><span><span><span><span><span><span><span><span>Quality4.0 </span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>(European RFCS project)</span></span></span></span></span></span></p> <p>     <a href="https://www.cetic.be/BigData-MA-fr"><span><span><span><span><span><span><span><span>BigData@MA</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> (European, “Manunet” project)</span></span></span></span></span></span></p> <p>     <a href="https://www.cetic.be/Autosurveillance"><span><span><span><span><span><span><span><span>Autosurveillance</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> (European RFCS project)</span></span></span></span></span></span></p> <p>     <a href="https://www.cetic.be/QuadRide-fr"><span><span><span><span><span><span><span><span>QuadRide </span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>(Wallon CWALity project)</span></span></span></span></span></span></p> <h2><strong><img alt="Image removed." data-entity-type="file" data-entity-uuid="c2797e27-acac-42c9-867b-0da74ebf320b" height="47" src="/sites/default/files/inline-images/camera_0.png" width="47" />  La démonstration en vidéo</strong></h2> <p><span><span><span><span><span><span>Voici </span></span></span></span></span></span><a href="https://www.youtube.com/watch?v=x9TBdh6ZdJM"><span><span><span><span><span><span><span><span>le replay du webinaire</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> organisé par le Hub-C le 6 juillet 2021 afin de faire une démonstration de Fadi, un outil qui rend les technologies Big Data plus accessibles. La présentation est réalisée par Faiez Zalila, </span></span></span></span></span></span><span><span><span><span><span><span>expert en Ingénierie logicielle basée sur les modèles et systèmes informatiques distribués au sein du CETIC.</span></span></span></span></span></span></p> <h2><img alt="Image removed." data-entity-type="file" data-entity-uuid="c50903ee-f184-4410-8b7d-ea7bd1e74247" height="16" src="/sites/default/files/inline-images/pieds_2.png" width="16" title="This image has been removed. For security reasons, only images from the local domain are allowed." class="filter-image-invalid" />  <span><span><span><span><span><span>Pour aller plus loin ...</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>FADI est un outil développé par le CETIC, n’hésitez donc pas à prendre </span></span></span></span></span></span><a href="https://www.cetic.be/Contact"><span><span><span><span><span><span><span><span>contact </span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>si vous désirez des informations supplémentaires !</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Voici quelques liens utiles par rapport à FADI :</span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span>Site officiel de FADI :  </span></span></span></span></span></span><a href="https://fadi.cetic.be/"><span><span><span><span><span><span><span><span>https://FADI.cetic.be/</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> contenant la documentation d’installation et d’utilisation</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>Pour en savoir plus : </span></span></span></span></span></span><a href="https://fadi.presentations.cetic.be/index.html?print-pdf&amp;print=1&amp;showNotes#/"><span><span><span><span><span><span><span><span>https://FADI.presentations.cetic.be</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>Le code source :  </span></span></span></span></span></span><a href="https://github.com/cetic/fadi"><span><span><span><span><span><span><span><span>https://github.com/cetic/fadi</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>Le dépot Github des Helm charts pour installer FADI dans un cluster Kubernetes :  </span></span></span></span></span></span><a href="https://github.com/cetic/helm-fadi"><span><span><span><span><span><span><span><span>https://github.com/cetic/helm-fadi</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>“R. Sellami, F. Zalila, A. Nuttinck, S. Dupont, J. -C. Deprez and S. Mouton, "</span></span></span></span></span></span><a href="https://ieeexplore.ieee.org/abstract/document/9338535"><span><span><span><span><span><span><span><span>FADI - A Deployment Framework for Big Data Management and Analytics</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>," 2020 IEEE 29th International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE), 2020, pp. 153-158, doi: 10.1109/WETICE49692.2020.00038.”</span></span></span></span></span></span></p> </li> </ul><h2><strong><img alt="Image removed." data-entity-type="file" data-entity-uuid="c3f03cf9-540b-4f39-96ca-1aec98d53b0d" height="16" src="/sites/default/files/inline-images/question.png" width="16" title="This image has been removed. For security reasons, only images from the local domain are allowed." class="filter-image-invalid" /></strong><span><span><span><span><span><span>  Besoin d’une aide supplémentaire ?</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Le </span></span></span></span></span></span><a href="https://www.hub-charleroi.be/fr/team"><span><span><span><span><span><span><span><span>Hub-C</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> dans le cadre de ses services d’accompagnement numérique organise des workshops et groupes de travail en lien avec les nouvelles technologies de prototypages.  Vous souhaitez un accompagnement pour votre projet innovant ou vous souhaitez participer à un prochain workshop? N'hésitez pas à contacter </span></span></span></span></span></span><a href="https://www.hub-charleroi.be/fr/team"><span><span><span><span><span><span><span><span>un membre du Hub</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> ! </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Vous avez une question spécifique à propos d’une fiche? Elles sont réalisées par les experts du </span></span></span></span></span></span><a href="https://www.cetic.be/"><span><span><span><span><span><span><span><span>CETIC</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> (Centre d'Excellence en Technologies de l'Information et de la Communication), un  centre de recherche appliquée en informatique situé à Charleroi. Vous trouverez toutes les coordonnées </span></span></span></span></span></span><a href="https://www.cetic.be/Contact"><span><span><span><span><span><span><span><span>ici</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>.</span></span></span></span></span></span></p></div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> Thu, 05 Nov 2020 10:35:10 +0000 laurie 47 at http://hub-creatif.cetic.be RoutaR, un outil de planification de tournées de véhicules performant et facilement adaptable, une solution de mobilité intelligente http://hub-creatif.cetic.be/fiche/routar-un-outil-de-planification-de-tournees-de-vehicules-performant-et-facilement-adaptable <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--title--hover.html.twig x field--node--title.html.twig * field--node--hover.html.twig * field--title.html.twig * field--string.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <span class="field field--name-title field--type-string field--label-hidden">RoutaR, un outil de planification de tournées de véhicules performant et facilement adaptable, une solution de mobilité intelligente</span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--field-tags--hover.html.twig * field--node--field-tags.html.twig * field--node--hover.html.twig * field--field-tags.html.twig * field--entity-reference.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Tags</div> <div class="field__items"> <div class="field__item"><a href="/Gestion%20de%20donn%C3%A9es" hreflang="en">Gestion de données</a></div> <div class="field__item"><a href="/taxonomy/term/24" hreflang="en">Intelligence Artificielle</a></div> </div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--uid--hover.html.twig x field--node--uid.html.twig * field--node--hover.html.twig * field--uid.html.twig * field--entity-reference.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <span class="field field--name-uid field--type-entity-reference field--label-hidden"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'username' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> <span lang="" about="/user/5" typeof="schema:Person" property="schema:name" datatype="">laurie</span> <!-- END OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> </span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--created--hover.html.twig x field--node--created.html.twig * field--node--hover.html.twig * field--created.html.twig * field--created.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <span class="field field--name-created field--type-created field--label-hidden">Wed, 09/30/2020 - 10:50</span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--field-pdf--hover.html.twig * field--node--field-pdf.html.twig * field--node--hover.html.twig * field--field-pdf.html.twig * field--file.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <div class="field field--name-field-pdf field--type-file field--label-above"> <div class="field__label">Télécharger le PDF</div> <div class="field__item"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'file_link' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/file-link.html.twig' --> <span class="file file--mime-application-pdf file--application-pdf"> <a href="http://hub-creatif.cetic.be/sites/default/files/2022-04/_fiche%20RoutaR.pdf" type="application/pdf; length=8957179" title="_fiche RoutaR.pdf">Fiche RoutaR</a></span> <!-- END OUTPUT from 'core/themes/classy/templates/field/file-link.html.twig' --> </div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--body--hover.html.twig * field--node--body.html.twig * field--node--hover.html.twig * field--body.html.twig x field--text-with-summary.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-above"> <div class="field__label">Body</div> <div class="field__item"><p><span><span><span><span><span><span>Avec la crise sanitaire de la Covid 19, les commerces, contraints de fermer, se sont adaptés… et les clients aussi :  le commerce en ligne a littéralement explosé ! Mais qui dit plus de demandes auprès des services de livraison et des services à domiciles, dit aussi plus d’attente…Nous avons tous déjà dû rester bloqués des heures à la maison pour recevoir un colis, ou pour attendre le passage du plombier, prévu très précisément “entre 9h et 17h”...pour finalement ne pas le recevoir à temps ou devoir être absent lors du passage ! </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>L’augmentation du recours au e-commerce a provoqué une surcharge de travail pour les chauffeurs et des plannings de service et livraison de plus en plus étriqués… De plus, beaucoup d’entreprises font face à la situation écologique actuelle, au coût de l’essence toujours plus élevé…. Elles cherchent à </span></span></span></span></span></span><span><span><span><strong><span><span>réduire les déplacements</span></span></strong></span></span></span><span><span><span><span><span><span> et à </span></span></span></span></span></span><span><span><span><strong><span><span>rentabiliser chaque trajet</span></span></strong></span></span></span><span><span><span><span><span><span> en générant des </span></span></span></span></span></span><span><span><span><strong><span><span>plannings optimaux, condensés et rentables</span></span></strong></span></span></span><span><span><span><span><span><span> ! Pour cela, ces plannings doivent respecter un ensemble de</span></span></span></span></span></span><span><span><span><span><em><span> </span></em></span></span></span></span><span><span><span><span><span><span>contraintes métiers, ce qui n’est pas une mince affaire… un outil adapté est donc nécessaire ! C’est ici que</span></span></span></span></span></span><span><span><span><strong><span><span> RoutaR, un outil de planification performant et facilement adaptable aux besoins des PME</span></span></strong></span></span></span><span><span><span><span><span><span>,  intervient…</span></span></span></span></span></span></p> <h2><span><span><span><span><span><span>Prérequis</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Pour la lecture de ce document, la compréhension de certains termes techniques est nécessaire : </span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span>- Le format JSON : JSON est un format de fichier souvent utilisé en informatique. Similairement au format XML, il permet de transférer des données de manière structurée et documentée. Ce qui permet de rendre le fichier compréhensible par un humain et facilement intégrable dans une application.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- Les microservices : </span></span></span></span></span></span><span><span><span><span><span><span><span><span>Les </span></span></span></span></span></span></span></span><a href="https://www.talend.com/fr/resources/guide-microservices/"><span><span><span><span><span><span><span><span>microservices</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> sont un style architectural pour les applications web. Chaque service est pensé pour être individuel, indépendant et spécifique à une tâche bien précise. Ce n’est qu’une fois assemblés qu’ils constituent l’application dans son entièreté. Chaque service a son propre cycle de vie et peut donc être déployé, mis à jour et géré de façon  plus légère et parfaitement autonome, sans perturber tout le système.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- Une gaussienne : une gaussienne ou fonction gaussienne est une courbe exponentielle mathématique. Elle est facilement reconnaissable par sa forme en cloche.</span></span></span></span></span></span></p> </li> </ul><h2><span><span><span><span><span><span><img alt="pour qui?" data-entity-type="file" data-entity-uuid="082731bb-1cc8-4d27-85b1-42474e330998" height="47" src="/sites/default/files/inline-images/people_0_1.png" width="47" />  Pour qui ?</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>RoutaR est un outil qui  s’adresse de façon générale à toute entreprise rencontrant une problématique liée à l'optimisation du transport de personnes ou de marchandises et il concerne plus particulièrement les entreprises actives dans le domaine de </span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span>- la logistique (livraison de colis, logistique sur les chantiers, etc), </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- le transport (covoiturage, service de navettes , taxis, bus scolaires, etc), </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- les soins à domicile (infirmiers, infirmières, kinés, aides à domicile, aides-soignants, aides ménagers, etc), </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- les services de livraison pour restaurant et magasins qui veulent livrer leurs produits eux-mêmes, </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- les interventions et services à domicile (téléphonie, relevé de compteurs, plombiers, chauffagistes, etc)</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- l’économie circulaire (commerces locaux)</span></span></span></span></span></span></p> </li> </ul><h2><span><span><span><span><span><span><img alt="Pour quoi faire ?" data-entity-type="file" data-entity-uuid="0dccc66c-d1df-4d6d-9fc4-df2884d315e1" height="44" src="/sites/default/files/inline-images/goal2_8_0.png" width="44" />  Pour quoi faire ?</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span><span>Vous désirez optimiser vos trajets en tenant compte du trafic routier à moindre coût ? </span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>RoutaR est fait pour vous ! Il s’agit d’une application web proposant sa propre solution de calcul de matrices de distances avec trafic et offrant un très bon compromis entre le coût et la qualité des données. </span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>L’application est directement déployable sur la majorité des systèmes informatiques et l'importance apportée à la performance de la plateforme ainsi que son architecture orientée microservice (vous trouverez plus de détails à ce sujet dans la section “Fonctionnement de RoutaR”) lui permettent de monter en charge rapidement et facilement afin de s'adapter au mieux à votre besoin.</span></span></span></span></span></span></span><br /><span><span><span><span><span><span><span>Afin de résoudre vos problèmes d'optimisation, RoutaR s'appuie sur </span></span></span></span></span></span></span><a href="https://www.cetic.be/Oscar-CBLS"><span><span><span><span><span><span><span><span><span>OscarR.CLBS</span></span></span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>, une librairie informatique proposant des algorithmes de recherche opérationnelle liés aux problèmes de routage et de planification. Ces derniers permettent de modéliser et résoudre une grande variété de problèmes de mobilité.</span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span>En effet, RoutaR solutionne plusieurs types de problèmes concernant ;</span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span>- les taxis partagés</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- les livraisons de colis</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- les tournées de service (infirmiers, plombiers,...)</span></span></span></span></span></span></p> </li> </ul><p><span><span><span><span><span><span>Mais il peut également répondre à tout type de besoin particulier telle que la collaboration entre entreprises ou le covoiturage. </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>De plus, RoutaR est capable de résoudre des problèmes intégrant de nombreuses contraintes métiers telles que :</span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span>- des contraintes horaires : heure de passage, horaire des chauffeurs, durée de la tâche (soin, interventions techniques…), arrivée au plus tôt, arrivée au plus tard,...</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- des contraintes géographiques : embouteillages, coordonnées GPS…</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- des contraintes de capacité : nombre de places assises, volume maximal transportable, nombre de personnes à déposer ou à récupérer au point X,...</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- des contraintes de précédences : taxi, ordre de passage sans limitation…</span></span></span></span></span></span></p> </li> </ul><p><span><span><span><span><span><span>Cette liste est cependant amenée à évoluer rapidement pour résoudre des problèmes encore plus complexes et de grandes tailles grâce à la flexibilité du moteur de recherche générique utilisé dans RoutaR et à la technologie Constraint Based Local Search. </span></span></span></span></span></span></p> <h2><span><span><span><span><span><span><img alt="Les atouts" data-entity-type="file" data-entity-uuid="f39cfba1-2a29-4ec8-b1b6-d804ec96067d" height="38" src="/sites/default/files/inline-images/stars_0.png" width="38" />  Les atouts de RoutaR</span></span></span></span></span></span></h2> <ul><li> <p><span><span><span><span><span><span><span><span>- <em>La généricité de l’application</em></span></span></span></span></span></span></span></span><span><span><span><span><span><span><em> </em>: vous pouvez traiter n’importe quel type de problème (contraintes de temps, de capacité,...) du moment que vous utilisez le format JSON pour définir le fichier que RoutaR va utiliser afin de trouver une solution qui respecte tout cela.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><span><span>- <em>La réduction des coûts pour estimer le trafic</em></span></span></span></span></span></span></span></span><span><span><span><span><span><span> : pour être le plus optimal possible, votre planning optimisé doit tenir compte du trafic et le coût de ce type de données est souvent très élevé.  Pour répondre à cette problématique, RoutaR intègre un mécanisme basé sur le machine learning représentant un bon compromis qualité/coût. A partir d'un ensemble restreint de données trafic achetées, il est capable d'estimer tous les réseaux de trajet se trouvant dans la zone couvertes par ces dernières.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><span><span>- <em>Gagner du temps</em></span></span></span></span></span></span></span></span><span><span><span><span><span><span> : RoutaR réduit le coût temporel des employés grâce à une meilleure organisation des plannings de véhicules de livraison ou de services. Ces derniers sont plus légers, réalisables et fiables pour les chauffeurs… et on sait tous que le temps, c’est de l’argent !</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><span><span>- <em>Gagner de l’argent</em></span></span></span></span></span></span></span></span><span><span><span><span><span><span> : RoutaR augmente le chiffre d’affaires des entreprises en leur permettant de traiter de plus en plus de demandes et en leur proposant sa propre solution de calcul de matrices de distance avec trafic alors que, d'habitude, ce sont des données très onéreuses. RoutaR représente donc  le parfait compromis entre le coût et la qualité des données ! </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><span><span>-  <em>Augmenter la satisfaction des clients</em></span></span></span></span></span></span></span></span><span><span><span><span><span><span> : les colis et services sont délivrés en temps et en heure avec des tranches horaires réduites, plus besoin de prendre congé pour recevoir le chauffagiste !</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><span><span>- <em>L’architecture modulaire et flexible d’OscaR.CBLS</em></span></span></span></span></span></span></span></span><span><span><span><span><span><span> : il s’agit du moteur de recherche opérationnelle utilisé dans RoutaR. Il vous permet de modéliser facilement un problème de routage en implémentant chaque contrainte métier séparément et en les sélectionnant indépendamment. Pour en ajouter une nouvelle, il vous suffit donc de la créer et elle sera directement utilisable. Si la contrainte métier est plus complexe, OscaR.CBLS dispose tout de même des mécanismes nécessaires pour la représenter. De ce fait, RoutaR est capable d’être adapté pour correspondre au maximum des besoins réels.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><span><span>- <em>Déployable dans l’entreprise</em> </span></span></span></span></span></span></span></span><span><span><span><span><span><span>: chaque business peut avoir sa propre instance avec sa/ses contraintes spécifiques. </span></span></span></span></span></span></p> </li> </ul><h2><span><span><span><span><span><span>Fonctionnement de RoutaR</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Pour générer un planning optimal, vous devez disposer des besoins de vos clients et formater tout cela dans un fichier JSON qui sera directement utilisable par RoutaR une fois que vous lui aurez envoyé le fichier. RoutaR va ensuite trouver une solution correspondant aux spécificités demandées  et vous la renvoyer en format JSON, en vue d’être intégrée avec un autre logiciel client (ERP). </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>RoutaR est une solution complète qui contient : </span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span>- 3 microservices (détaillés dans la section suivante).</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- le système de stockage open source REDIS (appelé “le cache” plus loin dans cette fiche) pour les matrices de distances car il est très léger et basé sur un système de clé-valeur qui est simple et facile à utiliser. </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- Un démonstrateur développé en angular.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- Toute une série de fournisseurs de données brutes qui servent à construire les matrices de distances. Vous avez notamment  :</span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span>GraphHopper, dont la version open-source a été intégrée dans un micro-service de RoutaR  et qui va utiliser des fichiers d’OpenStreetMap, des données cartographiques brutes totalement gratuites mais sans trafic (sans les embouteillages).</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>Google Maps et TomTom, des fournisseurs de données externes qui sont accessibles via leur API et moyennant paiement pour avoir des données cartographiques avec ou sans embouteillage.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>RoutaR peut également utiliser Custom, un provider qui permet, via des endpoints (requêtes spécifiques) de stocker des données de trajet sans embouteillage récoltées grâce à des trackers présents dans les véhicules de l'entreprise en question. Ces données seront utilisées lors de l'optimisation. Ceci représente un gain de temps car il n’y a alors pas besoin de calculer les données avec graphhopper ou autre.</span></span></span></span></span></span></p> </li> </ul></li> </ul><!-- THEME DEBUG --><!-- THEME HOOK: 'filter_caption' --><!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><figure role="group" class="caption caption-img align-center"><img alt="Illustration 1 : l’application RoutaR et son fonctionnement" data-entity-type="file" data-entity-uuid="5f8ccc01-caba-4c03-a4cd-02d6f195279c" height="317" src="/sites/default/files/inline-images/RoutaR-solution.png" width="749" /><figcaption>Illustration 1  : l’application RoutaR et son fonctionnement</figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><h3><span><span><span><span><span><span>Les microservices</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Comme vous pouvez le constater sur l’illustration ci-dessus, l’application RoutaR contient 3 microservices écrits principalement en Scala. </span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span><span>L’architecture </span></span></span></span></span></span></span></span><a href="https://www.talend.com/fr/resources/guide-microservices/"><span><span><span><span><span><span><span><span>microservices</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> est une architecture pour les applications web : les services y sont individuels, indépendants, spécifiques à une tâche et, une fois assemblés, ils constituent l’application. Chaque service  a son propre cycle de vie et peut donc être déployé, mis à jour et géré de façon  plus légère et parfaitement autonome, sans perturber tout le système.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Les microservices doivent être asynchrones, c’est-à-dire capable de répondre à plusieurs requêtes simultanément. Au delà de l’envie d’exploiter au maximum la puissance des processeurs récents, il y a plusieurs contraintes techniques à prendre en compte : </span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span>- Il y a un nombre indéterminé de requêtes qui peuvent arriver dans ces services</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- Les microservices font de nombreux appels à des services externes (TomTom, Google Maps,...) et ils peuvent être très longs (il faut compter quelques minutes d'attente chez TomTom pour calculer une grande matrice par exemple).</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- Certaines opérations sont très longues : le training du modèle avec trafic, la résolution de problèmes d’optimisation…</span></span></span></span></span></span></p> </li> </ul><p><span><span><span><span><span><span>Toutes ces contraintes nous poussent à mettre en place des services asynchrones afin de ne pas bloquer toutes les requêtes car l’une d’entre elles prend du temps à être traitée.</span></span></span></span></span></span></p> <p><br /><span><span><span><span><span><span>RoutaR possède donc un microservice appelé </span></span></span></span></span></span><span><span><span><span><span><span><span><span>routar</span></span></span></span></span></span></span></span><span><span><span><span><span><span> qui se focalise sur la résolution de problèmes. Il communique avec le deuxième microservice, </span></span></span></span></span></span><span><span><span><span><span><span><span><span>matrix</span></span></span></span></span></span></span></span><span><span><span><span><span><span>, pour obtenir une matrice de distances qui correspond au problème à résoudre.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span><span>Une matrice de distances, qu'est-ce que c'est ?</span></span></span></span></span></span></span></span><span><span><span><span><span><span> les matrices de distances sont utilisées en cours d'optimisation pour réduire la longueur totale du trajet et s'assurer qu'on respecte les contraintes de temps. Une matrice prend en entrée une liste de coordonnées d'origines et une liste de coordonnées de destinations, et pour chaque paire d'origine et de destination, on calcule la distance et le temps du trajet. Quand on dit “une matrice 50X50” (pour 50 origines et 50 destinations), on a en réalité 2500 calculs à faire car on a 2500 couples origines-destinations. On appelle plus précisément cela une matrice carrée, c’est-à-dire une matrice du type (n, n), autrement dit une matrice à n lignes et n colonnes.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Lorsqu’on parle de matrice cubique dans cette fiche, c’est parce qu’on a rajouté la dimension du temps. </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Le troisième microservice est le microservice </span></span></span></span></span></span><span><span><span><span><span><span><span><span>path</span></span></span></span></span></span></span></span><span><span><span><span><span><span>, pensé pour les aspects de démonstration, il sert à calculer le trajet précis reliant le point A et sa destination B empruntant telles ou telles rues... Il fournit un trajet détaillé qui pourra être affiché sur une carte.</span></span></span></span></span></span></p> <h3><span><span><span><span><span><span>Comment fonctionne le microservice Matrix ?</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Voyons plus en détails comment fonctionne le microservice Matrix, que ce soit pour un calcul de matrice de distance sans trafic ou avec trafic. </span></span></span></span></span></span></p> <ol><li> <p><strong><span><span><span><span><span><span>1. Calcul de matrice de distance sans embouteillage </span></span></span></span></span></span></strong></p> </li> </ol><p><span><span><span><span><span><span>Pour un calcul simple sans embouteillages, Matrix doit disposer en entrée  :</span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span>- des coordonnées d’origines/de destination</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- d’une liste de fournisseurs ordonnée par priorité d’utilisation. On parle de liste car si un fournisseur ne trouve pas la distance entre tel ou tel point et qu’il renvoie une erreur, il faut pouvoir spécifier un fournisseur de secours pour pouvoir compléter la matrice. Bien que la particularité de RoutaR est de ne pas imposer de fournisseur pour que vous puissiez utiliser votre préféré (Google Maps, TomTom,...), </span></span></span></span></span></span><span><span><span><span><span><span><span><span>GraphHopper</span></span></span></span></span></span></span></span><span><span><span><span><span><span> est celui qui est utilisé par défaut car il génère des matrices de distances sans embouteillage gratuitement. </span></span></span></span></span></span></p> </li> </ul><p><span><span><span><span><span><span>Le microservice va d’abord vérifier si des distances pré-calculées (des matrices de distances) sont enregistrées dans le cache (Redis) :  si le cache est vide, il faut faire une demande de matrice de distances. Pour cela, Matrix va utiliser GraphHopper (ou un autre premier fournisseur) qui va faire ce calcul gratuitement et renvoyer le résultat à Matrix. Matrix, avant de renvoyer la matrice à l’utilisateur ou à un service, va d’abord la stocker dans le cache Redis; si une demande est faite à propos de la même matrice, Matrix ira tout simplement la rechercher dans le cache. </span></span></span></span></span></span></p> <p><br /><span><span><span><span><span><span>Si le résultat présent dans le cache n’est pas complet, Matrix envoie une demande à un autre fournisseur (ou “</span></span></span></span></span></span><span><span><span><span><em><span>provider</span></em></span></span></span></span><span><span><span><span><span><span>”) présent dans la liste de fournisseurs ( par exemple Google Maps) pour ce qu’il reste à calculer. Matrix va de nouveau rechercher dans le cache les données enregistrées par rapport à Google Maps et si le cache n’en contient pas, Matrix fait la demande de matrice et le fournisseur de données, Google Maps, envoie le résultat qui est fusionné avec le résultat précédent. Si le résultat final n’est toujours pas complet, Matrix passe de nouveau au fournisseur suivant de la liste et va de nouveau rechercher dans le cache les données enregistrées par rapport au nouveau fournisseur… et ainsi de suite. </span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-center"><img alt="Illustration 2 : fonctionnement du micro service Matrix pour construire des matrices de distances" data-entity-type="file" data-entity-uuid="af4eb4d1-55b3-4352-a05e-4dbde7a5cea1" height="377" src="/sites/default/files/inline-images/RoutaR-construction%20matrices.png" width="675" /><figcaption>Illustration 2 :  fonctionnement du micro service  Matrix pour construire des matrices de distance<br /> ​</figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><p><span><span><span><span><span><span>Au final, Matrix fournit en sortie  : </span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span>- l’ensemble des origines,</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- les destinations,</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- la matrice  sans embouteillage qui a été calculée,</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>- les détails sur la complétude de la matrice (les erreurs rencontrées, les fournisseurs utilisés).</span></span></span></span></span></span></p> </li> </ul><ol><li> <p><strong><span><span><span><span><span><span>2. Calcul de matrice de distances avec embouteillage</span></span></span></span></span></span></strong></p> </li> </ol><p><span><span><span><span><span><span>Un des points forts de RoutaR est sa façon de gérer le trafic. Pour optimiser correctement les plannings de chauffeurs, il faut disposer de matrices de distances qui tiennent compte des embouteillages afin d’être au plus près de la réalité. En effet, rouler à minuit n’est pas vraiment la même chose que rouler en pleine heure de pointe… Or, à l‘heure actuelle, il n’existe pas de fournisseur de données de trafic gratuit, les prix peuvent être vite élevés ! </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Par exemple si vous prenez le cas des infirmiers à domicile : vous avez les adresses de 500 patients et le point de départ de 25 infirmiers (a priori leur domicile), vous obtenez une matrice de 525x525X48 (le chiffre 48 fait référence au nombre de demi-heures dans une journée), ce qui correspond à 13 millions de données à acheter… et cela revient à peu près à 132.000 euros chez Google Maps et à 6000 euros chez TomTom… Cela représente un certain coût ! </span></span></span></span></span></span></p> <img alt="calcul matrice distance avec embouteillage" data-entity-type="file" data-entity-uuid="f352313b-89f8-49f1-bb2a-053129e803c5" height="89" src="/sites/default/files/inline-images/RoutaR%20-%20donn%C3%A9es%20avec%20trafic%20-%20achat.PNG" width="575" class="align-center" /><p> </p> <ol><li> <p><strong><span><span><span><span><span><span>a) Les coordonnées d'entraînement</span></span></span></span></span></span></strong></p> </li> </ol><p><span><span><span><span><span><span>RoutaR vous permet de réduire ce coût grâce à l’utilisation de </span></span></span></span></span></span><span><span><span><span><em><span>données d'entraînement</span></em></span></span></span></span><span><span><span><span><span><span> : il  va utiliser plusieurs points d’une même zone pour calculer la matrice de distance de cette zone, pour chaque demi-heure et en tenant compte du trafic, et, à partir de la détermination de cette petite matrice, RoutaR va estimer le temps de trajet  d’autres points dans les alentours.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Reprenons l’exemple des infirmiers à domicile. Si ceux-ci se trouvent dans la région de Namur, cela correspond à 38 communes. Nous avons donc  une matrice de distance pour ces 38 communes de 38x38x48 (pour tenir compte de toutes les demi-heures d’une journée également), ce qui correspond approximativement à 69.000 données…  L’ensemble coûte 700 euros chez Google Maps et 30 euros chez TomTom… Nous sommes bien loin du coût précédemment décrit ! </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Une fois que ces données moins chères sont acquises auprès d’un fournisseur de données, RoutaR dispose des données de trafic pour les 38 communes, il va pouvoir estimer le temps de trajet pour le problème à résoudre (l’optimisation pour les 500 patients et les 25 infirmiers).  Les données de ce calcul vont donc servir de </span></span></span></span></span></span><span><span><span><span><em><span>coordonnées d'entraînement</span></em></span></span></span></span><span><span><span><span><span><span> pour RoutaR qui dispose, en résumé : </span></span></span></span></span></span></p> <ol><li> <p><span><span><span><span><span><span> 1) d’un </span></span></span></span></span></span><span><span><span><span><span><span><span><span>ensemble de trajets connus</span></span></span></span></span></span></span></span><span><span><span><span><span><span> (voir l’illustration 3 : les points noirs représentent les 38 communes de Namur).</span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-center"><img alt="Illustration 3 : représentation des coordonnées d’entrainements" data-entity-type="file" data-entity-uuid="86e348df-3e8b-4a90-bf39-a71434567fad" height="285" src="/sites/default/files/inline-images/RoutaR%20-%20coordonnees%20entrainements.PNG" width="573" /><figcaption>Illustration 3 :  représentation des coordonnées d’entrainements</figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --></li> <li> <p><span><span><span><span><span><span>2) un </span></span></span></span></span></span><span><span><span><span><span><span><span><span>ensemble de trajets inconnus</span></span></span></span></span></span></span></span><span><span><span><span><span><span> (les points bleus sur l’illustration ci-dessous). RoutaR va utiliser la matrice et les données connues pour estimer le temps de trajet entre tous ces différents points.  </span></span></span></span></span></span></p> </li> </ol><!-- THEME DEBUG --><!-- THEME HOOK: 'filter_caption' --><!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><figure role="group" class="caption caption-img align-center"><img alt="Illustration 4 : représentation des coordonnées d'entraînements et des coordonnées de test" data-entity-type="file" data-entity-uuid="9e1a6ff4-6b0d-45e3-91b4-e2da37e38dac" height="317" src="/sites/default/files/inline-images/RoutaR-%20coord%20de%20test%201.PNG" width="647" /><figcaption>Illustration 4 :  représentation  des coordonnées d'entraînements et des coordonnées de test</figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><ol start="2"><li> <p><strong><span><span><span><span><span><span>b) Apprentissage à partir des coordonnées d'entraînement</span></span></span></span></span></span></strong></p> </li> </ol><p><span><span><span><span><span><span>Voyons plus en détails comment les données d'entraînement vont permettre de déterminer le temps de trajet pour des points inconnus.</span></span></span></span></span></span></p> <ol><li> <p><span><span><span><span><span><span><span><span>1) Obtention de la matrice de distances</span></span></span></span></span></span></span></span></p> </li> </ol><p><span><span><span><span><span><span><span>Une fois les coordonnées d'entraînement sélectionnées (les données achetées préalablement auprès d’un fournisseur), RoutaR dispose de la matrice de distances carrée complète pour chaque demi-heure. Autrement dit, RoutaR dispose, pour chaque couple de coordonnées, du temps de trajet entre les deux points pour chaque demi-heure d’une journée (voir illustration 5). </span></span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-center"><img alt="Illustration 5 : représentation de la détermination de la matrice de distances des coordonnées d’entrainements" data-entity-type="file" data-entity-uuid="11f39e82-b45c-4f71-8738-637ebcc72c09" height="344" src="/sites/default/files/inline-images/RoutaR-%20matrices%20carr%C3%A9es%20donnees%20entrainement.PNG" width="677" /><figcaption>Illustration 5 :  représentation de la détermination de la matrice de distances des coordonnées d’entrainements</figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><p> </p> <p><span><span><span><span><span><span>Par exemple, vous avez </span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span>un temps de trajet de 25 minutes et 43 secondes  pour le trajet de A vers B à minuit, </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>un temps de trajet de 20 minutes et 32 secondes pour le trajet de A vers C à minuit, </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>un temps de trajet de 37 minutes et 32 secondes pour le trajet de A vers B à 06H30</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><em><span>etc.</span></em></span></span></span></span><span><span><span><span><span><span>,... </span></span></span></span></span></span></p> </li> </ul><p><span><span><span><span><span><span>Le tableau de l’illustration ci-dessous correspond aux résultats de chaque trajet par rapport aux données achetées pour notre exemple d’infirmiers à domicile en région Namuroise. Il s’agit dans ce cas d’une matrice cubique qui représente tous les temps de trajet aux différentes heures.  Ici, Matrix n’a pas fait les calculs mais a envoyé des requêtes vers le fournisseur de données pour les obtenir.</span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-center"><img alt="Illustration 6 : matrice cubique des coordonnées d'entraînement" data-entity-type="file" data-entity-uuid="ea237111-344d-4d47-b9a4-2efba59ac6c0" height="283" src="/sites/default/files/inline-images/matrice%20cubique.png" width="385" /><figcaption>Illustration 6 :  matrice cubique des coordonnées d'entraînement</figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><ol><li> <p><span><span><span><span><span><span><span><span>2) Les gaussiennes</span></span></span></span></span></span></span></span></p> </li> </ol><p><span><span><span><span><span><span>Une fois qu’il a obtenu toutes les matrices (une matrice pour chaque demi-heure), le microservice Matrix peut générer des </span></span></span></span></span></span><span><span><span><span><em><span>gaussiennes </span></em></span></span></span></span><span><span><span><span><span><span>(ou “fonctions gaussiennes”) pour chaque couple de points. Il y en a 3 par couple de coordonnées : </span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span>1) une gaussienne pour le pic du matin, </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>2) une deuxième pour le pic du midi </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>3) une troisième pour le pic du soir. </span></span></span></span></span></span></p> </li> </ul><p><span><span><span><span><span><span>Les 3 gaussiennes sont fusionnées afin d’obtenir un schéma représentant </span></span></span></span></span></span><span><span><span><span><em><span>l’évolution du temps de trajet </span></em></span></span></span></span><span><span><span><span><span><span>pour un couple de coordonnées</span></span></span></span></span></span><span><span><span><span><em><span>,</span></em></span></span></span></span><span><span><span><span><span><span> et non le temps de trajet en lui-même ! Ce schéma représente la </span></span></span></span></span></span><span><span><span><span><em><span>fonction des 3 gaussiennes</span></em></span></span></span></span><span><span><span><span><span><span> et l’ensemble est stocké dans Redis, l’espace de stockage, pour être utilisé ultérieurement.</span></span></span></span></span></span></p> <p> </p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-center"><img alt="Illustration 7 : schéma des 3 gaussiennes représentant l’évolution du temps de trajet pour un couple de points" data-entity-type="file" data-entity-uuid="0e90014a-efaf-4d16-8f98-9b29d089b407" height="271" src="/sites/default/files/inline-images/RoutaR%20-%20gausienne%20sch%C3%A9ma.PNG" width="275" /><figcaption>Illustration 7 : schéma des 3 gaussiennes représentant l’évolution du temps de trajet pour un couple de points</figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><ul><li> <p><strong><span><span><span><span><span><span>Estimation des matrices de distances avec trafic pour les coordonnées de test</span></span></span></span></span></span></strong></p> </li> </ul><p><span><span><span><span><span><span>Rappelez-vous, ce qui nous intéresse dans notre exemple, c’est de déterminer la matrice de distances avec trafic pour les 25 domiciles des infirmiers et les 500 adresses de patients provenant de Namur (nous appellerons ces données les “</span></span></span></span></span></span><span><span><span><span><em><span>coordonnées de test</span></em></span></span></span></span><span><span><span><span><span><span>”). Pour  estimer cela, RoutaR va se baser sur  la matrice de distances connue concernant les 38 communes de Namur (ces données sont appelées “</span></span></span></span></span></span><span><span><span><span><em><span>coordonnées d'entraînement”, voir les sections ci-dessus) </span></em></span></span></span></span><span><span><span><span><span><span>car, comme expliqué précédemment, on connaît déjà</span></span></span></span></span></span><span><span><span><span><em><span> le temps de trajet</span></em></span></span></span></span><span><span><span><span><span><span> pour chaque couple de coordonnées d'entraînement ainsi que l’</span></span></span></span></span></span><span><span><span><span><em><span>évolution du temps de trajet </span></em></span></span></span></span><span><span><span><span><span><span>(grâce aux gaussiennes). </span></span></span></span></span></span> </p> <p><span><span><span><span><span><span>Matrix va réutiliser le calcul utilisé pour les 38 communes et estimer le temps de trajet pour le problème à résoudre, pour cela : </span></span></span></span></span></span></p> <ol><li> <p><span><span><span><span><span><span>1. RoutaR va d’abord calculer la </span></span></span></span></span></span><span><span><span><span><em><span>matrice de distances sans embouteillage</span></em></span></span></span></span><span><span><span><span><span><span> entre chaque paire de coordonnées de test</span></span></span></span></span></span><span><span><span><span><span><span><span> (voir illustration 5). C</span></span></span></span></span></span></span><span><span><span><span><span><span>ela peut se faire gratuitement avec GraphHopper par exemple.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>2. Ensuite, pour connaître l’évolution du temps de trajet entre le couple de points bleus présentés dans l’illustration-ci dessous, RoutaR va sélectionner un nombre k de </span></span></span></span></span></span><span><span><span><span><em><span>coordonnées d'entraînement, </span></em></span></span></span></span><span><span><span><span><span><span> les plus proches de ces deux </span></span></span></span></span></span><span><span><span><span><em><span>coordonnées de test (</span></em></span></span></span></span><span><span><span><span><span><span>dans notre exemple, k =3). </span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-center"><img alt="Illustration 8 : représentation de la sélection des k coordonnées d'entraînement les plus proches de chaque coordonnée de test" data-entity-type="file" data-entity-uuid="243e00ed-3340-4730-b2c4-660ff14bab41" height="459" src="/sites/default/files/inline-images/RoutarR-%20coord%20entrainement.PNG" width="896" /><figcaption>Illustration 8 : représentation de la sélection des k coordonnées d'entraînement les plus proches de chaque coordonnée de test</figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --></li> <li> <p>3. <span><span><span><span><span><span>Puis, RoutaR récupère dans le cache les fonctions gaussiennes (les traits mauves dans l’illustration ci-dessous) pour chaque </span></span></span></span></span></span><span><span><span><span><em><span>coordonnées d'entraînement</span></em></span></span></span></span><span><span><span><span><span><span> (rappelez-vous, chaque fonction de gaussiennes représente une évolution du temps de trajet).</span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-center"><img alt="Illustration 9 : représentation de la récupération de la matrice de gaussiennes (les fonctions gaussiennes) connues correspondant aux 2*k coordonnées." data-entity-type="file" data-entity-uuid="484d8733-e494-4411-b5a2-d39553c4c0f7" height="377" src="/sites/default/files/inline-images/RoutaR-gaussienne%20donnees%20entrainement.PNG" width="747" /><figcaption>Illustration 9 : représentation de la récupération de la matrice de gaussiennes (les fonctions gaussiennes) connues correspondant aux 2*k coordonnées.</figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><p><span><span><span><span><span><span> 4. RoutaR dispose donc de 9 fonctions gaussiennes connues et va faire la moyenne de l'évolution du temps de trajet pour chaque demi-heure afin d’obtenir l’évolution du temps de trajet entre les couple de points bleus. </span></span></span></span></span></span></p> <ol><li> <p><span><span><span><span><span><span>Donc si on reprend notre exemple et qu’on prend la tranche horaire de midi (12h00), on aura 9 valeurs correspondant au 9 fonctions gaussiennes récupérées dans la base de données. RoutaR va faire la moyenne des ces 9 valeurs et stocker le résultat dans un tableau. On fait cela pour toutes les demi-heures de la journée et, au final, RoutaR représente l’évolution du temps de trajet grâce à la génération de 3 gaussiennes et d’un schéma de fonctions de gaussiennes.  </span></span></span></span></span></span></p> </li> </ol></li> <li> <p><span><span><span><span><span><span>5. Au final, pour connaître le temps de trajet entre nos deux points bleus à 12h00 avec embouteillage, il faut  faire : le temps de trajet sans embouteillage X l’évolution du temps de trajet estimé pour 12h00. </span></span></span></span></span></span></p> </li> </ol><h2><span><span><span><strong><span><span>GraphHopper </span></span></strong></span></span></span></h2> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-right"><img alt="Logo" data-entity-type="file" data-entity-uuid="45b3adca-37fa-4ba9-abf4-5244196dd581" src="/sites/default/files/inline-images/RoutaR-GraphHopper_logo.PNG" /><figcaption>Logo GraphHopper</figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><p><span><span><span><span><span><span><span><a href="https://www.graphhopper.com/">GraphHopper</a> est un fournisseur d’accès focalisé sur l’optimisation des problèmes de routing. Il dispose de sa propre solution pour les calculs de distance,... et une partie de celle-ci est open source.  Les fonctionnalités basiques proposées sont : </span></span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span><span>le calcul de trajet point à point</span></span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><span>l’utilisation de différents modes de transports </span></span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><span>l’exploitation de différents types de cartes dont Open Street Map (celles-ci sont gratuites et mises à jour quotidiennement).</span></span></span></span></span></span></span></p> </li> </ul><p> </p> <p><span><span><span><span><span><span><span>Par contre, il ne permet pas de calculer gratuitement les matrices de distance. Pour cela, GraphHopper a été intégré à RoutaR et un service de calcul de matrices a été ajouté pour éviter d’envoyer des milliers d’appels vers GraphHopper. </span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span>RoutaR permet également  de sélectionner les zones exploitées par GraphHopper (à l'échelle d'un pays ou d'une région) : dans la configuration du microservice, il suffit de définir les cartes OSM à télécharger et via un simple script, le microservice va télécharger les cartes, les fusionner et les préparer pour qu'elles puissent être utilisées par GraphHopper.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>En résumé, voici les avantages de GraphHopper :</span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span>gratuit</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>nettement plus rapide que Google ou Tomtom</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>prioritaire (dans le sens ou Google pourrait définir des priorités en fonction des clients)</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>possibilité de dupliquer le service en cas de forte demande</span></span></span></span></span></span></p> </li> </ul><p><span><span><span><span><span><span>Et ses inconvénients : </span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span>pas de trafic</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>Si une des coordonnées est hors de la zone couverte par les cartes OSM, GraphHopper est incapable de fournir des information sur la distance.</span></span></span></span></span></span></p> </li> </ul><h2><span><span><span><span><span><span><img alt="camera" data-entity-type="file" data-entity-uuid="629ffe0b-a45f-4d62-b738-a12e26c5e649" height="46" src="/sites/default/files/inline-images/camera_0_0.png" width="46" />  La démonstration en vidéo</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Voici </span></span></span></span></span></span><a href="https://www.youtube.com/watch?v=hx4PKQTM3g4"><span><span><span><span><span><span><span><span>le replay du webinaire</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> organisé par le Hub-C le 10 mars 2022 afin de faire une démonstration de RoutaR. La présentation est réalisée par Fabian Germeau, expert </span></span></span></span></span></span> en recherche locale basée sur les contraintes pour l'optimisation de tournées de véhicules au sein du CETIC.</p> <h2><span><span><span><span><span><span><img alt="Pour aller plus loin" data-entity-type="file" data-entity-uuid="2006dd05-e012-47d5-a4af-e7e6630820b5" height="52" src="/sites/default/files/inline-images/pieds_5.png" width="52" />Pour aller plus loin</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Comme expliqué précédemment, l’outil utilisé pour optimiser les planning est le moteur de recherche opérationnelle OscaR.CBLS. Ce dernier est également développé au CETIC, plus précisément au sein du département COAL. Le routage de véhicules étant sa principale spécialité, c’est, dans un premier temps, cette fonctionnalité qui a été mise en avant au travers de RoutaR.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Cependant, différents domaines d’expertise sont également développés dans OscaR.CBLS. Il est également possible de résoudre des problèmes de type scheduling; il s’agit également de problèmes de planification, mais forts différents que ceux de type routage de véhicules. En effet, ils sont basés sur la notion de partage de ressources et non plus sur une notion d’optimisation de trajet.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Dans cette fiche, les fonctionnalités présentées sont celles en date de mars 2022. Bien évidemment nous avons la volonté d’ajouter de plus en plus de fonctionnalités afin de proposer un outil au plus proche de la réalité. Parmis celles-ci, on peut citer par exemple :</span></span></span></span></span></span></p> <ul><li><span><span><span><span><span><span>l’optimisation multi-zone</span></span></span></span></span></span></li> <li><span><span><span><span><span><span>l’optimisation avec flotte hétérogène</span></span></span></span></span></span></li> <li><span><span><span><span><span><span>l’optimisation sur plusieurs jours</span></span></span></span></span></span></li> <li><span><span><span><span><span><span>le respect de préférences utilisateurs</span></span></span></span></span></span></li> <li><span><span><span><span><span><span>l’optimisation basée sur le coût du trajet et non plus sur la longueur</span></span></span></span></span></span></li> <li><span><span><span><span><span><span>…</span></span></span></span></span></span></li> </ul><p><span><span><span><span><span><span>Toutes ces fonctionnalités ont l’avantage de pouvoir être intégrées assez facilement grâce à la grande modularité d’OscaR.CBLS.</span></span></span></span></span></span></p> <h2><span><span><span><span><span><span><img alt="besoin d'aide?" data-entity-type="file" data-entity-uuid="4e1108e3-4866-4eae-8a44-2bdf0842a808" height="36" src="/sites/default/files/inline-images/question_1_2.png" width="36" />  Besoin d’une aide supplémentaire ?</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Le </span></span></span></span></span></span><a href="https://www.hub-charleroi.be/fr/team"><span><span><span><span><span><span><span><span>Hub-C</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> dans le cadre de ses services d’accompagnement numérique organise des workshops et groupes de travail en lien avec les nouvelles technologies de prototypages.  Vous souhaitez un accompagnement pour votre projet innovant ou vous souhaitez participer à un prochain workshop? N'hésitez pas à contacter </span></span></span></span></span></span><a href="https://www.hub-charleroi.be/fr/team"><span><span><span><span><span><span><span><span>un membre du Hub</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> ! </span></span></span></span></span></span><br /><span><span><span><span><span><span>Vous avez une question spécifique à propos d’une fiche? Elles sont réalisées par les experts du </span></span></span></span></span></span><a href="https://www.cetic.be/"><span><span><span><span><span><span><span><span>CETIC</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> (Centre d'Excellence en Technologies de l'Information et de la Communication), un  centre de recherche appliquée en informatique situé à Charleroi. Vous trouverez toutes les coordonnées </span></span></span></span></span></span><a href="https://www.cetic.be/Contact"><span><span><span><span><span><span><span><span>ici</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>.</span></span></span></span></span></span></p></div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> Wed, 30 Sep 2020 08:50:52 +0000 laurie 54 at http://hub-creatif.cetic.be Introduction à la cybersécurité http://hub-creatif.cetic.be/fiche/introduction-la-cybersecurite <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--title--hover.html.twig x field--node--title.html.twig * field--node--hover.html.twig * field--title.html.twig * field--string.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <span class="field field--name-title field--type-string field--label-hidden">Introduction à la cybersécurité</span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--field-tags--hover.html.twig * field--node--field-tags.html.twig * field--node--hover.html.twig * field--field-tags.html.twig * field--entity-reference.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Tags</div> <div class="field__items"> <div class="field__item"><a href="/taxonomy/term/25" hreflang="en">Cybersécurité</a></div> <div class="field__item"><a href="/Gestion%20de%20donn%C3%A9es" hreflang="en">Gestion de données</a></div> </div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--uid--hover.html.twig x field--node--uid.html.twig * field--node--hover.html.twig * field--uid.html.twig * field--entity-reference.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <span class="field field--name-uid field--type-entity-reference field--label-hidden"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'username' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> <span lang="" about="/user/5" typeof="schema:Person" property="schema:name" datatype="">laurie</span> <!-- END OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> </span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--created--hover.html.twig x field--node--created.html.twig * field--node--hover.html.twig * field--created.html.twig * field--created.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <span class="field field--name-created field--type-created field--label-hidden">Fri, 09/04/2020 - 11:23</span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--body--hover.html.twig * field--node--body.html.twig * field--node--hover.html.twig * field--body.html.twig x field--text-with-summary.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-above"> <div class="field__label">Body</div> <div class="field__item"><p><span><span><span><span><span><span><span>Au cours des dernières années, la présence des entreprises en ligne est  devenue une condition incontournable pour rester compétitif sur le marché. Nous vivons maintenant dans un monde de plus en plus interconnecté grâce aux avancées technologiques. Ceci est certainement un  avantage pour l’écosystème des affaires, mais il nous expose à un plus grand risque de cybercriminalité.</span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>Selon les statistiques, plus une entreprise est grande, plus elle est susceptible d’être attaquée. Cependant, cela n’empêche pas les petites et moyennes entreprises d’être en danger…  Aucune entreprise en ligne n’est à l’abri d’une cyberattaque! Les implications financières, physiques et juridiques d’une attaque contre toute organisation peuvent être absolument dévastatrices...</span></span></span></span></span></span></span></p> <h2><span><span><span><span><span><span>La cybersecurity, c’est quoi ?</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span><span>La cybersécurité est la mise en œuvre d’un ensemble de techniques et de solutions de sécurité pour protéger la confidentialité, l’intégrité et la disponibilité des informations. Cette protection doit couvrir tout le cycle de vie des données, de leur génération et traitement, à leur transfert, stockage et élimination.</span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>Le Data Lifecycle Management (DLM) ou gestion du cycle de vie des données en français désigne la gestion du flux de data tout au long de leur existence. En d’autres termes, il s’agit de définir toutes les étapes par lesquelles une donnée va passer depuis sa collecte/création à sa supp</span></span></span></span></span></span></span><span><span><span><span><span><span>ression</span></span></span></span></span></span><span><span><span><span><span><span>.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>Le cycle de vie des données comporte 7 étapes : </span></span></span></span></span></span></span></p> <ol><li> <p><span><span><span><span><span><span> Collecte des données</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span> Stockage des données</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span> Traitement des données</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span> Analyse des données</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span> Sauvegarde des données</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span> Réutilisation des données</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span> Suppression des données</span></span></span></span></span></span></p> </li> </ol><h2><span><span><span><span><span><span>Pour quoi faire ? </span></span></span></span></span></span></h2> <p><span><span><span><span><span><span><span>Une stratégie de cybersécurité repose sur trois piliers : </span></span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span><span>La prévention </span></span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><span>La détection </span></span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><span>La réaction </span></span></span></span></span></span></span></p> </li> </ul><h3><span><span><span><span><span><span>La prévention</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Mettre en place des contrôles et des procédures de prévention est  nécessaire pour réduire les risques. A titre d’exemples, il peut s’agir de sensibiliser les employés, de faire des copies de sauvegarde, d’installer un antivirus et un </span></span></span></span></span></span><a href="https://www.cyberuniversity.com/post/la-securite-dun-reseau-par-un-pare-feu"><span><span><span><span><span><span><span><span>pare-feu</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>, de mettre en place une politique de confidentialité, d’utiliser le cryptage des e-mails, de mettre des restrictions d’accès aux informations par type d’utilisateur, etc.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Voici quelque mesure à mettre en place facilement :  </span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span><span><strong>Renforcer l’authentification sur les systèmes d’informatio</strong>n : il s’agit ici de mettre en œuvre une authentification forte pour les comptes particulièrement exposés (administrateurs, personnel de direction, cadres dirigeants…), nécessitant 2 facteurs, soit « un mot de passe, un tracé de déverrouillage ou une signature», soit « un support matériel (carte à puce, jeton USB, carte magnétique, RFID) ou a minima un autre code reçu par un autre canal (SMS).</span></span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><span><strong>Sauvegarder les données en mode hors-ligne et les applications critiques :</strong> les sauvegardes effectuées doivent être réalisées en étant déconnectées du système d’information afin de prévenir leur chiffrement. Des solutions de stockage à froid (disques durs externes, bandes magnétiques) peuvent être utilisées afin de protéger les sauvegardes d’une infection des systèmes et de conserver les données critiques à la reprise d’activité.</span></span></span></span></span></span></span></p> </li> <li> <p><strong><span><span><span><span><span><span><span>Établir une liste priorisée des services numériques critiques de l’entité et identifier les dépendances vis-à-vis des prestataires externes.</span></span></span></span></span></span></span></strong></p> </li> <li> <p><span><span><span><span><span><span><span><strong>S’assurer de l’existence d’un dispositif de gestion de crise adapté à une cyberattaque :</strong> déterminer les contacts d’urgence et établir un plan de réponse adapté à la gestion des cyberattaques.</span></span></span></span></span></span></span></p> </li> </ul><h3><span><span><span><span><span><span>La détection</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Mettre en place un système de cybersécurité n’est pas suffisant, il faut en faire le suivi en temps réel et gérer les vulnérabilités des différents actifs utilisés. Tout d'abord il faut détecter les menaces de cybersécurité avant qu’elles ne surviennent :  phishing, malware, ransomwares, attaque DDoS, attaque par mot de passe, attaque via des objets connectés,...</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Il faut avant tout avoir recours à différentes approches internes en matière de gestion et de protection des données. Il existe ensuite des méthodes supplémentaires de détection des violations de données :</span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span><strong>La méthode basique :</strong> il s’agit d’installer une technologie qui permet la corrélation et la journalisation du réseau et des logiciels de l’entreprise afin de détecter des incidents sur le réseau.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><strong>La méthode émergente :</strong> il s’agit d’analyser l’historique et de comparer les opérations en cours aux instances précédentes de la dernière activité. Cela permet à l’entreprise d’établir de nouvelles politiques pour minimiser les incidents.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><strong>La méthode avancée :</strong> dans ce cas, il faut introduire des programmes de sécurité intuitifs empêchant même les initiés de mener des activités malveillantes sans déviation détectable du comportement réseau standard. C’est ce type de surveillance qui est crucial pour protéger les données sensibles et éviter les pertes substantielles que les menaces de cybersécurité peuvent subir.</span></span></span></span></span></span></p> </li> </ul><h3><span><span><span><span><span><span>La réaction</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Le risque zéro n’existe pas, comme on dit. Donc, en dépit de toutes les précautions et protections prises, l’entreprise est toujours susceptible de subir une attaque cybercriminelle. Lorsqu’une cyberattaque se produit ou qu’une menace est détectée, il faut suivre une série de protocoles ayant comme objectif celui de minimiser tout dommage éventuel, d’assurer l’intégrité et la confidentialité des informations.</span></span></span></span></span></span></p> <h2><span><span><span><span><span><span>Le NIST CyberSecurity Framework (CSF)</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Le NIST CyberSecurity Framework (CSF), est un cadre méthodologique de gestion de la cybersécurité. Il sert à anticiper les failles de sécurité, mais aussi à gérer et à réduire les risques informatiques identifiés. Dans la pratique, le NIST permet de détailler les objectifs en termes de cybersécurité et d' y associer certaines démarches. </span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>Le CSF du NIST renseigne toutes les démarches suivantes :</span></span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-right"><img alt="NIST Framework - Source https://www.nist.gov/" data-entity-type="file" data-entity-uuid="dae8b312-6bd1-4e10-9a82-69aa71d2a7f6" height="210" src="/sites/default/files/inline-images/cybersecurity%201.PNG" width="237" /><figcaption>NIST Framework - Source https://www.nist.gov/</figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><ul><li> <p><span><span><span><span><span><span><span>Construire le pilier de votre stratégie de cybersécurité en analysant les risques cyber,</span></span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><span>évaluer l’efficacité des pratiques de sécurité informatique existantes,</span></span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><span>estimer la gravité potentielle des risques que prend l’organisation,</span></span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><span>améliorer le processus de gestion des failles de cybersécurité,</span></span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><span>sensibiliser les collaborateurs,</span></span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><span>optimiser la communication sur la cybersécurité avec les parties prenantes.</span></span></span></span></span></span></span></p> </li> </ul><p> </p> <p><span><span><span><span><span><span>Le cadre NIST s’organise autour de trois composants :  </span></span></span></span></span></span></p> <ol><li> <p><strong><span><span><span><span><span><span>1. Le noyau (Core)</span></span></span></span></span></span></strong></p> </li> </ol><p><span><span><span><span><span><span>Le noyau encadre la stratégie de gestion des risques de l’organisation autour de 5 «fonctions» : identifier, protéger, détecter, répondre et récupérer. Ces fonctions se déclinent elles-mêmes en catégories, en sous-catégories et en “références informatives”, ou “ressources documentaires”.</span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img"><img alt="NIST Famework - Source https://www.nist.gov/" data-entity-type="file" data-entity-uuid="611726a4-676c-44f4-8c2e-d51376dbefd4" height="366" src="/sites/default/files/inline-images/cybersecurity%202.PNG" width="652" /><figcaption>NIST Framework - Source https://www.nist.gov/</figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><p> </p> <ol><li> <p><strong><span><span><span><span><span><span>2. Les niveaux de mise en œuvre (Implementation Tiers)</span></span></span></span></span></span></strong></p> </li> </ol><p><span><span><span><span><span><span>Les niveaux de mise en œuvre permettent d’évaluer le processus de gestion des cyber-risques que l’entreprise a déjà mis en place. Ils accompagnent donc l’évaluation de la maturité de la structure dans ce domaine. Cette évaluation doit aboutir à un diagnostic organisé autour de 4 niveaux de maturité : risque partiel, informé, répétable ou adaptatif.</span></span></span></span></span></span></p> <ol start="2"><li> <p><strong><span><span><span><span><span><span>3. Le “profil” (Profile)</span></span></span></span></span></span></strong></p> </li> </ol><p><span><span><span><span><span><span>Le profil désigne la manière dont la structure gère ses risques cyber, au regard de ses objectifs stratégiques. La comparaison entre le “profil actuel” et le “profil cible” doit permettre d’identifier les actions à mettre en place en priorité.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Vous voulez réaliser un diagnostic en matière de sécurité informatique ? l’Agence du Numérique a lancé en 2018 le dispositif Kis Keep it secure et a mis  en place des aides financières pour permettre aux PMEs d’investir dans la sécurité informatique</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Vous trouverez plus d’infos sur le </span></span></span></span></span></span><a href="https://www.digitalwallonia.be/fr/publications/keepitsecure/"><span><span><span><span><span><span><span><span>site de l’Adn</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>. </span></span></span></span></span></span></p> <h2><span><span><span><span><span><span>Besoin d’une aide supplémentaire ?</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Le </span></span></span></span></span></span><a href="https://www.hub-charleroi.be/fr/team"><span><span><span><span><span><span><span><span>Hub-C</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> dans le cadre de ses services d’accompagnement numérique organise des workshops et groupes de travail en lien avec les nouvelles technologies de prototypages.  Vous souhaitez un accompagnement pour votre projet innovant ou vous souhaitez participer à un prochain workshop? N'hésitez pas à contacter </span></span></span></span></span></span><a href="https://www.hub-charleroi.be/fr/team"><span><span><span><span><span><span><span><span>un membre du Hub</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> ! </span></span></span></span></span></span></p> <p><br /><span><span><span><span><span><span>Vous avez une question spécifique à propos d’une fiche? Elles sont réalisées par les experts du </span></span></span></span></span></span><a href="https://www.cetic.be/"><span><span><span><span><span><span><span><span>CETIC</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> (Centre d'Excellence en Technologies de l'Information et de la Communication), un  centre de recherche appliquée en informatique situé à Charleroi. Vous trouverez toutes les coordonnées </span></span></span></span></span></span><a href="https://www.cetic.be/Contact"><span><span><span><span><span><span><span><span>ici</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>.</span></span></span></span></span></span></p> <p> </p></div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> Fri, 04 Sep 2020 09:23:18 +0000 laurie 59 at http://hub-creatif.cetic.be Introduction aux chatbots : la révolution de l'interaction humaine avec la technologie http://hub-creatif.cetic.be/fiche/introduction-aux-chatbots-la-revolution-de-linteraction-humaine-avec-la-technologie <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--title--hover.html.twig x field--node--title.html.twig * field--node--hover.html.twig * field--title.html.twig * field--string.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <span class="field field--name-title field--type-string field--label-hidden">Introduction aux chatbots : la révolution de l&#039;interaction humaine avec la technologie</span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--field-tags--hover.html.twig * field--node--field-tags.html.twig * field--node--hover.html.twig * field--field-tags.html.twig * field--entity-reference.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Tags</div> <div class="field__items"> <div class="field__item"><a href="/Gestion%20de%20donn%C3%A9es" hreflang="en">Gestion de données</a></div> <div class="field__item"><a href="/taxonomy/term/24" hreflang="en">Intelligence Artificielle</a></div> </div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--uid--hover.html.twig x field--node--uid.html.twig * field--node--hover.html.twig * field--uid.html.twig * field--entity-reference.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <span class="field field--name-uid field--type-entity-reference field--label-hidden"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'username' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> <span lang="" about="/user/5" typeof="schema:Person" property="schema:name" datatype="">laurie</span> <!-- END OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> </span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--created--hover.html.twig x field--node--created.html.twig * field--node--hover.html.twig * field--created.html.twig * field--created.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <span class="field field--name-created field--type-created field--label-hidden">Wed, 09/02/2020 - 15:03</span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--field-pdf--hover.html.twig * field--node--field-pdf.html.twig * field--node--hover.html.twig * field--field-pdf.html.twig * field--file.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <div class="field field--name-field-pdf field--type-file field--label-above"> <div class="field__label">Télécharger le PDF</div> <div class="field__item"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'file_link' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/file-link.html.twig' --> <span class="file file--mime-application-pdf file--application-pdf"> <a href="http://hub-creatif.cetic.be/sites/default/files/2023-05/Fiche%20Introduction%20aux%20chatbots%20%20la%20r%C3%A9volution%20de%20l%27interaction%20humaine%20avec%20la%20technologie.pdf" type="application/pdf; length=4010876" title="Fiche Introduction aux chatbots la révolution de l&#039;interaction humaine avec la technologie.pdf">Fiche Introduction aux chatbots : la révolution de l'interaction humaine avec la technologie </a></span> <!-- END OUTPUT from 'core/themes/classy/templates/field/file-link.html.twig' --> </div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--body--hover.html.twig * field--node--body.html.twig * field--node--hover.html.twig * field--body.html.twig x field--text-with-summary.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-above"> <div class="field__label">Body</div> <div class="field__item"><p><span><span><span><span><span><span>Vous ne savez pas très bien ce qui se cache derrière le mot un peu barbare et mystérieux de “chatbot”? L’intelligence artificielle va-t-elle prochainement nous remplacer par de petits robots? Les robots vont-ils prendre le pouvoir et dominer le monde? ChatGPT va-t’il remplacer les boules de cristal ? Nous ne répondrons pas à toutes ces questions dans cette fiche mais nous aborderons de manière générale ce qu’il en est de ces agents conversationnels, leurs utilités et avantages mais aussi les (nombreux) débats qu’ils soulèvent actuellement. </span></span></span></span></span></span></p> <h2><span><span><span><span><span><span>Un Chatbot, qu’est-ce c’est? </span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>“Chatbot” veut dire “robot conversationnel” en français. Il s’agit d’un programme informatique d’intelligence artificielle (IA) capable de dialoguer avec un utilisateur via le langage humain, que ce soit de manière orale ou textuelle. Le chatbot va simuler une conversation avec un utilisateur par le biais d’applications de messagerie, des sites web, des applications mobiles,... </span></span></span></span></span></span></p> <h2><span><span><span><span><span><span>Comment ça fonctionne ?</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Comment un chatbot peut-il comprendre ce qu’on lui raconte ? </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Le chatbot va utiliser, entre autres, du NLP (</span></span></span></span></span></span><span><span><span><span><em><span>Natural language processing</span></em></span></span></span></span><span><span><span><span><span><span>), le traitement du langage naturel et/ou du Machine learning (l'apprentissage automatique), deux techniques de l’intelligence artificielle, pour comprendre les informations envoyées par l’utilisateur, que ce soit du contenu vocal ou textuel… ou même une image (cela est maintenant possible avec ChatGPT 4!). Il va ensuite procurer un contexte et une signification à ce contenu afin d’y répondre de manière adéquate. </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Le NLP fait partie du domaine des sciences de l’information et porte donc sur la compréhension, la manipulation et la génération du langage naturel par les machines. Cela inclut notamment ; </span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span>la classification de textes</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>la compréhension de texte</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>la reconnaissance vocale</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>le text-to-speech (la création d’un contenu vocal à partir d’un texte)</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>la réponse aux questions</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>la synthèse</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span>la reconnaissance optique des caractères (OCR)</span></span></span></span></span></span></p> </li> </ul><p><span><span><span><span><span><span>L’intelligence artificielle est ce qui va permettre de donner l’impression à l’utilisateur d’avoir une conversation naturelle avec certains chatbots (ou bots), et cela se fait notamment grâce au Machine Learning. En effet, le Machine Learning est ce qui va permettre à un type de chatbot de réaliser des associations logiques de langages, la conservation d’un historique, la compréhension des phrases de l’utilisateur malgré des erreurs grammaticales et/ou orthographiques, l’affichage rapide d’une réponse adaptée, … grâce à l’analyse des énoncés de l’utilisateur.  Lors de cette analyse, le chatbot va déterminer l’intention (</span></span></span></span></span></span><span><span><span><span><em><span>intent</span></em></span></span></span></span><span><span><span><span><span><span>) qui se cache derrière l’énoncé de l’utilisateur, autrement dit l’objectif de sa demande. Les intentions sont déterminées par le Machine Learning, elles vont permettre de catégoriser les phrases de l’utilisateur et de déterminer les actions à entreprendre. Le chatbot comprend les requêtes de l’utilisateur grâce aux intentions. Le chatbot va annoter les mots ou groupes de mots de cet énoncé qui sont des </span></span></span></span></span></span><span><span><span><span><em><span>entités</span></em></span></span></span></span><span><span><span><span><span><span>, c’est-à-dire les types de données spécifiques qu’il faut extraire en tant que paramètre (ou variables). Les dates, les heures, les lieux,... sont des exemples d’entités.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Le message d’un utilisateur peut avoir plusieurs sens ou significations. Si l’utilisateur énonce « elles sont jaunes», on ne sait ni de quoi il parle ni à quoi il fait référence. Un </span></span></span></span></span></span><span><span><span><span><em><span>contexte </span></em></span></span></span></span><span><span><span><span><span><span>va permettre de faire correspondre l’énoncé à un </span></span></span></span></span></span><span><span><span><span><em><span>intent</span></em></span></span></span></span><span><span><span><span><span><span> (une intention) et assurer la cohérence des réponses du chatbot. </span></span></span></span></span></span></p> <h2><span><span><span><span><span><span>Les typologies de chatbots</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Il n’y a pas vraiment de typologie des chatbots… il peut y en avoir plusieurs, que ce soit selon leurs usages, leur fonctionnement, leur domaine d’expertise,... De plus, un chatbot peut appartenir à plusieurs catégories à la fois. Dans le cadre de cette fiche, nous vous en présentons quelques-unes ci-dessous. </span></span></span></span></span></span></p> <h3><span><span><span><span><span><span>Les chatbots basiques </span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>On peut distinguer deux grandes catégories de chatbots de base : </span></span></span></span></span></span></p> <ol><li> <p><span><span><span><span><span><span><span><span><strong>Les chatbots transactionnels</strong></span></span></span></span></span></span></span></span><span><span><span><span><span><span> : on les appelle aussi </span></span></span></span></span></span><span><span><span><span><em><span>chatbots déclaratifs, chatbots d’interaction textuelle</span></em></span></span></span></span><span><span><span><span><span><span> ou </span></span></span></span></span></span><span><span><span><span><em><span>chatbots orientés tâche</span></em></span></span></span></span><span><span><span><span><span><span> car ils ont un objectif unique. Ils utilisent très peu de machine learning car ils se concentrent uniquement sur l’exécution et l’automatisation d’une seule tâche ou d’une seule fonction. Les fonctionnalités sont basiques, les réponses conversationnelles sont automatisées, les questions sont prédéfinies et suivent une logique séquentielle. Les interactions doivent être spécifiques et structurées :  le chatbot propose à l’utilisateur plusieurs options en fonction de sa demande ou de son problème et il va ensuite guider l’utilisateur avec d’autres options en fonction des choix qu’il aura fait, jusqu’à ce que l'utilisateur obtienne une réponse satisfaisante, que son souci soit résolu ou qu’il soit pris en charge par un autre service plus pertinent. L’interface de ces chatbots se veut conviviale afin de fournir à l’utilisateur une expérience utilisateur fluide et personnalisée. Les chatbots transactionnels sont utilisés pour traiter des questions courantes de manière rapide, facile et pratique comme par exemple obtenir les heures d’ouverture d’un magasin, réserver un service, traiter des paiements, fournir des données sur un produit,... ils sont donc principalement utilisés pour des fonctions de support et de services car ils facilitent les transactions entre utilisateurs et entreprises, tout en réduisant les coûts, en allégeant la charge de travail et en améliorant l’efficacité des services clientèles.  C’est le type de chatbot le plus courant.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><span><span><strong>Les chatbots conversationnels</strong></span></span></span></span></span></span></span></span><span><span><span><span><span><span><strong> </strong>: ce sont de véritables assistants virtuels : ils exploitent l’intelligence artificielle conversationnelle, la compréhension du langage naturel ou NLU (Natural language understanding, un sous-domaine du traitement automatique du langage naturel) et le machine learning afin d’être beaucoup plus sophistiqués, personnalisés et interactifs que les chatbots transactionnels.  Ces chatbots se basent sur les données et sur le comportement de l’utilisateur pour fournir des réponses similaires à celles d’un être humain. Grâce à l’intelligence et à l’analyse prédictive, ils peuvent personnaliser leurs interactions en fonction du profil et des comportements de l'utilisateur. Ils sont conçus pour effectuer des recommandations, répondre aux questions, anticiper des besoins, divertir les utilisateurs et initier des conversations en langage naturel. Ils sont souvent employés pour fournir des informations sur des produits ou services, faire de l’assistance clientèle, réserver des services, recommander des produits,... et sont souvent intégrés aux canaux de messageries tels que Facebook, WhatsApp,... mais aussi sur les sites web. Un exemple de chatbot conversationnel? Vous avez </span></span></span></span></span></span><a href="https://www.apple.com/fr/siri/"><span><span><span><span><span><span><span><span>Siri</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> d’Apple et </span></span></span></span></span></span><a href="https://alexa.amazon.com/"><span><span><span><span><span><span><span><span>Alexa</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> d’Amazon … ou encore ChatGPT!</span></span></span></span></span></span></p> </li> </ol><h3><span><span><span><span><span><span>Les chatbots adapté ou non au domaine d’expertise</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Le domaine d’expertise du chatbot peut être ; </span></span></span></span></span></span></p> <ul><li> <p><span><span><span><span><span><span><strong>ouvert</strong> : le chatbot peut recevoir n’importe quel type de demande de la part de l’utilisateur. </span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><strong>fermé </strong>: le chatbot n’accepte que les demandes concernant un thème précis (par exemple des questions liées à un domaine médical, à une livraison,...). Si l’utilisateur sort de ce thème, le chatbot lui répondra qu’il ne comprend pas. </span></span></span></span></span></span></p> </li> </ul><h3><span><span><span><span><span><span>Les chatbots dans le domaine de la gestion relation client</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Il existe différents types de chatbots dans le domaine de la gestion relation client. Le plus souvent, ils sont conçus pour répondre à un domaine d’expertise précis afin de satisfaire au mieux les besoins des clients. , ils ont donc un domaine d’expérience fermé comme expliqué précédemment.</span></span></span></span></span></span></p> <ol><li> <p><strong><span><span><span><span><span><span><span><span>Le chat bot d’interaction client</span></span></span></span></span></span></span></span></strong><span><span><span><span><span><span><strong> </strong> :  il s’agit d’un chatbot de support client qui améliore l’efficacité de votre entreprise en répondant instantanément aux besoins du clients. Il peut également fournir un menu de catégories de questions fréquemment posées.  L'utilisateur ne perd pas son temps à attendre et est immédiatement satisfait.</span></span></span></span></span></span></p> </li> <li> <p><span><span><span><span><span><span><span><span><strong>Le chatbot d’accompagnement client</strong> </span></span></span></span></span></span></span></span><span><span><span><span><span><span>: ce chatbot guide le client, suite à une série de questions, vers un produit ou un service adapté à ses besoins. Le chatbot apprend, grâce à l’intelligence artificielle, les goûts du client, prédit ses attentes et peut ensuite lui faire des recommandations personnalisées. </span></span></span></span></span></span></p> </li> <li> <p><strong><span><span><span><span><span><span><span><span>Le chatbot conversationnel à but marketing</span></span></span></span></span></span></span></span></strong><span><span><span><span><span><span> : le robot conversationnel va faire du marketing à votre place!  Il va faire de la publicité pour vos services et/ou produit en envoyant des mails et en répondant à vos clients grâce à votre stratégie marketing. Il peut également utiliser le site web et les réseaux sociaux pour atteindre votre cible.</span></span></span></span></span></span></p> </li> <li> <p><strong><span><span><span><span><span><span><span><span>Le chatbot assistant personnel</span></span></span></span></span></span></span></span></strong><span><span><span><span><span><span> : vous retrouvez les chatbots dans vos appareils mobiles comme par exemple Siri (Applie iOS), Cortana (Microsoft Windows), Google Assistant (Android),... ils utilisent l’IA et l’apprentissage automatique pour répondre à vos questions et certains services sont reliés ) des applications et services externes afin que vous puissiez demander la météo du jour, réserver un restaurant ou un billet de train,... </span></span></span></span></span></span></p> </li> </ol><h2><span><span><span><span><span><span>Qu’est-ce que ChatGPT ?</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Vous entendez beaucoup parler de </span></span></span></span></span></span><a href="https://chat.openai.com/"><span><span><span><span><span><span><span><span>ChatGPT </span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> ces derniers temps et vous ne savez pas vraiment ce qui se cache derrière ce nom barbare ni ce que ça peut faire? Et bien sachez que ChatGPT est un chatbot conversationnel et ce qui le distingue des autres, c’est qu’il s’appuie sur un modèle de langage très évolué : GPT-4, la quatrième génération du modèle de langage Generative Pre-trained Transformer (GPT) développé par la société </span></span></span></span></span></span><a href="https://openai.com/"><span><span><span><span><span><span><span><span>OpenAI</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>. </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Ce modèle se base sur une architecture de réseau de neurones profond appelé “Transformer” et qui est spécifique au traitement du langage naturel.  Ce modèle va se focaliser sur les parties cruciales du texte et comprendre les relations entre les mots de la phrase. On dit que le modèle est pré-entraîné car il a été entraîné par machine learning sur d’énormes quantités de données textuelles disponibles en ligne afin qu’il puisse apprendre, comprendre et générer du langage naturel. </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>ChatGPT peut être utilisé, par exemple, pour répondre à des questions, donner des conseils, effectuer des tâches (réservation en ligne, planification d’un voyage,...), générer du texte, faire de la traduction mais aussi générer du code en plusieurs langages informatiques.</span></span></span></span></span></span></p> <h3><span><span><span><span><span><span>Les biais et hallucinations des chatbots</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Bien qu’il semble être un outil parfait, il vaut mieux toujours vérifier les informations qu’il donne car les chatbot ont ce qu’on appelle des </span></span></span></span></span></span><span><span><span><span><em><span>hallucinations</span></em></span></span></span></span><span><span><span><span><span><span>! Il s’agit d’éléments générés par l’IA (du texte, des images,...), qui sont très convaincants mais qui ne correspondent pas du tout aux entrées du monde réel! </span></span></span></span></span></span><a href="https://medium.com/chatgpt-learning/chatgtp-et-les-hallucinations-de-lia-g%C3%A9n%C3%A9rative-d629db6d9416"><span><span><span><span><span><span><span><span>Médium</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> définit les hallucinations comme étant “</span></span></span></span></span></span><span><span><span><span><em><span>le terme employé pour le phénomène où les algorithmes d’IA et les réseaux de neurones d’apprentissage en profondeur produisent des sorties qui ne sont pas réelles, ne correspondent à aucune donnée sur laquelle l’algorithme a été formé ou à un autre modèle identifiable</span></em></span></span></span></span><span><span><span><span><span><span>”.</span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Les chatbots répondent donc par des hallucinations lorsqu’ils ne comprennent pas une question ou qu’ils les interprètent mal. Mais pas que… Ils peuvent aussi affirmer des vérités qui n’ont pas de fondement factuel, accentuer des formes de discriminations, répandre des informations erronées,... Comment cela se fait-il ? Pour pouvoir répondre correctement, pour éviter des réponses trop standardisées ou déshumanisées, ChatGPT a dû ingérer des milliards d’informations et intégrer des processus de décision lorsqu’une même affirmation peut revêtir plusieurs significations en fonction du contexte). Si les sources utilisées sont erronées, les réponses le seront aussi. Et n’oublions pas que derrière ChatGPT, il y a également des humains qui lui indiquent les directions à prendre :  pour réussir cette ingestion de données et pour éviter de produire du contenu raciste et violent, de </span></span></span></span></span></span><a href="https://www.cairn.info/revue-projet-2023-2-page-1.htm#pa6"><span><span><span><span><span><span><span><span>très nombreux travailleurs africains et indiens</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>, employés et sous-payés par l’entreprise Sama on dû filtrer des descriptions textuelles pour exclure </span></span></span></span></span></span><a href="https://www.france24.com/fr/%C3%A9co-tech/20230120-chatgpt-sama-l-entreprise-%C3%A9thique-derri%C3%A8re-les-scandales-de-mod%C3%A9ration-au-kenya"><span><span><span><span><span><span><span><span>celles qui sont jugées inappropriées et/ou violentes (abus sexuels, haine en ligne,violence,...),</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> afin d’entraîner l’IA ChatGPT. </span></span></span></span></span></span></p> <h4><span><span><span><span><span><span>Beaucoup de questions…et de travail à faire !</span></span></span></span></span></span></h4> <p><span><span><span><span><span><span>Ces temps-ci, ChatGPT fait l’objet de nombreux débats et déchaîne les passions concernant plusieurs problématiques. Il n’est actuellement pas conforme à la législation RGPD, donc quid des données des utilisateurs? Certains pays bloquent temporairement cet outil, le temps de réfléchir au cadre normatif qui, lui, n’avance pas aussi vite que la technologie. Il peut être perçu comme une opportunité mais également comme un risque pour l’économie : l’intelligence artificielle semble désormais tendance, elle est considérée par certains comme un atout pour l’éducation, le monde entrepreneurial est en ébullition face à elle, les nouveautés technologiques se multiplient,... mais pour d’autres, elle peut être perçue comme une menace pour de nombreux secteurs de travail et une concurrence à l’homme!  On ne sait pas vraiment quel cadre éthique l’IA s’inscrit ni quelles sources sont vraiment utilisées.  Vous verrez que ChatGPT et plus généralement les chatbot peuvent soulever encore bien d’autres questions, problématiques et enjeux dans la suite de cette fiche.</span></span></span></span></span></span></p> <h2><span><span><span><span><span><span>D’où viennent les chatbots ?</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Dans cette section, vous découvrirez que les chatbots ne datent pas d’hier… On peut dire que les premiers développements remontent aux années 1960, lorsque les chercheurs se sont intéressés à la compréhension du langage naturel et de la capacité à répondre aux questions posées en langage naturel, mais ils ont connu une véritable expansion ces dix dernières années, grâce, entre autres, au développement de l’intelligence artificielle et de la technologie du traitement du langage naturel. Nous avons repris les moments clés dans l’histoire des chatbots.</span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-right"><img alt="Illustration provenant de Automates et boîtes à musique" data-entity-type="file" data-entity-uuid="e9cf6c33-f205-4db5-8990-4b72de966e37" height="302" src="/sites/default/files/inline-images/fiche_chatbot_abbe-mical.jpg" width="186" /><figcaption>Illustration des têtes parlantes provenant de <a href="http://automates-boites-musique.over-blog.com/2014/05/les-tetes-parlantes-de-l-abbe-mical.html">Automates et boîtes à musique</a></figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><h3><span><span><span><span><span><span>Les têtes parlantes</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Au 18 ème siècle, en 1783 plus précisément, l’abbé Mical veut remporter le concours annuel proposé par l'Académie Impériale des Sciences de Saint Pétersbourg. Pour y arriver, il présente ses “têtes parlantes”; un robot, placé dans un petit théâtre, qui est construit selon le principe d’une boîte musicale et qui se compose de deux têtes qui s'échangent quelques phrases en éloge au  roi Louis XV, donnant ainsi l’impression qu’elles conversent. </span></span></span></span></span></span></p> <h3><span><span><span><span><span><span>Le test de Turing</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Ensuite, au cours du temps, plusieurs robots ont été développés et  industrialisés, mais on peut dire que c’est grâce au mathématicien anglais Alan Turing (1912-1954) que l’histoire des chatbots a pris un tournant décisif ! Il est d’ailleurs considéré comme le “père des ordinateurs modernes” grâce à sa “machine de Turing” et grâce à son “test de Turing”, un test d’intelligence artificielle qu’il avait d’abord nommé “Imitation game”. Cette expérience permet d’évaluer la capacité d’une machine à se faire passer pour un être humain. Le principe est simple : un humain (ou plusieurs personnes, experte(s) ou non) pose des questions par écrit à deux interlocuteurs qu’il ne voit pas, un autre humain et une machine. Il doit deviner, en fonction des réponses, qui est la machine et qui est l’humain. On considère que la machine a passé le test de Turing lorsque l’humain qui engage la conversation ne sait pas déterminer si c’est la machine ou l’autre humain qui répond. </span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-center"><img alt="Illustration représentant le test de Turing" data-entity-type="file" data-entity-uuid="084847f0-2bbd-4870-be18-73a36654b1ae" height="294" src="/sites/default/files/inline-images/Nous%20avons%20besoin%20de%20vous%20%21%20%20%283%29.png" width="523" /><figcaption>Illustration représentant le test de Turing réalisée à l'aide de <a href="https://www.canva.com">Canva</a></figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><p><span><span><span><span><span><span><span>Bien qu’il ait fait l’objet de vives critiques quant à sa fiabilité, et qu’il soit jugé obsolète par beaucoup, le test de Turing est toujours utilisé à l’heure actuelle pour évaluer les performances des chatbots et autres systèmes d’intelligence artificielle conversationnelle .</span></span></span></span></span></span></span></p> <h3><span><span><span><span><span><span>ELIZA</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Peut-être avez-vous entendu parler d’ELIZA ? ELIZA est en quelque sorte le premier chatbot. Il s’agit d’un programme informatique conçu dans les années 1960 par Joseph Weizenbaum, un informaticien germano-américain. N’étant pas conçu avec un système d’analyse de langage, ELIZA identifie des mots-clés et les reformule sous forme de questions. On peut dire que ce programme simule un psychothérapeute rogérien en utilisant des techniques de communication non directive. La machine ELIZA ne donne donc ni conseil ni traitement mais reformule les propos de l’utilisateur sous forme de questions ou propose des affirmations qui encouragent à la discussion, ce qui lui donne un aspect empathique et compréhensif.  Par exemple, si l'utilisateur dit "Je me sens triste", ELIZA pourrait répondre "Vous vous sentez triste. Parlez-moi de cela." ou "Comment vous sentez-vous lorsque vous êtes triste ?".  ELIZA n’est cependant pas une machine vraiment intelligente : il n’y a pas d’apprentissage automatique ou de véritable intelligence artificielle, d’ailleurs elle ne comprend pas le sens des mots ou des phrases… Mais cela n’empêche pas certains utilisateurs de se sentir réellement attachés à elle. Elle a tellement fait illusion que certaines personnes ont dit ressentir un lien étroit avec elle. Cela soulève la question de la manipulation émotionnelle et des risques que cela comporte… L’</span></span></span></span></span></span><a href="https://www.sciencedirect.com/science/article/pii/S2666827020300062"><span><span><span><span><span><span><span><span>étude d’Adamopoulou et de Moussiades</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> montre que très souvent, les utilisateurs recherchent davantage un compagnon amical plutôt qu’un simple assistant lorsqu’ils utilisent un chatbot, et leurs demandes sont davantage émotionnelles qu’informatives. Début 2023, un belge souffrant d’éco-anxiété s’est suicidé après de nombreuses conversations avec ELIZA, le chatbot de l’application </span></span></span></span></span></span><a href="https://www.chai-research.com/"><span><span><span><span><span><span><span><span>Chai Research</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> (différent de celui de Weizenbaum). Ce chatbot n’a jamais contredit ses propos et l’a surtout conforté dans ses idées et renforcé ses angoisses… Une réflexion sur la régulation des intelligences artificielles semble nécessaire voire urgente !</span></span></span></span></span></span></p> <h3><span><span><span><span><span><span>A.L.I.C.E </span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Cet acronyme signifie </span></span></span></span></span></span><span><span><span><span><em><span>Artificial Linguistic Internet Computer Entity</span></em></span></span></span></span><span><span><span><span><span><span> et désigne un chatbot conversationnel  également appelé Alicebot, développé par l’américain Richard Wallace en 1995. Alice s’inspire directement d’ELIZA, le chatbot de Weizenbaum,  pour ce qui concerne le traitement du langage naturel basé sur des règles, mais Alice est beaucoup plus sophistiquée : alors qu’ELIZA utilise des règles de transformation, Alice utilise des scripts de conversation pré-écrits qui peuvent être modifiés, personnalisés,... Alice utilise aussi des techniques d'analyse de l'intention et de la structure de la phrase pour fournir des réponses plus élaborées. Cette machine peut, entre autres, mémoriser les informations données par l'utilisateur, poser des questions de suivi et répondre à des questions ouvertes.  Bien qu’Alice ait été récompensée 3 fois par le prix Loebner, une compétition annuelle qui couronne les chatbots satisfaisant le mieux les critères du Test de Turing, elle n’a jamais réussi ce test pleinement… Elle est néanmoins le premier chatbot disponible sur le net pour tout public! </span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-right"><img alt="Illustration provenant du site Le Monde" data-entity-type="file" data-entity-uuid="9dbc62bf-ee8a-4642-850f-ae917f903f5e" height="146" src="/sites/default/files/inline-images/ill_4434899_e77d_goostman.png" width="292" /><figcaption>Illustration d'Eugene Gootsman provenant du site <a href="https://www.lemonde.fr/sciences/article/2014/06/09/un-ordinateur-reussit-le-legendaire-test-de-turing_4434781_1650684.html">Le Monde</a></figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><h3><span><span><span><span><span><span>Eugene Gootsman</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>Derrière ce nom anodin se cache une intelligence artificielle russe née en 2011 et imitant un enfant de 13 ans. Sa personnalité et son niveau de connaissances ont été jugés crédibles par 33% des juges lors du Test de Turing, selon l'Université de Reading.  Ce résultat fait que cette intelligence est dès lors considérée comme la première à réellement réussir le Test de Turing mais cela est très contesté par de nombreux chercheurs.</span></span></span></span></span></span></p> <h3><span><span><span><span><span><span>Sophia</span></span></span></span></span></span></h3> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-right"><img alt="Illustration provenant de Hanson Robotics" data-entity-type="file" data-entity-uuid="b581e8f4-ed34-49ef-9a01-148b5f5cc68b" height="251" src="/sites/default/files/inline-images/sophia.jpg" width="232" /><figcaption>Illustration de Sophia provenant de <a href="https://www.hansonrobotics.com/sophia/">Hanson Robotics</a></figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><p><a href="https://www.hansonrobotics.com/sophia/"><span><span><span><span><span><span><span><span>Sophia</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> est une gynoïde, un robot humanoïde ayant l’apparence d’une femme qui a été créée par l’entreprise </span></span></span></span></span></span><a href="https://www.hansonrobotics.com/"><span><span><span><span><span><span><span><span>Hanson Robotics</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> et activée le 19 avril 2015 à Hong-kong. Sophia est considéré comme l’un des robots les plus intelligents car elle utilise de nombreuses technologies, notamment l’intelligence artificielle, le traitement des données visuelles et la reconnaissance faciale. Grâce à une multitude de capteurs, elle peut comprendre et répondre à des questions, participer à des conversations avec des humains, exprimer des émotions, se mouvoir pour imiter le comportement humain,... Elle doit surtout sa notoriété au fait qu’il s’agit du premier citoyen robotique au monde, car Sophia a obtenu la nationalité saoudienne ! </span></span></span></span></span></span></p> <h3><span><span><span><span><span><span>Les assistants vocaux Siri, Alexa, Google Assistant,...</span></span></span></span></span></span></h3> <p><span><span><span><span><span><span>“Dis Siri, quel temps fait-il aujourd'hui?”, “Alexa, allume la télé”, “Ok Google, où se trouve mes clés?”...Ils sont désormais partout! Dans votre smartphone, votre voiture, votre maison,... le développement des assistants vocaux est fulgurant depuis 2010! Siri d’Apple en 2011,  Google Now en 2012, Cortana de Microsoft et Alexa d’Amazon en 2014, Bixby de Samsung en 2017… Tous les grands acteurs du numérique ont désormais développé leur solution d’assistant vocal. </span></span></span></span></span></span></p> <!-- THEME DEBUG --> <!-- THEME HOOK: 'filter_caption' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --> <figure role="group" class="caption caption-img align-right"><img alt="illustration des assistants personnels" data-entity-type="file" data-entity-uuid="6df24cb3-d260-4cf7-82f1-bf3ef7c36637" height="146" src="/sites/default/files/inline-images/Nous%20avons%20besoin%20de%20vous%20%21%20%20%284%29.png" width="260" /><figcaption>Illustrationd'un chatbot et d'un voicebot</figcaption></figure><!-- END OUTPUT from 'core/themes/classy/templates/content-edit/filter-caption.html.twig' --><p><span><span><span><span><span><span>On considère généralement qu’ils appartiennent à la grande famille des chatbots car ils utilisent des technologies similaires (le traitement du langage naturel, l’apprentissage automatique,...) pour remplir des objectifs similaires (comprendre les demandes des utilisateurs et fournir des réponses adéquates) mais on peut les différencier grâce au fait que les assistants vocaux utilisent la reconnaissance vocale pour permettre aux utilisateurs de contrôler des appareils ou d’effectuer des tâches à l’aide de la voix, et non à l’aide d’interface textuelles comme c’est normalement le cas pour les chatbots. Les assistants vocaux peuvent donc également être appelés  “voicebot” pour cette raison. </span></span></span></span></span></span></p> <h2><span><span><span><span><span><span>Pour en savoir plus !</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Les experts du CETIC ont rédigé un article sur </span></span></span></span></span></span><a href="https://www.cetic.be/Un-apercu-du-phenomene-des-chatbots"><span><span><span><span><span><span><span><span>le phénomène des chatbots</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>, n’hésitez pas à y jeter un œil! </span></span></span></span></span></span></p> <h2><span><span><span><span><span><span>Besoin d’une aide supplémentaire ?</span></span></span></span></span></span></h2> <p><span><span><span><span><span><span>Le </span></span></span></span></span></span><a href="https://www.hub-charleroi.be/fr/team"><span><span><span><span><span><span><span><span>Hub-C</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> dans le cadre de ses services d’accompagnement numérique organise des workshops et groupes de travail en lien avec les nouvelles technologies de prototypages.  Vous souhaitez un accompagnement pour votre projet innovant ou vous souhaitez participer à un prochain workshop? N'hésitez pas à contacter </span></span></span></span></span></span><a href="https://www.hub-charleroi.be/fr/team"><span><span><span><span><span><span><span><span>un membre du Hub</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> ! </span></span></span></span></span></span></p> <p><span><span><span><span><span><span>Vous avez une question spécifique à propos d’une fiche? Elles sont réalisées par les experts du </span></span></span></span></span></span><a href="https://www.cetic.be/"><span><span><span><span><span><span><span><span>CETIC</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> (Centre d'Excellence en Technologies de l'Information et de la Communication), un  centre de recherche appliquée en informatique situé à Charleroi. Vous trouverez toutes les coordonnées </span></span></span></span></span></span><a href="https://www.cetic.be/Contact"><span><span><span><span><span><span><span><span>ici</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>.</span></span></span></span></span></span></p> <p> </p></div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> Wed, 02 Sep 2020 13:03:33 +0000 laurie 60 at http://hub-creatif.cetic.be Le numérique, un levier pour la transition vers une économie circulaire http://hub-creatif.cetic.be/fiche/le-numerique-un-levier-pour-la-transition-vers-une-economie-circulaire <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--title--hover.html.twig x field--node--title.html.twig * field--node--hover.html.twig * field--title.html.twig * field--string.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <span class="field field--name-title field--type-string field--label-hidden">Le numérique, un levier pour la transition vers une économie circulaire</span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--title.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--field-tags--hover.html.twig * field--node--field-tags.html.twig * field--node--hover.html.twig * field--field-tags.html.twig * field--entity-reference.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Tags</div> <div class="field__items"> <div class="field__item"><a href="/Gestion%20de%20donn%C3%A9es" hreflang="en">Gestion de données</a></div> <div class="field__item"><a href="/taxonomy/term/24" hreflang="en">Intelligence Artificielle</a></div> <div class="field__item"><a href="/IoT" hreflang="en">IoT</a></div> </div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--uid--hover.html.twig x field--node--uid.html.twig * field--node--hover.html.twig * field--uid.html.twig * field--entity-reference.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <span class="field field--name-uid field--type-entity-reference field--label-hidden"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'username' --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> <span lang="" about="/user/10" typeof="schema:Person" property="schema:name" datatype="">ldi</span> <!-- END OUTPUT from 'core/themes/classy/templates/user/username.html.twig' --> </span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--uid.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--created--hover.html.twig x field--node--created.html.twig * field--node--hover.html.twig * field--created.html.twig * field--created.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <span class="field field--name-created field--type-created field--label-hidden">Sun, 08/09/2020 - 11:11</span> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--node--created.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--node--body--hover.html.twig * field--node--body.html.twig * field--node--hover.html.twig * field--body.html.twig x field--text-with-summary.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-above"> <div class="field__label">Body</div> <div class="field__item"><p> L’économie circulaire répond aujourd’hui aux nouveaux modèles économiques de demain en révolutionnant les modes de production, de consommation et de gestion des déchets. Le numérique est à la fois un levier et un catalyseur d'accélération du déploiement de l'économie circulaire. Les dernières avancées technologiques numériques telles que l'IoT, l'IA, la blockchain, la cybersécurité ou encore le big data, permettent de proposer des solutions qui rendent la transition circulaire moins coûteuse, plus accessible et automatisée, et surtout créatrice de nouvelle valeur ajoutée.</p> <h2><a>L’économie circulaire : brève introduction</a></h2> <p>L'économie circulaire est un modèle de production et de consommation qui consiste à <strong>partager, prêter, réutiliser, réparer, remettre à neuf et recycler</strong> le plus longtemps possible les matériaux et produits existants.</p> <p>Cela prolonge le cycle de vie des produits, contribuant ainsi à réduire au minimum les déchets. Une fois que le produit a terminé sa fonction, les matériaux qui le composent sont en effet réintroduits, si possible avec recyclage. Ainsi, ils peuvent être réutilisés en continu dans le cycle de production, générant une valeur supplémentaire.</p> <p>Les principes de l'économie circulaire contrastent avec le modèle économique linéaire traditionnel, basé plutôt sur le schéma typique "extraire, produire, utiliser et jeter".</p> <p>La diffusion d'un modèle économique basé sur l'économie circulaire peut avoir de multiples effets positifs sur des enjeux dont dépend l'avenir de la planète. Parmi ces avantages, citons :</p> <ul><li> <p>Réduction des émissions de CO2  car les processus d'extraction et de production génèrent près de la moitié de toutes les émissions.</p> </li> <li> <p>Moins de gaspillage des ressources naturelles, aujourd'hui proches de l'épuisement, qui ne seraient plus exploitées au rythme actuel, assurant une durée plus longue.</p> </li> <li> <p>Impulsion pour l'innovation qui conduirait à la création de produits plus durables dans le temps et conçus pour être réparés. Ce concept est l'antithèse d'un modèle économique dans lequel les entreprises proposent constamment des produits mis à jour qui doivent remplacer les précédents.</p> </li> <li> <p>Une compétitivité accrue, car les entreprises seraient amenées à investir dans la recherche et à améliorer leurs produits et services pour s'adapter aux nouvelles exigences en matière de durabilité.</p> </li> </ul><p>Cette forme d'économie durable présente non seulement des avantages mais aussi deux inconvénients principaux :</p> <p>• tous les matériaux ne peuvent pas être recyclés indéfiniment. Par exemple, le papier peut être recyclé un nombre limité de fois et doit ensuite être éliminé.</p> <p>• augmentation des coûts à court terme, le recyclage implique en effet un processus plus long et plus coûteux que le remplacement d'un produit par un neuf. Cela a immédiatement un coût plus élevé pour acheter un certain produit, ce qui, à long terme, conduit à des économies. Le produit durera plus longtemps ou, en tout cas, le faire réparer coûtera moins cher que d'en acheter un nouveau.</p> <p>La création d'une économie circulaire nécessite des changements fondamentaux tout au long de la chaîne de valeur, de la conception des produits aux nouveaux modèles commerciaux, aux nouvelles modes de consommation, aux nouvelles façons de préserver les ressources naturelles (allongement de la durée de vie des produits) et transformer le déchet en ressource (recyclage).</p> <p>L’économie circulaire repose sur une forte intégration et connexion de la chaine de valeur. Des degrés plus élevés de transfert et transparence de l’information sont demandés.</p> <p>Si nous voulons renforcer et développer l'économie circulaire, il est nécessaire d'intégrer davantage les technologies  numériques telles que l'Internet des objets, les big data et l'intelligence artificielle. Ceci permet d’améliorer les connaissances, les connexions et partage d'informations.</p> <p>On peut distinguer trois principaux niveaux d'application du numérique :</p> <ol><li> <p>Processus : les technologies qui permettent une plus grande efficacité et circularité dans le traitement des matériaux , la fabrication de produits et l’utilisation des machines: robotisation, fabrication additive, design numérique, capteurs, machine learning</p> </li> </ol><ol start="2"><li> <p>Produits : les technologies qui permettent le suivi et la traçabilité des produits et composants, mais aussi le développement de produits en tant que service, l’augmentation de la réutilisation, la réparation, le recyclage: ex : IoT, blockchain, jumeaux numériques…</p> </li> </ol><ol start="3"><li> <p>Plateformes : les technologies qui connectent fournisseurs, producteurs et consommateurs et permettent un échange d’information plus rapide et fiable : ex : applis, sites web, plateformes </p> </li> </ol><p> </p> <h2><a>L’importance des données</a></h2> <p>La capacité à collecter, traiter, structurer et utiliser des données dans la prise de décision est de plus en plus perçue comme une source d'avantage concurrentiel pour les entreprises.</p> <p>Pour créer une économie circulaire efficace il faut comprendre et suivre  le chemin à travers le cycle de vie de la production au recyclage  et ça c’est possible grâce aux nouvelles technologies tels que l'Internet des objets (IoT),  l'intelligence artificielle (IA) et la blockchain ou plus en générale les DLT (Distributed data ledger technology) qui permettent de disposer de données de plus en plus fiables et exploitables.</p> <h3><a>IoT et économie circulaire</a></h3> <p>Une économie circulaire est une approche de gestion des ressources dans laquelle les biens sont conçus, utilisés et réutilisés dans un système en boucle fermée dans le but d’éliminer les déchets et la pollution. L’Internet des objets (IoT) est un catalyseur clé d’un tel système, fournissant les moyens de capturer des données, de surveiller et de contrôler les processus et de suivre les ressources tout au long de leur cycle de vie.</p> <p>L'un des principaux avantages de l'IoT dans l'économie circulaire est la capacité de collecter de grandes quantités de données en temps réel. En tirant parti des capteurs IoT, les entreprises peuvent collecter des données par exemple sur la consommation d'énergie, la production de déchets et les opérations de la chaîne d'approvisionnement.</p> <p>Un autre aspect clé de l'économie circulaire est la prolongation de la durée de vie des produits grâce à la réparation, la réutilisation et le recyclage. L'IoT peut jouer un rôle crucial dans ce processus en permettant la gestion du cycle de vie des produits. En intégrant des capteurs dans les produits, les entreprises peuvent suivre l'utilisation, les performances et les besoins de maintenance des produits. Ces informations peuvent être utilisées pour optimiser la conception du produit, prolonger sa durée de vie et réduire les déchets. Par exemple, les appareils intelligents peuvent détecter quand ils ont besoin d'entretien, ce qui peut aider à prévenir les pannes et à prolonger leur durée de vie. En suivant les produits et les matériaux tout au long de la chaîne d'approvisionnement, les entreprises peuvent identifier les opportunités de recyclage et de réutilisation.</p> <h3><a>Big Data Analytics et économie circulaire</a></h3> <p>Si l’IoT permet de collecter  un grand nombre d’informations, c’est grâce à des techniques de traitement et analyse qu’on peut  comprendre les relations et les corrélations entre ces données. Les technologies Big Data peuvent  nous aider à :</p> <ul><li> <p>Trier et ordonner des données abondantes</p> </li> <li> <p>Comprendre des problèmes complexes</p> </li> <li> <p>Générer des solutions aux problèmes</p> </li> </ul><p>Et quand on rajoute de l’Intelligence Artificielle il est possible d’apprendre plus vite, d’identifier les inefficacités dans les chaînes d'approvisionnement, prévoir les besoins de maintenance et optimiser la logistique. De plus, l'IA permet une économie plus personnalisée. En comprenant mieux le comportement des clients, les entreprises peuvent créer des produits et services adaptés aux besoins individuels, réduisant ainsi la surproduction et le gaspillage.</p> <p>Voici trois piliers principales sur lequel l’IA pourrait nous aider:</p> <ol><li> <p>Eco -conception.</p> </li> </ol><p>Le premier consiste dans l'éco-conception des produits de consommation, mais aussi de leurs matériaux et composants, afin d'en minimiser les effets de pollution, d'intégrer davantage de matière recyclée et de les rendre plus facilement réutilisables ou recyclables. L'intelligence artificielle peut en effet venir en aide dans l'analyse et l'élaboration de la pluralité de données et d'options à prendre en compte à ce stade: les caractéristiques des divers matériaux, leur disponibilité locale, leurs origines et leur recyclabilité.</p> <ol start="2"><li> <p>Analyse des données.</p> </li> </ol><p>L'IA peut également être utilisée pour mettre en évidence des modèles commerciaux circulaires compétitifs. En utilisant une combinaison de données historiques et en temps réel provenant de l'interrogation des produits et de leurs utilisateurs, l'IA est capable d'augmenter l'utilisation des actifs et la circulation des produits en prédisant la demande et en utilisant une gestion intelligente des stocks.</p> <ol start="3"><li> <p>Stratégies de recyclage.</p> </li> </ol><p>L'IA peut aider à déterminer les meilleures façons de trier, désassembler, refabriquer et recycler les produits et les matériaux. Cela permet de boucler la boucle de l'économie circulaire.</p> <h3><a>Blockchain et économie circulaire</a></h3> <p>Un premier vecteur de confiance dans l’économie circulaire est la transparence des principales étapes du cycle de vie d’un produit, afin de permettre aux consommateurs de faire des choix plus éclairés. Dans ce cadre, la technologie blockchain trouve tout son intérêt</p> <p>La blockchain est un registre numérique public et décentralisé qui permet de stocker des informations de manière transparente et fiable. La technologie impose en effet que chaque modification de ce registre soit authentifiée par celui qui en fait la demande. Chaque modification est datée et ne peut être contestée ou altérée à postériori. Utilisée à bon escient, elle permet aussi de mettre chaque acteur de la chaine de valeur sur un pied d’égalité, évitant qu’un acteur dominant puisse imposer ses règles à l’ensemble de l’écosystème.</p> <p>En utilisant cette technologie pour que chaque acteur enregistre les opérations, les contrôles qu’il a réalisés sur un produit ou ses transactions de matières premières et de produits recyclés, il est possible de créer des systèmes d'échanges plus efficaces et de mieux inciter les comportements éco-responsables.</p> <h2><a>Les technologies numériques au service des stratégies circulaires</a> dans le domaine manufacturiere</h2> <p>Dans le cadre d’une approche Industrie 4.0 nous avons trouvé très intéressant une étude réalisé par les deux universités Norwegian University of Science and Technology et  University of Hamburg, Germany.  </p> <p>Le framework représenté dans l’image ci-dessous établit un lien entre les technologies et les stratégies circulaires afin d’ améliorer l'efficacité des ressources et la productivité. Ceci fournit une compréhension détaillée des relations et des aspects techniques sous-jacents les mécanismes d'une économie circulaire numérique. Il associe des niveaux croissants d'intégration des données et l'analyse à des capacités d'optimisation des ressources plus élevées.</p> <img alt="Framework" data-entity-type="file" data-entity-uuid="f4ce40af-e28c-49a7-85b5-a063aceeda98" src="/sites/default/files/inline-images/The-smart-circular-framework-applied-to-3-circular-strategies-Kristoffersen-et-al.jpg" class="align-center" /><p>Pour approfondissement on vous renvoi vers l’article complet</p> <p><a href="https://www.sciencedirect.com/science/article/pii/S0148296320304987"><strong>The smart circular economy: A digital-enabled circular strategies framework for manufacturing companies</strong></a></p> <p><em>Eivind Kristoffersena,</em><em>⁎</em><em> , Fenna Blomsmab , Patrick Mikalefa , Jingyue Lia </em></p> <p><em>Norwegian University of Science and Technology, NO-7491 Trondheim,Norway </em></p> <p><em>University of Hamburg, 20146 Hamburg, Germany </em></p> <h2><a>IT for Green et Green IT</a></h2> <p>‘Last but not least’ nous proposons dans ce dernier paragraphe de clarifier la différence entre ‘Green IT’ et ‘IT for Green’. Les deux expressions sont souvent confondues . On pense que les approches « Green IT » et « IT for Green » signifient la même chose, même s'il s'agit d'idées très distinctes. Leurs objectifs sont convergents, mais leurs périmètres sont différents.</p> <p>Jusqu’à maintenant nous avons décrit comment les technologies numériques peuvent aider considérablement  à réduire l’empreinte écologique dans tous les secteurs. C’est la définition de ‘IT for Green’. Il est claire que la transition numérique est un outil clé pour réduire la consommation d'énergie et mettre en place des stratégie d’économie circulaire, à tel point qu'il ne semble plus possible aujourd'hui de faire face au changement climatique sans l'intégration à grande échelle des technologies numériques.</p> <p>Mais le secteur IT quant à lui il a aussi un impact sur l’environnement. La longue chaine qui part de l’extraction des métaux rares jusqu’à la mise au rebut du matériel en passant par l’utilisation des logiciels, des réseaux et des datacenters n’est pas si différente d’autres secteurs manufacturières. Au contraire les statistiques montrent une hausse très importante de la consommation énergétiques et des matières premières due à l’implémentation croissante des solutions IT.</p> <p>Le Green IT, ou informatique éco-responsable, vise à minimiser les effets négatifs des produits et des opérations informatiques sur l'environnement à travers la réduction de l'utilisation de matériaux dangereux, la maximisation de l'efficacité énergétique pendant la durée de vie d'un produit et la promotion de la biodégradabilité des produits inutilisés et obsolètes.</p> <p> </p> <h2><a>Besoin d’une aide supplémentaire ?</a></h2> <p>Le <a href="https://www.hub-charleroi.be/fr/team">Hub-C</a> dans le cadre de ses services d’accompagnement numérique organise des workshops et groupes de travail en lien avec les nouvelles technologies de prototypages.  Vous souhaitez un accompagnement pour votre projet innovant ou vous souhaitez participer à un prochain workshop? N'hésitez pas à contacter <a href="https://www.hub-charleroi.be/fr/team">un membre du Hub</a> !</p> <p> </p> <p>Vous avez une question spécifique à propos d’une fiche? Elles sont réalisées par les experts du <a href="https://www.cetic.be/">CETIC</a> (Centre d'Excellence en Technologies de l'Information et de la Communication), un  centre de recherche appliquée en informatique situé à Charleroi. Vous trouverez toutes les coordonnées <a href="https://www.cetic.be/Contact">ici</a>.</p></div> </div> <!-- END OUTPUT from 'core/themes/classy/templates/field/field--text-with-summary.html.twig' --> Sun, 09 Aug 2020 09:11:05 +0000 ldi 63 at http://hub-creatif.cetic.be