{"id":1350,"date":"2021-06-07T17:28:15","date_gmt":"2021-06-07T15:28:15","guid":{"rendered":"http:\/\/adisrav.cluster028.hosting.ovh.net\/?page_id=1350"},"modified":"2022-06-23T17:23:14","modified_gmt":"2022-06-23T15:23:14","slug":"architecture","status":"publish","type":"page","link":"https:\/\/www.adisra.fr\/?page_id=1350","title":{"rendered":"Architecture"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1350\" class=\"elementor elementor-1350\">\n\t\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3f513c4f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3f513c4f\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-368b45c6\" data-id=\"368b45c6\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4d3925e7 elementor-widget elementor-widget-eael-simple-menu\" data-id=\"4d3925e7\" data-element_type=\"widget\" data-widget_type=\"eael-simple-menu.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div data-hamburger-icon=\"&lt;i aria-hidden=&quot;true&quot; class=&quot;fas fa-bars&quot;&gt;&lt;\/i&gt;\" data-indicator-class=\"fas fa-angle-down\" data-dropdown-indicator-class=\"fas fa-angle-down\" class=\"eael-simple-menu-container eael-simple-menu-align-left eael-simple-menu-dropdown-align-left preset-1\" data-hamburger-breakpoints=\"{&quot;mobile&quot;:&quot;Mobile (&gt; 767px)&quot;,&quot;tablet&quot;:&quot;Tablette (&gt; 1024px)&quot;,&quot;none&quot;:&quot;None&quot;}\" data-hamburger-device=\"tablet\"><ul id=\"menu-obtenir-de-laide\" class=\"eael-simple-menu eael-simple-menu-dropdown-animate-to-top eael-simple-menu-indicator eael-simple-menu-vertical\"><li id=\"menu-item-1914\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1914\"><a href=\"https:\/\/www.adisra.fr\/?page_id=1319\" class=\"menu-link\">Introduction<\/a>\n<ul class=\"sub-menu\">\n\t<li id=\"menu-item-1400\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1400\"><a href=\"https:\/\/www.adisra.fr\/?page_id=1350\" class=\"menu-link\">Architecture<\/a><\/li>\n\t<li id=\"menu-item-1401\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1401\"><a href=\"https:\/\/www.adisra.fr\/?page_id=1352\" class=\"menu-link\">Conditions<\/a><\/li>\n\t<li id=\"menu-item-1402\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1402\"><a href=\"https:\/\/www.adisra.fr\/?page_id=1361\" class=\"menu-link\">Installation d\u2019ADISRA SmartView<\/a><\/li>\n\t<li id=\"menu-item-1404\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1404\"><a href=\"https:\/\/www.adisra.fr\/?page_id=1363\" class=\"menu-link\">License ADISRA SmartView<\/a><\/li>\n\t<li id=\"menu-item-1403\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1403\"><a href=\"https:\/\/www.adisra.fr\/?page_id=1365\" class=\"menu-link\">Interface Intuitive d\u2019Ing\u00e9nierie<\/a><\/li>\n\t<li id=\"menu-item-1406\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1406\"><a href=\"https:\/\/www.adisra.fr\/?page_id=1367\" class=\"menu-link\">Script<\/a><\/li>\n\t<li id=\"menu-item-1876\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1876\"><a href=\"https:\/\/www.adisra.fr\/?page_id=1863\" class=\"menu-link\">Obtenir de l&rsquo;aide<\/a><\/li>\n<\/ul>\n<\/li>\n<li id=\"menu-item-1396\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1396\"><a href=\"https:\/\/www.adisra.fr\/?page_id=1371\" class=\"menu-link\">Modules<\/a>\n<ul class=\"sub-menu\">\n\t<li id=\"menu-item-1408\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1408\"><a href=\"https:\/\/www.adisra.fr\/?page_id=1373\" class=\"menu-link\">Ing\u00e9nierie<\/a><\/li>\n\t<li id=\"menu-item-1409\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1409\"><a href=\"https:\/\/www.adisra.fr\/?page_id=1375\" class=\"menu-link\">Ex\u00e9cution<\/a><\/li>\n\t<li id=\"menu-item-1410\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1410\"><a href=\"https:\/\/www.adisra.fr\/?page_id=1377\" class=\"menu-link\">Visionneuse<\/a><\/li>\n<\/ul>\n<\/li>\n<li id=\"menu-item-1395\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1395\"><a href=\"https:\/\/www.adisra.fr\/?page_id=1379\" class=\"menu-link\">Hot Topics<\/a>\n<ul class=\"sub-menu\">\n\t<li id=\"menu-item-1411\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1411\"><a href=\"https:\/\/www.adisra.fr\/?page_id=1381\" class=\"menu-link\">Base de donn\u00e9es<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul><\/div>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-49346a3c\" data-id=\"49346a3c\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-143bba29 elementor-widget elementor-widget-heading\" data-id=\"143bba29\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Architecture<\/h1>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-66ebc063 elementor-widget elementor-widget-text-editor\" data-id=\"66ebc063\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>ADISRA SmartView se compose de trois composants principaux.<\/p><ul><li>Ing\u00e9nierie<\/li><li>Dur\u00e9e<\/li><li>Viewer<\/li><\/ul><p>Tout d&rsquo;abord, examinons l&rsquo;image ci-dessous et comprenons ensuite comment ils fonctionnent en interne.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5805141 elementor-widget elementor-widget-image\" data-id=\"5805141\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"828\" height=\"688\" src=\"https:\/\/www.adisra.fr\/wp-content\/uploads\/2021\/06\/Architecture-High-Level.png\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/www.adisra.fr\/wp-content\/uploads\/2021\/06\/Architecture-High-Level.png 828w, https:\/\/www.adisra.fr\/wp-content\/uploads\/2021\/06\/Architecture-High-Level-300x249.png 300w, https:\/\/www.adisra.fr\/wp-content\/uploads\/2021\/06\/Architecture-High-Level-768x638.png 768w\" sizes=\"auto, (max-width: 828px) 100vw, 828px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5ef6a5c1 elementor-widget elementor-widget-heading\" data-id=\"5ef6a5c1\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Ing\u00e9nierie<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-75c94c36 elementor-widget elementor-widget-text-editor\" data-id=\"75c94c36\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>L&rsquo;outil d&rsquo;ing\u00e9nierie ADISRA SmartView est utilis\u00e9 par le d\u00e9veloppeur d&rsquo;applications pour cr\u00e9er l&rsquo;int\u00e9gralit\u00e9 de l&rsquo;application et n\u00e9cessite une licence d&rsquo;ing\u00e9nierie pour le faire. \u00c0 tout moment, cette application peut \u00eatre construite ou ex\u00e9cut\u00e9e. Ces deux actions n\u00e9cessitent une g\u00e9n\u00e9ration compl\u00e8te de l&rsquo;application puisque la sortie de cette g\u00e9n\u00e9ration sera utilis\u00e9e par le runtime et la visionneuse.<\/p><p>Mais que se passe-t-il r\u00e9ellement lorsque vous cr\u00e9ez une application ?<\/p><p>La sortie de la construction sont plusieurs fichiers DLL qui seront g\u00e9n\u00e9r\u00e9s dans le dossier du projet. Les DLL doivent \u00eatre des DLL valides, sinon la construction \u00e9chouera et une erreur appara\u00eetra dans les journaux d&rsquo;ing\u00e9nierie. S&rsquo;il y a des erreurs dans un bouton par exemple, vous pourrez toujours ex\u00e9cuter l&rsquo;application et d\u00e9marrer le RunTime et le Viewer, mais ce bouton ne fonctionnera pas.<\/p><p>D\u00e8s que les DLL sont g\u00e9n\u00e9r\u00e9es, elles seront utilis\u00e9es par le Runtime et le Viewer. Ces DLL g\u00e9n\u00e9r\u00e9es automatiquement sont essentiellement des classes C# qui repr\u00e9senteront un \u00e9cran graphique, un d\u00e9clencheur ou peut-\u00eatre un service.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-92f357f elementor-widget elementor-widget-image\" data-id=\"92f357f\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"785\" src=\"https:\/\/www.adisra.fr\/wp-content\/uploads\/2021\/06\/DllGeneration-1024x785-1.png\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/www.adisra.fr\/wp-content\/uploads\/2021\/06\/DllGeneration-1024x785-1.png 1024w, https:\/\/www.adisra.fr\/wp-content\/uploads\/2021\/06\/DllGeneration-1024x785-1-300x230.png 300w, https:\/\/www.adisra.fr\/wp-content\/uploads\/2021\/06\/DllGeneration-1024x785-1-768x589.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1589cf0f elementor-widget elementor-widget-heading\" data-id=\"1589cf0f\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Runtime<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-399ec327 elementor-widget elementor-widget-text-editor\" data-id=\"399ec327\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>ADISRA SmartView Runtime est un serveur essentiel \u00e0 toute application. Il est possible qu&rsquo;une application s&rsquo;ex\u00e9cute sans aucun Viewer, mais jamais sans Runtime. Le runtime contient tous les tags, services, d\u00e9clencheurs, communication du pilote, communication de base de donn\u00e9es, alarmes, biblioth\u00e8ques de fonctions et syst\u00e8me de s\u00e9curit\u00e9.<\/p><p>Il est \u00e9galement possible de cr\u00e9er des serveurs redondants, ce qui signifie que deux serveurs situ\u00e9s dans des machines diff\u00e9rentes seront maintenus synchronis\u00e9s.<\/p><p>Le Runtime est install\u00e9 sur la machine du client et il n\u00e9cessite une licence Runtime pour \u00eatre ex\u00e9cut\u00e9. Pour ex\u00e9cuter le Runtime, il suffit d&rsquo;un raccourci qui d\u00e9marrera essentiellement l&rsquo;ex\u00e9cutable du Runtime (le client n&rsquo;a pas besoin d&rsquo;ouvrir l&rsquo;ing\u00e9nierie pour d\u00e9marrer le Runtime).<\/p><p>D\u00e8s qu&rsquo;il est ex\u00e9cut\u00e9, il ouvre un port pour recevoir la connexion des clients suivants.<\/p><ul><li>T\u00e9l\u00e9spectateur<\/li><li>Visionneuse \u00e0 distance<\/li><li>Navigateur Web<\/li><li>Observateur de donn\u00e9es<\/li><\/ul>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-919c429 elementor-widget elementor-widget-heading\" data-id=\"919c429\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Viewer<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d2ad6dc elementor-widget elementor-widget-text-editor\" data-id=\"d2ad6dc\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>L&rsquo;ADISRA SmartView Viewer, comme mentionn\u00e9 ci-dessus, est un client du serveur d&rsquo;ex\u00e9cution. Elle n&rsquo;est pas indispensable \u00e0 l&rsquo;ex\u00e9cution d&rsquo;une application, mais c&rsquo;est la repr\u00e9sentation graphique de l&rsquo;application. Un bon exemple est la possibilit\u00e9 de permettre aux utilisateurs d&rsquo;interagir avec la machine (Human Machine Interface) en envoyant des commandes ou en recevant des donn\u00e9es.<\/p><p>Il peut \u00eatre ex\u00e9cut\u00e9 sur n&rsquo;importe quelle machine distante et se connecter au serveur Runtime.<\/p><p>D\u00e8s que la connexion est \u00e9tablie, le serveur Runtime transf\u00e8re les \u00e9crans graphiques \u00e0 ouvrir par les Viewers afin que l&rsquo;utilisateur n&rsquo;ait pas besoin de t\u00e9l\u00e9charger le projet avant de l&rsquo;ex\u00e9cuter. Comme mentionn\u00e9 pr\u00e9c\u00e9demment, le Runtime contient de nombreux modules tels que les balises, les services, les d\u00e9clencheurs, etc\u2026 mais les visionneuses contiendront \u00e9galement certaines ex\u00e9cutions localement. Les \u00e9crans graphiques \u00e9tant transf\u00e9r\u00e9s pour chaque connexion Viewer, ils seront ex\u00e9cut\u00e9s localement. Un script d&rsquo;\u00e9cran (c&rsquo;est-\u00e0-dire \u00e0 l&rsquo;ouverture) sera ex\u00e9cut\u00e9 localement sur cette visionneuse et n&rsquo;affectera pas les autres visionneuses. Ce fait est important \u00e0 garder \u00e0 l&rsquo;esprit au cas o\u00f9 une animation serait cr\u00e9\u00e9e. Si une animation doit \u00eatre anim\u00e9e pour toutes les visionneuses en m\u00eame temps, la logique d&rsquo;animation doit \u00eatre dans le Runtime ; il peut s&rsquo;agir d&rsquo;un service modifiant les valeurs d&rsquo;une balise. Cependant, si l&rsquo;animation doit \u00eatre locale pour chaque spectateur, cette animation ne doit pas utiliser de balises, mais des objets d&rsquo;\u00e9cran et des scripts d&rsquo;\u00e9cran.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-99b970c elementor-widget elementor-widget-heading\" data-id=\"99b970c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Architecture de script<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ec1c79d elementor-widget elementor-widget-image\" data-id=\"ec1c79d\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"828\" height=\"848\" src=\"https:\/\/www.adisra.fr\/wp-content\/uploads\/2021\/06\/Architecture-Scripts.png\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/www.adisra.fr\/wp-content\/uploads\/2021\/06\/Architecture-Scripts.png 828w, https:\/\/www.adisra.fr\/wp-content\/uploads\/2021\/06\/Architecture-Scripts-293x300.png 293w, https:\/\/www.adisra.fr\/wp-content\/uploads\/2021\/06\/Architecture-Scripts-768x787.png 768w\" sizes=\"auto, (max-width: 828px) 100vw, 828px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-424c0a43 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"424c0a43\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Introduction Architecture Conditions Installation d\u2019ADISRA SmartView License ADISRA SmartView Interface Intuitive d\u2019Ing\u00e9nierie Script Obtenir de l&rsquo;aide Modules Ing\u00e9nierie Dur\u00e9e Viewer Sujets d\u2019Actualit\u00e9s Base de donn\u00e9es Documentation MultiTagViewer Remote Viewer S\u00e9curit\u00e9 Biblioth\u00e8que de Fonctions Syst\u00e8me Web ADISRA SmartView .NET Framework 4.8 Architecture ADISRA SmartView se compose de trois composants principaux. Ing\u00e9nierie Dur\u00e9e Viewer Tout d&rsquo;abord, examinons &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.adisra.fr\/?page_id=1350\"> <span class=\"screen-reader-text\">Architecture<\/span> Lire la suite\u00a0\u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","footnotes":""},"class_list":["post-1350","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.adisra.fr\/index.php?rest_route=\/wp\/v2\/pages\/1350","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.adisra.fr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.adisra.fr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.adisra.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.adisra.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1350"}],"version-history":[{"count":10,"href":"https:\/\/www.adisra.fr\/index.php?rest_route=\/wp\/v2\/pages\/1350\/revisions"}],"predecessor-version":[{"id":7501,"href":"https:\/\/www.adisra.fr\/index.php?rest_route=\/wp\/v2\/pages\/1350\/revisions\/7501"}],"wp:attachment":[{"href":"https:\/\/www.adisra.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1350"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}