Agrégateur de contenus

Une erreur s'est produite lors du traitement du modèle.
The following has evaluated to null or missing:
==> data.meta [in template "252001#252047#252845" at line 459, column 10]
----
Tip: It's the step after the last dot that caused this error, not those before it.
----
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 data.meta.laufendenummer?has_cont... [in template "252001#252047#252845" at line 459, column 5]
----
1<#-- used @ Veranstaltung-Detailseite Intro 
2 used @ Publikation-Detailseite Intro 
3--> 
4 
5<#-- 
6Web content templates to display teaser on thema detail page 
7 
8Generic template for detail pages Intro / Teaser element 
9--> 
10<#-- 
11Display the current page title 
12--> 
13<#include "${fullTemplatesPath}/functions/relatedContentUtil.ftl" /> 
14<#include "${fullTemplatesPath}/macros/debugging.ftl" /> 
15 
16<#include "${fullTemplatesPath}/macros/page-modules/PMIntro.ftl" /> 
17<#include "${fullTemplatesPath}/macros/atomic-modules/AMPublicationCarousel.ftl" /> 
18<#include "${fullTemplatesPath}/macros/atomic-modules/AMMetadata.ftl" /> 
19<#include "${fullTemplatesPath}/macros/atomic-modules/AMDatetime.ftl" /> 
20 
21 
22<#-- 
23 renders the Intro for nearly all Pages 
24 TODO: remove Share? (was in the designs, but not anymore?) 
25 TODO: check if languageSelect/filter are working (js) 
26 
27 - portletId 
28 - data = { 
29 "media": string (src from image), 
30 "category": string, 
31 "title": string, 
32 "author": string, 
33 "subheadline": string, 
34 "copy": string, 
35 "filter": { 
36 "id": string, 
37 "name": string, 
38 "entries": Array<Object> ({key:value}), 
39 }, 
40 "languageSelect": { 
41 "id": string, 
42 "name": string, 
43 "entries": Array<Object> ({key:value}), 
44 }, 
45 "meta": { 
46 "pos"; string (top/bottom) 
47 "date": string, 
48 "hash": string, 
49 "info": string, (url) 
50 }, 
51 "share" : { 
52 "login": string, 
53 "print": string, 
54 "mail": string, 
55 "multishare": string?? (tbd) 
56
57 - AMMetadata: macro 
58 - position: String ("top") -> defines wether the meta-data should be rendered above or below the intro-content 
59
60--> 
61 
62<#assign 
63 JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
64 
65 ServiceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext() 
66 DLAPP = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService") 
67 
68 themeDisplay = ServiceContext.getThemeDisplay() 
69 editmode = FrontendService.user.isPrivilegedUser(themeDisplay) 
70 
71 languageId = themeDisplay.getLocale() 
72 groupId = themeDisplay.getScopeGroupId() 
73 currentUrl = themeDisplay.getURLCurrent() 
74 
75 layout = themeDisplay.getLayout() 
76 layouttpl = layout.getTypeSettingsProperties().getProperty("layout-template-id") 
77/> 
78 
79<#setting locale="${languageId}"> 
80 
81<#-- get article from url --> 
82 
83<#assign entry = FrontendService.article.getArticleToUrl(currentUrl, groupId?number)! > 
84 
85 
86<#if entry?has_content> 
87 
88 <#if entry.resourcePrimKey??> 
89 <#assign primaryKey = entry.resourcePrimKey?number > 
90 <#elseif entry.classPK??> 
91 <#assign primaryKey = entry.classPK?number > 
92 </#if> 
93 
94 <#assign 
95 jsonString = FrontendService.article.getWebcontent(primaryKey) 
96 json = FrontendService.json.parseAsJson(jsonString) 
97 
98 title = entry.getTitle(languageId) 
99 data = { 
100 "title": title 
101
102 /> 
103 <@debugJsonString jsonString "ADT_KASDE_DYNAMIC_INTRO" /> 
104 
105 <#if hasContent('untertitel', languageId, json)> 
106 <#assign data = data + { "subheadline": getValueForLanguage('untertitel', languageId, json, "first") } > 
107 </#if> 
108 
109 <#if hasContent('beschreibung', languageId, json)> 
110 <#assign data = data + { "copy": getValueForLanguage('beschreibung', languageId, json, "first") } > 
111 </#if> 
112 
113 <#-- fill meta data --> 
114 <#assign meta = {} /> 
115 
116 <#-- PUBLIKATIONEN DETAIL --> 
117 <#if layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")> 
118 
119 <#if hasContent('coverDMTKASDEMEDIUM', languageId, json)> 
120 <#assign 
121 coverBildString = getValueForLanguage('coverDMTKASDEMEDIUM', languageId, json, "first") 
122 /> 
123 
124 <#if coverBildString?has_content> 
125 <#assign 
126 coverBild = FrontendService.json.parseAsJson(coverBildString) 
127 dMTJsonObject = FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale ) 
128 linkToDMT = FrontendService.media.getImageURLForAMConfiguration('hd-resolution',coverBild.groupId?number, coverBild.uuid ) 
129 data = data + { "media": linkToDMT, "meta" : dMTJsonObject } 
130 /> 
131 <#if dMTJsonObject.altText?? > 
132 <#assign data = data + {"alt" : dMTJsonObject.altText} /> 
133 </#if> 
134 <#if dMTJsonObject.quelle??> 
135 <#assign meta = meta + { "quelle": dMTJsonObject.quelle } /> 
136 </#if> 
137 </#if> 
138 <#-- uncomment to display pdf cover as Intro Image 
139 <#elseif hasContent('document_pdfDMTBASICDOCUMENT', languageId, json)> 
140 <#assign 
141 pdfDocument = getValueForLanguage('document_pdfDMTBASICDOCUMENT', languageId, json, "first") 
142 fileEntry = FrontendService.media.getFileEntry(pdfDocument.uuid, groupId?number)!/> 
143 <#if fileEntry?has_content> 
144 <#assign 
145 linkToThumbnail = FrontendService.link.getThumbnailSrc(fileEntry , themeDisplay) 
146 data = data + { "media": linkToThumbnail } 
147 /> 
148 </#if> 
149 --> 
150 </#if> 
151 
152 <#assign 
153 meta = meta + { "orderInfo": "true" } 
154 verbundJournalArticle = FrontendService.publication.getVerbundToPublikation( entry )!"" 
155 /> 
156 
157 
158 
159 <#if hasContent('erscheinungsdatum', languageId, json)> 
160 <#assign 
161 erscheinungsdatum = getValueForLanguage('erscheinungsdatum', languageId, json, "first") 
162 /> 
163 <#if erscheinungsdatum?has_content > 
164 <#assign 
165 erscheinungsdatumFormatted = FrontendService.date.getDateFormatLong( erscheinungsdatum, languageId ) 
166 meta = meta + { "date": erscheinungsdatumFormatted } 
167 /> 
168 </#if> 
169 </#if> 
170 
171 <#if verbundJournalArticle?has_content> 
172 <#assign 
173 verbundJsonString = FrontendService.article.getWebcontent(verbundJournalArticle.resourcePrimKey) 
174 verbundJson = FrontendService.json.parseAsJson(verbundJsonString) 
175 laufendenummer = getValueForLanguage('laufendenummer', languageId, verbundJson, "first") 
176 coverImg = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, verbundJson, "first") 
177 /> 
178 <@debugJsonString verbundJsonString "ADT_KASDE_DYNAMIC_INTRO-verbundJournalArticle" /> 
179 <#assign meta = meta + { "laufendenummer": laufendenummer } > 
180 
181 <#if coverImg?has_content && coverImg.url?has_content > 
182 <#assign meta = meta + { "coverImg": coverImg.url } > 
183 </#if> 
184 </#if> 
185 
186 
187 <#if meta?has_content> 
188 <#assign data = data + {"meta": meta } > 
189 </#if> 
190 
191 </#if> 
192 <#-- PUBLIKATIONEN DETAIL END --> 
193 
194 
195 <#-- VERANSTALTUNGEN DETAIL --> 
196 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")> 
197 <#assign 
198 friendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, languageId, groupId)!"" 
199 languages = entry.getAvailableLanguageIds() 
200 links = [] 
201 /> 
202 <#if languages?has_content && friendlyUrl?has_content> 
203 <#if (languages?size > 1) > 
204 <#list languages as language> 
205 <#assign 
206 defaultLanguage = "de_DE" 
207 defaultLocale = FrontendService.language.getLocaleByKey(defaultLanguage) 
208 linkLocale = (FrontendService.language.getLocaleByKey(language))!defaultLocale 
209 langFriendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, linkLocale, groupId) 
210 
211 link = { 
212 "key": language!defaultLanguage, 
213 "value": linkLocale.getDisplayLanguage(languageId), 
214 "url": "/c/portal/update_language?p_l_id=" + 
215 layout.plid + "&redirect=" + langFriendlyUrl + 
216 "&languageId=" + language 
217
218 /> 
219 <#if language == languageId> 
220 <#assign link = link + { "selected": "true" } > 
221 </#if> 
222 <#assign links = links + [link]> 
223 </#list> 
224 <#assign 
225 data = data + { 
226 "languageSelect": { 
227 "id": "languageSelectRedirect", 
228 "name": "languageselectRedirect", 
229 "entries": links, 
230 "label": languageUtil.get(languageId, "diese.veranstaltung.ist.in.weiteren.sprachen.verfuegbar") 
231
232
233 /> 
234 </#if> 
235 </#if> 
236 </#if> 
237 
238 <#if hasContent('erscheinungsdatum', languageId, json)> 
239 <#assign 
240 startdate = getValueForLanguage('erscheinungsdatum', languageId, json, "first") 
241 meta = meta + { "start": startdate?date.iso, "end": "" } 
242 /> 
243 </#if> 
244 
245 <#if hasContent('startdatum', languageId, json)> 
246 <#assign 
247 startdate = getValueForLanguage('startdatum', languageId, json, "first") 
248 meta = meta + { "start": startdate?date.iso, "end": "" } 
249 /> 
250 </#if> 
251 
252 <#if hasValue('einfuehrungText', locale, json)> 
253 <#assign data = data + { "einfuehrungText" : getValueForLanguage('einfuehrungText', locale, json, "first") } > 
254 <#elseif hasValue(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first")> 
255 <#assign data = data + { "einfuehrungText" : getValueForLanguage(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first") } > 
256 </#if> 
257 
258 <#if hasContent('endedatum', languageId, json)> 
259 <#assign 
260 enddate = getValueForLanguage('endedatum', languageId, json, "first") 
261 meta = meta + { "end": enddate?date.iso } 
262 /> 
263 </#if> 
264 
265 <#if hasContent('startzeit', languageId, json)> 
266 <#assign 
267 startzeit = getValueForLanguage('startzeit', languageId, json, "first") 
268 /> 
269 <#if startzeit?has_content > 
270 <#assign meta = meta + { "startzeit": startzeit } /> 
271 </#if> 
272 </#if> 
273 
274 <#if hasContent('endezeit', languageId, json)> 
275 <#assign 
276 endezeit = getValueForLanguage('endezeit', languageId, json, "first") 
277 meta = meta + { "endezeit": endezeit } 
278 /> 
279 </#if> 
280 
281 <#if hasContent('ortWCSKASDEORT', languageId, json)> 
282 <#assign 
283 ortWCSKASDEORT = FrontendService.json.parseAsJson(getValueForLanguage('ortWCSKASDEORT', languageId, json, "first")) 
284 ortWCSKASDEORTPrimaryKey = ortWCSKASDEORT.classPK?number 
285 ortWCSKASDEORTWebContent = FrontendService.article.getWebcontentByPk(ortWCSKASDEORTPrimaryKey)!"" 
286 /> 
287 <#if ortWCSKASDEORTWebContent?has_content > 
288 <#assign 
289 ortWCSKASDEORTTitle = ortWCSKASDEORTWebContent.getTitle(languageId)!"" 
290 /> 
291 <#if ortWCSKASDEORTTitle?has_content > 
292 <#assign 
293 meta = meta + { "ortWCSKASDEORT": ortWCSKASDEORTTitle } 
294 /> 
295 </#if> 
296 </#if> 
297 </#if> 
298 
299 
300 <#if hasContent('veranstaltungsnummer', languageId, json)> 
301 <#assign 
302 verauuid = getValueForLanguage('veranstaltungsnummer', languageId, json, "first") 
303 meta = meta + { "verauuid": verauuid } 
304 /> 
305 </#if> 
306 
307 
308 <#if (data.meta)?has_content > 
309 <#assign meta = data.meta /> 
310 </#if> 
311 
312 <#if !(data.media)?has_content && hasContent('mediumDMTKASDEMEDIUM', languageId, json)> 
313 <#assign 
314 medium = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, json, "first") 
315 mediaData = getRelatedMediaObject(medium, themeDisplay, languageId, FrontendService, "hd-resolution") 
316 /> 
317 <#assign data = data + { "media": mediaData.url , "meta" : mediaData.meta} > 
318 
319 
320 <#if mediaData.meta?? && mediaData.meta.quelle??> 
321 <#assign meta = meta + data.meta + { "quelle": mediaData.meta.quelle } /> 
322 </#if> 
323 </#if> 
324 
325 
326 <#if meta?has_content> 
327 <#assign data = data + {"meta": meta } > 
328 </#if> 
329 
330 <#-- END fill meta data --> 
331 
332 <#if hasContentForSequence('autorenWCSKASDEPERSON', languageId, json)> 
333 <#assign 
334 journalArticles = getValueForLanguageAnsprechpartner('autorenWCSKASDEPERSON', languageId, json) 
335 authors = [] 
336 /> 
337 <#list journalArticles as articleString> 
338 <#assign article = FrontendService.json.parseAsJson(articleString) /> 
339 <#if article?has_content && article?is_hash && article.classPK??> 
340 <#assign articleDereferenced = FrontendService.person.resolveContactInstanceToPerson(article, languageId)!"" /> 
341 <#if articleDereferenced?has_content > 
342 <#assign 
343 author = "" 
344 articlePrimaryKey = articleDereferenced.classPK?number 
345 articleJsonString = FrontendService.article.getWebcontent(articlePrimaryKey) 
346 articleJson = FrontendService.json.parseAsJson(articleJsonString) 
347 /> 
348 <@debugJsonString articleJsonString "ADT_KASDE_DYNAMIC_INTRO-autorenWCSKASDEPERSON" /> 
349 <#if hasValue('anredetitel', languageId, articleJson)> 
350 <#assign author = author + getValueForLanguage('anredetitel', languageId, articleJson, " ") + " "> 
351 </#if> 
352 <#if hasValue('vorname', languageId, articleJson)> 
353 <#assign author = author + getValueForLanguage('vorname', languageId, articleJson, " ") + " "> 
354 </#if> 
355 <#if hasValue('nachname', languageId, articleJson)> 
356 <#assign author = author + getValueForLanguage('nachname', languageId, articleJson, " ") + " "> 
357 </#if> 
358 
359 <#attempt> 
360 <#assign href = FrontendService.article.getFriendlyUrl(articlePrimaryKey, languageId, groupId)!"#" > 
361 <#recover> 
362 <#assign href = "#" > 
363 </#attempt> 
364 <#if href?has_content && href != "#" && href != "/_404"> 
365 <#assign author = '<a href="' + href + '">' + author?trim + '</a>'> 
366 </#if> 
367 
368 <#assign authors = authors + [author?trim]> 
369 </#if> 
370 </#if> 
371 </#list> 
372 <#if authors?has_content> 
373 <#assign data = data + { "author": authors?join(", ") } > 
374 </#if> 
375 </#if> 
376 
377 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL") > 
378 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "VERANSTALTUNGSTYP")! > 
379 <#if categories?has_content && categories[0]?has_content > 
380 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
381 </#if> 
382 
383 <#if hasContent('ausgebucht', languageId, json)> 
384 <#assign data = data + { "ausgebucht" : getValueForLanguage('ausgebucht', languageId, json, "first") }> 
385 </#if> 
386 
387 <#if hasContent('storniert', languageId, json)> 
388 <#assign data = data + { "storniert" : getValueForLanguage('storniert', languageId, json, "first") }> 
389 </#if> 
390 
391 <#elseif layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL") > 
392 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "PUBLIKATIONSREIHE")! > 
393 <#if categories?has_content && categories[0]?has_content > 
394 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
395 </#if> 
396 <#else> 
397 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "THEMA")! > 
398 <#if categories?has_content && categories[0]?has_content > 
399 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
400 </#if> 
401 </#if> 
402 
403 
404 <#assign 
405 languages = [] 
406 /> 
407 
408 <#attempt> 
409 <#if json["document_pdfDMTBASICDOCUMENT"]?? > 
410 <#list json["document_pdfDMTBASICDOCUMENT"]?keys as pdf_language> 
411 <#if pdf_language?has_content > 
412 <#assign 
413 docRefJson = getValueForLanguage('document_pdfDMTBASICDOCUMENT', pdf_language, json, "first") 
414 docRef = FrontendService.json.parseAsJson(docRefJson) 
415 /> 
416 <#if docRef?is_hash && pdf_language != languageId > 
417 <#assign 
418 lang = FrontendService.language.getLocaleByKey(pdf_language)!"" 
419 docGroupId = docRef["groupId"]?number 
420 docUuid = docRef["uuid"] 
421 dMTJsonObject = FrontendService.media.getDMTJsonObject( docGroupId, docUuid, locale ) 
422 dMTLink = FrontendService.media.getLinkToDMT( dMTJsonObject ) 
423 /> 
424 <#if lang?has_content> 
425 <#assign 
426 languages = languages + [ 
427
428 "key": pdf_language, 
429 "value": FrontendService.language.getLocaleByKey(pdf_language).getDisplayLanguage(), 
430 "url": dMTLink 
431 }] 
432 /> 
433 </#if> 
434 </#if> 
435 </#if> 
436 </#list> 
437 </#if> 
438 <#recover> 
439 </#attempt> 
440 
441 <#if (languages?size > 0)> 
442 <#attempt> 
443 <#assign 
444 data = data + { "languageSelect": { 
445 "id": "languageSelect", 
446 "name": "languageselect", 
447 "entries": languages, 
448 "documents": "", 
449 "button": "true" 
450 }} 
451 /> 
452 <#recover> 
453 </#attempt> 
454 </#if> 
455 
456 <@PMIntro "ADT_KASDE_DYNAMIC_INTRO" data AMMetadata AMDatetime "bottom" /> 
457 ${FrontendService.article.getEditArticleHtml(primaryKey, themeDisplay)} 
458 
459 <#if data.meta.laufendenummer?has_content !isACColorScheme() && !isVLCColorScheme() && !isDPMColorScheme()> 
460 <div>  
461 <div id="publicationVerbundPagination"> 
462 <@AMPublicationCarousel data.meta.laufendenummer data.meta.date data.meta.coverImg /> 
463 </div> 
464 </div> 
465 </#if> 
466 
467<#elseif (editmode?? && editmode)> 
468 <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_DYNAMIC_INTRO" layouttpl currentUrl /> 
469</#if> 

