Internet of Everything

Découvrez nos solutions IoT clés en main ainsi que nos solutions IoP de gestion des espaces pour faciliter le quotidien de votre entreprise.

Idéal pour :
Startups PME Grandes entreprises

Qu'est-ce que l'IoE ?

L'Internet of Everything (IoE) est un concept qui englobe la connectivité entre les personnes, les objets, les données et les processus, créant ainsi un écosystème interconnecté et intelligent.

L’accès en temps réel aux données récoltées par les objets et les personnes, permet effectivement d’identifier les axes d’amélioration, créer de la valeur, réduire les coûts et gagner en productivité.

Nos solutions

Internet of Things

Solutions de mesure et capteurs connectés simples à installer et utiliser. Posez les capteurs en toute autonomie, la connectivité est déjà en place puis suivez vos données via l'application à votre disposition.

  • Géolocalisation des assets 
  • Gestion de flotte de véhicules
  • Contrôle de la qualité de l'air 
  • Compteur à eau connecté
  • Gestion des déchets
  • Surveillance de sites distants 
  • Apiculture connectée 

Internet of People

Solutions interconnectées pour comprendre et optimiser l’usage des espaces, faciliter la collaboration et la mobilité.

  • Gestion et réservation de bureaux, parkings et salles de réunion 

  • Gestion et accueil des visiteurs

  • Réservation de ressources

  • Analyse d’occupation

  • Comptage et déplacement des personnes

