Financial highlights
Ultima quotazione 57,98€
Variazione -2,06%
24/03/2026 - 17:39
data source: Investis Digital
Financial highlights
Ultima quotazione 57,98€
Variazione -2,06%
24/03/2026 - 17:39
data source: Investis Digital
Financial Results & Reports
Press releases
La raccolta e l’elaborazione dei dati sono pratiche essenziali per interpretare e comprendere la vita di tutti i giorni al fine di lavorare, comunicare e vivere meglio. Sono materia prima per la digitalizzazione industriale, per l’evoluzione del Paese e per progettare il futuro sostenibile del Pianeta.
Dati, numeri, codici, informazioni, conoscenza. Con competenze, tecnologie e infrastrutture Leonardo è al centro della trasformazione digitale per guidare sviluppo, sicurezza e sostenibilità attraverso un accurato processo di data driven decision making.
Puntando sulla valorizzazione del dato e la cosìddetta data-driven economy per rafforzare le attività core dell’azienda, Leonardo sta perfezionando la propria competitività tecnologica e di prodotto anche attraverso il Polo di Genova per la digitalizzazione industriale lanciato lo scorso primo dicembre 2021.
La chiave per accelerare verso la digitalizzazione è nel supercalcolo, ossia la capacità di elaborare grandissime quantità di dati e farlo rapidamente. A Genova è operativo il davinci-1, uno dei supercomputer più potenti nel settore Aerospazio, Difesa e Sicurezza. Le principali competenze del Polo sono le seguenti:
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>
2026-03-24T19:05:07Z
cookie_disclaimer:true
page_disclaimer :false