Agrégateur de contenus

Si vous avez manqué la discussion, vous pouvez la regarder sur notre chaîne YouTube

 

Rapport : La zone de libre-échange continentale africaine (Zleca) est entrée en vigueur le 30 mai 2019. Les échanges commerciaux ont commencé le 1er janvier 2021. À ce jour, 43 des 55 États membres de l'UA ont ratifié l'accord. Pour des informations détaillées sur le statut de l'AfCFTA, veuillez lire notre dossier politique.

Le 16 juin 2022, le Bureau de la KAS en Éthiopie/UA et la Commission économique des Nations Unies pour l'Afrique (UNECA) ont organisé conjointement un débat de haut niveau à Addis-Abeba sur le thème "The AfCFTA and the Private Sector. Realizing Africa's Full Potential". L'événement a réuni les principales parties prenantes de la Commission de l'UA, des Communautés économiques régionales, des États membres de l'UA, des entrepreneurs et des associations d'entreprises. Une centaine d'invités ont assisté à l'événement à Addis-Abeba et plus de 100 ont suivi en ligne via un flux en direct.

 

Dans son discours d'ouverture, le Secrétaire exécutif adjoint de la CEA, Antonio Pedro, a souhaité la bienvenue aux participants. M. Pedro a déclaré que le panel aidera à évaluer les progrès de l'AfCFTA et l'inclusion du secteur privé : "Les stratégies nationales de mise en œuvre de l'AfCFTA en cours d'élaboration par plusieurs pays avec le soutien de la CEA, soulignent l'importance d'une mise en œuvre inclusive de l'AfCFTA par un engagement accru du secteur privé, y compris des petites et moyennes entreprises (PME) ainsi que des femmes et des jeunes." M. Pedro a également parlé de l'indice des affaires par pays de l'AfCFTA (ACBI), qui est un outil principal et innovant pour saisir l'opinion du secteur privé sur la mise en œuvre de l'accord et fournit des informations utiles sur les défis commerciaux auxquels sont confrontés les femmes commerçantes et les petites entreprises.

