Le Programme de transition écologique (PROTEC) encourage la protection de l'environnement en Haïti.
Voir plus
Saison cyclonique 2026 : L'AECID contribue à la préparation et à la réponse face aux catastrophes climatiques.
Voir plus
L'AECID et la FICR unissent leurs forces pour apporter une réponse humanitaire face aux déplacements forcés.
Voir plus
Les activités génératrices de revenus : un levier pour l'autonomie économique des femmes et le développement.
Voir plus
Agriculture, travail et autonomie à Bainet: témoignage d'une bénéficiaire des unités de transformation du maïs
Voir plus
TeamEurope dans le nord d'Haïti : un engagement en faveur de l'accès à l'eau et à l'assainissement pour la population haïtienne.
Voir plus
L’Office de la Coopération Espagnole (OCE) de l'Ambassade d'Espagne en Haïti, qui dépend fonctionnellement de l’Agence espagnole de coopération internationale pour le développement (AECID), a ouvert ses portes dans la ville de Port-au-Prince en 1989. Depuis lors, nous avons gardé un engagement profond en faveur de l’amélioration des capacités de développement du pays, étant le point de référence pour l’articulation des actions espagnoles dans le domaine de la coopération pour le développement durable, l’action humanitaire et l’éducation pour le développement durable et la citoyenneté mondiale.
Recrutement d'un prestataire de services pour la réalisation de l'audit externe d’un projet à Marigot et Cayes Jacmel - Association Nationale Tèt kole Ti Peyizan.
Java method "jdk.proxy162.$Proxy958.getArticle(long, String)" threw an exception when invoked on jdk.proxy162.$Proxy958 object "com.liferay.journal.service.impl.JournalArticleLocalServiceImpl@338342a3"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign journalArticle = JournalArtic... [in template "20096#20122#89870" at line 88, column 1]
----
1<style>
2 .aecid-anuncio a {
3 color: var(--brand-color-1);
4 }
5.aecid-anuncio a:hover, .aecid-anuncio .share-option:hover {
6 opacity: .5;
7 }
8 .aecid-anuncio h2 {
9 font-weight: bold;
10 margin-bottom: 20px;
11 font-size: 24px;
12 }
13 .aecid-anuncio h3 {
14 font-weight: bold;
15 margin-bottom: 20px;
16 font-size: 20px;
17 }
18
19 .fecha{
20 color: #6f6f6f;
21 font-size: 0.85em;
22 }
23 .organo{
24 text-transform: uppercase;
25 color: #6f6f6f;
26 font-size: 0.85em;
27 }
28 .categoria{
29 color: #6f6f6f;
30 font-size: 0.85em;
31 text-transform: uppercase;
32 }
33 .cuerpo{
34 color: #6f6f6f;
35 font-size: 0.9em;
36 }
37.botonRRSS {
38 display: inline-block;
39 color: #fff;
40 vertical-align: middle;
41 cursor: pointer;
42 -webkit-user-select: none;
43 -moz-user-select: none;
44 user-select: none;
45 background-color: transparent;
46 border: 1px solid transparent;
47 padding: 0.375rem 0.75rem;
48 border-radius: 0.25rem;
49 transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
50}
51
52.share-option {
53 background-color: transparent;
54 border: none;
55 padding: 0;
56}
57
58.facebook {
59 background-color: #3B5998;
60}
61
62.fb-xfbml-parse-ignore {
63 background-color: transparent;
64 border: none;
65 }
66
67 .fb-xfbml-parse-ignore:hover {
68 opacity: .5;
69 }
70
71 .twitter {
72 background-color: #1D9BF0;
73 }
74 @media screen and (max-width: 576px) {
75 .aecid-anuncio{
76 padding-left: 10px;
77 }
78 }
79
80</style>
81
82<div id="fb-root"></div>
83<script async defer crossorigin="anonymous" src="https://connect.facebook.net/es_ES/sdk.js#xfbml=1&version=v14.0" nonce="r45a3F5a"></script>
84
85<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
86<#assign AssetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") />
87<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
88<#assign journalArticle = JournalArticleLocalService.getArticle(getterUtil.getLong(groupId),.vars['reserved-article-id'].data) />
89<#assign categories = AssetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", journalArticle.getResourcePrimKey()) />
90<#assign currentURL = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() />
91<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
92<#assign assetEntry = AssetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", journalArticle.getResourcePrimKey())/>
93
94<#if (serviceLocator.findService("es.aecid.shorturl.service.AecidShortUrlService"))??>
95 <#assign shortUrlService=serviceLocator.findService("es.aecid.shorturl.service.AecidShortUrlService") />
96 <#assign currentShortURL=themeDisplay.getPortalURL() + '/' + shortUrlService.getShortUrl(currentURL, companyId, groupId,
97 themeDisplay.getUserId()) />
98<#else>
99 <#assign currentShortURL=currentURL />
100</#if>
101
102<#assign siteGroupId = themeDisplay.getSiteGroupId()>
103<div id="aecid-detalle-anuncio" class="container p-0 mt-2 mb-5">
104 <div class="row aecid-anuncio">
105 <#if siteGroupId == 20120> <!-- AECID PRINCIPAL -->
106 <div class="col-12 p-0">
107 <h2 tabindex="0"><span class="sr-only">${languageUtil.get(locale, "apartado.del.anuncio")}: </span>
108 <#if categories?has_content>
109 <#list categories as category>
110 ${category.getName()}${category?has_next?then(', ', '')}
111 </#list>
112 </#if>
113 </h2>
114 <hr>
115 </div>
116
117 <div class="col-12 p-0">
118 <p class="fecha" tabindex="0"><span class="sr-only">${languageUtil.get(locale, "fecha.de.publicacion.de.la.noticia")}</span>
119 <#if journalArticle?has_content>
120 <#assign fechaPubli = assetEntry.getPublishDate()?datetime?string["dd/MM/yyyy"] >
121 ${fechaPubli}
122 </#if>
123 </p>
124 </div>
125
126 <div class="col-12 p-0"><h3 tabindex="0"><span class="sr-only">${languageUtil.get(locale, "titulo.del.anuncio")}: </span>${titulo.getData()}</h3></div>
127
128 <div class="col-12 p-0">
129 <#if (announcing.getData())??>
130 <p class="organo" tabindex="0">${languageUtil.get(locale, "organo.convocante.o.anunciante")} - ${announcing.getData()} </p>
131 </#if>
132 </div>
133
134 <div class="col-12 p-0">
135 <#assign fechaPublicacion_Data = getterUtil.getString(fechaPublicacion.getData())>
136
137 <#if validator.isNotNull(fechaPublicacion_Data)>
138 <p class="fecha" tabindex="0">${languageUtil.get(locale, "fecha.limite.presentacion")} -
139 <#assign fechaPublicacion_DateObj = dateUtil.parseDate("yyyy-MM-dd", fechaPublicacion_Data, locale)>
140 ${dateUtil.getDate(fechaPublicacion_DateObj, "dd/MM/yyyy", locale)}
141 </p>
142 </#if>
143 </div>
144
145 <div class="col-12 p-0">
146 <#if (body.getData())??>
147 <p class="cuerpo" tabindex="0">${body.getData()} </p>
148 </#if>
149 </div>
150
151 <div class="col-12 p-0">
152 <#if (contactData.getData())??>
153 <p class="fecha" tabindex="0">${languageUtil.get(locale, "contacto")}</p>
154 <p>${contactData.getData()}</p>
155 </#if>
156 </div>
157
158
159 <div class="col-flex">
160 <#if (linkOutside.getData())?? && linkOutside.getData() != "">
161 <a class="mr-3" href="${linkOutside.getData()}">
162 <img alt="${languageUtil.get(locale, 'ir.al.enlace')}" src="${themeDisplay.getPathThemeImages()}/icons/svg/icon_link_1.svg"/>
163 ${linkText.getData()}
164 </a>
165 </#if>
166 </div>
167
168 <#if attachedGroup?has_content>
169 <div class="col-flex">
170 <#list attachedGroup.getSiblings() as item>
171 <#if (item.document.getData())?? && item.document.getData() != "">
172 <a class="mr-3" href="${item.document.getData()}" target="_blank">
173 <img alt="${languageUtil.get(locale, 'ir.al.enlace')}" src="${themeDisplay.getPathThemeImages()}/icons/svg/icon_link_1.svg"/>
174 ${item.attached.getData()}
175 </a>
176 </#if>
177
178 <#if (item.externalDocument.getData())?? && item.externalDocument.getData() != "">
179 <a class="mr-3" href="${item.externalDocument.getData()}" target="_blank">
180 <img alt="${languageUtil.get(locale, 'ir.al.enlace')}" src="${themeDisplay.getPathThemeImages()}/icons/svg/icon_link_1.svg"/>
181 ${item.attached.getData()}
182 </a>
183 </#if>
184 </#list>
185 </div>
186 </#if>
187 <#else> <!-- EL RESTO DE LOS SITE DE LAS OCES -->
188 <div class="col-12 p-0">
189 <h2 tabindex="0"><span class="sr-only">${languageUtil.get(locale, "apartado.del.anuncio")}: </span>
190 <#if categories?has_content>
191 <#list categories as category>
192 ${category.getName()}${category?has_next?then(', ', '')}
193 </#list>
194 </#if>
195 </h2>
196 <hr>
197 </div>
198
199 <div class="col-12 p-0">
200 <p class="fecha" tabindex="0"><span class="sr-only">${languageUtil.get(locale, "fecha.de.publicacion.de.la.noticia")}</span>
201 <#if journalArticle?has_content>
202 <#assign fechaPubli = assetEntry.getPublishDate()?datetime?string["dd/MM/yyyy"] >
203 ${fechaPubli}
204 </#if>
205 </p>
206 </div>
207
208 <div class="col-12 p-0"><h3 tabindex="0"><span class="sr-only">${languageUtil.get(locale, "titulo.del.anuncio")}: </span>${titulo.getData()}</h3></div>
209
210 <div class="col-12 p-0">
211 <#if (announcing.getData())?? && announcing.getData() != "">
212 <p class="organo" tabindex="0">${languageUtil.get(locale, "organo.convocante.o.anunciante")} - ${announcing.getData()} </p>
213 </#if>
214 </div>
215
216 <div class="col-12 p-0">
217 <#assign fechaPublicacion_Data = getterUtil.getString(fechaPublicacion.getData())>
218
219 <#if validator.isNotNull(fechaPublicacion_Data)>
220 <p class="fecha" tabindex="0">${languageUtil.get(locale, "fecha.limite.presentacion")} -
221 <#assign fechaPublicacion_DateObj = dateUtil.parseDate("yyyy-MM-dd", fechaPublicacion_Data, locale)>
222 ${dateUtil.getDate(fechaPublicacion_DateObj, "dd/MM/yyyy", locale)}
223 </p>
224 </#if>
225 </div>
226
227 <div class="col-12 p-0">
228 <#if (body.getData())??>
229 <p class="cuerpo" tabindex="0">${body.getData()} </p>
230 </#if>
231 </div>
232
233 <div class="col-12 p-0">
234 <#if (contactData.getData())?? && contactData.getData() != "">
235 <p class="fecha" tabindex="0">${languageUtil.get(locale, "contacto")}</p>
236 <p>${contactData.getData()}</p>
237 </#if>
238 </div>
239
240
241 <div class="col-flex">
242 <#if (linkOutside.getData())?? && linkOutside.getData() != "">
243 <a class="mr-3" href="${linkOutside.getData()}">
244 <img alt="${languageUtil.get(locale, 'ir.al.enlace')}" src="/documents/d/global/icon_link_1"/>
245 ${linkText.getData()}
246 </a>
247 </#if>
248 </div>
249
250 <#if attachedGroup?has_content>
251 <div class="col-flex">
252 <ul class="list-unstyled">
253 <#list attachedGroup.getSiblings() as item>
254 <#if (item.document.getData())?? && item.document.getData() != "">
255 <li><a class="mr-3" href="${item.document.getData()}" target="_blank">
256 <img alt="${languageUtil.get(locale, 'ir.al.enlace')}" src="/documents/d/global/icon_link_1"/>
257 ${item.attached.getData()}
258 </a></li>
259 </#if>
260
261 <#if (item.externalDocument.getData())?? && item.externalDocument.getData() != "">
262 <li><a class="mr-3" href="${item.externalDocument.getData()}" target="_blank">
263 <img alt="${languageUtil.get(locale, 'ir.al.enlace')}" src="/documents/d/global/icon_link_1"/>
264 ${item.attached.getData()}
265 </a></li>
266 </#if>
267 </#list>
268 </ul>
269 </div>
270 </#if>
271 </#if>
272
273 <@liferay_util["html-top"] outputKey="htmltop">
274
275 <!-- METAS RRSS -->
276 <meta property="og:url" content="${currentURL}" />
277 <meta property="og:site_name" content="SiteName" />
278
279 <meta property="og:type" content="website" />
280 <meta property="og:locale" content="gl_ES" />
281 <meta property="og:locale:alternate" content="gl_ES" />
282
283 <meta name="twitter:card" content="summary_large_image" />
284 <meta property="og:title" content="Titulo" />
285 <meta name="twitter:title" content="Titulo" />
286
287 <meta property="og:description" content="Desc1" />
288 <meta name="twitter:description" content="Desc2" />
289
290 <meta property="fb:app_id" content="???">
291 <meta property="fb:admins" content="https://www.facebook.com/Aecid.es">
292 <meta name="twitter:domain" content="${currentURL}" />
293
294 <meta name="twitter:site" content="@AECID_es" />
295 </@>
296 <div class="col-12 p-0 mt-2"><hr></div>
297
298 <div class="row col-12 p-0">
299 <!-- button visible facebook -->
300 <div class="col-flex mr-2">
301 <button class="fb-xfbml-parse-ignore" onClick="shareFacebook();" target="_blank" class="share-option"
302 index-social-media-list="0">
303
304 <div class="botonRRSS facebook no-ico">
305 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor"
306 class="bi bi-facebook" viewBox="0 0 16 16">
307 <path
308 d="M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951z" />
309 </svg>
310 </div>
311 </button>
312 </div>
313
314 <!-- button visible twitter -->
315 <div class="col-flex mr-2">
316 <a href="https://twitter.com/intent/tweet?text=Mira esta noticia: ${titulo.getData()} ${currentShortURL}"
317 class="twitter-share share-option no-ico" target="_blank" index-social-media-list="1">
318 <div class="botonRRSS twitter">
319 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor"
320 class="bi bi-twitter" viewBox="0 0 16 16">
321 <path
322 d="M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z" />
323 </svg>
324 </div>
325 </a>
326 </div>
327 </div>
328</div>
329
330<script>
331 function shareFacebook() {
332 let urlShare = 'http://www.facebook.com/sharer.php?s=100&p[title]=' + encodeURI('${titulo.getData()}') +
333 '&p[summary]=Resumen&p[url]=${currentShortURL}';
334 let a= document.createElement('a');
335 a.target= '_blank';
336 a.href= urlShare;
337 a.click();
338 }
339</script>
Dernières nouvelles
Le Programme de transition écologique (PROTEC) encourage la protection de l'environnement en Haïti.: Le Programme de transition écologique (PROTEC) encourage la protection de l'environnement en Haïti.
Fecha de la noticia:: 05/06/2026
Saison cyclonique 2026 : L'AECID contribue à la préparation et à la réponse face aux catastrophes climatiques.: Saison cyclonique 2026 : L'AECID contribue à la préparation et à la réponse face aux catastrophes climatiques.
Fecha de la noticia:: 01/06/2026
L'AECID et la FICR unissent leurs forces pour apporter une réponse humanitaire face aux déplacements forcés.: L'AECID et la FICR unissent leurs forces pour apporter une réponse humanitaire face aux déplacements forcés.
Fecha de la noticia:: 28/05/2026