• DELETE FROM KEYWORDS WHERE ID_DOMAINE=34058560
  • DoneDoneDone

    URL:thingsboard.io

    Cache-Control: max-age=3600
    Connection: keep-alive
    Date: Fri, 24 Jan 2025 20:33:09 GMT
    Content-Length: 167
    Content-Type: text/html
    Expires: Fri, 24 Jan 2025 21:33:09 GMT
    Location: https://thingsboard.io/
    Server: cloudflare
    Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=Gad%2BOC1seivLT4Mmg1kYEyeoSzTgFvlPqpG38Bycu9xx2EchNjNyJxouVdqmyLyVLcUF1PcOD44L7i0W7LP%2Bi40YBcM8DUZKzlwYtThpI5fKTfvEbYF1XOAl7Ff066rX"}],"group":"cf-nel","max_age":604800}
    NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
    referrer-policy: same-origin
    x-content-type-options: nosniff
    x-frame-options: SAMEORIGIN
    x-xss-protection: 1; mode=block
    CF-RAY: 9072cbff4cc122bd-CDG
    server-timing: cfL4;desc="?proto=TCP&rtt=13451&min_rtt=13451&rtt_var=6725&sent=1&recv=3&lost=0&retrans=0&sent_bytes=0&recv_bytes=148&delivery_rate=0&cwnd=247&unsent_bytes=0&cid=0000000000000000&ts=0&x=0"
    
    
    Location => https://thingsboard.io/
    Status => 301
    <html>
    <head><title>301 Moved Permanently</title></head>
    

    (vide) Tentative en https

    https://thingsboard.io/

    <!Doctype html>
    <html id="home" lang="en">
    
    
    
    
    
    
    
    
    
    <head>
        <meta charset="utf-8">
        <meta name="cf-2fa-verify" content="a08672380de15e9">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="preload" href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700&display=swap" as="style" onload="this.onload=null;this.rel='stylesheet'">
        
        <title>ThingsBoard — Open-source IoT (Internet of Things) Platform</title>
        <!-- Begin Jekyll SEO tag v2.8.0 -->
    <meta name="generator" content="Jekyll v3.10.0" />
    <meta property="og:title" content="ThingsBoard — Open-source IoT (Internet of Things) Platform" />
    <meta name="author" content="thingsboard" />
    <meta property="og:locale" content="en_US" />
    <meta name="description" content="ThingsBoard is an open-source IoT ❰Internet of Things❱ platform for device management ᐉ data collection ᐉ processing and visualization for your IoT projects" />
    <meta property="og:description" content="ThingsBoard is an open-source IoT ❰Internet of Things❱ platform for device management ᐉ data collection ᐉ processing and visualization for your IoT projects" />
    <link rel="canonical" href="https://thingsboard.io/" />
    <meta property="og:url" content="https://thingsboard.io/" />
    <meta property="og:site_name" content="ThingsBoard" />
    <meta property="og:image" content="https://img.thingsboard.io/thingsboard_logo.png" />
    <meta property="og:type" content="website" />
    <meta name="twitter:card" content="summary_large_image" />
    <meta property="twitter:image" content="https://img.thingsboard.io/thingsboard_logo.png" />
    <meta property="twitter:title" content="ThingsBoard — Open-source IoT (Internet of Things) Platform" />
    <meta name="twitter:site" content="@thingsboard" />
    <meta name="twitter:creator" content="@thingsboard" />
    <script type="application/ld+json">
    {"@context":"https://schema.org","@type":"WebSite","author":{"@type":"Person","name":"thingsboard"},"description":"ThingsBoard is an open-source IoT ❰Internet of Things❱ platform for device management ᐉ data collection ᐉ processing and visualization for your IoT projects","headline":"ThingsBoard — Open-source IoT (Internet of Things) Platform","image":{"twitter":"https://img.thingsboard.io/thingsboard_logo.png","facebook":"https://img.thingsboard.io/thingsboard_logo.png","url":"https://img.thingsboard.io/thingsboard_logo.png","@type":"imageObject"},"name":"ThingsBoard","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://img.thingsboard.io/thingsboard_logo.png"},"name":"thingsboard"},"sameAs":["https://twitter.com/thingsboard","https://github.com/thingsboard/thingsboard","https://www.facebook.com/thingsboard","https://www.youtube.com/channel/thingsboard"],"url":"https://thingsboard.io/"}</script>
    <!-- End Jekyll SEO tag -->
    
        
        
        <meta name="twitter:description" content="ThingsBoard is an open-source IoT ❰Internet of Things❱ platform for device management ᐉ data collection ᐉ processing and visualization for your IoT projects">
        
        
        <link rel="shortcut icon" type="image/png" href="https://img.thingsboard.io/favicon.png">
        
        <link href="/css/critical.css" rel="stylesheet">
        
        <script async defer src="https://buttons.github.io/buttons.js"></script>
        <script defer src="https://cdnjs.cloudflare.com/ajax/libs/qs/6.7.0/qs.min.js"></script>
        <script async defer src="https://cdnjs.cloudflare.com/ajax/libs/gifffer/1.5.0/gifffer.min.js"></script>
        <noscript>
            <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700&display=swap">
        </noscript>
        <script async defer>
            window.onload = function() {
                Gifffer();
    
                setCloudServerHref();
            }
        </script>
        <script async defer>
            function setCookie(name, value, attributes) {
                if (typeof document === 'undefined') {
                    return
                }
    
                attributes = Object.assign({}, {path: '/'}, attributes)
    
                if (typeof attributes.expires === 'number') {
                    attributes.expires = new Date(Date.now() + attributes.expires * 864e5)
                }
                if (attributes.expires) {
                    attributes.expires = attributes.expires.toUTCString()
                }
    
                name = encodeURIComponent(name)
                    .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)
                    .replace(/[()]/g, escape)
    
                var stringifiedAttributes = ''
                for (var attributeName in attributes) {
                    if (!attributes[attributeName]) {
                        continue
                    }
    
                    stringifiedAttributes += '; ' + attributeName
    
                    if (attributes[attributeName] === true) {
                        continue
                    }
    
                    // Considers RFC 6265 section 5.2:
                    // ...
                    // 3.  If the remaining unparsed-attributes contains a %x3B (";")
                    //     character:
                    // Consume the characters of the unparsed-attributes up to,
                    // not including, the first %x3B (";") character.
                    // ...
                    stringifiedAttributes += '=' + attributes[attributeName].split(';')[0]
                }
    
                return (document.cookie =
                    name + '=' + writeCookieValue(value) + stringifiedAttributes)
            }
    
            function getCookie(name) {
                if (typeof document === 'undefined' || (arguments.length && !name)) {
                    return
                }
    
                // To prevent the for loop in the first place assign an empty array
                // in case there are no cookies at all.
                var cookies = document.cookie ? document.cookie.split('; ') : []
                var jar = {}
                for (var i = 0; i < cookies.length; i++) {
                    var parts = cookies[i].split('=')
                    var value = parts.slice(1).join('=')
    
                    try {
                        var found = decodeURIComponent(parts[0])
                        jar[found] = readCookieValue(value)
    
                        if (name === found) {
                            break
                        }
                    } catch (e) {
                    }
                }
    
                return name ? jar[name] : jar
            }
    
            function setCloudServerCookie(cookieValue) {
                setCookie("cloudServer", cookieValue, {expires: 365, path: '/'});
            }
    
            function setCloudServerHref() {
                const cloudServer = getCookie('cloudServer');
                if (cloudServer) {
                    document.getElementById('cloud-documentation').href = cloudServer;
                    const cloudProductOption = document.getElementById('cloud-product-option');
                    if (cloudProductOption) {
                        const cloudProductOptionHref = cloudProductOption.href;
                        cloudProductOption.href = cloudProductOptionHref.replace('/docs/paas/', cloudServer);
                    }
                }
            }
        </script>
        <script async defer>
            /*! loadCSS. [c]2017 Filament Group, Inc. MIT License */
            !function (a) {
                "use strict";
                var b = function (b, c, d) {
                    function e(a) {
                        return h.body ? a() : void setTimeout(function () {
                            e(a)
                        })
                    }
    
                    function f() {
                        i.addEventListener && i.removeEventListener("load", f), i.media = d || "all"
                    }
    
                    var g, h = a.document, i = h.createElement("link");
                    if (c) g = c; else {
                        var j = (h.body || h.getElementsByTagName("head")[0]).childNodes;
                        g = j[j.length - 1]
                    }
                    var k = h.styleSheets;
                    i.rel = "stylesheet", i.href = b, i.media = "only x", e(function () {
                        g.parentNode.insertBefore(i, c ? g : g.nextSibling)
                    });
                    var l = function (a) {
                        for (var b = i.href, c = k.length; c--;) if (k[c].href === b) return a();
                        setTimeout(function () {
                            l(a)
                        })
                    };
                    return i.addEventListener && i.addEventListener("load", f), i.onloadcssdefined = l, l(f), i
                };
                "undefined" != typeof exports ? exports.loadCSS = b : a.loadCSS = b
            }("undefined" != typeof global ? global : this);
    
            /*! onloadCSS. (onload callback for loadCSS) [c]2017 Filament Group, Inc. MIT License */
            function onloadCSS(a, b) {
                function c() {
                    !d && b && (d = !0, b.call(a))
                }
    
                var d;
                a.addEventListener && a.addEventListener("load", c), a.attachEvent && a.attachEvent("onload", c), "isApplicationInstalled" in navigator && "onloadcssdefined" in a && a.onloadcssdefined(c)
            }
        </script>
        <script>
    
            function jqueryDefer(method) {
                if (window.jQuery) {
                    method();
                } else {
                    setTimeout(function () {
                        jqueryDefer(method)
                    }, 50);
                }
            }
    
            function jqueryUiDefer(method) {
                if (window.jQuery && window.jQuery.ui) {
                    method();
                } else {
                    setTimeout(function () {
                        jqueryUiDefer(method)
                    }, 50);
                }
            }
    
            window.vis = (function () {
                var stateKey,
                    eventKey,
                    keys = {
                        hidden: "visibilitychange",
                        webkitHidden: "webkitvisibilitychange",
                        mozHidden: "mozvisibilitychange",
                        msHidden: "msvisibilitychange"
                    };
                for (stateKey in keys) {
                    if (stateKey in document) {
                        eventKey = keys[stateKey];
                        break;
                    }
                }
                return function (c) {
                    if (c) document.addEventListener(eventKey, c);
                    return !document[stateKey];
                }
            })();
    
            function loadScript(src, callback) {
                var s, r, t;
                r = false;
                s = document.createElement('script');
                s.type = 'text/javascript';
                s.src = src;
                s.onload = s.onreadystatechange = function () {
                    if (!r && (!this.readyState || this.readyState == 'complete')) {
                        r = true;
                        if (callback) {
                            callback();
                        }
                    }
                };
                t = document.getElementsByTagName('script')[0];
                t.parentNode.insertBefore(s, t);
            }
    
            function loadCssAsync(src, callback) {
                var stylesheet = loadCSS(src);
                if (callback) {
                    onloadCSS(stylesheet, callback);
                }
            }
    
            function loadNextScript(index, scriptsList, completeCallback) {
                if (index < scriptsList.length) {
                    var script = scriptsList[index];
                    if (script.type === 'script') {
                        loadScript(script.src, function () {
                            if (script.callback) {
                                script.callback();
                            }
                            index++;
                            loadNextScript(index, scriptsList, completeCallback);
                        });
                    } else if (script.type === 'css') {
                        loadCssAsync(script.src, function () {
                            index++;
                            loadNextScript(index, scriptsList, completeCallback);
                        });
                    }
                } else if (completeCallback) {
                    completeCallback();
                }
            }
    
            var initialScriptsList = [
                {src: 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.0/css/all.min.css', type: 'css'},
                {src: 'https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css', type: 'css'},
                {src: 'https://cdn.jsdelivr.net/npm/clipboard@1/dist/clipboard.min.js', type: 'script'},
                {src: '/js/jquery-2.2.0.min.js', type: 'script'},
                {src: '/css/jquery-ui.min.css', type: 'css'},
                {src: '/js/jquery-ui.min.js', type: 'script'},
                {src: '/js/jquery.vide.js', type: 'script'},
                {src: '/js/script.js', type: 'script'},
                {src: '/css/photoswipe.css', type: 'css'},
                {src: '/css/default-skin/default-skin.css', type: 'css'},
                {src: '/js/photoswipe.min.js', type: 'script'},
                {src: '/js/photoswipe-ui-default.min.js', type: 'script'}
            ];
    
            loadNextScript(0, initialScriptsList);
    
            jqueryDefer(function () {
                (function ($, win) {
                    $.fn.inViewport = function (cb) {
                        return this.each(function (i, el) {
                            function visPx() {
                                var H = $(this).height(),
                                    r = el.getBoundingClientRect(), t = r.top, b = r.bottom;
                                var result = cb.call(el, Math.max(0, t > 0 ? H - t : (b < H ? b : H)));
                                if (result) {
                                    $(win).off("resize scroll", visPx);
                                }
                            }
    
                            visPx();
                            $(win).on("resize scroll", visPx);
                        });
                    };
                }(jQuery, window));
            });
    
            function inViewportDefer(method) {
                if (window.jQuery && $.fn.inViewport) {
                    method();
                } else {
                    setTimeout(function () {
                        inViewportDefer(method)
                    }, 50);
                }
            }
    
        </script>
        <script async defer>
    
            function checkGTagDataLayer() {
                return typeof window.dataLayer === "undefined" || !window.dataLayer.push;
            }
            function _gaLt(event) {
                /* If GTM is blocked or not loaded, or not main|middle|touch click then don't track */
                if (checkGTagDataLayer() || (event.which != 1 && event.which != 2)) {
                    return;
                }
                var el = event.srcElement || event.target;
    
                while (el && (typeof el.tagName == 'undefined' || el.tagName.toLowerCase() != 'a' || !el.href)) {
                    el = el.parentNode;
                }
                if (el && el.href && el.getAttribute('itemprop') !== 'contentUrl') {
                    var link = el.href;
                    if ((link.indexOf(location.host) == -1 || link.indexOf('.' + location.host) > 0) && !link.match(/^javascript\:/i)) {
                        var target = (el.target && !el.target.match(/^_(self|parent|top)$/i)) ? el.target : false;
                        if (event.ctrlKey || event.shiftKey || event.metaKey || event.which == 2) {
                            target = "_blank";
                        }
    
                        var hbrun = false; // tracker has not yet run
                        var hitBack = function () {
                            if (hbrun) return;
                            hbrun = true;
                            window.location.href = link;
                        };
    
                        if (target) {
                            gtag("event", "outgoing_links", {
                                "event_category": "Outgoing Links",
                                "event_label": link,
                                "value": document.location.pathname + document.location.search
                            });
                        } else {
                            event.preventDefault ? event.preventDefault() : event.returnValue = !1;
                            gtag("event", "outgoing_link", {
                                "event_category": "Outgoing Links",
                                "event_label": link,
                                "value": document.location.pathname + document.location.search,
                                "event_callback": hitBack
                            });
    
                            setTimeout(hitBack, 1000);
                        }
                    }
                }
            }
    
            var _w = window;
            var _gaLtEvt = ("ontouchstart" in _w) ? "click" : "mousedown";
            _w.addEventListener ? _w.addEventListener("load", function () {
                    document.body.addEventListener(_gaLtEvt, _gaLt, !1)
                }, !1)
                : _w.attachEvent && _w.attachEvent("onload", function () {
                document.body.attachEvent("on" + _gaLtEvt, _gaLt)
            });
        </script>
        <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
                new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
            j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
            'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
        })(window,document,'script','dataLayer','GTM-TGBNQXN');
        function gtag(){dataLayer.push(arguments)};
        </script>
        <script async defer>
            function Burger() {
                var header = $('header');
                var body = $('body');
                if (header.hasClass('opened-burger')) {
                    header.removeClass('opened-burger');
                    let subMenus = $('nav.head-menu > ul > li > div.centered-sub > ul.sub-menu');
                    subMenus.removeClass('open-sub');
                    body.css('overflow', '');
                } else {
                    header.addClass('opened-burger');
                    body.css('overflow', 'hidden');
                }
            }
        </script>
        <script async defer>
    
            jqueryDefer(function () {
                let menuElement = $('nav.head-menu > ul');
                let submenuContainer = $('nav.head-menu > div.sub-menu-container');
                let menuItems = $('nav.head-menu > ul > li');
                let indicator = $('nav.head-menu > ul + div.indicator');
                let subMenuActive = false;
                menuElement.on('mouseleave', function (event) {
                    if (!$(event.relatedTarget).parents('div.sub-menu-container').length) {
                        setTimeout(function() {
                            if (!submenuContainer.is(':hover')) {
                                subMenuActive = false;
                                submenuContainer.removeClass('active bounds-transition');
                                menuItems.removeClass('active');
                                indicator.removeClass('left-transition active');
                            }
                        }, 200)
                    }
                });
                submenuContainer.on('mouseleave', function (event) {
                    if (!$(event.relatedTarget).parents('nav.head-menu > ul').length) {
                        subMenuActive = false;
                        submenuContainer.removeClass('active bounds-transition');
                        menuItems.removeClass('active');
                        indicator.removeClass('left-transition active');
                    }
                });
                menuItems.each(function() {
                    let item = $( this );
                    let subMenuId = item.attr('data-submenu-id');
                    item.on('mouseenter', function () {
                        setTimeout(function() {
                            if (item.is(':hover')) {
                                let submenus = $('nav.head-menu > div.sub-menu-container > div');
                                submenus.css('display', 'none');
                                menuItems.removeClass('active');
                                item.addClass('active');
                                if (subMenuId) {
                                    let targetSubMenu = $('nav.head-menu > div.sub-menu-container > div#'+subMenuId);
                                    targetSubMenu.css('display', 'block');
                                    submenuContainer.css('overflow', 'visible');
                                    let offset = (item.outerWidth() - targetSubMenu.outerWidth()) / 2;
                                    let left = item.position().left + offset;
                                    let windowOverflow = window.innerWidth - (item.offset().left + offset + targetSubMenu.outerWidth());
                                    indicator.css('opacity', 1);
                                    let windowOverflowLeft = left + windowOverflow;
                                    if (windowOverflow < 0) {
                                        left += windowOverflow;
                                    } else if (windowOverflowLeft < 0) {
                                        left -= windowOverflowLeft;
                                    }
                                    submenuContainer.css('left', left + 'px');
                                    if (!subMenuActive) {
                                        submenuContainer.addClass('active');
                                        indicator.addClass('active');
                                        subMenuActive = true;
                                    } else {
                                        submenuContainer.addClass('bounds-transition');
                                        indicator.addClass('left-transition active');
                                    }
                                    indicator.css('left', item.position().left);
                                    indicator.css('width', item.outerWidth());
                                    submenuContainer.css('height', targetSubMenu.outerHeight() + 'px');
                                    submenuContainer.css('width', targetSubMenu.outerWidth() + 'px');
                                    submenuContainer.css('overflow', 'hidden');
                                } else {
                                    if (subMenuActive) {
                                        submenuContainer.removeClass('active');
                                        subMenuActive = false;
                                    }
                                    indicator.css('opacity', 0);
                                }
                            }
                        }, 100)
                    });
                });
    
                let isMobile = $('button.burger').css('display') === 'block';
                if (isMobile) {
                    initMobileSubmenu();
                }
    
                $(window).resize(function(){
                    let newIsMobile = $('button.burger').css('display') === 'block';
                    if (isMobile !== newIsMobile) {
                        isMobile = newIsMobile;
                        if (isMobile) {
                            initMobileSubmenu();
                        } else {
                            restoreDesktopSubmenu();
                        }
                    }
                });
    
                $( document ).ready(function() {
                    // Rogue line numbers fix (don't show line numbers for 1 row)
                    $('.rouge-gutter.gl').each(function() {
                        var lineNumbers = $(this).children('.lineno');
                        if (lineNumbers.text() === '1\n') {
                            $(this).css('display', 'none');
                        }
                    });
                    $('a#use-cases-link').click(function(e) {
                        let isMobile = $('button.burger').css('display') === 'block';
                        if (isMobile) {
                            e.preventDefault();
                            e.stopPropagation();
                            listburg('nav-cases');
                        }
                    });
                });
            });
    
            function initMobileSubmenu() {
    
                var header = $('header');
                if (header.hasClass('opened-burger')) {
                    var body = $('body');
                    body.css('overflow', 'hidden');
                }
    
                let targetSubMenus = $('nav.head-menu > div.sub-menu-container > div');
                targetSubMenus.css('display', 'block');
                let submenuContainer = $('nav.head-menu > div.sub-menu-container');
                submenuContainer.removeClass('active');
                submenuContainer.css('display', 'none');
    
                targetSubMenus.each(function() {
                    let subMenu = $( this );
                    let subMenuId = subMenu.attr('id');
                    let parent = $('nav.head-menu > ul > li.'+subMenuId);
                    parent.append(subMenu);
                });
            }
    
            function restoreDesktopSubmenu() {
                var body = $('body');
                body.css('overflow', '');
                let targetSubMenus = $('nav.head-menu > ul > li > div');
                let submenuContainer = $('nav.head-menu > div.sub-menu-container');
                submenuContainer.removeClass('active');
                submenuContainer.css('display', 'block');
                let menuItems = $('nav.head-menu > ul > li');
                menuItems.removeClass('active');
                targetSubMenus.each(function() {
                    let subMenu = $( this );
                    submenuContainer.append(subMenu);
                });
            }
    
            function listburg(subMenuId) {
                let isMobile = $('button.burger').css('display') === 'block';
                if (isMobile) {
                    let targetSubMenu = $('nav.head-menu > ul > li > div.centered-sub#'+subMenuId+' > ul.sub-menu');
                    let isOpen = targetSubMenu.hasClass('open-sub');
                    let subMenus = $('nav.head-menu > ul > li > div.centered-sub > ul.sub-menu');
                    subMenus.removeClass('open-sub');
                    if (!isOpen) {
                        targetSubMenu.addClass('open-sub');
                    }
                }
            }
        </script>
    </head>
    

    ThingsBoard — Open-source IoT (Internet of Things) Platform

    Recherche META Description de la page

    ThingsBoard is an open-source IoT ❰Internet of Things❱ platform for device management ᐉ data collection ᐉ processing and visualization for your IoT projects

    Recherche META Keywords de la page

    UPDATE DOMAINES SET server='cloudflare',redirection='https://thingsboard.io/',Status='200',err='',[TITRE]=N'ThingsBoard — Open-source IoT (Internet of Things) Platform',[DESCRIPTION]=N'ThingsBoard is an open-source IoT ❰Internet of Things❱ platform for device management ᐉ data collection ᐉ processing and visualization for your IoT projects',[KEYWORDS]=N'' WHERE id=34058560
  • 0

    ThingsBoard — Open-source IoT Internet of Things Platform ThingsBoard is an open-source IoT ❰Internet of Things❱ platform for device management ᐉ data collection ᐉ processing and visualization for your IoT projects

  • 0. ThingsBoard (11)
  • --------->0
  • 1. (1)
  • --------->0
  • 2. Open-source (11)
  • --------->0
  • 3. IoT (3)
  • --------->0
  • 5. Internet (8)
  • --------->0
  • 6. of (2)
  • --------->0
  • 7. Things (6)
  • --------->0
  • 9. Platform (8)
  • --------->0
  • 11. is (2)
  • --------->0
  • 12. an (2)
  • --------->0
  • 15. ❰Internet (9)
  • --------->-2147217873 Violation de la contrainte PRIMARY KEY « PK_keywords ». Impossible d'insérer une clé en double dans l'objet « dbo.keywords ». Valeur de clé dupliquée : (❰Internet, 34058560).
  • 17. Things❱ (7)
  • --------->-2147217873 Violation de la contrainte PRIMARY KEY « PK_keywords ». Impossible d'insérer une clé en double dans l'objet « dbo.keywords ». Valeur de clé dupliquée : (Things❱, 34058560).
  • 19. for (3)
  • --------->0
  • 20. device (6)
  • --------->0
  • 21. management (10)
  • --------->0
  • 22. (1)
  • --------->0
  • 23. data (4)
  • --------->0
  • 24. collection (10)
  • --------->0
  • 26. processing (10)
  • --------->0
  • 27. and (3)
  • --------->0
  • 28. visualization (13)
  • --------->0
  • 30. your (4)
  • --------->0
  • 32. projects (8)
  • --------->0
    INSERT INTO KEYWORDS (keyword,id_domaine) VALUES (N'ThingsBoard',34058560),(N'—',34058560),(N'Open-source',34058560),(N'IoT',34058560),(N'Internet',34058560),(N'of',34058560),(N'Things',34058560),(N'Platform',34058560),(N'is',34058560),(N'an',34058560),(N'❰Internet',34058560),(N'Things❱',34058560),(N'for',34058560),(N'device',34058560),(N'management',34058560),(N'ᐉ',34058560),(N'data',34058560),(N'collection',34058560),(N'processing',34058560),(N'and',34058560),(N'visualization',34058560),(N'your',34058560),(N'projects',34058560)