Dans son discours d'ouverture, le Représentant Résident de la KAS Benno Müchler, a déclaré que l'AfCFTA est potentiellement la plus grande promesse pour les citoyens du continent africain et ses générations futures. Il reste de nombreux défis à relever, a déclaré M. Müchler : "D'après mes observations, je pense que la question de la "confiance" entre les États membres de l'UA est à la base de nombre d'entre eux. Si l'on pense, par exemple, au protocole pour la libre circulation des personnes en Afrique, qui n'a été ratifié que par quatre États membres à ce jour." L'implication du secteur privé sera cruciale pour le succès de l'AfCFTA. Il a déclaré que le gouvernement allemand avait fait beaucoup ces dernières années pour promouvoir le commerce et la croissance économique en Afrique. Il a poursuivi en disant qu'en tant que fondation politique allemande ayant plus de 20 bureaux en Afrique, la KAS comprend bien l'importance des investissements directs étrangers, le potentiel économique de l'Afrique et les nombreuses opportunités que l'Afrique a à offrir. Il a partagé l'espoir que la croissance du commerce entre l'Afrique et le monde dans le cadre de l'AfCFTA conduira à davantage de valeur ajoutée et de création d'emplois sur le continent.

Dans son discours d'ouverture, Endalew Mekonnen, Ministre d'État au Ministère du commerce et de l'intégration régionale (MoTRI) de la République fédérale démocratique d'Éthiopie, a remercié la KAS et la CEA d'avoir organisé cet événement. Il a souligné que l'Éthiopie est le deuxième plus grand pays d'Afrique en termes de population, avec 60 % de jeunes de moins de 25 ans, ce qui représente un grand potentiel pour le commerce et l'investissement. Le gouvernement éthiopien a procédé à des réformes essentielles dans le secteur privé afin de créer davantage d'opportunités d'emploi. Il a souligné le Homegrown Economic Reform Agenda qui vise à libérer le potentiel économique du pays en créant plus d'emplois, une croissance inclusive, la réduction de la pauvreté, l'innovation et l'industrialisation. Comme l'a dit le Ministre d'État, l'Éthiopie a l'ambition de devenir rien de moins que le "phare de la prospérité" de l'Afrique d'ici 2030. Le Ministre d'État a noté l'"engagement indéfectible" de l'Éthiopie envers l'AfCFTA et l'importance primordiale de la zone de libre-échange pour l'Afrique dans son ensemble : "Nous sommes fermement convaincus que le renforcement de nos relations commerciales au sein de l'Afrique par le biais de l'AfCFTA est très critique, non seulement en raison du volume des échanges, mais aussi pour atteindre l'objectif du mouvement panafricain dans le cadre de la création d'une Afrique forte et unie." Les sept principales destinations des exportations éthiopiennes en 2021 étaient la Somalie, les Pays-Bas, les États-Unis, l'Arabie saoudite, les Émirats arabes unis, l'Allemagne et Djibouti.

 