Une erreur s'est produite lors du traitement du gabarit.
Java method "com.sun.proxy.$Proxy111.getFriendlyURLLayout(long, boolean, String)" threw an exception when invoked on com.sun.proxy.$Proxy111 object "com.liferay.portal.service.impl.LayoutLocalServiceImpl@7aa62365"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: authorPage = layoutLocalService.getFr...  [in template "20102#20129#1341914" at line 32, column 45]
----
1<#assign local = themeDisplay.getLocale() 
2        layouts = themeDisplay.getLayouts() 
3        extendedSeq = [] 
4        finalSeq = [] 
5        assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
6        layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
7<!-- Get the tags from the webcontent and create a new sequence with the string --> 
8<#assign 
9        inputTags = .vars['reserved-article-asset-tag-names'].data 
10        inputTagsSeq = inputTags?split(",")> 
11<#setting locale= local> 
12 
13 
14<#list layouts as mainpage> 
15    <#if mainpage.getFriendlyURL(local) == '/business'> 
16        <#list mainpage.getChildren() as homeSubPages> 
17            <#if homeSubPages.getFriendlyURL(local) == '/business/blog'> 
18                <#list homeSubPages.getChildren() as articlesHomepage> 
19                    <#if articlesHomepage.getFriendlyURL(local) == '/business/blog/articles'> 
20                        <#list articlesHomepage.getChildren() as categoryPages> 
21                            <#list categoryPages.getChildren() as subCategoryPages> 
22                                <#list subCategoryPages.getChildren() as articleElement> 
23                                    <!-- Get the tag for the target article Page --> 
24                                    <#assign plId = articleElement.getPlid() 
25                                            layoutEntry = assetEntryLocalService.fetchEntry("com.liferay.portal.kernel.model.Layout", plId) 
26                                            assetTags = layoutEntry.getTags()> 
27                                    <#assign 
28                                            tagList = [] 
29                                            dateArticle = articleElement.getExpandoBridge().getAttribute('Blog display date from') 
30                                            authorPageUrl = articleElement.getExpandoBridge().getAttribute('Blog author page url') 
31                                            authorTruncatedUrl = "/business" + authorPageUrl?keep_after("/business") 
32                                            authorPage = layoutLocalService.getFriendlyURLLayout(groupId, false, authorTruncatedUrl) 
33                                            authorImage = authorPage.getExpandoBridge().getAttribute('Blog image url') 
34                                            articleImage = articleElement.getExpandoBridge().getAttribute('Blog image url')> 
35                                    <#list assetTags as tag> 
36                                        <#assign  tagList += [tag.name]> 
37                                    </#list> 
38                                    <!-- Insert element in the extendedSeq --> 
39                                    <#assign layoutHash = {"tags": tagList, 
40                                    "friendlyUrl": articleElement.friendlyURL, "articleTitle": articleElement.getHTMLTitle(local), 
41                                    "articleDescription": articleElement.getDescription(local), 
42                                    "date": dateArticle?datetime, "authorFriendlyUrl": authorPage.getRegularURL(request), 
43                                    "authorName": authorPage.getHTMLTitle(local), 
44                                    "authorImage": authorImage, "articleImage": articleImage, 
45                                    "categoryName": categoryPages.getHTMLTitle(local), 
46                                    "categoryUrl": categoryPages.getRegularURL(request), 
47                                    "subCategoryName": subCategoryPages.getHTMLTitle(local), 
48                                    "subCategoryUrl": subCategoryPages.getRegularURL(request)} 
49                                    extendedSeq += [layoutHash] /> 
50                                </#list> 
51                            </#list> 
52                        </#list> 
53                    </#if> 
54                </#list> 
55            </#if> 
56        </#list> 
57    </#if> 
58</#list> 
59 
60<#list extendedSeq?sort_by("date")?reverse as reversedSeq> 
61    <#if finalSeq?size lt 3> 
62        <!-- Boolean to get out of the loop and only add once the element to the final sequence--> 
63        <#assign tagsFound = false> 
64        <#list reversedSeq.tags as tag> 
65            <#if tagsFound != true> 
66                <#list inputTagsSeq as inputTag> 
67                    <#if inputTag == tag> 
68                        <#assign finalSeq += [reversedSeq] 
69                                 tagsFound = true> 
70                        <#break> 
71                    </#if> 
72                </#list> 
73            <#else> 
74                <#break> 
75            </#if> 
76        </#list> 
77    <#else> 
78        <#break> 
79    </#if> 
80</#list> 
81 
82<section class="module module-cards-article" > 
83    <div class="container"> 
84        <div class="row justify-content-center"> 
85            <div class="col-lg-12"> 
86                <div class="title-wrapper"> 
87                    <h3 class="bottom-cut">${Title.getData()}</h3> 
88                </div> 
89 
90                <div class="content-list"> 
91                    <div class="row"> 
92                        <#list finalSeq as articles> 
93                            <div class="col-lg-4"> 
94                                <div class="card card-article card-article-small"> 
95                                    <div class="card-wrapper"> 
96                                        <div> 
97                                            <div class="card-img-wrapper"> 
98                                                <a data-senna-off="true" href="${articles.friendlyUrl}"> 
99                                                    <img src="${articles.articleImage}" class="img-fluid object-fit" alt=""> 
100                                                </a> 
101                                            </div> 
102 
103                                            <div class="card-text-wrapper"> 
104                                                <div class="badge-wrapper"> 
105                                                    <a data-senna-off="true" href="${articles.categoryUrl}" class="badge badge-small badge-blue-business ">${articles.categoryName}</a> 
106                                                    <a data-senna-off="true" href="${articles.subCategoryUrl}" class="badge badge-small badge-blue-business ">${articles.subCategoryName}</a> 
107                                                </div> 
108 
109                                                <h3><a data-senna-off="true" href="${articles.friendlyUrl}">${articles.articleTitle}</a></h3> 
110                                                <p>${articles.articleDescription}</p> 
111                                            </div> 
112                                        </div> 
113                                        <div> 
114                                            <a data-senna-off="true" href="${articles.friendlyUrl}" class="btn btn-link" 
115                                                <#if LinkLabel.LinkAriaLabel?? && 
116                                                    LinkLabel.LinkAriaLabel?has_content && 
117                                                    LinkLabel.LinkAriaLabel.getData()?has_content> 
118                                                    aria-label="${LinkLabel.LinkAriaLabel.getData()}"</#if>> 
119                                                    ${LinkLabel.getData()} <i class="icon-chevron-right"></i> 
120                                            </a> 
121 
122                                            <#if articles.authorImage?? && articles.authorImage?has_content 
123                                                && articles.authorName?? && articles.authorName?has_content 
124                                                && articles.date?? && articles.date?has_content 
125                                                && articles.articleImage?? && articles.articleImage?has_content> 
126                                                <div class="card-details-wrapper"> 
127                                                    <div class="author"> 
128                                                        <div class="author-img-wrapper"> 
129                                                            <img src="${articles.authorImage}" class="img-fluid object-fit" alt=""> 
130                                                        </div> 
131                                                        <div> 
132                                                            <p class="title">${AuthorLabel.getData()}</p> 
133                                                            <a data-senna-off="true" href="${articles.authorFriendlyUrl}" 
134                                                               class="value stretched-link" 
135                                                                    <#if AuthorLabel.AuthorAriaLabel?? && 
136                                                            AuthorLabel.AuthorAriaLabel?has_content && 
137                                                            AuthorLabel.AuthorAriaLabel.getData()?has_content> 
138                                                            aria-label="${AuthorLabel.AuthorAriaLabel.getData()} ${articles.authorName}"</#if>> 
139                                                                ${articles.authorName} 
140                                                            </a> 
141                                                        </div> 
142                                                    </div> 
143                                                    <div class="date"> 
144                                                        <p class="title">${PublicationLabel.getData()}</p> 
145                                                        <p class="value">${articles.date?string["dd MMMM yyyy"]}</p> 
146                                                    </div> 
147                                                </div> 
148                                            </#if> 
149                                        </div> 
150                                    </div> 
151                                </div> 
152                            </div> 
153                        </#list> 
154                    </div> 
155                </div> 
156            </div> 
157        </div> 
158    </div> 
159</section> 

Nos experts répondent à vos questions

Des questions sur un article ? Besoin de conseils pour trouver la solution qui répondra à vos problématiques ICT ?

Vous avez des questions ?

Contactez-nous gratuitement au 8002 4000 ou au +352 2424 4000 depuis l'étranger de lundi à vendredi de 8h à 18h.

Pourquoi POST ?

Découvrez les forces de POST : innovations, certifications, engagements RSE.