Une erreur s'est produite lors du traitement du gabarit.
The following has evaluated to null or missing:
==> Contenu  [in template "20116#20152#DETAIL-DISPOSITIF" at line 208, column 31]

----
Tip: If the failing expression is known to be 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: ${Contenu.getData()}  [in template "20116#20152#DETAIL-DISPOSITIF" at line 208, column 29]
----
1<#assign cncCategoriesService = serviceLocator.findService("fr.cnc.categories.api.CncCategoriesService") /> 
2<#assign cncRenduArticles = serviceLocator.findService("fr.cnc.rendu.articles.api.CncRenduArticlesService") /> 
3<#assign cncArticleRechercheService = serviceLocator.findService("fr.cnc.recherche.api.CncArticleRechercheService") /> 
4<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
5<#assign httpServletRequest = serviceContext.getRequest()/> 
6<#assign themeDisplay = serviceContext.getThemeDisplay() /> 
7<#assign cncUrlService = serviceLocator.findService("fr.cnc.url.api.CncUrlService") /> 
8<#assign ArticleJournalUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
9<#assign ArticleJournalId = .vars['reserved-article-id'].data> 
10<#assign ArticleJournalTitle = .vars['reserved-article-title'].data> 
11<#assign categoriesListDispositif = cncCategoriesService.recupererCategoriesArticleParVocabulaire(groupId, ArticleJournalId , "Dispositif") /> 
12 
13<#-- recupere le premier element de la liste --> 
14<#if categoriesListDispositif?size !=0> 
15	<#assign categoryDispo = categoriesListDispositif[0]> 
16	<#assign rechercheResultats = cncArticleRechercheService.rechercheDernierResultatsCommission(themeDisplay, "RESULTATS-COMMISSION", categoryDispo.getName()) /> 
17	<#assign rechercheCommissions = cncArticleRechercheService.rechercheAgendaCommissionTriees(themeDisplay, "AGENDA-COMMISSION", categoryDispo.getName()) /> 
18	<#assign rechercheCompositionCommissions = cncArticleRechercheService.rechercheCompositionCommission(themeDisplay, "COMPOSITION-COMMISSION", categoryDispo.getName()) /> 
19	<#assign rechercheDecisionsNomination = cncArticleRechercheService.recherchePublications(themeDisplay, "PUBLICATION", categoryDispo.getName(), "Décisions de nomination") /> 
20</#if> 
21<#assign categoriesListDomaine = cncCategoriesService.getDomaines(groupId, ArticleJournalId) /> 
22<#assign categoriesListSecteur = cncCategoriesService.recupererCategoriesArticleParVocabulaire(groupId, ArticleJournalId , "Secteur") /> 
23<#assign categoriesListPhaseprojet = cncCategoriesService.recupererCategoriesArticleParVocabulaire(groupId, ArticleJournalId , "Phase du projet") /> 
24<#assign categoriesListTypeAide = cncCategoriesService.recupererCategoriesArticleParVocabulaire(groupId, ArticleJournalId , "Type de dispositif") /> 
25<#assign categoriesListTypeSoutien = cncCategoriesService.recupererCategoriesArticleParVocabulaire(groupId, ArticleJournalId , "Type de soutien") /> 
26<#assign categoriesListDemandeur = cncCategoriesService.recupererCategoriesArticleParVocabulaire(groupId, ArticleJournalId , "Demandeur") /> 
27 
28<#if categoriesListDomaine?size != 0> 
29 
30	<#-- recupere le premier element de la liste --> 
31	<#assign categoriesSousDomainesList = cncCategoriesService.recupererCategoriesArticleParVocabulaire(groupId, ArticleJournalId , "Sous-domaine") /> 
32 
33	<#assign cncArticleRechercheService = serviceLocator.findService("fr.cnc.recherche.api.CncArticleRechercheService") /> 
34	<#assign articlesLies = cncArticleRechercheService.recupererRenduDerniersArticlesMemeSujet(themeDisplay, ArticleJournalId, "ARTICLE-EDITORIAL", categoriesListDomaine, categoriesSousDomainesList, "ARTICLE-EDITORIAL-LIE", 3) /> 
35</#if> 
36 
37<#-- test si on vient d'une page de liste de contenu --> 
38<#assign siPagePrecedenteCorrespondPageListeContenu = cncUrlService.siPagePrecedenteCorrespondPageListeContenu(httpServletRequest) /> 
39 
40<#if siPagePrecedenteCorrespondPageListeContenu> 
41	<div class="back"> 
42	    <div class="container"> 
43	        <div class="row"> 
44	            <div class="col"> 
45	                <div class="link-icon"> 
46	                    <a href="javascript:boutonRetour.goBack();" > 
47	                        <i class="icon icon-back"></i> 
48	                        <@liferay.language key="pages.liste.bouton.retour.a.la.liste" /> 
49	                    </a> 
50	                </div> 
51	            </div> 
52	        </div> 
53	    </div> 
54	</div> 
55</#if> 
56 
57<section class="single dispositif"> 
58    <div class="container"> 
59        <article> 
60            <section class="article-content"> 
61                <div class="row position-relative"> 
62                    <nav id="sticky-article-nav" class="sticky-nav col-xl-3 d-none d-xl-block position-absolute top-0 start-0"> 
63                        <ul class="list-unstyled" role="tablist"> 
64							<#--stickyMenu chargé en javacript via la méthode sticky.initH2() --> 
65                        </ul> 
66                    </nav> 
67                    <div class="col-12 col-xl-8"> 
68                        <div class="article-content-scroll"> 
69                            <div class="article-head"> 
70                                <div class="article-title"> 
71                                    <h1> 
72                                    <#if ArticleJournalTitle?has_content> 
73							         	${ArticleJournalTitle} 
74							        </#if> 
75                                    </h1> 
76									<#if categoriesListDispositif?size != 0> 
77 
78								<#-- recupere le premier element de la liste --> 
79								<#assign categoryDispo = categoriesListDispositif[0]> 
80                                
81								<#-- calcul url --> 
82								<#assign UrlPagePublicationsTypeDecisionsNominationParIdCategorieDispositif = cncUrlService.calculUrlPagePublicationsTypeDecisionsNominationParIdCategorieDispositif(themeDisplay, categoryDispo.getCategoryId()) /> 
83 
84									</#if> 
85                                    <#assign Templates_Path = templatesPath /> 
86		                    		<#include "${Templates_Path}/BLOC-SHARETHIS"> 
87                                </div> 
88                            </div> 
89                            <#if Resume?has_content> 
90                            <div class="intro">${Resume.getData()}</div> 
91							</#if> 
92                            <ul class="list-unstyled simple"> 
93                            	<#assign originalLocale = locale> 
94	    						<#setting locale = localeUtil.getDefault()> 
95                                <li> 
96                                    <strong><@liferay.language key="article.dispositif.domaine" /></strong> : 
97                                    <#if categoriesListSecteur?has_content> 
98                                    	<#assign urlControlleurMoteurAide = cncUrlService.calculUrlPageParKeyUrlRelative(themeDisplay, "cnc.friendly.url.recherche.aides") /> 
99										<#assign urlForSecteur = urlControlleurMoteurAide + "?secteur="/> 
100										<#list categoriesListSecteur as categoryListSecteur> 
101										 	<a href="${urlForSecteur}${categoryListSecteur.getName()}" >${categoryListSecteur.getTitle(locale)}</a><#if !categoryListSecteur?is_last> - </#if> 
102										</#list> 
103									</#if> 
104                                </li> 
105                                <li> 
106                                    <strong><@liferay.language key="article.dispositif.phase.projet" /></strong> : 
107                                    <#list categoriesListPhaseprojet as categoryListPhaseprojet> 
108        								${categoryListPhaseprojet.getTitle(locale)}<#if !categoryListPhaseprojet?is_last>, </#if> 
109                                    </#list> 
110                                </li> 
111                                <li> 
112                                    <strong><@liferay.language key="article.dispositif.type.soutien" /></strong> : 
113                                    <#list categoriesListTypeSoutien as categoryListTypeSoutien> 
114        								${categoryListTypeSoutien.getTitle(locale)}<#if !categoryListTypeSoutien?is_last>, </#if> 
115                                    </#list> 
116                                </li> 
117                                <li> 
118                                    <strong><@liferay.language key="article.dispositif.type.aide" /></strong> : 
119                                    <#list categoriesListTypeAide as categoryListTypeAide> 
120        								${categoryListTypeAide.getTitle(locale)}<#if !categoryListTypeAide?is_last>, </#if> 
121                                    </#list> 
122                                </li> 
123                                <li> 
124                                    <strong><@liferay.language key="article.dispositif.demandeur" /></strong> : 
125                                    <#list categoriesListDemandeur as categoryListDemandeur> 
126        								${categoryListDemandeur.getTitle(locale)}<#if !categoryListDemandeur?is_last>, </#if> 
127                                    </#list> 
128                                </li> 
129                                <#if NonCumul?has_content> 
130                                <li> 
131                                	<#if NonCumul?has_content> 
132                                    ${NonCumul.getData()} 
133                                    </#if> 
134                                </li> 
135	                            </#if> 
136	                            <#setting locale = originalLocale> 
137                            </ul> 
138                            <#if DateMiseAJour?has_content> 
139                            <div class="focus"> 
140                                <#assign DateMiseAJour_Data = getterUtil.getString(DateMiseAJour.getData())> 
141                                <#if DateMiseAJour_Data?has_content> 
142                                	<#assign DateMiseAJour_DateObj = dateUtil.parseDate("yyyy-MM-dd", DateMiseAJour_Data, locale)> 
143 
144                                	<#assign dateMajDispositif = dateUtil.getDate(DateMiseAJour_DateObj, "dd MMMM yyyy", locale)> 
145                                <h3><@liferay.language key="article.dispositif.a.noter" /></h3> 
146                                <div class="text"><@liferay.language key="article.dispositif.maj" /> ${dateMajDispositif}</div> 
147                                </#if> 
148                            </div> 
149                            </#if> 
150							<!-- Si il y a des fichiers à télécharger on affiche --> 
151                                <#if FichiersAssocies?has_content && FichiersAssocies.getSiblings()?size gt 0 && FichiersAssocies.getSiblings()?first.getData()?has_content> 
152                            <div class="download-block"> 
153                                <div class="title"><@liferay.language key="article.dispositif.telechargement" /> 
154                                </div> 
155                                	<#list FichiersAssocies.getSiblings() as cur_FichiersAssocies> 
156                                	    <#assign counter = 0 > 
157                                	    <#assign uuId = "" > 
158                                        <#list cur_FichiersAssocies.getData()?split("/") as x> 
159                                            <#if counter == 5> 
160                                                <#if x?split("?t")?has_content > 
161                                                    <#assign uuId = x?split("?t")[0] > 
162                                                </#if> 
163                                            </#if> 
164                                            <#assign counter = counter+1 > 
165                                        </#list> 
166                                        <#assign fileEntry = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryService")> 
167                                        <#if uuId?has_content && fileEntry?has_content> 
168                                            <#assign file = fileEntry.getFileEntryByUuidAndGroupId(uuId,groupId) > 
169                                        </#if> 
170                                        <#if file?has_content && uuId?has_content> 
171                                <div class="link-icon light"> 
172                                	<a href="${cur_FichiersAssocies.getData()}"  class="round"  target="_blank"> 
173                                	    <i class="icon icon-download"></i> 
174                                    	    <#assign fileName = "" /> 
175                                    		<#if file.getFileName()?has_content> 
176                                    		    <#assign fileName = file.getFileName()?split(".")[0] /> 
177                                    		</#if> 
178                                    	    ${fileName} 
179                                    	<span class="details"> 
180                                    		<#assign fileExtension = file.getFileName()?split(".")[1] /> 
181                                    		<#assign fileSize = 0 /> 
182                                    		<#if file.getSize()?has_content> 
183                                    		    <#assign fileSize = file.getSize()/1000 /> 
184                                            (<span class="extension">${fileExtension?upper_case}</span> 
185                                            <span class="weight">${fileSize?int}ko</span>) 
186                                            </#if> 
187                                        </span> 
188                                	</a> 
189                                </div> 
190                                        </#if> 
191                                	</#list> 
192                            </div> 
193                                </#if> 
194                            <hr> 
195                        </div> 
196                    </div> 
197                </div> 
198            </section> 
199        </article> 
200    </div> 
201    <div class="container"> 
202        <article> 
203            <div class="article-content"> 
204                <div class="row"> 
205                	<div class="col-xl-3 d-none d-xl-block"></div> 
206                    <div class="col-12 col-xl-8"> 
207                        <div class="article-content-scroll"> 
208                            ${Contenu.getData()} 
209                        </div> 
210                        <#if InformationsProchainesCommissions?has_content && InformationsProchainesCommissions.getData()?has_content && !rechercheCommissions?has_content> 
211                        	<hr> 
212	                        <h2 id="prochaines-commissions"><@liferay.language key="article.dispositif.prochaines.commissions" /></h2> 
213                            ${InformationsProchainesCommissions.getData()} 
214                            <br> 
215		                    <br> 
216                        <#elseif rechercheCommissions?has_content> 
217	                        <hr> 
218	                        <h2 id="prochaines-commissions"><@liferay.language key="article.dispositif.prochaines.commissions" /></h2> 
219	                        <#if InformationsProchainesCommissions?has_content> 
220		                        ${InformationsProchainesCommissions.getData()} 
221	                        </#if> 
222	                        <br> 
223		                    <br> 
224	                        <table class="table table-striped table-responsive"> 
225	                            <thead> 
226	                                <tr> 
227	                                    <th scope="col"><@liferay.language key="article.dispositif.date.depot" /></th> 
228	                                    <th scope="col"><@liferay.language key="article.dispositif.date.commission" /></th> 
229	                                </tr> 
230	                            </thead> 
231	                            <tbody id="tableau-dispositif-agenda-commission"> 
232									<#assign compteurRenduAgenda = 1 /> 
233									<#list rechercheCommissions as rechercheCommission> 
234									<tr id="agenda-commission-${compteurRenduAgenda}"> 
235										<#assign compteurRenduAgenda ++ /> 
236										${rechercheCommission} 
237									</tr> 
238									</#list> 
239 
240									<script> 
241										jQuery(document).ready(function() { 
242											cncGenererRenduHtmlCalendrierAgendaCommissionDispositif('#tableau-dispositif-agenda-commission tr'); 
243										}); 
244									</script> 
245	                           	</tbody> 
246	                        </table> 
247							<#if InformationsComplementairesProchainesCommissions?has_content && InformationsComplementairesProchainesCommissions.getData()?has_content> 
248		                        <div class="focus"> 
249		                            <h3><@liferay.language key="article.dispositif.a.noter" /></h3> 
250		                            <div class="text"> 
251		                                ${InformationsComplementairesProchainesCommissions.getData()} 
252		                            </div> 
253		                        </div> 
254	                        </#if> 
255                        </#if> 
256                        <#if rechercheCompositionCommissions?has_content> 
257 
258							<#if categoriesListDispositif?size != 0> 
259 
260								<#-- recupere le premier element de la liste --> 
261								<#assign categoryDispo = categoriesListDispositif[0]> 
262 
263								<#-- calcul url --> 
264								<#assign UrlPagePublicationsTypeDecisionsNominationParIdCategorieDispositif = cncUrlService.calculUrlPagePublicationsTypeDecisionsNominationParIdCategorieDispositif(themeDisplay, categoryDispo.getCategoryId()) /> 
265 
266 
267							<hr> 
268							<div> 
269		                        <h2 id="composition-des-commissions" class="inline"><@liferay.language key="composition.commission.titre" /></h2> 
270								<#if rechercheDecisionsNomination?has_content> 
271									<a href="${UrlPagePublicationsTypeDecisionsNominationParIdCategorieDispositif}" title="" class="button button-outline float-right"><@liferay.language key="composition.commission.lien.decisions.nomination" /></a> 
272								</#if> 
273							</div> 
274							 
275							</#if> 
276							 
277							<#list rechercheCompositionCommissions as rechercheCompositionCommission> 
278								${rechercheCompositionCommission} 
279							</#list> 
280						</#if> 
281 
282                        <#if rechercheResultats?has_content> 
283							<#if categoriesListDispositif?size != 0> 
284 
285								<#-- recupere le premier element de la liste --> 
286								<#assign categoryDispo = categoriesListDispositif[0]> 
287 
288								<#-- calcul url --> 
289								<#assign urlListeResultats = cncUrlService.calculUrlResultatsCommisionDispositif(themeDisplay, categoryDispo.getName()) /> 
290 
291							<hr> 
292							<div class="clearfix"> 
293								<h2 id="resultats-des-commissions" class="inline"><@liferay.language key="article.dispositif.resultats.composition.titre" /></h2> 
294								<#assign originalLocale = locale> 
295								<#setting locale = localeUtil.getDefault()> 
296								<#if locale.toString()!="en_US"> 
297									<a href="${urlListeResultats}" title="" class="button button-outline float-right"><@liferay.language key="article.dispositif.resultats.commission.voir" /></a> 
298								</#if> 
299							</div> 
300							 
301							</#if> 
302							<br /> 
303							${rechercheResultats} 
304                        </#if> 
305 
306                        <#if Contacts?has_content && Contacts.getSiblings()?size gt 0 && Contacts.getSiblings()?first.getData()?has_content> 
307                        <hr> 
308                        <h2 id="contacts"><@liferay.language key="article.dispositif.contacts" /></h2> 
309                        <#if InformationsContacts?has_content> 
310                        	<p>${InformationsContacts.getData()}</p> 
311                        </#if> 
312                        <#if DirectionEtService?has_content> 
313                        <div class="focus"> 
314                            <div class="text"> 
315                                <p> 
316                                    ${DirectionEtService.getData()} 
317                                </p> 
318                            </div> 
319                        </div> 
320                        </#if> 
321                        <div class="row"> 
322							<#assign renduConcacts = cncRenduArticles.recupererRenduContactsContrib(themeDisplay, Contacts.getSiblings(), "CONTACT", 0) /> 
323							<#if renduConcacts?has_content> 
324								<#list renduConcacts as renduConcact> 
325									${renduConcact} 
326								</#list> 
327							</#if> 
328                        </div> 
329                        </#if> 
330                        <#if articlesLies?has_content> 
331                        <hr> 
332                        <h2 id="articles-lies"><@liferay.language key="article.dispositif.articles.lies" /></h2> 
333                        <div class="list-articles"> 
334                            <div class="row"> 
335                                	<#list articlesLies as cur_Articleslies> 
336                                <div class="col-12 col-lg-4"> 
337                                    <article> 
338                                        ${cur_Articleslies} 
339                                    </article> 
340                                </div> 
341                                	</#list> 
342                            </div> 
343                        </div> 
344						</#if> 
345                    </div> 
346                </div> 
347            </div> 
348        </article> 
349    </div> 
350    <div class="ankle"></div> 
351    <#if DispositifsSimilaires?has_content && DispositifsSimilaires.getSiblings()?size gt 0 && DispositifsSimilaires.getSiblings()?first.getData()?has_content> 
352		<#assign counter = 0> 
353    <div class="rebound"> 
354        <hr> 
355        <div class="cnc-likes"> 
356            <div class="container"> 
357                <div class="row position-relative"> 
358					<div class="article-content-scroll mx-auto"> 
359						<div class="col-12"> 
360							<div class="section-title"><@liferay.language key="article.dispositif.articles.aides.similaires" /></div> 
361						</div> 
362						<#assign renduAides = cncRenduArticles.recupererRenduArticlesContrib(themeDisplay, DispositifsSimilaires.getSiblings(), "DISPOSITIF-AIDE-SIMILAIRE", 3) /> 
363						<#if renduAides?has_content> 
364							<#list renduAides as renduAide> 
365							<div class="col-12 col-lg-4"> 
366								<div class="cnc-like-item"> 
367									${renduAide} 
368								</div> 
369							</div> 
370							</#list> 
371						</#if> 
372					</div> 
373				</div> 
374			</div> 
375		</div> 
376	</div> 
377    </#if> 
378</section> 
379<#if InformationComplementaires?has_content && InformationComplementaires.getSiblings()?size gt 0 && InformationComplementaires.getSiblings()?first.getData()?has_content> 
380<section class="footer-text"> 
381    <div class="container"> 
382        <div class="row"> 
383            <div class="col-12"> 
384				<div class="article-content-scroll"> 
385					${InformationComplementaires.getData()} 
386				</div> 
387           	</div> 
388        </div> 
389    </div> 
390</section> 
391</#if> 
14 mars 2024

Liste des films recommandés Art et Essai

Dans le cadre de la réforme de la procédure de recommandation Art et Essai des films, voici la liste des films recommandés par le nouveau Collège de recommandation mis en place en 2018.

...