Le premier panel s'est déroulé sous le thème "Potentiel pour un plus grand engagement du secteur privé" et a réuni : Chiza Charles Chiumya, Directeur pour l'industrie, les mines et l'entreprenariat à la Commission de l'UA ; le Dr Osman Babikir, Directeur ppour la coopération économique à l'IGAD, qui a participé virtuellement depuis le Kenya ; Christoph Kannengießer, PDG de l'Association Économique Germano-Africaine (Afrika-Verein) ; et Kebour Ghenna, Directeur exécutif de la Chambre panafricaine de commerce et d'industrie (PACCI). Le panel était modéré par le Prof. Melaku Desta, Coordinateur du Centre africain de politique commerciale (ATPC) de la CEA.

 

Charles Chiumya, Directeur pour l'industrie, les mines et l'entrepreneuriat au Département du développement économique, du commerce, de l'industrie et des mines (ETIM) de la Commission de l'UA, a déclaré que l'AfCFTA n'est avant tout qu'un document. "Nous devons donner vie à ce document". Il a indiqué qu'il y a deux défis majeurs qui empêchent de faire des affaires en Afrique : la taille du marché et les multiples règles pratiquées pour régir le commerce sur le continent. Afin de mieux intégrer le secteur privé, les gouvernements des États membres de l'UA devraient envisager de travailler sur la sensibilisation aux opportunités et s'assurer que les politiques et les négociations sont pleinement mises en œuvre pour le secteur privé, car le secteur est l'utilisateur final de ces politiques. Pour le secteur privé, M. Chiumya a déclaré qu'il fallait fournir beaucoup plus d'informations commerciales. D'une manière générale, le secteur privé doit également être mieux organisé.

