Une erreur s'est produite lors du traitement du modèle.
The following has evaluated to null or missing:
==> num_jour [in template "21355#21395#INFORMATION-ETABLISSEMENT" at line 102, column 65]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #if myCenterTool.isOpenNow(horaire_de... [in template "21355#21395#INFORMATION-ETABLISSEMENT" at line 102, column 17]
----
1<#assign images_folder = themeDisplay.getPathThemeImages() />
2
3<div class="custom-back back-identity custom-debord" style="width: 342px;min-width: fit-content;margin-right: 15px;margin-bottom: 0;">
4 <h3 class="adress"><@liferay.language key="centre.info.adresse" /></h3>
5 <div>
6 ${parentStructureFieldSet23871.N__et_nom_de_la_voie.getData()}<br/>
7 ${parentStructureFieldSet23871.code_postal.getData()} <span class="city">${parentStructureFieldSet23871.ville.getData()}</span> <br/>
8 <#if getterUtil.getInteger(parentStructureFieldSet23871.telephone.getData()) == 3936 >
9 <span class="tel"><@liferay.language key="centre.info.nous.contacter" /></span>
10 <a href="tel:3936" class="numTelephoneLink">
11 <img class="numTelephoneImg"
12 src="${images_folder}/afpa/formation/Service_gratuit+prix_appel_3936_GRIS.PNG"
13 alt="3936 : Service gratuit + prix d'un appel">
14 </a>
15 <#if parentStructureFieldSet23871.fax?? && parentStructureFieldSet23871.fax.getData()?has_content && parentStructureFieldSet23871.affichage_fax?? && parentStructureFieldSet23871.affichage_fax.getData()?? && getterUtil.getBoolean(parentStructureFieldSet23871.affichage_fax.getData()) >
16 <span class="tel"><@liferay.language key="centre.info.fax" /> : ${parentStructureFieldSet23871.fax.getData()}</span><br/>
17 </#if>
18 <#else>
19 <span class="tel"><@liferay.language key="centre.info.tel" /> : ${parentStructureFieldSet23871.telephone.getData()}<br/>
20 <#if getterUtil.getBoolean(parentStructureFieldSet23871.affichage_fax.getData()) && parentStructureFieldSet23871.fax.getData()?has_content >
21 <@liferay.language key="centre.info.fax" /> : ${parentStructureFieldSet23871.fax.getData()}</span><br/>
22 <#else>
23 </span>
24 </#if>
25 </#if>
26 </div>
27 <#if parentStructureFieldSet23871.horaires_jourFieldSet.horaires_jour?has_content && parentStructureFieldSet23871.horaires_jourFieldSet.getSiblings()?has_content >
28 <#assign horaire_debut_matin = [] />
29 <#assign horaire_fin_matin = [] />
30 <#assign horaire_debut_aprem = [] />
31 <#assign horaire_fin_aprem = [] />
32
33 <#-- Ajout dans les tableaux des différents horaires -->
34 <#list parentStructureFieldSet23871.horaires_jourFieldSet.getSiblings() as cur_horaires_jour >
35 <#assign horaire_debut_matin += [cur_horaires_jour.horaires_jourFieldSetFieldSet.horaires_ouverture_matin.data] />
36 <#assign horaire_fin_matin += [cur_horaires_jour.horaires_jourFieldSetFieldSet.horaires_fermeture_matin.data] />
37 <#assign horaire_debut_aprem += [cur_horaires_jour.horaires_jourFieldSetFieldSet.horaires_ouverture_apres_midi.data] />
38 <#assign horaire_fin_aprem += [cur_horaires_jour.horaires_jourFieldSetFieldSet.horaires_fermeture_apres_midi.data] />
39 </#list>
40 <#assign isAffichable = 'false' />
41
42 <#list parentStructureFieldSet23871.horaires_jourFieldSet.getSiblings() as cur_horaires_jour >
43 <#assign verif_ouverture_matin = stringUtil.trim(cur_horaires_jour.horaires_jourFieldSetFieldSet.horaires_ouverture_matin.data) />
44 <#assign verif_fermeture_matin = stringUtil.trim(cur_horaires_jour.horaires_jourFieldSetFieldSet.horaires_fermeture_matin.data) />
45 <#assign verif_ouverture_aprem = stringUtil.trim(cur_horaires_jour.horaires_jourFieldSetFieldSet.horaires_ouverture_apres_midi.data) />
46 <#assign verif_fermeture_aprem = stringUtil.trim(cur_horaires_jour.horaires_jourFieldSetFieldSet.horaires_fermeture_apres_midi.data) />
47 <#if (verif_ouverture_matin?has_content) ||(verif_fermeture_matin?has_content)
48 || (verif_ouverture_aprem?has_content) ||(verif_fermeture_aprem?has_content) >
49 <#assign isAffichable = 'true' />
50 <#break>
51 </#if>
52 </#list>
53 <#if 'true'== isAffichable >
54 <div>
55 <#-- Affichage jour par jour -->
56 <table>
57 <caption class="horaires"><@liferay.language key="centre.info.horaires" /></caption>
58 <#list parentStructureFieldSet23871.horaires_jourFieldSet.getSiblings() as cur_horaires_jour >
59 <#assign affich_ouverture_matin = stringUtil.trim(cur_horaires_jour.horaires_jourFieldSetFieldSet.horaires_ouverture_matin.data) />
60 <#assign affich_fermeture_matin = stringUtil.trim(cur_horaires_jour.horaires_jourFieldSetFieldSet.horaires_fermeture_matin.data) />
61 <#assign affich_ouverture_aprem = stringUtil.trim(cur_horaires_jour.horaires_jourFieldSetFieldSet.horaires_ouverture_apres_midi.data) />
62 <#assign affich_fermeture_aprem = stringUtil.trim(cur_horaires_jour.horaires_jourFieldSetFieldSet.horaires_fermeture_apres_midi.data) />
63
64 <tr>
65 <th scope="row" role="rowheader">${cur_horaires_jour.horaires_jour.getData()} :</th>
66 <td>
67 <#if affich_ouverture_matin?has_content >
68 ${stringUtil.replace(affich_ouverture_matin, ":", "h")}
69 </#if>
70 <#if affich_ouverture_matin?has_content && affich_fermeture_matin?has_content >
71 - ${stringUtil.replace(affich_fermeture_matin, ":", "h")}
72 </#if>
73 <#if affich_ouverture_aprem?has_content && affich_fermeture_aprem?has_content >
74 <span>/ </span>${stringUtil.replace(affich_ouverture_aprem, ":", "h")} -
75 ${stringUtil.replace(affich_fermeture_aprem, ":", "h")}
76 </#if>
77 <#if !affich_ouverture_aprem?has_content && affich_fermeture_aprem?has_content >
78 <span>/ </span>${stringUtil.replace(affich_fermeture_aprem, ":", "h")}
79 </#if>
80 </td>
81 </tr>
82 </#list>
83 </table>
84
85 <#assign jour = dateUtil.getCurrentDate("EEEE", themeDisplay.getLocale(), themeDisplay.getTimeZone()) />
86 <#if jour == 'lundi' || jour == 'Monday' >
87 <#assign num_jour = 0 />
88 <#elseif jour=='mardi' || jour == 'Tuesday' >
89 <#assign num_jour = 1 />
90 <#elseif jour=='mercredi' || jour == 'Wednesday' >
91 <#assign num_jour = 2 />
92 <#elseif jour=='jeudi' || jour == 'Thursday' >
93 <#assign num_jour = 3 />
94 <#elseif jour=='vendredi' || jour == 'Friday' >
95 <#assign num_jour = 4 />
96 <#elseif jour=='samedi' || jour == 'Saturday' >
97 <#assign num_jour = 5 />
98 </#if>
99
100
101 <#assign myCenterTool = serviceLocator.findService('fr.afpa.ws.service.AfpaMonCentreLocalService') />
102 <#if myCenterTool.isOpenNow(horaire_debut_matin[num_jour],horaire_fin_matin[num_jour],horaire_debut_aprem[num_jour],horaire_fin_aprem[num_jour]) >
103 <span class="center-state"><@liferay.language key="centre.info.ouvert" /></span>
104 <#else>
105 <span class="center-state"><@liferay.language key="centre.info.ferme" /></span>
106 </#if>
107 </div>
108 </#if>
109 </#if>
110
111 <a id="fermetures" href="javascript:;"><@liferay.language key="centre.horaire.fermetures.voir" /></a>
112
113 <#assign jours_fermes = "" />
114 <#if parentStructureFieldSet23871.fermetures_exceptionnelles?? && parentStructureFieldSet23871.fermetures_exceptionnelles.getSiblings()?has_content >
115 <#list parentStructureFieldSet23871.fermetures_exceptionnelles.getSiblings() as cur_fermetures_exceptionnelles >
116 <#assign jours_fermes = jours_fermes + " " + cur_fermetures_exceptionnelles.getData()+"<br/>" />
117 </#list>
118 </#if>
119 <a id="ref-psh" target="blank" href="https://www.afpa.fr/documents/21653/84910510/Referents+accessibilite.pdf/b1655968-0ee9-a181-c214-d0f5a0b3e35d?t=1637588463000"><@liferay.language key="centre.accessibilite.psh" /></a>
120</div>
121
122<script>
123 jQuery(document).ready(function () {
124 modal();
125 jQuery("#fermetures").on("click",function () {
126 open_fermeture();
127 });
128 });
129
130 function modal() {
131 jQuery("#general-popin").dialog({
132 modal: true,
133 width: "auto",
134 autoOpen: false,
135 dialogClass: "global-popin general-popin",
136 position: {
137 my: "center",
138 at: "center",
139 of: window
140 },
141 });
142 }
143
144 function open_fermeture() {
145 jQuery("#general-popin").css("display", "block");
146 jQuery("#general-popin").dialog("open");
147 jQuery(".ui-widget-overlay.ui-front").addClass('overlay-video');
148 }
149
150</script>
151
152<div id="general-popin" style="display:none;">
153 <div class="modal-header" style="flex-direction: column;height:auto;">
154 <p class="great-title"><@liferay.language key="centre.horaires.fermetures.exceptionnelles" /></p>
155 <span><@liferay.language key="centre.horaire.fermetures.annee" /></span>
156 <h3>${languageUtil.format(locale, "centre.horaire.fermetures.titre", parentStructureFieldSet23871.Nom.getData(), true)}</h3>
157 </div>
158 <div class="modal-body">
159 <div>${jours_fermes}</div>
160 </div>
161</div>
Nos résultats pour ce centre
Données 2025
82,40%
de réussite
66,20%
d'accès à l'emploi dans les 6 mois
89,50%
de stagiaires satisfaits
L'agenda
Déclic Formation jeudi 29 octobre 2026 à 09:00
Les accès vers votre centre
En transport
Depuis la gare routière, bus ligne 4, direction Pont de Justice, arrêt : CFPALes formations de votre centre
-
Travaux publics
-
Bâtiment
-
Fonctions supports de l'entreprise
-
Formations réglementaires
-
Services aux entreprises et à la personne
L'actu
Découvrez les offres de contrats en alternance dont la formation est assurée par l'Afpa en Occitanie
Lire la suite
Votre entreprise cherche à former des Agents de Sûreté et de sécurité privée ?
Lire la suite
L’Afpa Occitanie s’est mobilisée ce mardi 8 mars à l’occasion de Journée Internationale des Droits des Femmes.
Lire la suite
Découvrez les autres centres de formations
Découvrez nos plateaux de formation comme si vous y étiez grâce à nos visites virtuelles !
Visiter nos centres
Le mot du directeur
M. Didier Brun
Directeur du Centre
Vous accompagner tout au long de votre projet de formation et d’emploi est notre ambition. Notre équipe s’engage pour votre réussite et vous propose des solutions adaptées à vos besoins, que vous soyez salarié, demandeur d’emploi, ou entreprise.
Les plus de l'Afpa
Hebergement
Hébergement possible
Restauration
Restauration possible sur place
Accessibilité totale
Bâtiment d'accueil conforme à l'accessibilité