Whistleblowing - Déconcer toute violation

Bienvenue chez Ooredoo Algérie ! Nous sommes ravis de vous compter parmi nous. Je suis un Agent Virtuel Ooredoo Chat, comment puis-je vous aider ?

Ooredoo Chat

1

Chatbot

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon

BORN FOR

icon
Une erreur s'est produite lors du traitement du modèle.
The following has evaluated to null or missing:
==> request.cookies  [in template "20097#20123#77441" at line 5, column 24]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #list request.cookies?filter(c -> c.n...  [in template "20097#20123#77441" at line 5, column 17]
----
1<#if entries?has_content> 
2	<#assign sectionParam = getterUtil.getString(request.getParameter("section"))?trim> 
3		<#assign sectionCookie = ""> 
4		 
5		<#list request.cookies?filter(c -> c.name == "guest-section") as cookie> 
6			<#assign sectionCookie = getterUtil.getString(cookie.value)?trim> 
7    </#list> 
8	<#if currentURL?contains('/business') || currentURL?contains('/entreprises') > 
9		<#assign curSection = "business|entreprises" /> 
10		<script> 
11		(function() { 
12			const cookieName = "guest-section"; 
13			const sessionValue = "entreprises"; 
14 
15			document.cookie = cookieName + "=" + encodeURIComponent(sessionValue) + "; path=/"; 
16		})(); 
17		</script> 
18	<#elseif currentURL?contains('/about-us') || currentURL?contains('/tout-sur-ooredoo')>		 
19		<#assign curSection = "about-us|tout-sur-ooredoo" />	 
20		<script> 
21		(function() { 
22			const cookieName = "guest-section"; 
23			const sessionValue = "tout-sur-ooredoo"; 
24 
25			document.cookie = cookieName + "=" + encodeURIComponent(sessionValue) + "; path=/"; 
26		})(); 
27		</script> 
28	<#else> 
29			<#assign curSection = "personal|particuliers " /> 
30		<#if currentURL?contains('/particuliers')>		 
31						 
32						<script> 
33						(function() { 
34					const cookieName = "guest-section"; 
35					const sessionValue = "particuliers"; 
36 
37					document.cookie = cookieName + "=" + encodeURIComponent(sessionValue) + "; path=/"; 
38				})(); 
39				</script> 
40		   </#if> 
41		 
42	</#if> 
43		 
44		<#assign navOrder={}/> 
45		<#assign mainNav='en_US'/> 
46		<#assign mainNavLocal='fr'/> 
47		 
48		<#assign navListEn=['Personal','Business','About Us']/> 
49		<#assign navListFr=['Particuliers','Entreprises','Tout sur Ooredoo']/> 
50		<#assign navListAr=['Personal','Business','About']/> 
51		 
52 
53		 
54		 
55		<#assign localeString = locale?string /> 
56		<#if localeString == 'en_US'> 
57			<#assign mainNav = navListEn /> 
58			<#elseif localeString == 'ar_SA'> 
59				<#assign mainNav = navListEn /> 
60				<#assign mainNavLocal='ar'/> 
61				<#elseif localeString == 'fr_FR'> 
62					<#assign mainNav = navListFr /> 
63					<#else> 
64						<!-- Set a default value if none of the conditions match --> 
65						<#assign mainNav = navListEn /> 
66		</#if> 
67		 
68		<#list entries as curEntry> 
69			<#assign navOrder+={curEntry.getTitle(locale),curEntry}/> 
70			    
71			   
72			  
73			</#list> 
74 
75	<#if curSection=="about-us|tout-sur-ooredoo"> 
76		<#if localeString == 'ar_SA'> 
77			<style> 
78				.navbar-nav{ 
79						padding-inline: 0px !important; 
80
81				.text-base-1280{ 
82				 font-size: 14px !important; 
83
84			</style> 
85		<#else> 
86			<style> 
87				ol, ul { 
88						padding-inline: 32px; 
89
90				.text-base-1280{ 
91				 font-size: 14px !important; 
92
93				.nav-padding-right { 
94				padding-right: 32px; 
95				font-size: 14px !important; 
96				font-weight: 400 !important; 
97
98			</style> 
99 
100		</#if> 
101	<#else> 
102		<style> 
103			.nav-padding-right { 
104				padding-right: 32px; 
105				font-size: 16px !important; 
106				font-weight: 400 !important; 
107
108			.rtl .nav-padding-right { 
109					padding-right: 0px; 
110					padding-left: 32px; 
111
112			</style> 
113  </#if>	 
114	<div class="nav-wrap shadow megaMenu bg-white"> 
115		<div class="mx-auto hidden max-w-7xl xl:block"> 
116	        <!-- first row --> 
117	        <div class="flex"> 
118	            <a href="/personal"> 
119								<#if curSection=="business|entreprises"> 
120	                <img src="/documents/d/guest/20170203_ooredoo-business-logo" alt="about Logo" class="mt-[14px] pb-3 h-16"> 
121									<#else> 
122										<img src="/documents/d/guest/logo" alt="about Logo" class="mt-[14px] pb-3 h-12"> 
123									</#if> 
124	            </a> 
125				<div class="flex h-14 items-start gap-x-1 overflow-y-hidden text-[14px] ltr:ml-24 rtl:mr-24"> 
126	           <#if mainNav?has_content> 
127					<#list mainNav as navList>   
128						 
129					     <#assign curEntry=navOrder[navList]/> 
130						          <a class="flex h-full items-end rounded-b-xl  
131													${((curSection?lower_case)?contains((curEntry.getTitle(locale)?replace(' ','-'))?lower_case))?then('bg-brand-red-4 text-white','hover:bg-brand-red-6')} 
132													px-5 pb-2.5" data-senna-off="true" href="/${mainNavLocal}/${(curEntry.getTitle('en_US')?lower_case)?replace(' ','-')}"> 
133			                    <span>			                    	  
134														<@liferay.language key="${curEntry.getTitle(locale)?replace(' ','')}" /> 
135			                	</span> 
136			                </a> 
137							  
138							  
139							  
140							     
141	               </#list> 
142							 </#if> 
143	             </div> 
144	            <div class="flex items-center justify-end gap-x-10 ltr:ml-auto rtl:mr-auto"> 
145								<a href="/personal/noudjoum" class="flex items-center gap-x-2.5"> 
146	                    <img src="/documents/d/guest/frame-1707479612" alt="User Icon"> 
147	                    <p class="flex flex-col items-start leading-tight"> 
148	                        <span><@liferay.language key="noudjoum-icon"/> </span> 
149	                    </p> 
150	                </a> 
151	                <a href="https://my.ooredoo.dz/" class="flex items-center gap-x-2.5"> 
152	                    <img src="/documents/d/guest/persons" alt="User Icon"> 
153	                    <p class="flex flex-col items-start leading-tight"> 
154	                        <span><@liferay.language key="my-ooredoo"/> </span> 
155	                    </p> 
156	                </a> 
157	                <a href="https://estorm.ooredoo.dz/" class="flex items-center gap-x-2.5"> 
158	                    <img src="/documents/d/guest/e-strom" alt="E Strom Icon"> 
159	                    <p><@liferay.language key="e-strom"/></p> 
160	                </a> 
161	                <a href="https://appstorm.ooredoo.dz/" class="flex items-center gap-x-2.5"> 
162	                    <img src="/documents/d/guest/partners" alt="People Icon"> 
163	                    <p><@liferay.language key="partners"/></p> 
164	                </a> 
165	            </div> 
166	        </div> 
167	    </div> 
168	    <div class="mx-auto hidden max-w-7xl xl:block desktop-tab"> 
169       		<nav class="navbar navbar-expand-lg pb-xl-0 pt-4 relative flex items-center w-full justify-between px-0" data-te-navbar-ref=""> 
170		        <div class="!visible flex-grow basis-[100%] d-flex align-items-center lg:!flex lg:basis-auto MegaNavSection" id="navbarSupportedContentX" data-te-collapse-item=""> 
171		        	 
172							 
173							<#list entries as curEntry> 
174	 
175		        		<#if (curSection?lower_case)?contains((curEntry.getTitle(locale)?lower_case)?replace(' ','-'))> 
176							 
177				        	<#assign  
178		                            assetRenderer = curEntry.getAssetRenderer() 
179		                            journalArticle = assetRenderer.getAssetObject() 
180		                     /> 
181		                    <@liferay_journal["journal-article"] 
182		                            articleId=journalArticle.getArticleId() 
183		                            ddmTemplateKey=journalArticle.getDDMTemplateKey() 
184		                            groupId=journalArticle.getGroupId() 
185		                    /> 
186		                </#if> 
187	                </#list>    
188	            </div> 
189	            <div class="flex-wrap flex pb-2 mb-1"> 
190                    <div class="relative flex w-80 justify-end ltr:ml-auto rtl:mr-auto ooredoo-search-bar"> 
191                        <@liferay.search_bar /> 
192                    </div> 
193                    <div class="grid grid-flow-col gap-1 justify-center items-center  ltr:ml-10 rtl:mr-10 ltr:translate-x-1  rtl:-translate-x-1 border-none"> 
194                        <!--<@liferay_portlet["runtime"] portletName="com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet" />--> 
195											<div class="d-flex gap-3 ooredoo-lang-selector">	 
196												<img id="displayedImage" src='<@liferay.language key="language-flag"/>' class="w-[24px] h-[24px] rounded-[50%] " >  
197													<select 
198         
199        id="languageIdWeb" 
200        name="languageId" class="border-0 py-1 text-gray-700 pr-4" aria-labelledby="languageDropdownMobile" 
201        fdprocessedid="0tfnyf"> 
202			<#if localeString == 'ar_SA'> 
203			   <option  value="fr_FR" lang="fr-FR" class="block px-4 py-2">FR </option> 
204				 <option selected="" value="ar_SA" lang="ar-SA" class="block px-4 py-2">AR </option> 
205			<#elseif localeString == 'fr_FR'> 
206				 <option selected="" value="fr_FR" lang="fr-FR" class="block px-4 py-2">FR </option> 
207				 <option value="ar_SA" lang="ar-SA" class="block px-4 py-2">AR </option> 
208		  </#if> 
209         
210    </select> 
211</div> 
212                    </div> 
213                </div> 
214    		</nav> 
215		</div> 
216 
217 
218		<!--tablet--> 
219	    <div class="hidden px-5 py-4 md:block xl:hidden"> 
220	        <!-- first row --> 
221	        <div class="flex items-center justify-between"> 
222	            <a href="/personal"> 
223	                <img src="/documents/d/guest/logo" alt="Business Logo" class="w-[auto] h-12 pb-3"> 
224	            </a> 
225	            <div class="flex items-center gap-x-[14px]"> 
226	                <div class="relative flex h-9 w-72 justify-end ltr:ml-auto rtl:mr-auto"> 
227	                    <@liferay.search_bar /> 
228	                </div> 
229	                <div class="flex items-center gap-x-[14px]"> 
230	                    <button id="navigationTabletDropdown" data-dropdown-toggle="navigation-section-teblet-dropdown" class="nav-mob-dropdown inline-flex items-center rounded-full bg-brand-red-4 text-center text-white" type="button"> 
231	                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 13C14.396 13 16.575 13.694 18.178 14.671C18.978 15.161 19.662 15.736 20.156 16.361C20.642 16.977 21 17.713 21 18.5C21 19.345 20.589 20.011 19.997 20.486C19.437 20.936 18.698 21.234 17.913 21.442C16.335 21.859 14.229 22 12 22C9.771 22 7.665 21.86 6.087 21.442C5.302 21.234 4.563 20.936 4.003 20.486C3.41 20.01 3 19.345 3 18.5C3 17.713 3.358 16.977 3.844 16.361C4.338 15.736 5.021 15.161 5.822 14.671C7.425 13.694 9.605 13 12 13ZM12 2C13.3261 2 14.5979 2.52678 15.5355 3.46447C16.4732 4.40215 17 5.67392 17 7C17 8.32608 16.4732 9.59785 15.5355 10.5355C14.5979 11.4732 13.3261 12 12 12C10.6739 12 9.40215 11.4732 8.46447 10.5355C7.52678 9.59785 7 8.32608 7 7C7 5.67392 7.52678 4.40215 8.46447 3.46447C9.40215 2.52678 10.6739 2 12 2Z" fill="white"/> 
232	                        </svg> 
233	                    </button> 
234	                    <div id="navigation-section-teblet-dropdown" class="z-10 hidden w-35 rounded-xl bg-white shadow" data-popper-reference-hidden="false" data-popper-escaped="" data-popper-placement="bottom" style="position: absolute; inset: 0px auto auto 0px; margin: 0px; transform: translate3d(0px, 10.4px, 0px);"> 
235	                        <ul class="custom-list py-1 text-sm text-black/80" aria-labelledby="navigationDropdown"> 
236														<li class="border-b border-gray-300"> 
237																<img src="/documents/d/guest/frame-1707479612" alt="Noudjoum Icon" class="list-icon"> 
238																<a href="/personal/noudjoum" class="block  py-2"> 
239 
240																		<@liferay.language key="noudjoum-icon" /> 
241																</a> 
242														</li> 
243														<li class="border-b border-gray-300"> 
244																<img src="/documents/d/guest/persons" alt="My Ooredoo Icon" class="list-icon"> 
245																<a href="https://my.ooredoo.dz/" class="block  py-2"> 
246 
247																		<@liferay.language key="my-ooredoo" /> 
248																</a> 
249														</li> 
250														<li class="border-b border-gray-300"> 
251																<img src="/documents/d/guest/e-strom" alt="eStorm Icon" class="list-icon"> 
252																<a href="https://estorm.ooredoo.dz/" class="block py-2"> 
253 
254																		<@liferay.language key="e-strom" /> 
255																</a> 
256														</li> 
257														<li class=""> 
258																<img src="/documents/d/guest/partners" alt="Partners Icon" class="list-icon"> 
259																<a href="https://appstorm.ooredoo.dz/" class="block py-2">             
260																		<@liferay.language key="partners" /> 
261																</a> 
262														</li> 
263												</ul> 
264	                    </div> 
265	                </div> 
266	                 
267								 
268								 
269								 
270								 
271								 
272								 
273		<div class="portlet-boundary portlet-boundary_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet_  portlet-static portlet-static-end portlet-decorate portlet-language " 
274    id="p_p_id_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet_"><span 
275        id="p_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet"></span> 
276    <section class="portlet" 
277        id="portlet_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet"> 
278        <div class="portlet-content"> 
279            <div class=" portlet-content-container"> 
280                <div class="portlet-body"> 
281                    <form class="form  " 
282                        data-fm-namespace="" 
283                        id="_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet_fm0_1726697931825" 
284                        method="post" 
285                        name="_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet_fm0_1726697931825"> 
286                        <div class="d-flex gap-3 ooredoo-lang-selector"> 
287                            <select 
288                                onchange="_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet_changeLanguage()" 
289                                id="languageIdTab" 
290                                name="languageId" class="border-0 py-1 text-gray-700 pr-4" 
291                                aria-labelledby="languageDropdownMobile"> 
292															 
293                                <#if localeString == 'ar_SA'> 
294											 <option  value="fr_FR" lang="fr-FR" class="block px-4 py-2">FR </option> 
295											 <option selected="" value="ar_SA" lang="ar-SA" class="block px-4 py-2">AR </option> 
296										<#elseif localeString == 'fr_FR'> 
297											 <option selected="" value="fr_FR" lang="fr-FR" class="block px-4 py-2">FR </option> 
298											 <option value="ar_SA" lang="ar-SA" class="block px-4 py-2">AR </option> 
299										</#if> 
300                            </select> 
301                        </div> 
302                    </form> 
303 
304                    <style> 
305                        .portlet-boundary_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet_ .portlet-content { 
306                            padding: 0; 
307
308 
309                        .portlet-boundary_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet_ .portlet { 
310                            margin: 0; 
311
312 
313                        .ooredoo-lang-selector .pr-4 { 
314                            padding-right: 2rem !important; 
315
316 
317                        .ooredoo-lang-selector .pb-1 { 
318                            padding-bottom: 0.25rem !important; 
319
320 
321                        .ooredoo-lang-selector .pt-1 { 
322                            padding-top: 0.25rem !important; 
323
324                    </style> 
325                </div> 
326            </div> 
327        </div> 
328    </section> 
329</div> 
330								 
331								 
332								 
333								 
334								 
335								 
336								 
337								 
338								 
339								 
340	            </div> 
341	        </div> 
342	        <!-- second row --> 
343	        <div class="mt-4 flex items-center justify-between"> 
344	            <button id="tablet-menu-trigger-btn"> 
345	                <img src="/documents/d/guest/fluent_navigation-16-filled" alt="Menu Icon"> 
346	            </button> 
347	            <div class="h-9 text-base"> 
348	            	<#if mainNav?has_content> 
349					<#list mainNav as navList>     
350					     <#assign curEntry=navOrder[navList]/> 
351						          <a class="h-full rounded-full no-underline text-inherit  ${((curSection?lower_case)?contains((curEntry.getTitle(locale)?replace(' ','-'))?lower_case))?then('bg-brand-red-4 text-white tablet-menu-active-btn','')} text-sm" data-senna-off="true" href="/${mainNavLocal}/${(curEntry.getTitle('en_US')?lower_case)?replace(' ','-')}"> 
352			                    <span class="inline-block section-text-tab"> 
353														<@liferay.language key="${curEntry.getTitle(locale)?replace(' ','')}" /> 
354			                	</span> 
355			                </a> 
356						 
357						 
358						 
359						 
360	               </#list> 
361							 </#if> 
362	            </div> 
363	        </div> 
364	    </div> 
365 
366	    <!--mobile--> 
367	    <div class="px-4 py-4 md:hidden"> 
368	        <!-- first row --> 
369	        <div class="flex items-center justify-between"> 
370	            <a href="/personal"> 
371	                <img src="/documents/d/guest/logo" alt="Business Logo" class="w-[120px]"> 
372	            </a> 
373	            <div class="d-flex justify-end align-items-xl-center gap-x-2"> 
374	                <div class="relative flex h-9 w-50 w-xl-72 justify-end ltr:ml-auto rtl:mr-auto"> 
375	                    <button id="mobile-nav-search" class="nav-mob-dropdown inline-flex items-center rounded-full bg-brand-red-4 text-center text-white" type="button"> 
376	                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.031 16.617L22.314 20.899L20.899 22.314L16.617 18.031C15.0237 19.3082 13.042 20.0029 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20.0029 13.042 19.3082 15.0237 18.031 16.617ZM16.025 15.875C17.2941 14.5699 18.0029 12.8204 18 11C18 7.132 14.867 4 11 4C7.132 4 4 7.132 4 11C4 14.867 7.132 18 11 18C12.8204 18.0029 14.5699 17.2941 15.875 16.025L16.025 15.875Z" fill="white"/></svg> 
377	                    </button> 
378	                    <@liferay.search_bar /> 
379	                </div> 
380	                <div class="flex items-center gap-x-[14px]"> 
381	                    <button id="navigationDropdown" data-dropdown-toggle="navigation-section-dropdown" class="nav-mob-dropdown inline-flex items-center rounded-full bg-brand-red-4 text-center text-white" type="button"> 
382	                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 13C14.396 13 16.575 13.694 18.178 14.671C18.978 15.161 19.662 15.736 20.156 16.361C20.642 16.977 21 17.713 21 18.5C21 19.345 20.589 20.011 19.997 20.486C19.437 20.936 18.698 21.234 17.913 21.442C16.335 21.859 14.229 22 12 22C9.771 22 7.665 21.86 6.087 21.442C5.302 21.234 4.563 20.936 4.003 20.486C3.41 20.01 3 19.345 3 18.5C3 17.713 3.358 16.977 3.844 16.361C4.338 15.736 5.021 15.161 5.822 14.671C7.425 13.694 9.605 13 12 13ZM12 2C13.3261 2 14.5979 2.52678 15.5355 3.46447C16.4732 4.40215 17 5.67392 17 7C17 8.32608 16.4732 9.59785 15.5355 10.5355C14.5979 11.4732 13.3261 12 12 12C10.6739 12 9.40215 11.4732 8.46447 10.5355C7.52678 9.59785 7 8.32608 7 7C7 5.67392 7.52678 4.40215 8.46447 3.46447C9.40215 2.52678 10.6739 2 12 2Z" fill="white"/> 
383	                        </svg> 
384	                    </button> 
385	                    <div id="navigation-section-dropdown" class="z-10 hidden w-35 rounded-xl bg-white shadow" data-popper-reference-hidden="false" data-popper-escaped="" data-popper-placement="bottom" style="position: absolute; inset: 0px auto auto 0px; margin: 0px; transform: translate3d(0px, 10.4px, 0px);"> 
386	                        <ul class="custom-list py-1 text-sm text-black/80" aria-labelledby="navigationDropdown"> 
387														<li class="border-b border-gray-300"> 
388																<img src="/documents/d/guest/frame-1707479612" alt="Noudjoum Icon" class="list-icon"> 
389																<a href="/personal/noudjoum" class="block  py-2"> 
390 
391																		<@liferay.language key="noudjoum-icon" /> 
392																</a> 
393														</li> 
394														<li class="border-b border-gray-300"> 
395																<img src="/documents/d/guest/persons" alt="My Ooredoo Icon" class="list-icon"> 
396																<a href="https://my.ooredoo.dz/" class="block  py-2"> 
397 
398																		<@liferay.language key="my-ooredoo" /> 
399																</a> 
400														</li> 
401														<li class="border-b border-gray-300"> 
402																<img src="/documents/d/guest/e-strom" alt="eStorm Icon" class="list-icon"> 
403																<a href="https://estorm.ooredoo.dz/" class="block py-2"> 
404 
405																		<@liferay.language key="e-strom" /> 
406																</a> 
407														</li> 
408														<li class=""> 
409																<img src="/documents/d/guest/partners" alt="Partners Icon" class="list-icon"> 
410																<a href="https://appstorm.ooredoo.dz/" class="block  py-2">             
411																		<@liferay.language key="partners" /> 
412																</a> 
413														</li> 
414												</ul> 
415	                    </div> 
416	                </div> 
417	                 
418								 
419								 
420								 
421								 
422								 
423								 
424								 
425								<div class="portlet-boundary portlet-boundary_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet_  portlet-static portlet-static-end portlet-decorate portlet-language " id="p_p_id_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet_"><span id="p_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet"></span> 
426            <section class="portlet" id="portlet_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet"> 
427             <div class="portlet-content"> 
428              <div class=" portlet-content-container"> 
429               <div class="portlet-body"> 
430                <form action="/fr/c/portal/update_language?p_l_id=24&amp;redirect=%2Ffr%2Fentreprises" class="form  " data-fm-namespace="" id="_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet_fm0_1700720685586" method="post" name="_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet_fm0_1700720685586"><input class="field form-control" id="formDate" name="formDate" type="hidden" value="1700720685587"> 
431                 <div class="d-flex gap-3 ooredoo-lang-selector"> 
432									 <img id="displayedImage" src='<@liferay.language key="language-flag"/>' class="w-[24px] h-[24px] rounded-[50%] " alt="uk">  
433									 <select id="languageIdMobile" name="languageId" class="border-0 py-1 text-gray-700 pr-4 bg-brand-red-4" aria-labelledby="languageDropdownMobile">  
434									  
435										 <#if localeString == 'ar_SA'> 
436											 <option  value="fr_FR" lang="fr-FR" class="block px-4 py-2">FR </option> 
437											 <option selected="" value="ar_SA" lang="ar-SA" class="block px-4 py-2">AR </option> 
438										<#elseif localeString == 'fr_FR'> 
439											 <option selected="" value="fr_FR" lang="fr-FR" class="block px-4 py-2">FR </option> 
440											 <option value="ar_SA" lang="ar-SA" class="block px-4 py-2">AR </option> 
441										</#if> 
442									 </select> 
443                 </div> 
444                </form> 
445                <script> 
446 
447</script> 
448                <style> 
449	.portlet-boundary_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet_ .portlet-content{ 
450		padding:0; 
451
452	.portlet-boundary_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet_ .portlet{ 
453		margin:0; 
454
455	.ooredoo-lang-selector .pr-4{ 
456    padding-right: 2rem !important; 
457
458.ooredoo-lang-selector .pb-1 { 
459    padding-bottom: 0.25rem !important; 
460
461.ooredoo-lang-selector .pt-1{ 
462    padding-top: 0.25rem !important; 
463
464.nav-mob-search .d-xl-none{ 
465	    display: block !important; 
466
467	.nav-mob-search .d-xl-block{ 
468	    display: none !important; 
469
470.portlet-boundary_com_liferay_portal_search_web_search_bar_portlet_SearchBarPortlet_ .search-bar-input { 
471 
472    width: 250px !important; 
473}									 
474</style> 
475               </div> 
476              </div> 
477             </div> 
478            </section> 
479           </div> 
480								 
481								 
482								 
483								 
484								 
485								 
486	            </div> 
487	        </div> 
488	        <!-- second row --> 
489	        <div class="mt-4 flex items-center justify-between"> 
490	            <button id="mobile-menu-trigger-btn"> 
491	                <img src="/documents/d/guest/fluent_navigation-16-filled" alt="Menu Icon"> 
492	            </button> 
493	            <div class="flex items-center gap-x-[14px]"> 
494								<#list entries as curEntry> 
495	            		<#if (curSection?lower_case)?contains((curEntry.getTitle(locale)?lower_case)?replace(' ','-'))> 
496			                <button id="navigationDropdown" data-dropdown-toggle="navigation-dropdown" class="inline-flex items-center rounded-full bg-brand-red-4 px-4 py-2 text-center text-white justify-center section-btn" type="button"> 
497			                    <@liferay.language key="${curEntry.getTitle(locale)?replace(' ','')}" /> 
498			                    <svg class="ml-2 h-4 w-4" aria-hidden="true" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> 
499			                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path> 
500			                    </svg> 
501			                </button> 
502			            </#if> 
503		            </#list> 
504	            	<#list entries as curEntry> 
505	            		 
506			            <#if curEntry?index==0> 
507			                <div id="navigation-dropdown" class="z-10 hidden w-44 rounded-xl bg-white shadow" data-popper-reference-hidden="" data-popper-escaped="" data-popper-placement="bottom" style="position: absolute; inset: -1rem auto auto 0px; margin: 0px; transform: translate3d(0px, 10.4px, 0px);"> 
508			                	<ul class="custom-list custom-list-mobile py-1 text-sm text-black/80" aria-labelledby="navigationDropdown" > 
509			                		<#assign mobSectionDropDown = true /> 
510			            </#if> 
511                        <li> 
512                            <a href="/${mainNavLocal}/${curEntry.getTitle('en_US')?lower_case?replace(' ', '-')}" class="block px-4 py-2"><@liferay.language key="${curEntry.getTitle(locale)?replace(' ','')}" /></a> 
513                        </li> 
514		            </#list> 
515            	<#if mobSectionDropDown==true> 
516            		</ul> 
517	                </div> 
518            	</#if> 
519	            </div> 
520	        </div> 
521	    </div> 
522	</div> 
523	<div id="colorChangeButton" style="display: none"></div> 
524</#if> 
525<#if entries?has_content> 
526	<#list entries as curEntry> 
527		<#if (curSection?lower_case)?contains((curEntry.getTitle(locale)?lower_case)?replace(' ','-'))> 
528        	<#assign  
529                    assetRenderer = curEntry.getAssetRenderer() 
530                    journalArticle = assetRenderer.getAssetObject() 
531             /> 
532            <@liferay_journal["journal-article"] 
533                    articleId=journalArticle.getArticleId() 
534                    ddmTemplateKey="192008" 
535                    groupId=journalArticle.getGroupId() 
536            /> 
537			      <#break> 
538				 </#if> 
539	</#list> 
540	<#list entries as curEntry> 
541		<#if (curSection?lower_case)?contains((curEntry.getTitle(locale)?lower_case)?replace(' ','-'))> 
542			       <#assign  
543                    assetRenderer = curEntry.getAssetRenderer() 
544                    journalArticle = assetRenderer.getAssetObject() 
545             /> 
546            <@liferay_journal["journal-article"] 
547                    articleId=journalArticle.getArticleId() 
548                    ddmTemplateKey="192949" 
549                    groupId=journalArticle.getGroupId() 
550            /> 
551			<#break> 
552        </#if> 
553	</#list> 
554</#if> 
555 
556<style> 
557	.guest-site	.min-vh-100{ 
558	    min-height: 0 !important; 
559
560.MegaNavSection .journal-content-article { 
561		flex-grow: 1; 
562		display: flex; 
563		align-items: center; 
564		justify-content: start; 
565
566	.ooredoo-search-bar .portlet{ 
567	margin-bottom:0; 
568
569.nav-menu-link a { 
570                position: relative; 
571                color: inherit; 
572                text-decoration: none; 
573                transition: color 0.3s ease; 
574
575 
576            .nav-menu-link a::before { 
577                content: ""; 
578                position: absolute; 
579                left: 0; 
580                right: 0; 
581                bottom: -3px; /* Adjust this for space between text and line */ 
582                height: 2px; /* Adjust this for line thickness */ 
583                background-color: red; 
584                transform: scaleX(0); 
585                transform-origin: center; 
586                transition: transform 0.3s ease; 
587
588 
589            .nav-menu-link a:hover::before, 
590            .navbar-nav.active .nav-menu-link a::before { 
591                transform: scaleX(1); 
592
593 
594            .navbar-nav.active .nav-menu-link a { 
595                color: red; 
596
597.active-underline { 
598    transform: scaleX(0); 
599
600 
601.navbar-nav.active .nav-menu-link a .active-underline { 
602    transform: scaleX(1); 
603
604	 
605.underline-red { 
606  text-decoration: underline #d6001c; 
607	text-decoration-thickness: 2px; 
608
609	 
610.tablet-menu-active-btn { 
611	padding-bottom: 0.5rem; 
612    	padding-top: 0.5rem; 
613
614.rtl .rotate-180 { 
615    transform: rotate(90deg); 
616
617	.nav-mob-search .d-xl-none{ 
618	    display: block !important; 
619
620	.nav-mob-search .d-xl-block{ 
621	    display: none !important; 
622
623	.portlet-boundary_com_liferay_portal_search_web_search_bar_portlet_SearchBarPortlet_ .search-bar-input{ 
624   padding-right: 6rem !important; 
625   padding-left: 1rem !important;   
626
627	.portlet-boundary_com_liferay_portal_search_web_search_bar_portlet_SearchBarPortlet_ .search-bar-input { 
628 
629    width: 250px !important; 
630
631.nav-wrap { 
632    background: #ffffff; 
633    position: fixed; 
634    top: 0; 
635    left: 0; 
636    width: 100%; 
637    z-index: 100; 
638
639.custom-list li { 
640    list-style: none; 
641    display: flex; 
642    align-items: center; 
643	  padding-left: 10px; 
644    padding-right: 10px; 
645
646.custom-list { 
647	  padding-left: 0rem; 
648    padding-right: 0rem; 
649
650.custom-list-mobile { 
651	  color: #D6001C; 
652
653 
654.custom-list .list-icon { 
655    width: 20px; 
656    height: 20px; 
657    margin-right: 10px; 
658
659.section-btn { 
660    width: 11rem; 
661
662	.section-text-tab{ 
663		text-align: center; 
664		width: 8.5rem; 
665
666	 
667/* Remove focus outline on select elements */ 
668#languageIdMobile:focus, 
669#languageIdTab:focus { 
670    outline: none; 
671    -webkit-box-shadow: none; 
672    -moz-box-shadow: none; 
673    box-shadow: none; 
674	  background-color: #B20017 !important; 
675
676 
677/* Remove focus outline on button elements */ 
678#navigationDropdown:focus, 
679#navigationTabletDropdown:focus { 
680    outline: none; 
681    -webkit-box-shadow: none; 
682    -moz-box-shadow: none; 
683    box-shadow: none; 
684
685 
686/* Optionally, for a smoother tap/click experience */ 
687#languageIdMobile, 
688#navigationDropdown, 
689#languageIdTab, 
690#navigationTabletDropdown { 
691    -webkit-tap-highlight-color: transparent; 
692
693 
694 
695</style> 
696 
697		 
698<script> 
699	// Check if the current URL contains '/web/guest' 
700if (window.location.pathname.includes('/web/guest')) { 
701    // Remove '/web/guest' from the URL 
702    const newPath = window.location.pathname.replace('/web/guest', ''); 
703    // Update the URL without reloading the page 
704  //  window.history.replaceState(null, '', newPath); 
705
706 
707    $(document).ready(function () { 
708        $("#mobile-nav-search").click(function (e) { 
709            $(this).addClass("d-none"); 
710            jQuery('.search-bar-nav').removeClass('d-none'); 
711        }); 
712    }); 
713</script> 
714<script> 
715 
716 
717$(document).ready(function () { 
718	 
719					var selectWeb = document.querySelector('#languageIdWeb'); 
720	var selectMobile = document.querySelector('#languageIdMobile'); 
721	var selectTab= document.querySelector('#languageIdTab'); 
722	console.log('change', selectWeb); 
723selectWeb.addEventListener('change', function() { 
724	console.log('change 1', this.value); 
725  if (this.value == "fr_FR") { 
726				if (!window.location.pathname.startsWith('/fr/')) { 
727      // Get the current path without the leading slash 
728      let currentPath = window.location.pathname.substring(1); 
729					console.log('currentPath 1', currentPath); 
730			currentPath = currentPath.replace('ar/', ''); 
731					console.log('currentPath 2', currentPath); 
732      const newPath = '/fr/'+currentPath; 
733      const newUrl = window.location.origin +''+ newPath; 
734      window.location.replace(newUrl); 
735
736  } else if (this.value == "ar_SA"){ 
737    		if (!window.location.pathname.startsWith('/ar/')) { 
738      // Get the current path without the leading slash 
739      let currentPath = window.location.pathname.substring(1); 
740					console.log('currentPath 1', currentPath); 
741					currentPath = currentPath.replace('fr/', ''); 
742					console.log('currentPath 2', currentPath); 
743      const newPath = '/ar/'+currentPath; 
744      const newUrl = window.location.origin +''+ newPath; 
745      window.location.replace(newUrl); 
746
747
748}); 
749	 
750	selectTab.addEventListener('change', function() { 
751  if (this.value == "fr_FR") { 
752				if (!window.location.pathname.startsWith('/fr/')) { 
753      // Get the current path without the leading slash 
754      let currentPath = window.location.pathname.substring(1); 
755			currentPath = currentPath.replace('ar/', ''); 
756      const newPath = '/fr/'+currentPath; 
757      const newUrl = window.location.origin +''+ newPath; 
758      window.location.replace(newUrl); 
759
760  } else if (this.value == "ar_SA"){ 
761    		if (!window.location.pathname.startsWith('/ar/')) { 
762      // Get the current path without the leading slash 
763      let currentPath = window.location.pathname.substring(1); 
764					currentPath = currentPath.replace('fr/', ''); 
765      const newPath = '/ar/'+currentPath; 
766      const newUrl = window.location.origin +''+ newPath; 
767      window.location.replace(newUrl); 
768
769
770}); 
771	 
772	selectMobile.addEventListener('change', function() { 
773  if (this.value == "fr_FR") { 
774				if (!window.location.pathname.startsWith('/fr/')) { 
775      // Get the current path without the leading slash 
776      let currentPath = window.location.pathname.substring(1); 
777					console.log('currentPath 1', currentPath); 
778			currentPath = currentPath.replace('ar/', ''); 
779					console.log('currentPath 2', currentPath); 
780      const newPath = '/fr/'+currentPath; 
781      const newUrl = window.location.origin +''+ newPath; 
782      window.location.replace(newUrl); 
783
784  } else if (this.value == "ar_SA"){ 
785    		if (!window.location.pathname.startsWith('/ar/')) { 
786      // Get the current path without the leading slash 
787      let currentPath = window.location.pathname.substring(1); 
788					currentPath = currentPath.replace('fr/', ''); 
789      const newPath = '/ar/'+currentPath; 
790      const newUrl = window.location.origin +''+ newPath; 
791      window.location.replace(newUrl); 
792
793
794}); 
795			 
796			 
797        $("#navDropdownMenuMobile, #navDropdownMenuService").click(function (event) { 
798            event.stopPropagation(); 
799        }); 
800        if (typeof navMenuLinks == 'undefined') { 
801 
802const navMenuLinks = document.querySelectorAll('.nav-menu-link'); 
803 
804 
805 
806// Add an event listener to each `<li>` element 
807navMenuLinks.forEach(navMenuLink => { 
808  // Add the `active` class to the `<li>` element when it or any of its child elements is clicked 
809	 
810  navMenuLink.addEventListener('click', (event) => { 
811    // Get the parent `<li>` element of the clicked element 
812    const parent = event.target.closest('.nav-menu-link'); 
813     
814    // Remove the `active` class from all other `<li>` elements 
815    navMenuLinks.forEach(otherNavMenuLink => { 
816      otherNavMenuLink.classList.remove('active'); 
817    }); 
818 
819    // Add the `active` class to the parent `<li>` element 
820    parent.classList.add('active'); 
821		const mainLink = navMenuLink.querySelector('a'); 
822                if (mainLink) { 
823                    const mainHref = mainLink.getAttribute('href'); 
824                    mainLink.style.textDecoration = 'none'; // Remove default underline 
825                        mainLink.style.position = 'relative'; 
826                        mainLink.style.color = 'inherit'; // Keep the original color 
827                        mainLink.style.transition = 'color 0.3s ease'; 
828 
829                        const underline = document.createElement('span'); 
830                        underline.className = 'active-underline'; 
831                        underline.style.position = 'absolute'; 
832                        underline.style.bottom = '-3px'; 
833                        underline.style.left = '0'; 
834                        underline.style.right = '0'; 
835                        underline.style.height = '2px'; 
836                        underline.style.backgroundColor = 'red'; 
837                        underline.style.transform = 'scaleX(1)'; 
838                        underline.style.transformOrigin = 'center'; 
839                        underline.style.transition = 'transform 0.3s ease'; 
840                        mainLink.appendChild(underline); 
841
842  }); 
843}); 
844
845    }); 
846</script> 
847<#if curSection=="business|entreprises"> 
848	   <div  class="business-padding"></div> 
849	<#else> 
850		<div class="personal-padding"></div> 
851</#if> 
852<style> 
853	.business-padding	{ 
854	margin-top: 7.5rem; 
855
856	.personal-padding	{ 
857	margin-top: 7.5rem; 
858
859			@media (max-width: 550px) { 
860        .business-padding	{ 
861	margin-top: 8.5rem; 
862
863	.personal-padding	{ 
864	margin-top: 7.5rem; 
865
866
867	@media (max-width: 450px) { 
868        .business-padding	{ 
869	margin-top: 7.5rem; 
870
871	.personal-padding	{ 
872	margin-top: 7.5rem; 
873
874
875 
876</style> 
877<script> 
878var lazyloadImages; 
879if ("IntersectionObserver" in window) { 
880    lazyloadImages = document.querySelectorAll(".lazy"); 
881    var imageObserver = new IntersectionObserver(function (entries, observer) { 
882        entries.forEach(function (entry) { 
883 
884            if (entry.isIntersecting) { 
885                var image = entry.target; 
886                if (image.src == undefined || image.src == null || image.src == "") { 
887                    image.src = image.dataset.src; 
888                    image.classList.remove("lazy"); 
889
890                imageObserver.unobserve(image); 
891
892        }); 
893    }); 
894 
895    lazyloadImages.forEach(function (image) { 
896        imageObserver.observe(image); 
897    }); 
898 
899} else { 
900 
901    var lazyloadThrottleTimeout; 
902    lazyloadImages = document.querySelectorAll(".lazy"); 
903 
904    function lazyload() { 
905        if (lazyloadThrottleTimeout) { 
906            clearTimeout(lazyloadThrottleTimeout); 
907
908 
909        lazyloadThrottleTimeout = setTimeout(function () { 
910            var scrollTop = window.pageYOffset; 
911            lazyloadImages.forEach(function (img) { 
912                if (img.offsetTop < (window.innerHeight + scrollTop)) { 
913                    if (img.src == undefined || img.src == null || img.src == "") { 
914                        img.src = img.dataset.src; 
915                        img.classList.remove('lazy'); 
916
917
918            }); 
919 
920            if (lazyloadImages.length == 0) { 
921                document.removeEventListener("scroll", lazyload); 
922                window.removeEventListener("resize", lazyload); 
923                window.removeEventListener("orientationChange", lazyload); 
924
925        }, 20); 
926
927 
928    document.addEventListener("scroll", lazyload); 
929    window.addEventListener("resize", lazyload); 
930    window.addEventListener("orientationChange", lazyload); 
931 
932}	 
933</script> 
  • Choose And Control In All Serenity

    WHISTLEBLOWING

    Man Image
  • Choose And Control In All Serenity

    BUSINESS

    Choose And Control In All Serenity

    Man Image
  • Choose And Control In All Serenity

    BUSINESS

    Choose And Control In All Serenity

    Man Image

WHISTLEBLOWING

Objectifs

Ooredoo s'engage à respecter les normes les plus élevées en matière de pratiques de gouvernance, de transparence, d'intégrité et de responsabilité.

Ooredoo fournit à ses employés, fournisseurs, clients, toutes ses parties prenantes et au grand public un canal pour signaler toute violation qui constitue ou peut constituer une violation des lois et / ou règlements, le code de la conduite/éthique, les politiques de l'entreprise et / ou qui peuvent directement ou indirectement avoir un impact économique, financier ou de réputation à Ooredoo.

Canaux de rapport

Nous prenons la dénonciation au sérieux et vos préoccupations sont importantes pour nous, veuillez soumettre votre requête directement au directeur de l'audit d'Ooredoo Algérie en utilisant un des canaux suivants :

1. Email : ChiefAudit@Ooredoo.dz

2. Email: Whistleblowing@ooredoo.dz

3. Email: Oawhistleblower@gmail.com

4. Fax: +21323292503.

5. Une lettre adressée à : Chief Audit Executive, Ooredoo Algérie 66, Route de Ouled-Fayet, Chéraga, Alger.

Les canaux listés en haut sont hautement confidentiels et accessibles uniquement par le personnel autorisé.

 

Votre rapport doit contenir autant d'informations que possible sur la violation présumée. Dans la mesure du possible, veuillez décrire la nature de la violation présumée ; l'identité des personnes impliquées dans la violation présumée et la chronologie (dates et événements qui ont eu lieu) tout en partageant le maximum de preuves qui peuvent nous aider dans l’enquête.

Confidentialité et protection

Les rapports de dénonciation sont traités avec une totale confidentialité et Ooredoo s'engage à protéger la ou les personnes qui dénonce (nt) de bonne foi contre toutes représailles.

Mockup
Mockup
Mockup

Avec l’application My Ooredoo,
gérez votre ligne en un seul clic
et en toute simplicité

OBTENEZ LA DERNIÈRE

APPLICATION OOREDOO