Le Dr Osman Babikir, Directeur de la Division de la coopération économique et de l'intégration régionale de l'IGAD, a souligné les initiatives prises par son organisation pour contribuer à la mise en œuvre réussie de l'AfCFTA et soutenir le secteur privé. Pour améliorer l'intégration régionale, l'IGAD se concentre sur huit piliers : la dimension institutionnelle, la dimension politique, les infrastructures, la société, le commerce, l'environnement et la jeunesse. Il a souligné que l'amélioration des infrastructures africaines sera cruciale pour le succès de l'AfCFTA. Dans ce domaine, l'IGAD a développé une stratégie qui se concentre sur les secteurs de l'énergie, du transport, de l'eau et des TIC.

Christoph Kannengießer, PDG de l'Association Économique Germano-Africaine (Afrika-Verein), a commencé par dire qu'il souhaitait encourager les États membres de l'UA à s'engager sur la voie du libre-échange et de l'intégration des marchés. "Je pense que c'est un signal très important et bon en ces temps", a déclaré M. Kannengießer. "La démondialisation, le protectionnisme ne sont pas la bonne réponse aux défis du 21ème siècle". Il a espéré que les échanges commerciaux entre l'Afrique et l'Europe soient plus nombreux. "L'Afrique a tout ce que nous n'avons pas. Et l'Europe a beaucoup de ce dont l'Afrique a besoin", a déclaré M. Kannengießer. Il a déclaré que l'Afrique a une population jeune et en pleine croissance, des énergies renouvelables. L'Europe a besoin d'énergie. Elle a une population vieillissante et en diminution, mais elle dispose de technologies et de capitaux. La mise en commun de ces atouts a beaucoup de sens, a déclaré M. Kannengießer. C'est pourquoi, outre la croissance du commerce intra-africain, l'AfCFTA est une grande promesse de développement du commerce entre l'Afrique et l'Europe. L'Allemagne a investi de manière conséquente en Afrique, environ 12 milliards d'euros sur le continent à l'heure actuelle, mais c'est moins que ce que l'Allemagne pourrait faire. Contrairement à d'autres pays, l'investissement allemand se concentre sur les projets industriels, le contenu local et la production industrielle, qui sont plus capitalistiques. Si l'on prend l'exemple de l'industrie automobile, ces investissements nécessitent de grands marchés intégrés, d'où l'importance de l'AfCFTA pour toute grande industrie similaire. Parlant de l'intégration du secteur privé, M. Kannengießer a déclaré qu'il existe un dialogue fort entre le gouvernement et les associations d'entreprises en Allemagne, ce qui contribue à améliorer l'économie globale.

