Digital transformation | Towards a more sustainable future - Company

HPC_Cloud_Big DATA _1440x480

Digital transformation and big data digitalisation: the step towards a more sustainable future

Data collection and processing are essential practices to interpret and understand everyday life in order to work, communicate and live better. They are the raw materials for industrial digitalisation, for the evolution of the country and to design a sustainable future for the planet.

 

Data, numbers, codes, information, knowledge. With skills, technologies and infrastructure, Leonardo is at the heart of the digital transformation to drive development, security and sustainability through an accurate process of data-driven decision-making.

Focusing on the exploitation of data and the so-called data-driven economy to strengthen the company's core activities, Leonardo is improving its technological and product competitiveness also through the Genoa Hub for Industrial Digitalisation launched on 1 December 2021.

The key to accelerating digitalisation lies in supercomputing: the ability to process huge amounts of data and to do it quickly. Genoa is home to davinci-1, one of the most powerful supercomputers in the Aerospace, Defence and Security sector. The Hub's main competences are:

  • High Performance Computing
  • Cloud
  • Big data
  • Artificial Intelligence
  • Cyber security and cyber resilience
  • Urgent computing
  • Robotics.
An error occurred while processing the template.
The following has evaluated to null or missing:
==> maxWidth  [in template "20115#20151#20291585" at line 63, column 10]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #if maxWidth != "without-margin"  [in template "20115#20151#20291585" at line 63, column 5]
----
1<#assign siteExpandoBridge = themeDisplay.getScopeGroup().getExpandoBridge() /> 
2<#assign new_restyle = (siteExpandoBridge.hasAttribute("new-restyle")?then(getterUtil.getBoolean(siteExpandoBridge.getAttribute("new-restyle", false)),false)) /> 
3<#if new_restyle?? && new_restyle> 
4  <@leonardo.articleInfo .vars "Video Inline Restyled"/> 
5 
6  <#assign journalArticleId = .vars['reserved-article-id'].data> 
7 
8  <#assign 
9  journalArticleId = .vars['reserved-article-id'].data 
10  cantoUrl = "" 
11  autoplay = false 
12  loop = false 
13  controlBar = false 
14  posterImage = "" 
15  caption = "" 
16  author = "" 
17
18 
19 
20  <#if (CantoUrl.getData())?has_content> 
21    <#assign 
22    cantoUrl = CantoUrl.getData() 
23
24  </#if> 
25 
26  <#if CantoUrl.CantoAutoPlay?? && getterUtil.getBoolean(CantoUrl.CantoAutoPlay.getData())> 
27    <#assign 
28    autoplay = true 
29
30  </#if> 
31 
32  <#if CantoUrl.CantoLoop?? && getterUtil.getBoolean(CantoUrl.CantoLoop.getData())> 
33    <#assign 
34    loop = true 
35
36  </#if> 
37 
38  <#if CantoUrl.CantoControlBar?? && getterUtil.getBoolean(CantoUrl.CantoControlBar.getData())> 
39    <#assign 
40    controlBar = true 
41
42  </#if> 
43 
44  <#if PosterImage.getData()?? && PosterImage.getData() != ""> 
45    <#assign 
46    posterImage = PosterImage.getData() 
47
48  </#if> 
49 
50  <#if Caption?? && Caption.getData() != ""> 
51    <#assign caption = Caption.getData() /> 
52  </#if> 
53  <#if Author?? && Author.getData() != ""> 
54    <#assign author = Author.getData() /> 
55  </#if> 
56  <#if MaxWidth?? && MaxWidth.getData() != ""> 
57    <#assign maxWidth = MaxWidth.getData() /> 
58  </#if> 
59 
60 
61  <#if cantoUrl!= ''> 
62 
63    <#if maxWidth != "without-margin"> 
64        <#assign scalingDetails = { 
65        "desktop": {"alternateImage": {}, "key": "w_944"}, 
66        "tl": {"alternateImage": PosterImage!, "key": "w_944"}, 
67        "tp": {"alternateImage": PosterImage!, "key": "w_720"}, 
68        "mobile": {"alternateImage": PosterImage!, "key": "w_596"} 
69        }> 
70    <#else> 
71        <#assign scalingDetails = { 
72        "desktop": {"alternateImage": {}, "key": "w_1440"}, 
73        "tl": {"alternateImage": PosterImage!, "key": "w_1120"}, 
74        "tp": {"alternateImage": PosterImage!, "key": "w_768"}, 
75        "mobile": {"alternateImage": PosterImage!, "key": "w_596"} 
76        }> 
77    </#if> 
78    <#assign posterImg = leonardo.adaptImage(PosterImage!, scalingDetails )> 
79 
80    <div class="container-full-width pagination-flex padding-block"> 
81      <div class="component-with-title <#if maxWidth != "without-margin">container tight<#else>video-big</#if>"> 
82        <div class="<#if maxWidth != "without-margin"> video-full-width-container-rounded video-inline-wrapper </#if> <#if (!controlBar && autoplay)>no-pause</#if> video-inline-wrapper-${.vars['reserved-article-id'].data}"> 
83 
84          <button 
85              class="video-full-width" 
86              title="play video" 
87              onclick="playSingleVideo(this)" 
88              data-video="${cantoUrl}" 
89
90            <div class="cover <#if maxWidth != "without-margin"> rounded-20</#if>"> 
91              <#if PosterImage.getData() !=''> 
92                <picture class="video-card-picture"> 
93                    <source 
94                            srcset="${posterImg.mobile?replace(" ", "%20")!}" 
95                            media="(max-width: 576px)" 
96
97                    <source 
98                            srcset="${posterImg.tablet_portrait?replace(" ", "%20")!}" 
99                            media="(max-width: 768px)" 
100
101                    <source 
102                            srcset="${posterImg.tablet_landscape?replace(" ", "%20")!}" 
103                            media="(max-width: 1024px)" 
104
105                  <img class="img-fluid" src="${posterImg.desktop?replace(" ", "%20")!}" alt="cover-video"> 
106                </picture> 
107              </#if> 
108              <div class="btn-play"> 
109                <img class="icon" src="${themeDisplay.getPathThemeImages()}/img/generic/button-play.svg" alt="play"> 
110                <img class="icon-hover" src="${themeDisplay.getPathThemeImages()}/img/generic/button-play-hover.svg" alt="play"> 
111              </div> 
112            </div> 
113          </button> 
114        </div> 
115        <#if caption != ""> 
116          <div class="description-label text-center"> 
117            ${caption} <#if (author != "")>${author}</#if> 
118          </div> 
119        </#if> 
120      </div> 
121    </div> 
122  </#if> 
123<#else> 
124  <@leonardo.articleInfo .vars "Video Inline"/> 
125 
126  <#assign journalArticleId = .vars['reserved-article-id'].data> 
127 
128  <#assign 
129      journalArticleId = .vars['reserved-article-id'].data 
130      cantoUrl = "" 
131      autoplay = false 
132      loop = false 
133      controlBar = false 
134      posterImage = "" 
135      maxWidthClass = "" 
136      maxWidthPixel = "" 
137      verticalSpacePixel = "" 
138      horizontalSpacePixel = "" 
139      alignmentClass = "" 
140      caption = "" 
141      author = "" 
142
143 
144 
145  <#if (CantoUrl.getData())?has_content> 
146      <#assign 
147      cantoUrl = CantoUrl.getData() 
148
149  </#if> 
150 
151  <#if CantoUrl.CantoAutoPlay?? && getterUtil.getBoolean(CantoUrl.CantoAutoPlay.getData())> 
152    <#assign 
153      autoplay = true 
154
155  </#if> 
156 
157  <#if CantoUrl.CantoLoop?? && getterUtil.getBoolean(CantoUrl.CantoLoop.getData())> 
158    <#assign 
159      loop = true 
160
161  </#if> 
162 
163  <#if CantoUrl.CantoControlBar?? && getterUtil.getBoolean(CantoUrl.CantoControlBar.getData())> 
164    <#assign 
165      controlBar = true 
166
167  </#if> 
168 
169  <#if PosterImage.getData()?? && PosterImage.getData() != ""> 
170    <#assign 
171      posterImage = PosterImage.getData() 
172
173  </#if> 
174 
175 
176  <#if MaxWidth?? && MaxWidth.getData() != ""> 
177      <#assign maxWidthClass = MaxWidth.getData() /> 
178  </#if> 
179  <#if MaxWidthPixel?? && MaxWidthPixel.getData() != ""> 
180      <#assign maxWidthPixel = MaxWidthPixel.getData() /> 
181  </#if> 
182  <#if VerticalSpace?? && VerticalSpace.getData() != ""> 
183      <#assign verticalSpacePixel = VerticalSpace.getData() /> 
184  </#if> 
185  <#if HorizontalSpace?? && HorizontalSpace.getData() != ""> 
186      <#assign horizontalSpacePixel = HorizontalSpace.getData() /> 
187  </#if> 
188  <#if Alignment?? && Alignment.getData() != ""> 
189      <#assign alignmentClass = Alignment.getData() /> 
190  </#if> 
191 
192  <#if Caption?? && Caption.getData() != ""> 
193      <#assign caption = Caption.getData() /> 
194  </#if> 
195  <#if Author?? && Author.getData() != ""> 
196      <#assign author = Author.getData() /> 
197  </#if> 
198 
199 
200 
201  <#if cantoUrl!= ''> 
202 
203      <#assign scalingDetails = { 
204              "desktop": {"alternateImage": {}, "key": "w_1440"}, 
205              "tl": {"alternateImage": PosterImage!, "key": "h_703"}, 
206              "tp": {"alternateImage": PosterImage!, "key": "h_959"}, 
207              "mobile": {"alternateImage": PosterImage!, "key": "h_602"} 
208      }> 
209      <#assign posterImg = leonardo.adaptImage(PosterImage!, scalingDetails )> 
210 
211      <div class="video-inline-wrapper <#if (!controlBar && autoplay)>no-pause</#if> video-inline-wrapper-${.vars['reserved-article-id'].data}  <#if maxWidthPixel == "" && horizontalSpacePixel == "">${maxWidthClass?html}</#if> ${alignmentClass?html}"> 
212          <video id="video-${journalArticleId}" 
213                  data-video-url="${cantoUrl}" 
214                  data-video-autoplay="<#if autoplay>1<#else>0</#if>" 
215                  data-video-loop="<#if loop>1<#else>0</#if>" 
216                  data-video-controls="<#if controlBar>1<#else>0</#if>" 
217                  <#if autoplay>autoplay muted</#if> 
218                  <#if loop>loop</#if> 
219                  <#if controlBar>controls</#if> 
220                  <#if posterImage!="">poster="${posterImage}"</#if> 
221                  preload="auto" 
222                  width="100%" 
223                  height="100%"> 
224          </video> 
225          <#if (!autoplay)> 
226              <a class="leo-video--play" href="javascript:void(0)" title="Play"></a> 
227          </#if> 
228      </div> 
229      <#if ((caption != "") || (author != ""))> 
230          <div class="video-inline-caption-wrapper"> 
231              ${caption}<#if (author != "")><span class="general-author">${author}</span></#if> 
232          </div> 
233      </#if> 
234 
235 
236      <style type="text/css"> 
237          <#if maxWidthPixel != ""> 
238              html.leo18.dark-theme body #wrapper.leonardocompany .video-inline-wrapper-${.vars['reserved-article-id'].data} { 
239                  max-width: ${maxWidthPixel?html}px; 
240
241          </#if> 
242          <#if verticalSpacePixel != ""> 
243              html.leo18.dark-theme body #wrapper.leonardocompany .video-inline-wrapper-${.vars['reserved-article-id'].data} { 
244                  padding-bottom: ${verticalSpacePixel?html}px; 
245                  padding-top: ${verticalSpacePixel?html}px; 
246
247          </#if> 
248          <#if horizontalSpacePixel != ""> 
249              html.leo18.dark-theme body #wrapper.leonardocompany .video-inline-wrapper-${.vars['reserved-article-id'].data} { 
250                  padding-left: ${horizontalSpacePixel?html}px; 
251                  padding-right: ${horizontalSpacePixel?html}px; 
252
253          </#if> 
254      </style> 
255 
256  </#if> 
257</#if> 
Search overlay background

Mobile navigation menu