An error occurred while processing the template.
The string doesn't match the expected date/time/date-time format. The string to parse was: "11/3/51, 12:00 AM". The expected format was: "dd/MM/yyyy HH:mm".
The nested reason given follows:
Unparseable date: "11/3/51, 12:00 AM"

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${ObjectField_revpresseOlddatecoupure...  [in template "22823141604726#20121#null" at line 880, column 35]
----
1<#assign 
2dlAppLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService") 
3dlURLHelper = serviceLocator.findService("com.liferay.document.library.util.DLURLHelper") 
4 
5objectEntryLocalService = serviceLocator.findService("com.liferay.object.service.ObjectEntryLocalService") 
6objectRelationshipLocalService = serviceLocator.findService("com.liferay.object.service.ObjectRelationshipLocalService") 
7objectDefinitionLocalService = serviceLocator.findService("com.liferay.object.service.ObjectDefinitionLocalService") 
8 
9listTypeDefinitionService = serviceLocator.findService("com.liferay.list.type.service.ListTypeDefinitionLocalService") 
10listTypeEntryService = serviceLocator.findService("com.liferay.list.type.service.ListTypeEntryLocalService") 
11/> 
12 
13<#assign summary = garance.getSummaryContent("Imprime")> 
14 
15<#assign imprimeID = ObjectEntry_objectEntryId.getData()?number 
16imprimeEntry = objectEntryLocalService.fetchObjectEntry(imprimeID?number) 
17imprimeGroupID = imprimeEntry.getGroupId() 
18
19 
20<#if imprimeEntry.values.descriptionLevel == "MANIFESTATION" && imprimeEntry.values.r_imprimePartOf_c_relatedObjectERC?hasContent && imprimeEntry.values.r_imprimePartOf_c_relatedObjectERC?startsWith("transi_")> 
21    <#assign parentERC = imprimeEntry.values.r_imprimePartOf_c_relatedObjectERC?substring("transi_"?length)> 
22    <#attempt> 
23        <#assign parentFound = objectEntryLocalService.fetchObjectEntry(parentERC, imprimeEntry.objectDefinitionId)> 
24        <#recover> 
25            <#assign parentFound = ""> 
26    </#attempt> 
27</#if> 
28 
29<#--------------------------------- Header --------------------------> 
30<#assign imprimeTitleRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "imprimeTitles")> 
31<#assign imprimeTitles = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, imprimeTitleRel.objectRelationshipId, imprimeID, true, null, -1, -1 ) /> 
32<#assign imprimeTitlesPro = imprimeTitles?filter(t-> t.values.titleCatalogageManifestationType == "TITPRO")> 
33<#assign imprimeTitles = imprimeTitles?filter(t-> t.values.titleCatalogageManifestationType != "TITPRO")> 
34 
35<#assign imprimeAuthorRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "imprimeAuthors")> 
36<#assign imprimeAuthors = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, imprimeAuthorRel.objectRelationshipId, imprimeID, true, null, -1, -1 ) /> 
37<#assign imprimeAuthorFull = []> 
38<#list imprimeAuthors as imprimeAuthor> 
39    <#if imprimeAuthor.values.r_imprimeAuthorPersonnes_c_transitionPersonneId != 0> 
40        <#assign imprimeAuthorFonction = ""> 
41        <#if imprimeAuthor.values.r_imprimeAuthorRole_c_thesaurusId != 0> 
42            <#assign imprimeAuthorFonction = garance.getThesaurusByID(imprimeAuthor.values.r_imprimeAuthorRole_c_thesaurusId)> 
43        </#if> 
44        <#assign imprimeAuthorFull = imprimeAuthorFull + [{ 
45        "personne": garance.getPersonneDisplayData(imprimeAuthor.values.r_imprimeAuthorPersonnes_c_transitionPersonneId), 
46        "fonction": imprimeAuthorFonction 
47        }]> 
48    </#if> 
49</#list> 
50 
51<#--------------------------------- Media --------------------------> 
52<#assign reproductionsRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "reproductionsImprimes")> 
53<#assign reproductions = objectEntryLocalService.getManyToManyObjectEntries(imprimeGroupID, reproductionsRel.objectRelationshipId, imprimeID, true, reproductionsRel.isReverse(), null, -1, -1 ) /> 
54 
55<#assign reproductionsImages = []> 
56<#assign reproductionsVideos = []> 
57<#if reproductions?hasContent> 
58    <#list reproductions as reproduction> 
59        <#if reproduction.values.reproductionNature?hasContent> 
60            <#if reproduction.values.reproductionNature == "PICTURE" && reproduction.values.media?string != "0"> 
61                <#assign reproductionsImages = reproductionsImages + [reproduction]> 
62            <#elseIf reproduction.values.reproductionNature == "VIDEO"> 
63                <#assign reproductionsVideos = reproductionsVideos + [reproduction]> 
64            </#if> 
65        </#if> 
66    </#list> 
67</#if> 
68 
69<#assign bureautiquesRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "imprimeBureautique")> 
70<#assign bureautiques = objectEntryLocalService.getManyToManyObjectEntries(imprimeGroupID, bureautiquesRel.objectRelationshipId, imprimeID, true, bureautiquesRel.isReverse(), null, -1, -1 ) /> 
71 
72<#assign showMedia = (reproductionsImages?hasContent 
73|| reproductionsVideos?hasContent 
74<#--|| bureautiques?hasContent--> 
75)> 
76 
77<#assign thumbnail = {}> 
78<#if parentFound?hasContent> 
79    <#assign reproductions = objectEntryLocalService.getManyToManyObjectEntries(imprimeGroupID, reproductionsRel.objectRelationshipId, imprimeID, true, reproductionsRel.isReverse(), null, -1, -1) /> 
80    <#assign reprod = reproductions?filter(r -> r.values.reproductionNature == "PICTURE")> 
81    <#if reprod?hasContent && (reprod?first).values.media?string != "0"> 
82        <#assign thumbnail = reprod?first /> 
83    </#if> 
84</#if> 
85 
86<#if !thumbnail?hasContent && reproductionsImages?hasContent> 
87    <#assign thumbnail = reproductionsImages?first /> 
88</#if> 
89 
90<#--------------------------------- Identité --------------------------> 
91 
92<#assign responsabilitysRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "statementsOfResponsibility")> 
93<#assign responsabilitys = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, responsabilitysRel.objectRelationshipId, imprimeID, true, null, -1, -1 ) /> 
94 
95<#assign editionsRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "editions")> 
96<#assign editions = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, editionsRel.objectRelationshipId, imprimeID, true, null, -1, -1 ) /> 
97 
98<#assign languagesRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "imprimeLanguages")> 
99<#assign languages = objectEntryLocalService.getManyToManyObjectEntries(imprimeGroupID, languagesRel.objectRelationshipId, imprimeID, true, languagesRel.isReverse(), null, -1, -1 ) /> 
100 
101<#assign productionsRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "productions")> 
102<#assign productions = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, productionsRel.objectRelationshipId, imprimeID, true, null, -1, -1 ) /> 
103 
104<#assign notesRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "notes")> 
105<#assign notes = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, notesRel.objectRelationshipId, imprimeID, true, null, -1, -1 ) /> 
106 
107 
108<#assign perioKey = "SERIALS"> 
109<#assign numPerioKey = "NUMERO"> 
110<#assign dosPerioKey = "DOSPER"> 
111<#assign articleKey = "ARTICLE"> 
112<#assign bookKey = "BOOK"> 
113 
114 
115<#assign noteFull = []> 
116 
117<#if imprimeEntry.values.bibliographicLevel?hasContent> 
118    <#assign imprimeType = (imprimeEntry.values.bibliographicLevel == "SERIALS" && imprimeEntry.values.descriptionLevel == "MANIFESTATION")?then(numPerioKey, imprimeEntry.values.bibliographicLevel) /> 
119 
120    <#assign notesList = { 
121    "DOC18":[numPerioKey, bookKey], 
122    "DOC19":[perioKey, numPerioKey, articleKey, bookKey], 
123    "DOC20":[bookKey], 
124    "DOC21":[perioKey, numPerioKey, dosPerioKey, bookKey], 
125    "DOC30":[perioKey, numPerioKey, dosPerioKey, articleKey, bookKey], 
126    "DOC32":[numPerioKey, bookKey], 
127    "DOC33":[bookKey], 
128    "DOC34":[bookKey], 
129    "DOC36":[perioKey, numPerioKey, dosPerioKey, bookKey], 
130    "DOC37":[numPerioKey, bookKey], 
131    "DOC38":[perioKey, numPerioKey, dosPerioKey, bookKey], 
132    "DOC39":[numPerioKey, articleKey, bookKey], 
133    "DOC69":[perioKey, numPerioKey, dosPerioKey, bookKey], 
134    "DOC70":[perioKey, numPerioKey, dosPerioKey, bookKey], 
135    "DOC72":[perioKey, numPerioKey, dosPerioKey, articleKey], 
136    "DOC73":[perioKey, numPerioKey], 
137    "DOC77":[articleKey, bookKey], 
138    "HISTBIB":[articleKey, bookKey], 
139    "LIVRAISON":[perioKey, numPerioKey] 
140    }> 
141 
142    <#list notes as note> 
143        <#if note.values.nonFilmNoteType?hasContent && notesList[note.values.nonFilmNoteType]?? && notesList[note.values.nonFilmNoteType]?seqContains(imprimeType)> 
144            <#assign noteFull = noteFull + [note]> 
145        </#if> 
146    </#list> 
147</#if> 
148 
149<#assign numerosRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "sourceImprime1")> 
150<#assign numeros = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, numerosRel.objectRelationshipId, imprimeID, true, null, -1, -1 ) /> 
151 
152<#assign numerosRelated = [] /> 
153<#if numeros?hasContent> 
154    <#if imprimeEntry.values.bibliographicLevel == dosPerioKey || imprimeEntry.values.bibliographicLevel == articleKey> 
155        <#list numeros as numero> 
156            <#if numero.values.r_imprimeSource2_c_relatedObjectERC?hasContent> 
157                <#attempt> 
158                    <#assign perioFound = objectEntryLocalService.fetchObjectEntry(numero.values.r_imprimeSource2_c_relatedObjectERC?substring("transi_"?length), imprimeEntry.objectDefinitionId)> 
159                    <#recover> 
160                        <#assign perioFound = ""> 
161                </#attempt> 
162                <#if perioFound?hasContent> 
163                    <#assign numerosRelated = numerosRelated + [perioFound]> 
164                </#if> 
165            </#if> 
166        </#list> 
167    </#if> 
168</#if> 
169 
170<#assign showIdentity = (ObjectField_typeDOeuvreAffiche.getData()?hasContent 
171|| responsabilitys?hasContent 
172|| editions?hasContent 
173|| ObjectField_isbdBibliographicAddress.getData()?hasContent 
174|| languages?hasContent 
175|| ObjectField_searchYear.getData()?hasContent 
176|| numeros?hasContent 
177|| productions?hasContent 
178|| ObjectField_physicalDescription.getData()?hasContent 
179|| ObjectField_frequency.getData()?hasContent 
180|| ObjectField_issn.getData()?hasContent 
181|| ObjectField_isbn.getData()?hasContent 
182|| noteFull?hasContent 
183|| parentFound?hasContent 
184)> 
185 
186<#--------------------------------- Description du contenu --------------------------> 
187<#assign relatedFilmsRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "imprimeRelatedFilms")> 
188<#assign relatedFilms = objectEntryLocalService.getManyToManyObjectEntries(imprimeGroupID, relatedFilmsRel.objectRelationshipId, imprimeID, true, relatedFilmsRel.isReverse(), null, -1, -1 ) /> 
189<#assign relatedFilmsFull = []> 
190<#list relatedFilms as relatedFilm> 
191    <#assign filmData = garance.getFilmDisplayData(relatedFilm)> 
192    <#if filmData?hasContent> 
193        <#assign relatedFilmsFull = relatedFilmsFull + [filmData]> 
194    </#if> 
195</#list> 
196 
197<#assign representedPersonneRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "contentRepresentedPersonne")> 
198<#assign representedPersonnes = objectEntryLocalService.getManyToManyObjectEntries(imprimeGroupID, representedPersonneRel.objectRelationshipId, imprimeID, true, representedPersonneRel.isReverse(), null, -1, -1 ) /> 
199 
200<#assign subjectPersonneRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "contentSubjectPersonne")> 
201<#assign subjectPersonnes = objectEntryLocalService.getManyToManyObjectEntries(imprimeGroupID, subjectPersonneRel.objectRelationshipId, imprimeID, true, subjectPersonneRel.isReverse(), null, -1, -1 ) /> 
202 
203<#assign themesRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "imprimeThemes")> 
204<#assign themes = objectEntryLocalService.getManyToManyObjectEntries(imprimeGroupID, themesRel.objectRelationshipId, imprimeID, true, themesRel.isReverse(), null, -1, -1 ) /> 
205 
206<#assign representationsRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "imprimeRepresentations")> 
207<#assign representations = objectEntryLocalService.getManyToManyObjectEntries(imprimeGroupID, representationsRel.objectRelationshipId, imprimeID, true, representationsRel.isReverse(), null, -1, -1 ) /> 
208 
209<#assign representationsSourceRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "imprimeRepresentationSources")> 
210<#assign representationsSource = objectEntryLocalService.getManyToManyObjectEntries(imprimeGroupID, representationsSourceRel.objectRelationshipId, imprimeID, true, representationsSourceRel.isReverse(), null, -1, -1 ) /> 
211 
212<#assign stylesRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "imprimeStyles")> 
213<#assign styles = objectEntryLocalService.getManyToManyObjectEntries(imprimeGroupID, stylesRel.objectRelationshipId, imprimeID, true, stylesRel.isReverse(), null, -1, -1 ) /> 
214 
215<#assign contentsRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "imprimePosterContents")> 
216<#assign contents = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, contentsRel.objectRelationshipId, imprimeID, true, null, -1, -1 ) /> 
217 
218<#assign showDescription = (relatedFilmsFull?hasContent 
219|| representedPersonnes?hasContent 
220|| subjectPersonnes?hasContent 
221|| themes?hasContent 
222|| representations?hasContent 
223|| representationsSource?hasContent 
224|| styles?hasContent 
225|| contents?hasContent)> 
226 
227 
228<#--------------------------------- Synthèse coupures --------------------------> 
229 
230<#assign showSynthese = (ObjectField_revpresseOlddatecoupure.getData()?hasContent 
231|| ObjectField_revpresseRecentdatecoupure.getData()?hasContent 
232|| ObjectField_revpresseNbcoupures.getData()?hasContent 
233)> 
234 
235<#--------------------------------- Coupures --------------------------> 
236 
237<#assign coupuresFull = []> 
238<#if imprimeEntry.values.dataset == "revpresse"> 
239    <#assign coupuresRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "imprimeChildrenRevPressParts")> 
240    <#assign coupures = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, coupuresRel.objectRelationshipId, imprimeID, true, null, -1, -1 ) /> 
241    <#list coupures as coupure> 
242        <#assign coupuresAuthorsFull = []> 
243        <#assign coupuresDataRel = objectRelationshipLocalService.getObjectRelationship(coupure.objectDefinitionId, "revPresseData")> 
244        <#assign coupuresData = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, coupuresDataRel.objectRelationshipId, coupure.objectEntryId, true, null, -1, -1 ) /> 
245        <#if coupuresData?hasContent> 
246            <#assign coupuresAuthorsRel = objectRelationshipLocalService.getObjectRelationship(coupure.objectDefinitionId, "revPresseAuthors")> 
247            <#assign coupuresAuthors = objectEntryLocalService.getManyToManyObjectEntries(imprimeGroupID, coupuresAuthorsRel.objectRelationshipId, coupure.objectEntryId, true, coupuresAuthorsRel.isReverse(), null, -1, -1 ) /> 
248            <#if coupuresAuthors?hasContent> 
249                <#assign coupuresAuthorsFull = coupuresAuthors> 
250            </#if> 
251            <#assign coupuresFull = coupuresFull + [{"authors": coupuresAuthors, "data": coupuresData?first}]> 
252        </#if> 
253    </#list> 
254</#if> 
255<#assign showCoupure = coupuresFull?hasContent> 
256 
257<#--------------------------------- Collections consultatbles --------------------------> 
258 
259<#assign consultations = []> 
260<#if imprimeEntry.values.bibliographicLevel == "BOOK" || (imprimeEntry.values.bibliographicLevel == "SERIALS" && imprimeEntry.values.descriptionLevel == "WORK") > 
261    <#assign consultationsRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "consultation")> 
262    <#assign consultations = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, consultationsRel.objectRelationshipId, imprimeID, true, null, -1, -1 ) /> 
263    <#if consultations?hasContent> 
264        <#assign consultations = consultations?filter(c->c.values.accesConditions != "ACNONCOMM") /> 
265    </#if> 
266</#if> 
267<#assign showCollCons = consultations?hasContent> 
268 
269<#--------------------------------- Numéro de périodique --------------------------> 
270<#assign numeroPeriosFull = []> 
271<#assign imprimePartOf = []> 
272<#assign relatedObjectDef = objectDefinitionLocalService.fetchObjectDefinition(imprimeEntry.getCompanyId(), "C_RelatedObject")> 
273<#attempt> 
274    <#assign relatedObjectFound = objectEntryLocalService.fetchObjectEntry("transi_" + imprimeEntry.externalReferenceCode, relatedObjectDef.objectDefinitionId)> 
275    <#recover> 
276        <#assign relatedObjectFound = ""> 
277</#attempt> 
278<#if relatedObjectFound?hasContent> 
279    <#assign imprimePartOfRel = objectRelationshipLocalService.getObjectRelationship(relatedObjectFound.objectDefinitionId, "imprimePartOf")> 
280    <#assign imprimePartOf = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, imprimePartOfRel.objectRelationshipId, relatedObjectFound.objectEntryId, true, null, -1, -1 ) /> 
281    <#list imprimePartOf as numeroPerio> 
282        <#assign numeroPerioTitleRel = objectRelationshipLocalService.getObjectRelationship(numeroPerio.objectDefinitionId, "imprimeTitles")> 
283        <#assign numeroPerioTitles = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, numeroPerioTitleRel.objectRelationshipId, numeroPerio.objectEntryId, true, null, -1, -1 ) /> 
284        <#assign numeroPerioTitles = numeroPerioTitles?filter(t-> t.values.titleCatalogageManifestationType == "TITPRO")> 
285 
286        <#assign numeroPerioNumRel = objectRelationshipLocalService.getObjectRelationship(numeroPerio.objectDefinitionId, "sourceImprime1")> 
287        <#assign numeroPerioNums = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, numeroPerioNumRel.objectRelationshipId, numeroPerio.objectEntryId, true, null, -1, -1 ) /> 
288        <#assign numeroPerioNum = 9999999/> 
289 
290        <#if numeroPerioNums?hasContent> 
291            <#if ((numeroPerioNums?first).values.sourceNumber)?hasContent> 
292                <#assign rawSource = (numeroPerioNums?first).values.sourceNumber!""> 
293 
294                <#if rawSource?hasContent> 
295                    <#-- Pour le numéro de style "256 bis", on découpe pour ne récupérer que le numéro --> 
296                    <#assign cleanedSource = rawSource?keepBefore(" ")?trim> 
297                    <#-- On vérifie via une regex si le format est numérique --> 
298                    <#if rawSource?matches("^\\d+$")> 
299                        <#assign numeroPerioNum = rawSource?number /> 
300                    <#elseIf cleanedSource?matches("^\\d+$")> 
301                        <#assign numeroPerioNum = cleanedSource?number /> 
302                    </#if> 
303                </#if> 
304 
305            </#if> 
306        </#if> 
307 
308        <#if numeroPerioTitles?hasContent> 
309            <#assign numeroPerioTitle = [(numeroPerioTitles?first).values.titleArticle, (numeroPerioTitles?first).values.title]?filter(v->v?hasContent)?join(" ")> 
310        <#else> 
311            <#assign numeroPerioTitle = numeroPerio.values.titleComplete> 
312        </#if> 
313        <#assign numeroPeriosFull = numeroPeriosFull + [{ 
314        "id": numeroPerio.objectEntryId, 
315        "title": numeroPerioTitle, 
316        "number": numeroPerioNum 
317        }]> 
318    </#list> 
319    <#if numeroPeriosFull?hasContent> 
320        <#assign numeroPeriosFull = numeroPeriosFull?sortBy("number") /> 
321    </#if> 
322</#if> 
323<#assign showNumeroPerios = numeroPeriosFull?hasContent> 
324 
325<#--------------------------------- Exemplaires consultables --------------------------> 
326<#assign exemplariesFull = []> 
327<#assign finalItems = []> 
328<#if imprimeEntry.values.bibliographicLevel == "SERIALS" || imprimeEntry.values.bibliographicLevel == "BOOK"> 
329    <#assign maybeItemParents = imprimePartOf + [imprimeEntry]> 
330    <#list maybeItemParents as maybeItemParent> 
331        <#assign finalItemRel = objectRelationshipLocalService.getObjectRelationship(maybeItemParent.objectDefinitionId, "imprimeChildrenItem")> 
332        <#assign finalItems = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, finalItemRel.objectRelationshipId, maybeItemParent.objectEntryId, true, null, -1, -1 ) /> 
333    </#list> 
334    <#list finalItems as finalItem> 
335        <#assign exemplariesRel = objectRelationshipLocalService.getObjectRelationship(finalItem.objectDefinitionId, "consultations")> 
336        <#assign exemplaries = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, exemplariesRel.objectRelationshipId, finalItem.objectEntryId, true, null, -1, -1 ) /> 
337        <#if exemplaries?hasContent> 
338            <#assign exemplaries = exemplaries?filter(e->e.values.accesConditions != "ACNONCOMM") /> 
339        </#if> 
340        <#if exemplaries?hasContent> 
341            <#assign exemplariesFull = exemplariesFull + [{ 
342            "cote": finalItem.values.cote, 
343            "consultations": exemplaries 
344            }]> 
345        </#if> 
346    </#list> 
347<#elseIf imprimeEntry.values.dataset = "revpresse"> 
348    <#assign exemplariesRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "consultation")> 
349    <#assign exemplaries = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, exemplariesRel.objectRelationshipId, imprimeEntry.objectEntryId, true, null, -1, -1 ) /> 
350    <#if exemplaries?hasContent> 
351        <#assign exemplaries = exemplaries?filter(e->e.values.accesConditions != "ACNONCOMM") /> 
352    </#if> 
353    <#if exemplaries?hasContent> 
354        <#assign exemplariesFull = exemplariesFull + [{ 
355        "cote": imprimeEntry.values.cote, 
356        "consultations": exemplaries 
357        }]> 
358    </#if> 
359</#if> 
360 
361<#assign showExemplaries = exemplariesFull?hasContent> 
362 
363<#--------------------------------- Article de périodique --------------------------> 
364<#assign articlePerioFull = []> 
365<#assign articlePerioRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "bibDossier")> 
366<#assign articlePerios = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, articlePerioRel.objectRelationshipId, imprimeEntry.objectEntryId, true, null, -1, -1 ) /> 
367<#list articlePerios as articlePerio> 
368    <#if articlePerio.values.r_relatedObject2_c_relatedObjectERC?hasContent> 
369        <#attempt> 
370            <#assign relatedArticleFound = objectEntryLocalService.fetchObjectEntry(articlePerio.values.r_relatedObject2_c_relatedObjectERC?substring("transi_"?length), imprimeEntry.objectDefinitionId)> 
371            <#recover> 
372                <#assign relatedArticleFound = ""> 
373        </#attempt> 
374        <#if relatedArticleFound?hasContent> 
375            <#assign articlePerioFull = articlePerioFull + [{ 
376            "id": relatedArticleFound.objectEntryId, 
377            "title": relatedArticleFound.values.titleComplete, 
378            "year": relatedArticleFound.values.searchYear, 
379            "order": articlePerio.values.order 
380            }]> 
381        </#if> 
382    </#if> 
383</#list> 
384<#assign showArticlePerios = articlePerioFull?hasContent> 
385 
386<#--------------------------------- Collections --------------------------> 
387 
388<#assign relatedObjectTypesRel = objectRelationshipLocalService.getObjectRelationship(imprimeEntry.objectDefinitionId, "relatedObject1")> 
389<#assign relatedObjectTypes = objectEntryLocalService.getOneToManyObjectEntries(imprimeGroupID, relatedObjectTypesRel.objectRelationshipId, imprimeID, true, null, -1, -1 ) /> 
390<#assign relatedObjectsFull = garance.getRelatedObjects(relatedObjectTypes, imprimeEntry, true)> 
391 
392<#assign showCollection = relatedObjectsFull?hasContent> 
393<#assign showExemplaries = (showExemplaries || archiveParts?hasContent)> 
394 
395<div class="notice notice--imprime js-notice"> 
396    <div class="notice-header tw:text-white tw:pt-[3.375rem] tw:pb-[2.5rem] tw:relative tw:overflow-hidden 
397    tw:before:content-[''] tw:before:absolute tw:before:inset-0 tw:before:size-full tw:before:block tw:before:bg-text tw:before:opacity-90 
398    tw:xl:pt-[9.5rem]"> 
399        <div class="page-wrapper tw:z-0 tw:relative"> 
400            <#if request.getParameter("searchContext")?hasContent> 
401                <@garance.noticePagination request.getParameter("searchContext") imprimeID /> 
402            </#if> 
403            <div class="tw:flex tw:gap-5 tw:items-start tw:flex-wrap tw:flex-col tw:z-0 
404            tw:md:flex-row tw:lg:flex-nowrap 
405            tw:xl:gap-[2.125rem]"> 
406                <div class="tw:order-2 tw:lg:order-1 tw:flex tw:flex-col tw:w-full tw:text-center 
407                    tw:md:w-fit tw:md:text-left"> 
408                    <h1 class="tw:order-1 tw:text-prim tw:mb-[0.625rem]"> 
409                        <#if imprimeTitlesPro?hasContent> 
410                            ${[(imprimeTitlesPro?first).values.titleArticle, (imprimeTitlesPro?first).values.title]?filter(v->v?hasContent)?join(" ")} 
411                        <#elseIf ObjectField_titleComplete.getData()?hasContent> 
412                            ${ObjectField_titleComplete.getData()} 
413                        </#if> 
414                    </h1> 
415                    <#if !thumbnail?hasContent && imprimeEntry.values.dataset?hasContent> 
416                        <p class="tw:order-0 tw:mb-5 tw:text-[0.75rem]/[1rem] tw:block tw:mx-auto tw:rounded-xs tw:w-fit tw:bg-[rgba(255,255,255,0.9)] tw:text-prim tw:uppercase tw:px-[0.625rem] tw:py-1 
417                                            tw:md:mx-0"> 
418                            <#if imprimeEntry.values.dataset == "document">Imprimés<#elseIf imprimeEntry.values.dataset == "revpresse">Revues de presse</#if> 
419                        </p> 
420                    </#if> 
421                    <#if imprimeTitles?hasContent> 
422                        <p class="tw:order-1 tw:font-title tw:text-[1.25rem]/[1.875rem] tw:font-medium"> 
423                            <#list imprimeTitles as imprimeTitle><#if imprimeTitle.values.titleArticle?hasContent>${imprimeTitle.values.titleArticle} </#if>${imprimeTitle.values.title}. </#list> 
424                        </p> 
425                    </#if> 
426                    <div class="tw:order-1 tw:relative tw:pt-5 tw:mt-5 tw:text-left 
427                    tw:before:block tw:before:content-[''] tw:before:absolute tw:before:top-0 tw:before:h-[0.0625rem] tw:before:w-full tw:before:bg-white tw:before:opacity-20 
428                    tw:md:before:w-[12.8125rem] "> 
429                        <#if ObjectField_bibliographicLevel.getData()?hasContent> 
430                            <p class="tw:mb-[0.625rem]"> 
431                                ${ObjectField_bibliographicLevel.getData()} 
432                            </p> 
433                        </#if> 
434                        <#if imprimeAuthorFull?hasContent> 
435                            <p class="tw:mb-[0.625rem]"> 
436                                <#list imprimeAuthorFull as imprimeAuthor> 
437                                    <#if imprimeAuthor.personne.id?hasContent> 
438                                        <a href="/l/${imprimeAuthor.personne.id}" 
439                                           class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
440                                            ${imprimeAuthor.personne.name} 
441                                        </a> 
442                                    <#else>${imprimeAuthor.personne.name}</#if><#if imprimeAuthor.fonction?hasContent> (${imprimeAuthor.fonction})</#if><#if !imprimeAuthor?isLast>&nbsp;; </#if> 
443                                </#list> 
444                            </p> 
445                        </#if> 
446                    </div> 
447                </div> 
448                <#if thumbnail?hasContent> 
449                    <div class="tw:order-1 tw:lg:order-0 tw:w-full 
450                                                    tw:md:w-fit"> 
451                        <div class="tw:m-auto tw:mx-auto tw:max-w-full tw:w-[15.625rem] tw:relative 
452                                                        tw:md:mx-0"> 
453                            <#if imprimeEntry.values.dataset?hasContent> 
454                                <p class="tw:absolute tw:top-[0.625rem] tw:left-[0.625rem] tw:text-[0.75rem]/[1rem] tw:block tw:rounded-xs tw:w-fit tw:bg-[rgba(255,255,255,0.9)] tw:text-prim tw:uppercase tw:px-[0.625rem] tw:py-1"> 
455                                    <#if imprimeEntry.values.dataset == "document">Imprimés<#elseIf imprimeEntry.values.dataset == "revpresse">Revues de presse</#if> 
456                                </p> 
457                            </#if> 
458                            <#assign fileEntryDesktop = dlAppLocalService.getFileEntry(thumbnail.values.media.id?number) /> 
459                            <#assign thumbnailURL = dlURLHelper.getPreviewURL(fileEntryDesktop, fileEntryDesktop.getFileVersion(), 
460                            null, "", 
461                            !fileEntryDesktop.getFileVersion().equals(fileEntryDesktop.getLatestFileVersion()), true) /> 
462 
463                            <figure class="tw:w-full"> 
464                                <source media="(min-width: 480px)" 
465                                        srcset="${thumbnailURL}"/> 
466                                <img class="tw:rounded-xs tw:object-cover tw:size-full" alt="" 
467                                     src="${thumbnailURL}"/> 
468                                <#if thumbnail.values.reproductionNotes?hasContent || thumbnail.values.reproductionCopyright?hasContent> 
469                                    <figcaption class="tw:ml-[0.625rem] tw:opacity-70 tw:text-[0.75rem]/[1rem] tw:font-medium tw:mt-[0.3125rem] 
470                                                                    tw:md:ml-0"> 
471                                        ${[thumbnail.values.reproductionNotes, thumbnail.values.reproductionCopyright]?filter(v->v?hasContent)?join(" - ")} 
472                                    </figcaption> 
473                                </#if> 
474                            </figure> 
475                        </div> 
476                    </div> 
477                </#if> 
478                <@garance.noticeTools /> 
479            </div> 
480        </div> 
481    </div> 
482    <div class="notice-content"> 
483 
484        <div class="tw:overflow-y-clip tw:py-10"> 
485            <div class="page-wrapper summary-ancres js-summary-ancres tw:group tw:fixed tw:w-full tw:overflow-hidden tw:h-fit tw:z-50 tw:top-[4.375rem] tw:bg-beige tw:max-lg:max-w-full! 
486                tw:lg:top-[6.875rem] tw:lg:h-0 tw:lg:overflow-visible tw:lg:sticky 
487                tw:xl:top-[8.85rem]"> 
488                <nav class="tw:bg-beige tw:lg:w-[14.25rem]" role="navigation" aria-labelledby="summary-title"> 
489                    <button id="summary-title" class="js-summary-btn tw:text-h3 tw:font-title tw:flex tw:justify-between tw:items-center tw:py-[0.625rem] tw:w-full tw:max-sm:px-[calc(2.5rem/2)] tw:focus:outline-offset-[-0.125rem] 
490                        tw:max-lg:px-[calc(5rem/2)] 
491                        tw:lg:hidden" aria-label="Ouvrir/Fermer le sommaire" aria-expanded="false" 
492                            aria-controls="summary-list"> 
493                        <span>Sommaire</span> 
494                        <span class="icon-chevron-down tw:text-prim tw:text-base tw:transition-all tw:outline-offset-[-0.125rem] 
495                        tw:group-[&.open]:rotate-180" aria-hidden="true"></span> 
496                    </button> 
497                    <div id="summary-list" class="tw:overflow-y-auto tw:bg-white tw:transition-all tw:max-sm:px-[calc(2.5rem/2)] 
498                    tw:max-lg:max-h-0 tw:max-lg:px-[calc(5rem/2)] tw:max-lg:max-w-full 
499                    tw:group-[&.open]:max-h-[calc(100vh-(4.375rem+3.125rem))] 
500                    tw:lg:max-h-[calc(100vh-12.5rem)] tw:lg:bg-transparent" tabindex="-1"> 
501                        <ul class="tw:border-sommaire-border tw:border-l-[0.125rem] tw:my-2"> 
502                            <#if showIdentity> 
503                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
504                                    <a href="#identite" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
505                                    tw:[&.is-active]:border-prim" tabindex="-1"> 
506                                        <span>${summary["IdentiteImprime"]?hasContent?then(summary["IdentiteImprime"], "Identité")}</span> 
507                                    </a> 
508                                </li> 
509                            </#if> 
510                            <#if showDescription> 
511                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
512                                    <a href="#description" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
513                                    tw:[&.is-active]:border-prim" tabindex="-1"> 
514                                        <span>${summary["DescriptionDuContenuImprime"]?hasContent?then(summary["DescriptionDuContenuImprime"], "Description du contenu")}</span> 
515                                    </a> 
516                                </li> 
517                            </#if> 
518                            <#if showSynthese> 
519                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
520                                    <a href="#synth-coupures" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
521                                tw:[&.is-active]:border-prim" tabindex="-1"> 
522                                        <span>${summary["SyntheseCoupuresImprime"]?hasContent?then(summary["SyntheseCoupuresImprime"], "Synthèse coupures")}</span> 
523                                    </a> 
524                                </li> 
525                            </#if> 
526                            <#if showCoupure> 
527                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
528                                    <a href="#coupures" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
529                                tw:[&.is-active]:border-prim" tabindex="-1"> 
530                                        <span>${summary["CoupuresImprime"]?hasContent?then(summary["CoupuresImprime"], "Coupures")}</span> 
531                                    </a> 
532                                </li> 
533                            </#if> 
534                            <#if showCollCons> 
535                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
536                                    <a href="#collect-cons" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
537                                tw:[&.is-active]:border-prim" tabindex="-1"> 
538                                        <span>${summary["CollectionsConsultablesImprime"]?hasContent?then(summary["CollectionsConsultablesImprime"], "Collections consultables")}</span> 
539                                    </a> 
540                                </li> 
541                            </#if> 
542                            <#if showExemplaries> 
543                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
544                                    <a href="#exemples-cons" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
545                                tw:[&.is-active]:border-prim" tabindex="-1"> 
546                                        <span>${summary["ExemplairesConsultablesImprime"]?hasContent?then(summary["ExemplairesConsultablesImprime"], "Exemplaires consultables")}</span> 
547                                    </a> 
548                                </li> 
549                            </#if> 
550                            <#if showNumeroPerios> 
551                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
552                                    <a href="#num-perio" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
553                                tw:[&.is-active]:border-prim" tabindex="-1"> 
554                                        <span>${summary["NumerosDePeriodiqueImprime"]?hasContent?then(summary["NumerosDePeriodiqueImprime"], "Numéros de périodique")}</span> 
555                                    </a> 
556                                </li> 
557                            </#if> 
558                            <#if showArticlePerios> 
559                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
560                                    <a href="#arti-perio" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
561                                tw:[&.is-active]:border-prim" tabindex="-1"> 
562                                        <span>${summary["ArticlesDePeriodiqueImprime"]?hasContent?then(summary["ArticlesDePeriodiqueImprime"], "Articles de périodique")}</span> 
563                                    </a> 
564                                </li> 
565                            </#if> 
566                            <#if showMedia> 
567                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
568                                    <a href="#ressources" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
569                                    tw:[&.is-active]:border-prim" tabindex="-1"> 
570                                        <span>${summary["RessourcesMediaImprime"]?hasContent?then(summary["RessourcesMediaImprime"], "Ressources média")}</span> 
571                                    </a> 
572                                </li> 
573                            </#if> 
574                            <#if showCollection> 
575                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
576                                    <a href="#collections" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
577                                tw:[&.is-active]:border-prim" tabindex="-1"> 
578                                        <span>${summary["CollectionsLieesImprime"]?hasContent?then(summary["CollectionsLieesImprime"], "Collections liées")}</span> 
579                                    </a> 
580                                </li> 
581                            </#if> 
582                        </ul> 
583                    </div> 
584                </nav> 
585            </div> 
586 
587            <#if showIdentity> 
588                <div id="identite" class="js-summary-content" tabindex="-1"></div> 
589                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:pb-10"> 
590                    <h2 class="tw:text-prim tw:mb-5">${summary["IdentiteImprime"]?hasContent?then(summary["IdentiteImprime"], "Identité")}</h2> 
591 
592                    <#if parentFound?hasContent> 
593                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
594                            <span class="tw:font-bold tw:shrink-0">Périodique :</span> 
595                            <a href="/l/${parentFound.objectEntryId}" 
596                               class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
597                                ${parentFound.values.titleComplete}</a> 
598                        </p> 
599                    </#if> 
600 
601                    <#if numerosRelated?hasContent> 
602                        <#list numerosRelated as numeroRelated> 
603                            <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
604                                <span class="tw:font-bold tw:shrink-0">Périodique :</span> 
605                                <a href="/l/${numeroRelated.objectEntryId}" 
606                                   class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
607                                    ${numeroRelated.values.titleComplete}</a> 
608                            </p> 
609                        </#list> 
610                    </#if> 
611 
612                    <#if ObjectField_typeDOeuvreAffiche.getData()?hasContent> 
613                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
614                            <span class="tw:font-bold tw:shrink-0">Type de document :</span> 
615                            <span>${ObjectField_typeDOeuvreAffiche.getData()}</span> 
616                        </p> 
617                    </#if> 
618 
619                    <#if responsabilitys?hasContent> 
620                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
621                            <span class="tw:font-bold tw:shrink-0">Mention de responsabilité :</span> 
622                            <span>${responsabilitys?filter(r-> r.values.statementResponsibility?hasContent)?map(r->r.values.statementResponsibility)?join(", ")}</span> 
623                        </p> 
624                    </#if> 
625 
626                    <#if editions?hasContent> 
627                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
628                            <span class="tw:font-bold tw:shrink-0">Édition :</span> 
629                            <span>${editions?filter(e-> e.values.editionDocument?hasContent)?map(e->e.values.editionDocument)?join(", ")}</span> 
630                        </p> 
631                    </#if> 
632 
633                    <#if ObjectField_isbdBibliographicAddress.getData()?hasContent> 
634                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
635                            <span class="tw:font-bold tw:shrink-0">Publication :</span> 
636                            <span>${ObjectField_isbdBibliographicAddress.getData()}</span> 
637                        </p> 
638                    </#if> 
639 
640                    <#if languages?hasContent> 
641                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
642                            <span class="tw:font-bold tw:shrink-0">Langue :</span> 
643                            <span>${languages?filter(l-> l.values.label?hasContent)?map(l->l.values.label)?join(", ")}</span> 
644                        </p> 
645                    </#if> 
646 
647                    <#if ObjectField_searchYear.getData()?hasContent> 
648                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
649                            <span class="tw:font-bold tw:shrink-0">Année :</span> 
650                            <span>${ObjectField_searchYear.getData()?datetime("dd/MM/yyyy HH:mm")?string("yyyy")}</span> 
651                        </p> 
652                    </#if> 
653 
654                    <#if numeros?hasContent> 
655                        <#list numeros as numero> 
656                            <#if numero.values.sourcePhysicalDescription?hasContent> 
657                                <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
658                                    <span class="tw:font-bold tw:shrink-0">Description physique :</span> 
659                                    <span>${numero.values.sourcePhysicalDescription}</span> 
660                                </p> 
661                            </#if> 
662                            <#if numero.values.sourceNumber?hasContent> 
663                                <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
664                                    <span class="tw:font-bold tw:shrink-0">Numéro :</span> 
665                                    <span>${numero.values.sourceNumber}</span> 
666                                </p> 
667                            </#if> 
668                            <#if numero.values.sourceNumberCpl?hasContent> 
669                                <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
670                                    <span class="tw:font-bold tw:shrink-0">Numéro complémentaire :</span> 
671                                    <span>${numero.values.sourceNumberCpl}</span> 
672                                </p> 
673                            </#if> 
674                            <#if numero.values.sourceParution?hasContent> 
675                                <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
676                                    <span class="tw:font-bold tw:shrink-0">Forme de parution :</span> 
677                                    <span>${garance.getPicklistItemName(numero.values.sourceParution, "picklistSourceParution")}</span> 
678                                </p> 
679                            </#if> 
680                            <#if numero.values.sourcePublicationDate?hasContent> 
681                                <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
682                                    <span class="tw:font-bold tw:shrink-0">Date de publication :</span> 
683                                    <span>${numero.values.sourcePublicationDate}</span> 
684                                </p> 
685                            </#if> 
686                            <#if numero.values.sourcePagination?hasContent> 
687                                <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
688                                    <span class="tw:font-bold tw:shrink-0">Pagination :</span> 
689                                    <span>${numero.values.sourcePagination}</span> 
690                                </p> 
691                            </#if> 
692                        </#list> 
693                    </#if> 
694 
695                    <#if productions?hasContent> 
696                        <#assign productionCountries = productions?filter(p -> p.values.r_imprimeProductionCountry_c_thesaurusId?string !="0")?map(p -> garance.getThesaurusByID(p.values.r_imprimeProductionCountry_c_thesaurusId))> 
697                        <#assign productionDates = productions?filter(p -> p.values.productionDateStart?hasContent)?map(p -> [p.values.productionDateStart, p.values.productionDateEnd!""]?filter(v->v?hasContent))> 
698                        <#if productionCountries?hasContent> 
699                            <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
700                                <span class="tw:font-bold tw:shrink-0">Pays :</span> 
701                                <span>${productionCountries?join(", ")}</span> 
702                            </p> 
703                        </#if> 
704                        <#if productionDates?hasContent> 
705                            <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
706                                <span class="tw:font-bold tw:shrink-0">Année :</span> 
707                                <span>${productionDates?map(p->p?map(pv->pv?string("yyyy"))?join(" - "))?join(", ")}</span> 
708                            </p> 
709                        </#if> 
710                    </#if> 
711 
712                    <#if ObjectField_physicalDescription.getData()?hasContent> 
713                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
714                            <span class="tw:font-bold tw:shrink-0">Description physique :</span> 
715                            <span>${ObjectField_physicalDescription.getData()}</span> 
716                        </p> 
717                    </#if> 
718 
719                    <#if ObjectField_frequency.getData()?hasContent> 
720                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
721                            <span class="tw:font-bold tw:shrink-0">Fréquence :</span> 
722                            <span>${ObjectField_frequency.getData()}</span> 
723                        </p> 
724                    </#if> 
725 
726                    <#if ObjectField_issn.getData()?hasContent> 
727                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
728                            <span class="tw:font-bold tw:shrink-0">ISSN :</span> 
729                            <span>${ObjectField_issn.getData()}</span> 
730                        </p> 
731                    </#if> 
732 
733                    <#if ObjectField_isbn.getData()?hasContent> 
734                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
735                            <span class="tw:font-bold tw:shrink-0">ISBN :</span> 
736                            <span>${ObjectField_isbn.getData()}</span> 
737                        </p> 
738                    </#if> 
739 
740                    <#if noteFull?hasContent> 
741                        <#list noteFull as note> 
742                            <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
743                                <span class="tw:font-bold tw:shrink-0">${garance.getPicklistItemName(note.values.nonFilmNoteType, "picklistNonFilmNoteType")} :</span> 
744                                <span>${note.values.nonFilmNote}</span> 
745                            </p> 
746                        </#list> 
747                    </#if> 
748 
749                </div> 
750            </#if> 
751 
752            <#if showDescription> 
753                <div id="description" class="js-summary-content" tabindex="-1"></div> 
754                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
755                            tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
756                    <h2 class="tw:text-prim tw:mb-5">${summary["DescriptionDuContenuImprime"]?hasContent?then(summary["DescriptionDuContenuImprime"], "Description du contenu")}</h2> 
757 
758                    <#if relatedFilmsFull?hasContent> 
759                        <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
760                            <p id="films-tlt" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Film(s) :</p> 
761                            <div class="js-list-expand"> 
762                                <ul aria-labelledby="films-tlt"> 
763                                    <#list relatedFilmsFull as relatedFilm> 
764                                        <li <#if (relatedFilm?index > 4)>class="tw:hidden"</#if>> 
765                                            <#if relatedFilm.id?hasContent> 
766                                                <a href="/l/${relatedFilm.id}" 
767                                                   class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
768                                                    ${relatedFilm.title} 
769                                                </a> 
770                                            <#else> 
771                                                ${relatedFilm.title} 
772                                            </#if> 
773                                            <#if relatedFilm.reals?hasContent> - 
774                                                <#list relatedFilm.reals as real> 
775                                                    <#if real.id?hasContent> 
776                                                        <a class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]" 
777                                                           href="/l/${real.id}"> 
778                                                            ${real.name} 
779                                                        </a> 
780                                                    <#else> 
781                                                        ${real.name} 
782                                                    </#if> 
783                                                    <#if !real?isLast>, </#if> 
784                                                </#list> 
785                                            </#if> 
786                                            <#if relatedFilm.year?hasContent> - ${relatedFilm.year}</#if> 
787                                        </li> 
788                                    </#list> 
789                                </ul> 
790                                <#if (relatedFilmsFull?size > 5)> 
791                                    <button type="button" 
792                                            class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
793                                        <span>Voir plus</span> 
794                                        <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
795                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
796                                    </button> 
797                                </#if> 
798                            </div> 
799                        </div> 
800                    </#if> 
801 
802                    <#if representedPersonnes?hasContent> 
803                        <#assign representedPersonnes = representedPersonnes?map(rp -> garance.getPersonneDisplayData(rp.objectEntryId))> 
804                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
805                            <span class="tw:font-bold tw:shrink-0">Personne(s) représentée(s) :</span> 
806                            <span><#list representedPersonnes as rp><#if rp.id?hasContent> 
807                                    <a href="/l/${rp.id}" 
808                                       class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
809                                            ${rp.name} 
810                                        </a> 
811                                <#else>${rp.name}</#if><#if !rp?isLast>, </#if> 
812                               </#list></span> 
813                        </p> 
814                    </#if> 
815 
816                    <#if subjectPersonnes?hasContent> 
817                        <#assign subjectPersonnes = subjectPersonnes?map(sp -> garance.getPersonneDisplayData(sp.objectEntryId))> 
818                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
819                            <span class="tw:font-bold tw:shrink-0">Personne(s) sujet :</span> 
820                            <span><#list subjectPersonnes as sp><#if sp.id?hasContent> 
821                                    <a href="/l/${sp.id}" 
822                                       class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
823                                            ${sp.name} 
824                                        </a> 
825                                <#else>${sp.name}</#if><#if !sp?isLast>, </#if> 
826                               </#list></span> 
827                        </p> 
828                    </#if> 
829 
830                    <#if themes?hasContent> 
831                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
832                            <span class="tw:font-bold tw:shrink-0">Thème :</span> 
833                            <span>${themes?map(t->t.values.label)?join(", ")}</span> 
834                        </p> 
835                    </#if> 
836 
837                    <#if representations?hasContent> 
838                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
839                            <span class="tw:font-bold tw:shrink-0">Représentation :</span> 
840                            <span>${representations?map(r->r.values.label)?join(", ")}</span> 
841                        </p> 
842                    </#if> 
843 
844                    <#if representationsSource?hasContent> 
845                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
846                            <span class="tw:font-bold tw:shrink-0">Source de la représentation :</span> 
847                            <span>${representationsSource?map(rs->rs.values.label)?join(", ")}</span> 
848                        </p> 
849                    </#if> 
850 
851                    <#if styles?hasContent> 
852                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
853                            <span class="tw:font-bold tw:shrink-0">Époque/Style/Mouvement :</span> 
854                            <span>${styles?map(s->s.values.label)?join(", ")}</span> 
855                        </p> 
856                    </#if> 
857 
858                    <#if contents?hasContent> 
859                        <#list contents as content> 
860                            <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
861                                <#if content.values.imprimePosterContentType?hasContent><span 
862                                        class="tw:font-bold tw:shrink-0">${garance.getPicklistItemName(content.values.imprimePosterContentType, "picklistImprimePosterContentType")} 
863                                    :</span></#if> 
864                                <span>${content.values.posterContentText?replace("\n", "<br />")}<#if content.values.posterContentSourceTexte?hasContent> (${content.values.posterContentSourceTexte})</#if></span> 
865                            </p> 
866                        </#list> 
867                    </#if> 
868 
869                </div> 
870            </#if> 
871 
872            <#if showSynthese> 
873                <div id="synth-coupures" class="js-summary-content" tabindex="-1"></div> 
874                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
875                            tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
876                    <h2 class="tw:text-prim tw:mb-5">${summary["SyntheseCoupuresImprime"]?hasContent?then(summary["SyntheseCoupuresImprime"], "Synthèse coupures")}</h2> 
877                    <#if ObjectField_revpresseOlddatecoupure.getData()?hasContent> 
878                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
879                            <span class="tw:font-bold tw:shrink-0">La plus ancienne :</span> 
880                            <span>${ObjectField_revpresseOlddatecoupure.getData()?datetime("dd/MM/yyyy HH:mm")?string("dd/MM/yyyy")}</span> 
881                        </p> 
882                    </#if> 
883                    <#if ObjectField_revpresseRecentdatecoupure.getData()?hasContent> 
884                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
885                            <span class="tw:font-bold tw:shrink-0">La plus récente :</span> 
886                            <span>${ObjectField_revpresseRecentdatecoupure.getData()?datetime("dd/MM/yyyy HH:mm")?string("dd/MM/yyyy")}</span> 
887                        </p> 
888                    </#if> 
889                    <#if ObjectField_revpresseNbcoupures.getData()?hasContent> 
890                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
891                            <span class="tw:font-bold tw:shrink-0">Nombre de coupures :</span> 
892                            <span>${ObjectField_revpresseNbcoupures.getData()}</span> 
893                        </p> 
894                    </#if> 
895                </div> 
896            </#if> 
897 
898            <#if showCoupure> 
899                <div id="coupures" class="js-summary-content" tabindex="-1"></div> 
900                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
901                            tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
902                    <h2 id="coupure-tlt" 
903                        class="tw:text-prim tw:mb-5">${summary["CoupuresImprime"]?hasContent?then(summary["CoupuresImprime"], "Coupures")}</h2> 
904                    <div class="wysiwyg js-list-expand"> 
905                        <ul aria-labelledby="coupure-tlt"> 
906                            <#-- ToDo - Ajouter lien vers les images --> 
907                            <#assign coupuresClean = []> 
908                            <#list coupuresFull as c> 
909                                <#assign clean = { 
910                                "title": (c.data.values.title)!"", 
911                                "date": (c.data.values.date?hasContent)?then(c.data.values.date, "1900-01-01"?date), 
912                                "raw": c 
913                                }> 
914                                <#assign coupuresClean += [clean]> 
915                            </#list> 
916 
917                            <#assign coupuresSorted = coupuresClean?sortBy("date")?sortBy("title")> 
918 
919                            <#list coupuresSorted as coupure> 
920                                <li <#if (coupure?index > 4)>class="tw:hidden"</#if>>${coupure.title}<#if coupure.raw.data.values.date?hasContent> du ${coupure.raw.data.values.date?string("dd/MM/yyyy")}</#if><#if coupure.authors?hasContent> ${coupure.authors?map(a->garance.getPersonneDisplayData(a.objectEntryId).name)?join(", ")}</#if><#if coupure.raw.data.values.numPage?hasContent> p. ${coupure.raw.data.values.numPage}</#if></li> 
921                            </#list> 
922                        </ul> 
923                        <#if (coupures?size > 5)> 
924                            <button type="button" 
925                                    class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
926                                <span>Voir plus</span> 
927                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
928                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
929                            </button> 
930                        </#if> 
931                    </div> 
932                </div> 
933            </#if> 
934 
935            <#if showCollCons> 
936                <div id="collect-cons" class="js-summary-content" tabindex="-1"></div> 
937                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
938                            tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
939                    <h2 class="tw:text-prim tw:mb-5">${summary["CollectionsConsultablesImprime"]?hasContent?then(summary["CollectionsConsultablesImprime"], "Collections consultables")}</h2> 
940                    <#list consultations as consultation> 
941                        <#assign etatCollCollection = ""> 
942                        <#if consultation.values.etatCollCollection?hasContent> 
943                            <#assign etatCollCollection = garance.getPicklistItemName(consultation.values.etatCollCollection, "picklistEtatCollCollection")> 
944                        </#if> 
945                        <#assign lieuDeConsultation = ""> 
946                        <#if consultation.values.lieuDeConsultation?hasContent> 
947                            <#assign lieuDeConsultation = garance.getPicklistItemName(consultation.values.lieuDeConsultation, "picklistLieuDeConsultation")> 
948                        </#if> 
949                        <#assign accesConditions = ""> 
950                        <#if consultation.values.accesConditions?hasContent> 
951                            <#assign accesConditions = garance.getPicklistItemName(consultation.values.accesConditions, "picklistAccesConditions")> 
952                        </#if> 
953                        <#assign cons = [ 
954                        etatCollCollection, 
955                        lieuDeConsultation, 
956                        accesConditions, 
957                        consultation.values.cote 
958                        ]> 
959                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
960                            <span class="tw:font-bold tw:shrink-0">Consultation :</span> 
961                            <span>${cons?filter(v -> v?hasContent)?join(" - ")}</span> 
962                        </p> 
963                        <#if consultation.values.perioEtatCollEtat?hasContent> 
964                            <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
965                                <span class="tw:font-bold tw:shrink-0">État de la collection :</span> 
966                                <span>${consultation.values.perioEtatCollEtat}</span> 
967                            </p> 
968                        </#if> 
969                    </#list> 
970                </div> 
971            </#if> 
972 
973            <#if showExemplaries> 
974                <div id="exemples-cons" class="js-summary-content" tabindex="-1"></div> 
975                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
976                            tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
977                    <h2 class="tw:text-prim tw:mb-5">${summary["ExemplairesConsultablesImprime"]?hasContent?then(summary["ExemplairesConsultablesImprime"], "Exemplaires consultables")}</h2> 
978                    <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
979                        <span class="tw:font-bold tw:shrink-0">Consultation :</span> 
980                        <span class="tw:flex tw:flex-col"> 
981                            <#list exemplariesFull as exemplary> 
982                                <#assign itemConsultations = "" /> 
983                                <#list exemplary.consultations as consultation> 
984                                    <#assign lieuDeConsultation = ""> 
985                                    <#if consultation.values.lieuDeConsultation?hasContent> 
986                                        <#assign lieuDeConsultation = garance.getPicklistItemName(consultation.values.lieuDeConsultation, "picklistLieuDeConsultation")> 
987                                    </#if> 
988                                    <#assign accesConditions = ""> 
989                                    <#if consultation.values.accesConditions?hasContent> 
990                                        <#assign accesConditions = garance.getPicklistItemName(consultation.values.accesConditions, "picklistAccesConditions")> 
991                                    </#if> 
992                                    <#assign itemConsultations = itemConsultations + [lieuDeConsultation, accesConditions]?filter(v -> v?hasContent)?join(" - ")> 
993                                </#list> 
994                                <span class="tw:block">${[exemplary.cote, itemConsultations]?filter(v -> v?hasContent)?join(" - ")}</span> 
995                            </#list> 
996                        </span> 
997                    </p> 
998                    <#if archiveParts?hasContent> 
999                        <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1000                            <p id="archive-tlt" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Appartenance à un 
1001                                fonds d'archives :</p> 
1002                            <ul aria-labelledby="archive-tlt"> 
1003                                <#list archiveParts as archivePart> 
1004                                    <#assign archiveDataset = ""> 
1005                                    <#if archivePart.archive.values.dataset?hasContent> 
1006                                        <#assign archiveDataset = garance.getPicklistItemName(archivePart.archive.values.dataset, "picklistDataset")> 
1007                                    </#if> 
1008                                    <li> 
1009                                        <a class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]" 
1010                                           href="/l/${archivePart.object.objectEntryId}">${archivePart.type}<#if archivePart.archive.values.cote?hasContent> ${archivePart.archive.values.cote}</#if><#if archivePart.archive.values.titleComplete?hasContent> [${archivePart.archive.values.titleComplete}]</#if><#if archiveDataset?hasContent> (${archiveDataset})</#if> 
1011                                        </a> 
1012                                    </li> 
1013                                </#list> 
1014                            </ul> 
1015                        </div> 
1016                    </#if> 
1017                </div> 
1018            </#if> 
1019 
1020            <#if showNumeroPerios> 
1021                <div id="num-perio" class="js-summary-content" tabindex="-1"></div> 
1022                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1023                            tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1024                    <h2 id="numero-tlt" 
1025                        class="tw:text-prim tw:mb-5">${summary["NumerosDePeriodiqueImprime"]?hasContent?then(summary["NumerosDePeriodiqueImprime"], "Numéros de périodique")}</h2> 
1026                    <div class="wysiwyg js-list-expand"> 
1027                        <ul aria-labelledby="numero-tlt"> 
1028                            <#list numeroPeriosFull as numero> 
1029                                <li <#if (numero?index > 4)>class="tw:hidden"</#if>> 
1030                                    <a href="/l/${numero.id}" 
1031                                       class="tw:font-bold! tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]">${numero.title}</a> 
1032                                </li> 
1033                            </#list> 
1034                        </ul> 
1035                        <#if (numeroPeriosFull?size > 5)> 
1036                            <button type="button" 
1037                                    class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1038                                <span>Voir plus</span> 
1039                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1040                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1041                            </button> 
1042                        </#if> 
1043                    </div> 
1044                </div> 
1045            </#if> 
1046 
1047            <#if showArticlePerios> 
1048                <div id="art-perio" class="js-summary-content" tabindex="-1"></div> 
1049                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1050                            tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1051                    <h2 id="article-perio-tlt" 
1052                        class="tw:text-prim tw:mb-5">${summary["ArticlesDePeriodiqueImprime"]?hasContent?then(summary["ArticlesDePeriodiqueImprime"], "Articles de périodique")}</h2> 
1053                    <div class="wysiwyg js-list-expand"> 
1054                        <ul aria-labelledby="article-perio-tlt"> 
1055                            <#assign articlePerioFull = articlePerioFull?sortBy("order")> 
1056                            <#list articlePerioFull as article> 
1057                                <li <#if (article?index > 4)>class="tw:hidden"</#if>> 
1058                                    <a href="/l/${article.id}" 
1059                                       class="tw:font-bold! tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]">${article.title} <#if article.year?hasContent> - ${article.year?string("YYYY")}</#if></a> 
1060                                </li> 
1061                            </#list> 
1062                        </ul> 
1063                        <#if (articlePerioFull?size > 5)> 
1064                            <button type="button" 
1065                                    class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1066                                <span>Voir plus</span> 
1067                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1068                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1069                            </button> 
1070                        </#if> 
1071                    </div> 
1072                </div> 
1073            </#if> 
1074 
1075        </div> 
1076        <#if showMedia> 
1077            <#assign medias = []> 
1078            <#if reproductionsVideos?hasContent> 
1079                <#assign medias = medias + [{ 
1080                "type": "video", 
1081                "title": "Vidéos", 
1082                "reproductions": reproductionsVideos 
1083                }]> 
1084            </#if> 
1085            <#if reproductionsImages?hasContent> 
1086                <#assign medias = medias + [{ 
1087                "type": "image", 
1088                "title": "Images", 
1089                "reproductions": reproductionsImages 
1090                }]> 
1091            </#if> 
1092           <#-- <#if bureautiques?hasContent> 
1093                <#assign medias = medias + [{ 
1094                "type": "fichier", 
1095                "title": "Texte", 
1096                "reproductions": bureautiques 
1097                }]> 
1098            </#if> --> 
1099 
1100            <div id="ressources" class="js-summary-content" tabindex="-1"></div> 
1101            <div class="page-wrapper tw:py-10"> 
1102                <h2 id="ressources-tl" 
1103                    class="tw:text-prim tw:mb-5">${summary["RessourcesMediaImprime"]?hasContent?then(summary["RessourcesMediaImprime"], "Ressources média")}</h2> 
1104                <@garance.displayMedia data=medias /> 
1105            </div> 
1106        </#if> 
1107        <#if showCollection> 
1108            <div id="collections" class="js-summary-content" tabindex="-1"></div> 
1109            <div class="page-wrapper tw:py-10"> 
1110                <h2 id="collections-tl" 
1111                    class="tw:text-prim tw:mb-5">${summary["CollectionsLieesImprime"]?hasContent?then(summary["CollectionsLieesImprime"], "Collections liées")}</h2> 
1112                <@garance.displayCollection relatedObjectsFull /> 
1113            </div> 
1114            <script type="module" async> 
1115                import('photoswipe') 
1116                import('photoswipe-lightbox') 
1117            </script> 
1118        </#if> 
1119    </div> 
1120</div>