Kebour Ghenna, Directeur exécutif de la Chambre panafricaine de commerce et d'industrie (PACCI), a indiqué que l'AfCFTA est un accord qui rend les affaires plus simples qu'auparavant. Toutefois, il reste de nombreux défis à relever avant sa mise en œuvre. "Si nous demandons au secteur privé ce qu'est l'AfCFTA, je pense que nous trouverons plusieurs réponses amusantes. Certains diront que c'est un pays. D'autres diront qu'il s'agit d'une pièce d'équipement. Nous sommes donc loin d'avoir amené le monde des affaires à comprendre ce qu'est l'AfCFTA et, en tant qu'accord, quel sera son impact sur les entreprises." Pour lui, la réalisation de l'AfCFTA était plus un voyage qu'une destination. Les négociations sont toujours en cours, et pour de nombreux membres de la communauté des affaires, elles ne sont pas assez rapides. Par rapport à l'Allemagne, le dialogue entre le secteur privé et les gouvernements en Afrique n'était pas assez bon et devait être développé. "La discussion doit vraiment être menée par les gouvernements, cela ne fait aucun doute. Mais parfois, le briefing, le débriefing et les commentaires du secteur privé ont fait défaut dans de nombreux endroits", a déclaré M. Kebour. Les principaux défis pour le secteur privé en Afrique sont les douanes, la logistique, les infrastructures, la capacité de production - et enfin, la solidarité entre les États membres de l'UA. Les 54 pays qui ont signé l'accord ont des stades de développement différents. M. Kebour a déclaré : "Il y aura évidemment des gagnants et des perdants. Et le continent sera-t-il capable de maintenir cette intégration à l'avenir ? Et c'est là qu'en tant que citoyens africains, nous devons vraiment commencer à réfléchir au type d'Afrique que nous voulons avoir. Si nous ne nous aidons pas vraiment les uns les autres, la mise en œuvre de l'AfCFTA ne sera pas facile."

 

Le deuxième panel, qui avait pour thème "Avantages comparatifs et points de vue du secteur privé", a réuni S.E.M. Ewumbue-Monono Churchill, Ambassadeur du Cameroun auprès de l'Éthiopie, de l'UA et de la CEA; Melaku Ezezew, Président de la Chambre de commerce et des associations sectorielles d'Éthiopie (ECCSA) ; Chiara-Felicitas Otto, Directrice générale d'exficon Gmbh et d'Eight innovations GmbH, qui a participé virtuellement depuis l'Allemagne ; et Precious Di Phiri, fondateur d'Awawo Eco Malawi.

 

L'Ambassadeur Churchill a souligné que le Cameroun était l'un des premiers pays à signer l'AfCFTA. En ce qui concerne les processus de l'AfCFTA, le Cameroun a travaillé sur deux questions principales : la sensibilisation et l'institutionnalisation de l'AfCFTA. Pour l'intégration du secteur privé, deux chambres et la diaspora ont été impliquées par le gouvernement. Amb. Churchill a déclaré que le secteur privé est le principal moteur de l'économie au Cameroun, ce secteur bénéficiera donc de la mise en œuvre de l'AfCFTA et apportera un grand bénéfice au pays en ouvrant la porte des affaires aux jeunes et aux femmes.

Melaku Ezezew, Président de la Chambre de commerce éthiopienne et des associations sectorielles (ECCSA), a souligné l'importance du secteur privé en tant que colonne vertébrale de l'économie éthiopienne. La Chambre de commerce entretient des liens étroits avec le secteur privé. Cependant, le secteur privé éthiopien n'a reçu jusqu'à présent que peu d'informations sur l'AfCFTA et ses avantages. C'est pourquoi, après avoir mené une étude et échangé avec le gouvernement, la Chambre a formé des experts pour fournir des informations sur l'AfCFTA dans tous les secteurs du pays. L'objectif est que les secteurs privés éthiopiens puissent tirer pleinement parti de l'AfCFTA et devenir compétitifs au niveau international. "Comme l'Éthiopie est un pays enclavé, quelles seront nos possibilités d'utiliser l'AfCFTA ? (...) Pour être compétitif sur le marché mondial, il faut de la qualité, des prix, une production de masse, etc. (...) La communauté des affaires devrait connaître et se conformer aux normes internationales pour être compétente sur le marché de l'AfCFTA."

Chiara-Felicitas Otto, Directrice générale d'exficon GmbH, a déclaré que sa société travaillait dans 25 pays africains. Parlant du défi que représente le travail en Afrique, Mme Otto a déclaré : "Je pense qu'il y a de nombreuses dimensions auxquelles il faut penser. Travailler en Afrique, travailler avec des Africains comporte de nombreuses dimensions personnelles et interculturelles. (...) Il faut être présent sur le marché. Il y a un code très différent de la façon dont les affaires sont faites. Et il y a un aspect linguistique". C'est un aspect auquel les clients allemands et européens doivent s'adapter. Du côté des affaires, il y a de nombreux obstacles administratifs, mais, selon elle, ce n'est pas très différent de faire des affaires ailleurs. Du point de vue financier, les défis dépendent du pays. Un obstacle non-tarifaire, qu'elle rencontre souvent, est la demande d'un quota élevé de contenu local que de nombreux pays exigent. C'est très compréhensible, mais dans certains pays, il n'est pas possible d'y répondre en raison du manque de disponibilité sur le marché local.

Precious Di Phiri, fondateur d'Awawo Eco Malawi, a identifié plusieurs défis majeurs auxquels sont confrontés les jeunes entrepreneurs africains sur les marchés d'exportation. Il s'agit notamment du manque d'accès au financement, à l'information, au mentorat, aux programmes d'échange et à l'inclusion des jeunes dans les processus politiques et les longs processus de certification. Cela a créé une frustration au sein de la jeune génération. "Les jeunes abandonnent ces idées", a déclaré M. Di Phri. La mise en œuvre de l'AfCFTA profitera aux jeunes entrepreneurs de nombreuses façons, comme par exemple une meilleure information sur la valeur ajoutée, la formation, le mentorat et l'engagement des jeunes.

 

---

Apercu des panelistes:

 

Opening Remarks:

Antonio PEDRO, Deputy Executive Secretary of the Economic Commission for Africa (ECA)

Benno MÜCHLER, KAS Country Representative Ethiopia/AU


Keynote Speech:

Endalew MEKONNEN, State Minister, Ministry of Trade and Regional Integration of the Federal Democratic Republic of Ethiopia 


Panel 1: Potential for More Private Sector Engagement

Chiza Charles CHIUMYA, Acting Director – Industry, Mining and Entrepreneurship Department of Economic Development, Trade Industry and Mining – AUC (tbc)
 
Dr. Osman BABIKIR, Acting Director for Economic Cooperation, IGAD
 
Christoph KANNENGIESSER, German-African Business Association (Afrika-Verein)
 
Kebour GHENNA, Executive Director of the Pan African Chamber of Commerce and Industry
 
Host: Melaku DESTA, Coordinator of the African Trade Policy Center (ATPC) UNECA


Panel 2: Comparative Advantages and Views from the Private Sector
 
H.E. Ewumbue-Monono CHURCHILL, Ambassador of the Republic of Cameroon to Ethiopia, the AU und UNECA
 
Eng. Melaku EZEZEW, President of the Ethiopian Chamber of Commerce & Sectoral Association
 
Precious DI PHIRI, Fondateur Awawo Eco Malawi
 
Chiara-Felicitas OTTO, Managing Director of exficon GmbH und Eight Innovations GmbH (virtual)
 
Host: Benno MÜCHLER, KAS Country Representative Ethiopia/AU

partager