{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/app.routing.module.ts","./src/app/core/api-authorization.constants.ts","./src/app/core/auth.routes.ts","./src/app/core/authorize.interceptor.ts","./src/app/core/components/footer/footer.component.ts","./src/app/core/components/footer/footer.component.html","./src/app/core/components/header-menu/header-menu.component.ts","./src/app/core/components/header-menu/header-menu.component.html","./src/app/core/components/imprint/imprint.component.ts","./src/app/core/components/imprint/imprint.component.html","./src/app/core/components/legal-notices/legal-notices.component.ts","./src/app/core/components/legal-notices/legal-notices.component.html","./src/app/core/components/login-menu/login-menu.component.ts","./src/app/core/components/login-menu/login-menu.component.html","./src/app/core/components/login/login.component.ts","./src/app/core/components/login/login.component.html","./src/app/core/components/logout/logout.component.ts","./src/app/core/components/logout/logout.component.html","./src/app/core/components/nav-menu/nav-menu.component.ts","./src/app/core/components/nav-menu/nav-menu.component.html","./src/app/core/components/operation-concours/operation-concours.component.ts","./src/app/core/components/operation-concours/operation-concours.component.html","./src/app/core/components/privacy-policy/privacy-policy.component.html","./src/app/core/components/privacy-policy/privacy-policy.component.ts","./src/app/core/components/sales-terms/sales-terms.component.ts","./src/app/core/components/sales-terms/sales-terms.component.html","./src/app/core/components/toasts-container/toasts-container.component.ts","./src/app/core/components/unauthorized/unauthorized.component.ts","./src/app/core/components/unauthorized/unauthorized.component.html","./src/app/core/core.module.ts","./src/app/core/ensure-module-loaded-once.guard.ts","./src/app/core/http-error.interceptor.ts","./src/app/core/secret.interceptor.ts","./src/app/core/services/cart.service.ts","./src/app/core/services/config.service.ts","./src/app/core/services/deb.service.ts","./src/app/core/services/organisation.service.ts","./src/app/core/services/permission.service.ts","./src/app/core/services/registration.service.ts","./src/app/core/services/secret.service.ts","./src/app/core/services/storage.service.ts","./src/app/core/services/toast.service.ts","./src/app/core/services/url.service.ts","./src/app/core/services/user.service.ts","./src/app/home/account-creation/account-creation.component.ts","./src/app/home/account-creation/account-creation.component.html","./src/app/home/compte-client/compte-client.component.html","./src/app/home/compte-client/compte-client.component.ts","./src/app/home/contact/contact.component.ts","./src/app/home/contact/contact.component.html","./src/app/home/home-routing.module.ts","./src/app/home/home.module.ts","./src/app/home/home/home.component.ts","./src/app/home/home/home.component.html","./src/app/home/models/scoring-family.model.ts","./src/app/home/principle/principle.component.ts","./src/app/home/principle/principle.component.html","./src/app/home/sales-contact/sales-contact.component.ts","./src/app/home/sales-contact/sales-contact.component.html","./src/app/home/scoring-category/scoring-category.component.ts","./src/app/home/scoring-category/scoring-category.component.html","./src/app/home/scoring-family/scoring-family.component.ts","./src/app/home/scoring-family/scoring-family.component.html","./src/app/home/scoring/scoring.component.ts","./src/app/home/scoring/scoring.component.html","./src/app/home/services/scoring.service.ts","./src/app/shared/components/spinner/spinner.component.ts","./src/app/shared/components/spinner/spinner.component.html","./src/app/shared/guards/authorize.guard.ts","./src/app/shared/models/carousel-content.ts","./src/app/shared/models/cart-item.model.ts","./src/app/shared/models/cart.model.ts","./src/app/shared/models/registration-status.model.ts","./src/app/shared/shared.module.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\r\nimport { EventTypes, OidcSecurityService, PublicEventsService } from 'angular-auth-oidc-client';\r\n//import { EventTypes, OidcSecurityService, PublicEventsService } from 'src/app/shared/lib/angular-auth-oidc-client/src/lib/angular-auth-oidc-client';\r\nimport { filter, switchMap, take, tap } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { PermissionService } from './core/services/permission.service';\r\nimport { StorageService } from './core/services/storage.service';\r\n\r\nconst RETURNURL_KEY = 'returnurl';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n title = 'app';\r\n private storage: Storage;\r\n\r\n constructor(private eventService: PublicEventsService, private permissionService: PermissionService,\r\n private oidcSecurityService: OidcSecurityService, private router: Router, private storageService: StorageService) {\r\n this.storage = this.storageService.get();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.eventService\r\n .registerForEvents()\r\n .pipe(\r\n filter((notification) => notification.type === EventTypes.UserDataChanged),\r\n switchMap((notification) => {\r\n return this.permissionService.handlePermissions(notification.value != null)\r\n })\r\n )\r\n //.subscribe((perm) => console.log('permissions: ' + perm));\r\n\r\n this.oidcSecurityService\r\n .checkAuth()\r\n .subscribe(\r\n (response) => {\r\n if (response.isAuthenticated) {\r\n this.permissionService.handlePermissions(true).subscribe();\r\n this.navigateToStoredEndpoint();\r\n } else {\r\n let refreshToken = this.oidcSecurityService.getRefreshToken();\r\n if (!response.isAuthenticated && !!refreshToken) {\r\n this.oidcSecurityService.forceRefreshSession().subscribe((result) => {\r\n this.permissionService.handlePermissions(true).subscribe();\r\n });\r\n }\r\n }\r\n },\r\n (error) => console.error(error),\r\n () => this.storage.removeItem(RETURNURL_KEY),\r\n );\r\n }\r\n\r\n private navigateToStoredEndpoint() {\r\n const path = this.storage.getItem(RETURNURL_KEY);\r\n\r\n if (path == null || this.router.url === path) {\r\n return;\r\n }\r\n\r\n if (path.toString().includes('/unauthorized')) {\r\n this.router.navigate(['/']);\r\n } else {\r\n this.router.navigate([path]);\r\n }\r\n }\r\n\r\n refreshSession() {\r\n this.oidcSecurityService.forceRefreshSession().subscribe();\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\nimport { NgModule } from '@angular/core';\r\nimport { AppComponent } from './app.component';\r\nimport { AppRoutingModule } from './app.routing.module';\r\nimport { CoreModule } from './core/core.module';\r\nimport { HomeModule } from './home/home.module';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n\r\n ],\r\n imports: [\r\n CoreModule,\r\n AppRoutingModule,\r\n HomeModule,\r\n NgbModule,\r\n ],\r\n providers: [\r\n ],\r\n\r\n bootstrap: [AppComponent]\r\n})\r\n\r\nexport class AppModule {\r\n constructor() {\r\n }\r\n}\r\n","\r\nimport { OperationConcoursComponent } from './core/components/operation-concours/operation-concours.component';\r\nimport { SalesTermsComponent } from './core/components/sales-terms/sales-terms.component';\r\nimport { LegalNoticesComponent } from './core/components/legal-notices/legal-notices.component';\r\nimport { ImprintComponent } from './core/components/imprint/imprint.component';\r\nimport { PrivacyPolicyComponent } from './core/components/privacy-policy/privacy-policy.component';\r\n\r\nimport { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule, PreloadAllModules } from '@angular/router';\r\nimport { authRoutes } from './core/auth.routes';\r\nimport { LogoutComponent } from './core/components/logout/logout.component';\r\n\r\nconst appRoutes: Routes = [\r\n { path: 'home', redirectTo: 'home', pathMatch: 'full' },\r\n {\r\n path: 'administration',\r\n loadChildren: () => import('./back-office/back-office.module').then(m => m.BackOfficeModule),\r\n },\r\n {\r\n path: 'account',\r\n loadChildren: () => import('./account/account.module').then(m => m.AccountModule),\r\n },\r\n {\r\n path: 'shop',\r\n loadChildren: () => import('./shop/shop.module').then(m => m.ShopModule),\r\n },\r\n {\r\n path: 'promotions',\r\n loadChildren: () => import('./promotions/promotions.module').then(m => m.PromotionsModule)\r\n },\r\n {\r\n path: 'PolitiqueConfidentialite',\r\n component: PrivacyPolicyComponent,\r\n },\r\n {\r\n path: 'Imprint',\r\n component: ImprintComponent,\r\n },\r\n {\r\n path: 'MentionsLegales',\r\n component: LegalNoticesComponent,\r\n },\r\n {\r\n path: 'ConditionsGeneralesVente',\r\n component: SalesTermsComponent,\r\n },\r\n\r\n {\r\n path: 'GrandJeuConcoursClimatisation2022',\r\n component : OperationConcoursComponent\r\n },\r\n\r\n {\r\n path: 'authentication/logout-callback',\r\n component: LogoutComponent\r\n },\r\n\r\n { path: '', redirectTo: 'home', pathMatch: 'full' },\r\n //{ path: '**', redirectTo: 'home' }, // If no matching route found, go back to home route\r\n\r\n];\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(\r\n appRoutes.concat(authRoutes),\r\n {\r\n scrollPositionRestoration: 'enabled',\r\n relativeLinkResolution: 'legacy',\r\n onSameUrlNavigation: 'reload',\r\n preloadingStrategy: PreloadAllModules\r\n }\r\n ),\r\n ],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","export const ApplicationName = 'ClubDegrePlus.Website';\r\n\r\nexport const ReturnUrlType = 'returnUrl';\r\n\r\nexport const QueryParameterNames = {\r\n ReturnUrl: ReturnUrlType,\r\n //Message: 'message'\r\n};\r\n\r\n export const LogoutActions = {\r\n LogoutCallback: 'logout-callback',\r\n //Logout: 'logout',\r\n //LoggedOut: 'logged-out'\r\n };\r\n\r\n export const LoginActions = {\r\n Login: 'login',\r\n LoginCallback: 'login-callback',\r\n// LoginFailed: 'login-failed',\r\n// Register: 'register'\r\n };\r\n\r\n let applicationPaths: ApplicationPathsType = {\r\n DefaultLoginRedirectPath: '/',\r\n ApiAuthorizationClientConfigurationUrl: `/_configuration/${ApplicationName}`,\r\n// ApiAuthorizationSignupUrl: `/_configuration/signup`,\r\n Login: `${LoginActions.Login}`,\r\n// LoginFailed: `authentication/${LoginActions.LoginFailed}`,\r\n LoginCallback: `authentication/${LoginActions.LoginCallback}`,\r\n Unauthorized: `unauthorized`,\r\n// Register: `authentication/${LoginActions.Register}`,\r\n //LogOut: `authentication/${LogoutActions.Logout}`,\r\n// LoggedOut: `authentication/${LogoutActions.LoggedOut}`,\r\n LogOutCallback: `authentication/${LogoutActions.LogoutCallback}`,\r\n LoginPathComponents: [],\r\n UnauthorizedPathComponents: [],\r\n// LoginFailedPathComponents: [],\r\n// LoginCallbackPathComponents: [],\r\n// RegisterPathComponents: [],\r\n// LogOutPathComponents: [],\r\n// LoggedOutPathComponents: [],\r\n// LogOutCallbackPathComponents: [],\r\n };\r\n\r\n applicationPaths = {\r\n ...applicationPaths,\r\n LoginPathComponents: applicationPaths.Login.split('/'),\r\n UnauthorizedPathComponents: applicationPaths.Unauthorized.split('/'),\r\n// LoginFailedPathComponents: applicationPaths.LoginFailed.split('/'),\r\n// RegisterPathComponents: applicationPaths.Register.split('/'),\r\n// LogOutPathComponents: applicationPaths.LogOut.split('/'),\r\n// LoggedOutPathComponents: applicationPaths.LoggedOut.split('/'),\r\n// LogOutCallbackPathComponents: applicationPaths.LogOutCallback.split('/')\r\n };\r\n\r\ninterface ApplicationPathsType {\r\n readonly DefaultLoginRedirectPath: string;\r\n readonly ApiAuthorizationClientConfigurationUrl: string;\r\n// readonly ApiAuthorizationSignupUrl: string;\r\n readonly Login: string;\r\n// readonly LoginFailed: string;\r\n readonly LoginCallback: string;\r\n// readonly Register: string;\r\n// readonly LogOut: string;\r\n// readonly LoggedOut: string;\r\n readonly LogOutCallback: string;\r\n readonly Unauthorized: string;\r\n readonly LoginPathComponents: string [];\r\n readonly UnauthorizedPathComponents: string [];\r\n// readonly LoginFailedPathComponents: string [];\r\n// readonly LoginCallbackPathComponents: string [];\r\n// readonly RegisterPathComponents: string [];\r\n// readonly LogOutPathComponents: string [];\r\n// readonly LoggedOutPathComponents: string [];\r\n// readonly LogOutCallbackPathComponents: string [];\r\n }\r\n\r\n export const ApplicationPaths: ApplicationPathsType = applicationPaths;\r\n","import { UnauthorizedComponent } from './components/unauthorized/unauthorized.component';\r\nimport { Routes } from '@angular/router';\r\nimport { ApplicationPaths } from './api-authorization.constants';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { LogoutComponent } from './components/logout/logout.component';\r\n\r\nexport const authRoutes: Routes = [\r\n { path: ApplicationPaths.Unauthorized, component: UnauthorizedComponent },\r\n { path: ApplicationPaths.Login, component: LoginComponent },\r\n // { path: ApplicationPaths.LoginFailed, component: LoginComponent },\r\n { path: ApplicationPaths.LoginCallback, redirectTo: '/' },\r\n { path: ApplicationPaths.LogOutCallback, component: LogoutComponent },\r\n // { path: ApplicationPaths.LogOut, component: LogoutComponent },\r\n // { path: ApplicationPaths.LoggedOut, component: LogoutComponent },\r\n // { path: ApplicationPaths.LogOutCallback, component: LogoutComponent }\r\n];\r\n","import { async } from '@angular/core/testing';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\r\n//import { OidcSecurityService } from 'src/app/shared/lib/angular-auth-oidc-client/src/lib/angular-auth-oidc-client';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthorizeInterceptor implements HttpInterceptor {\r\n constructor(private oidcSecurityService: OidcSecurityService) { }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable>{\r\n const token = this.oidcSecurityService.getAccessToken('openIdConfig1');\r\n\r\n if (!!token && this.isSameOriginUrl(req)) {\r\n const payload = this.oidcSecurityService.getPayloadFromIdToken();\r\n\r\n let headers = req.headers.append('Authorization', `Bearer ${token}`);\r\n if (!!payload.email) {\r\n headers = headers.append('Email', payload.email);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n req = req.clone({\r\n headers: headers\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n return next.handle(req);\r\n\r\n\r\n }\r\n\r\n\r\n private isSameOriginUrl(req: any) {\r\n // It's an absolute url with the same origin.\r\n if (req.url.startsWith(`${window.location.origin}/`)) {\r\n return true;\r\n }\r\n\r\n // It's a protocol relative url with the same origin.\r\n // For example: //www.example.com/api/Products\r\n if (req.url.startsWith(`//${window.location.host}/`)) {\r\n return true;\r\n }\r\n\r\n // It's a relative url like /api/Products\r\n if (/^\\/[^\\/].*/.test(req.url)) {\r\n return true;\r\n }\r\n\r\n\r\n\r\n // It's an absolute or protocol relative url that\r\n // doesn't have the same origin.\r\n return false;\r\n }\r\n\r\n public getTokenExpirationDate(dataToken:any):Date {\r\n\r\n if(!dataToken.hasOwnProperty(\"exp\")){\r\n return new Date(new Date().toUTCString())\r\n }\r\n\r\n const date = new Date(0)\r\n date.setUTCSeconds(dataToken.exp);\r\n console.log(date)\r\n return date\r\n\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\n\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n\n currentYear = new Date().getFullYear();\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n\n","import { Component, OnInit, ViewChild, ElementRef, HostListener, AfterViewInit } from '@angular/core';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\n//import { OidcSecurityService } from 'src/app/shared/lib/angular-auth-oidc-client/src/lib/angular-auth-oidc-client';\nimport { Observable, of, zip } from 'rxjs';\nimport { Cart } from 'src/app/shared/models/cart.model';\nimport { CartService } from '../../services/cart.service';\nimport { catchError, map, mapTo, shareReplay, startWith, switchMap, tap } from 'rxjs/operators';\nimport { UserService } from '../../services/user.service';\nimport { RegistrationStatus } from 'src/app/shared/models/registration-status.model';\nimport { RegistrationService } from '../../services/registration.service';\nimport { PermissionService } from '../../services/permission.service';\n\n@Component({\n selector: 'app-header-menu',\n templateUrl: './header-menu.component.html',\n styleUrls: ['./header-menu.component.scss']\n})\nexport class HeaderMenuComponent implements OnInit, AfterViewInit {\n\n @ViewChild('stickyMenu') menuElement: ElementRef;\n\n sticky = false;\n elementPosition: any;\n\n isAuthAndValid$: Observable;\n isBoss$: Observable;\n isLoading$: Observable;\n\n cart$: Observable;\n\n public isMenuCollapsed = true;\n\n constructor(private cartService: CartService, private registrationService: RegistrationService,\n private permissionService: PermissionService) { }\n\n ngOnInit(): void {\n this.cart$ = this.cartService.cart$;\n\n this.isAuthAndValid$ = this.registrationService.getStatus().pipe(\n map(status => status === RegistrationStatus.Valid),\n shareReplay(1)\n );\n\n this.isLoading$ = this.isAuthAndValid$.pipe(mapTo(false), catchError(() => of(undefined)), startWith(true));\n\n this.isBoss$ = this.isAuthAndValid$.pipe(\n switchMap(isValid => isValid ? this.permissionService.hasPermission('ChefEntreprise') : of(false)),\n shareReplay(1)\n );\n }\n\n ngAfterViewInit() {\n this.elementPosition = this.menuElement.nativeElement.parentElement.offsetTop;\n }\n\n @HostListener('window:scroll', ['$event'])\n handleScroll() {\n this.sticky = window.pageYOffset >= this.elementPosition;\n }\n}\n","
\n \n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-imprint',\n templateUrl: './imprint.component.html',\n styleUrls: ['./imprint.component.scss']\n})\nexport class ImprintComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n
Imprint
\n\n
\n
\n
\n
\n
\n

Nom et Adresse

\n

elm.leblanc S.A.S.

\n

124, 126 rue de Stalingrad

\n

93711 Drancy

\n

FRANCE

\n

Direction

Frédéric AGAR (Président)

\n

François VUILLAUME

\n

Nicolas CASOETTO

\n

Erik LUCET

\n
\n
\n

Numéro de téléphone

\n

0 820 00 6000 (Numéro surtaxé 0,12 €/min + prix d'un\n appel)

\n

Adresse e-mail

\n

\n BoschelmLeblanc.ServiceClient@fr.bosch.com

\n

Enregistrement

\n

SIREN B 542 097 944

\n

RCS Bobigny

\n

Code TVA

\n

FR 89 542 097 944

\n
\n
\n
\n
\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-legal-notices',\n templateUrl: './legal-notices.component.html',\n styleUrls: ['./legal-notices.component.scss']\n})\nexport class LegalNoticesComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n
Mentions légales
\n\n
\n

\n
\n

\n

\n Editeur du Site
Le présent Site accessible à l’adresse\n https://www.degreplus.elmlecube.fr est édité par la Société elm.leblanc S.A.S, société par actions\n simplifiées, au capital de 16 652 889€, SIREN B 542 097 944 RCS Bobigny, dont le siège social est\n situé au 124 126 rue de Stalingrad 93711, Drancy Cedex.\n

\n

\n

\n

\n Le directeur de la publication du Site est Monsieur Frédéric Agar.\n

\n

\n

\n

\n Hébergeur du Site
\n Ce site est\n hébergé sur l’offre Cloud de Microsoft (Azure). Il est géographiquement localisé dans le centre\n d’hébergement de Microsoft en Europe occidental.
\n
\n Pour plus d’informations, veuillez vous\n référer à : \n http://www.windowsazure.com/fr-fr/support/trust-center/privacy/\n

\n

\n

\n

\n Contenu du Site
Tous les éléments du présent Site internet\n et son contenu relèvent de la compétence exclusive de la loi française et sont protégés par le droit\n d’auteur et de la propriété intellectuelle.\n

\n

\n

\n

\n Le contenu du Site, la structure générale, les logos, les textes, les images animées ou non, les\n marques, les illustrations, les présentations etc sont la propriété exclusive de la Société\n elm.leblanc S.A.S.\n

\n

\n

\n

\n A ce titre, toute reproduction, représentation, utilisation, adaptation, modification,\n incorporation, traduction, commercialisation, partielle ou totale de ce Site et de son contenu, d’un\n ou plusieurs de ses composants, de ses marques, par quelques procédés que ce soient, sans\n l’autorisation préalable expresse et écrite de la Société elm.leblanc S.A.S est interdite et est\n susceptible de constituer une contrefaçon punie par la loi.\n

\n

\n

\n

\n Utilisation du Site
En se connectant au Site,\n l’utilisateur accepte les présentes conditions.

Le Site est tenu à l’égard de l’utilisateur\n d’une obligation de moyens dans l’exécution du Service.

La Société elm.leblanc S.A.S et\n l’éditeur ne sauraient être tenus pour responsables en cas d’inaccessibilité et d’indisponibilité du\n Site.\n

\n

\n Le Site ne sera responsable que des seuls préjudices directs résultant d’une faute qui lui\n imputable. Il ne peut être tenu pour responsable d’aucune perte ou manquement dans l’accomplissement\n de ses obligations ayant pour cause la survenance d’un cas de force majeure telle que définie par\n les tribunaux français, ou de toute autre circonstance échappant à son contrôle raisonnable\n notamment comme l’intervention d’un tiers ayant entraîné une modification des informations du\n Site.

Il en est de même en cas d’utilisation inappropriée par l’utilisateur.

De\n manière générale, l’utilisateur s’engage à respecter la législation en vigueur.

A ce titre,\n l’utilisateur est personnellement et exclusivement responsable en cas de manquement à l’une des\n obligations mentionnées aux présentes, d’agissements frauduleux, abusifs ou illicites de sa part ou\n s’il n’a pas satisfait intentionnellement ou par négligence grave à son obligation générale de\n prudence.\n

\n

\n

\n

\n \n Recours à la Médiation pour les règlements extrajudiciaires des\n litiges de consommation\n
En cas de litige, vous disposez en votre qualité de\n consommateur et ce, conformément à l’article L612-1 et suivants du Code de la consommation, d’un\n droit de recours auprès du Médiateur à la consommation à l’adresse email suivante :\n contact@medicys.fr ou par voie postale :\n

\n

\n

\n

\n \n Service Médiation de la consommation
73 boulevard de\n Clichy
75009 Paris\n
\n

\n

\n

\n

\n Tout consommateur saisissant Médicys doit pouvoir prouver, au préalable, avoir tenté de résoudre son\n litige directement avec notre Société.\n

\n

\n

\n

\n Règlement des litiges en ligne (ODR)
La Commission\n européenne met en place une plateforme pour le règlement extrajudiciaire des litiges. La plateforme\n offre la possibilité de résoudre en ligne des litiges concernant les achats et les prestations de\n services en ligne à l’adresse suivante http://ec.europa.eu/consumers/odr/.\n

\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { map, startWith, take } from 'rxjs/operators';\r\nimport { OidcSecurityService, UserDataResult } from 'angular-auth-oidc-client';\r\n//import { OidcSecurityService, UserDataResult } from 'src/app/shared/lib/angular-auth-oidc-client/src/lib/angular-auth-oidc-client';\r\nimport { Router } from '@angular/router';\r\nimport { ApplicationPaths, QueryParameterNames } from '../../api-authorization.constants';\r\nimport { UrlService } from '../../services/url.service';\r\n// import { startWith } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-login-menu',\r\n templateUrl: './login-menu.component.html',\r\n styleUrls: ['./login-menu.component.scss']\r\n})\r\nexport class LoginMenuComponent implements OnInit {\r\n public isAuthenticated: Observable;\r\n public userName$: Observable;\r\n public profileUrl: Observable;\r\n\r\n constructor(public oidcSecurityService: OidcSecurityService, private router: Router, private urlService: UrlService) { }\r\n\r\n ngOnInit() {\r\n this.profileUrl = this.urlService.getProfileUrl().pipe(startWith('#'));\r\n\r\n\r\n this.isAuthenticated = this.oidcSecurityService.isAuthenticated$.pipe(map((res => res.isAuthenticated)));\r\n\r\n this.userName$ = this.oidcSecurityService.userData$.pipe(map(u => {\r\n // do that to prevent null userData on refresh for some reason\r\n if (!u.userData) {\r\n u = {\r\n userData: this.oidcSecurityService.getUserData(),\r\n allUserData: [{\r\n configId: this.oidcSecurityService.getConfiguration().configId,\r\n userData: this.oidcSecurityService.getUserData(),\r\n\r\n }]\r\n\r\n } as UserDataResult;\r\n console.log(this.isAuthenticated)\r\n }\r\n return u && u.userData && u.userData.email\r\n }));\r\n\r\n }\r\n\r\n logout() {\r\n this.oidcSecurityService.logoff();\r\n }\r\n\r\n\r\n login() {\r\n this.router.navigate(ApplicationPaths.LoginPathComponents, {\r\n queryParams: {\r\n [QueryParameterNames.ReturnUrl]: this.router.url.split('?')[0]\r\n }\r\n });\r\n\r\n }\r\n\r\n register() {\r\n this.urlService.getSignupUrl().pipe(\r\n take(1)\r\n ).subscribe(signupUrl => {\r\n // get valid authorize url\r\n this.oidcSecurityService.authorize(null, {\r\n urlHandler: (authUrl: string) => {\r\n if (typeof authUrl !== 'undefined' && authUrl) {\r\n const encodedString = btoa(authUrl);\r\n window.location.href = `${signupUrl}?ssoLoginUrl=${encodedString}`;\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n urlHandler(url: string) {\r\n const authorizeUrl = url;\r\n }\r\n}\r\n","
\r\n \r\n \r\n {{ userName$ | async }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n Se déconnecter\r\n
\r\n
\r\n
{{ userName$ | async }}
\r\n Se déconnecter\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n S'inscrire\r\n \r\n \r\n Se connecter\r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\n//import { OidcSecurityService } from 'src/app/shared/lib/angular-auth-oidc-client/src/lib/angular-auth-oidc-client';\nimport { ApplicationPaths, ReturnUrlType } from '../../api-authorization.constants';\nimport { StorageService } from '../../services/storage.service';\n\nconst RETURNURL_KEY = 'returnurl';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit {\n\n storage: Storage;\n\n constructor(private oidcSecurityService: OidcSecurityService, private activatedRoute: ActivatedRoute, private storageService: StorageService) {\n this.storage = this.storageService.get();\n }\n\n ngOnInit(): void {\n this.storage.setItem(RETURNURL_KEY, this.getReturnUrl());\n // this.oidcSecurityService.authorize(null, { customParams: { style_id: 'tt_elm' } });\n this.oidcSecurityService.authorize();\n }\n\n private getReturnUrl(state?: INavigationState): string {\n const fromQuery = (this.activatedRoute.snapshot.queryParams as INavigationState).returnUrl;\n // If the url is comming from the query string, check that is either\n // a relative url or an absolute url\n if (fromQuery &&\n !(fromQuery.startsWith(`${window.location.origin}/`) ||\n /\\/[^\\/].*/.test(fromQuery))) {\n // This is an extra check to prevent open redirects.\n throw new Error('Invalid return url. The return url needs to have the same origin as the current page.');\n }\n return (state && state.returnUrl) ||\n fromQuery ||\n ApplicationPaths.DefaultLoginRedirectPath;\n // return ApplicationPaths.DefaultLoginRedirectPath;\n }\n\n}\n\ninterface INavigationState {\n [ReturnUrlType]: string;\n}\n","\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-logout',\r\n templateUrl: './logout.component.html',\r\n styleUrls: ['./logout.component.scss']\r\n})\r\n\r\nexport class LogoutComponent implements OnInit {\r\n\r\n constructor() {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","
\r\n Vous êtes maintenant déconnecté.
\r\n Merci de cliquer sur le bouton \"Se connecter\" pour vous connecter.\r\n
\r\n","import { Router } from '@angular/router';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { startWith } from 'rxjs/operators';\r\nimport { UrlService } from '../../services/url.service';\r\n\r\n@Component({\r\n selector: 'app-nav-menu',\r\n templateUrl: './nav-menu.component.html',\r\n styleUrls: ['./nav-menu.component.scss']\r\n})\r\nexport class NavMenuComponent implements OnInit {\r\n\r\n cubeUrl: Observable;\r\n\r\n constructor(private urlService: UrlService, public router : Router) { }\r\n\r\n ngOnInit(): void {\r\n this.cubeUrl = this.urlService.getCubeUrl().pipe(\r\n startWith('#'),\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \"Club\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-operation-concours',\n templateUrl: './operation-concours.component.html',\n styleUrls: ['./operation-concours.component.scss']\n})\nexport class OperationConcoursComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","
\n
\n
\n
Règlement du Grand Jeu Concours Climatisation 2022
\n\n
\n
\n
\n
\n
\n

Article 1. Définitions

\n

« Adhérent(s) »

\n

Désigne le professionnel ou la personne morale inscrit au Club Degré plus et ayant accepté ses conditions d’adhésion (gérant de l’entité légale).

\n\n

« Club Degré Plus »

\n

Désigne le programme de fidélité destiné aux clients professionnels (artisans, entrepreneurs individuels,\n sociétés commerciales identifiés par un n°SIRET installateurs et SAV indépendants de système de chauffage et de productions d’eau chaude sanitaire\n Bosch et elm.leblanc en France Métropolitaine.

\n

« Durée de l’Opération »

\n

Désigne la période entre le 1er avril 2022 à 00h00 et le 31 août 2022 à 24h00.

\n

« Espace »

\n

Désigne l’espace Entreprise créé par l’Adhérent lors de son inscription au Club Degré plus sur le Site dans lequel l’Adhérent déclare ses installations

\n

« Gagnant(s) »

\n

Désigne les gagnants des lots tirés au sort en présence de\n l’Huissier parmi les Participants dans les conditions décrites au présent Règlement.\n

\n

« Huissier »

\n

Désigne l’étude d’huissier :

\n SCP PARHUIS

\n 51, rue Sainte-Anne

\n 75002 PARIS.\n

\n

« Lots »

\n

Désigne les lots mis en jeu dans le cadre de l’Opération en vue d’être attribués aux Gagnants et décrits à l’article 5 du Règlement.\n

\n

« Opération »

\n

Désigne le Grand Jeu Concours Climatisation 2022 dont l’objet est de permettre aux Participants de gagner les Lots.

\n

« Participant(s) »

\n

Désigne les Adhérents remplissant les conditions de participation au tirage au sort prévues à l’article 4 du Règlement.

\n

« Pools »

\n

Désigne les groupes de Participants répartis en Région de vente en fonction de la localisation géographique de leur siège social.

\n

« Région de vente »

\n

Désigne les 6 régions commerciales Bosch elm.leblanc, à savoir

\n Région ILE DE FRANCE,

Région NORD-EST,

Région AURA,

\n Région SUD-EST PACA,

Région SUD-OUEST,

Région GRAND OUEST.

\n

« Règlement »

\n

Désigne le présent règlement précisant les conditions et modalités applicables à l’Opération.

\n

« Site »

\n

Désigne le site internet suivant :

\n https://www.degreplus.elmlecube.fr/principle

\n

« Société organisatrice »

\n

Désigne la société elm.leblanc S.A.S. ayant son siège social au

124-126 rue de Stalingrad 93711 Drancy cedex,

\n inscrite au registre du Commerce et des Sociétés de Bobigny sous le numéro

542 097 944.

\n

Article 2. Société organisatrice

\n

La Société organisatrice de l’Opération est la société elm.leblanc S.A.S. ayant son siège social au

\n 124-126 rue de Stalingrad 93711 Drancy cedex,

\n inscrite au registre du Commerce et des Sociétés de Bobigny sous le numéro

542 097 944.

\n Elle organise l’Opération sur le Site en partenariat avec sa société-mère,

la société Robert Bosch France ayant son siège social au

\n 32 avenue Michelet 93400 Saint-Ouen

\n inscrite au registre du commerce et des sociétés de Bobigny sous le numéro

572 067 684.\n

\n

\n

Article 3. Description et durée de l’Opération

\n

L’Opération intitulée « Grand Jeu Concours Climatisation 2022 » qui dure le 1er avril 2022 à 00h00 et le 31 août 2022 à 24h00 est un jeu concours permettant à six (6) Gagnants,\n un par Région de vente, d’être tirés au sort parmi les Participants en présence de l’Huissier et de remporter un Lot chacun.

\n

Article 4. Critères d’éligibilité à l’Opération

\n

Pour Participer, le Participant doit être un Adhérent répondant aux critères prévus ci-après :

\n -\tLe siège social de l’Adhérent doit se situer en France métropolitaine,
\n -\tL’Adhérent doit être inscrit au registre du commerce avec le code APE 4322B,
\n -\tL’Adhérent doit être membre du club Degré plus.

\n Si l’Adhérent ne répond pas à l’ensemble des critères prévus ci-dessus, il n’est pas éligible pour participer à l’Opération.

\n Par ailleurs, une seule participation par Adhérent est autorisée. Si la Société organisatrice identifie plusieurs participations\n à l’Opération pour un même Adhérent, l’ensemble des participations de l’Adhérent concerné seront considérées nulles dans le cadre de l’Opération.\n

\n

Article 5. Description des Lots

\n

Un lot est constitué d’une voiture électrique AMI de marque française CITROËN d’une valeur à partir\n de 7390 € TTC.\n Il s’agit d’une voiture 100 % électrique sans permis qui, selon les indications disponibles sur le\n site du constructeur

https://www.citroen.fr/ami\n :

\n - possède 75 km d’autonomie,

\n - nécessite 3 heures pour 100% de charges, 220 volts,

\n - n’émet pas de CO2,

\n - ne fait pas de bruit.

\n Six (6) lots sont mis en jeu dans le cadre de l’Opération et sont attribués à raison de un (1) lot par Région de vente.

\n Les Lots sont destinés exclusivement aux Gagnants désignés conformément au présent Règlement pour une utilisation dans le cadre de leur activité professionnelle. Ils ne peuvent en aucun cas faire l’objet d’une cession, location, crédit-bail ou plus généralement\n d’une quelconque mise à disposition à titre gratuit ou onéreux ni à des tiers ni, le cas échéant, à des salariés de l’Adhérent.\n

\n

Article 6. Déroulement de l’Opération

\n

Pour participer au tirage au sort, l’Adhérent doit valider sa participation sur la plateforme du club Degré+ et déclarer un minimum de deux (2) installations de climatisations de la gamme résidentielle mono-split ou multi-split conformément aux règles du club Degré plus (déclarer le numéro de série de l’unité extérieure)\n en France Métropolitaine sur son Espace Entreprise au sein du Club Degré plus pendant la Durée de l’Opération.

\n Toute déclaration effectuée en dehors de la Durée de l’Opération ne sera pas prise en compte dans le cadre du décompte ci-avant mentionné.

\n Pour éviter toute ambiguïté, il est précisé que la déclaration de deux (2) installations de climatisations au sein de l’Espace est suffisante pour participer\n à l’Opération et qu’un nombre de déclaration supérieur n’augmente ni n’amoindrit les chances de gain des Participants.

\n En outre, toute déclaration fausse, erronée ou effectuée en violation du présent Règlement, de même que toute tentative de fraude de quelque nature qu’elle soit\n au présent Règlement entraînera la nullité de la participation de l’Adhérent à l’Opération.\n

\n\n
\n
\n

Article 7. Tirage au sort

\n

A l’issue de la Durée de l’Opération, le tirage au sort sera effectué en présence de l’Huissier afin de désigner les Gagnants\n dans les conditions suivantes le 15/09/2022.

\n Préalablement au tirage au sort, les Participants seront répartis en Pool à raison de un (1) Pool par Région de vente, soit un total\n de six (6) Pools. Le tirage au sort sera ensuite effectué afin de désigner un Gagnant par Pool.

\n Trois (3) Participant(s) supplémentaire(s) par Pool seront tirés au sort et mis chronologiquement sur liste d’attente (ci-après « Gagnants subséquents »).\n Ils seront pris en considération en cas de refus ou d’absence de réponse du Gagnant initial et le cas échéant des Gagnants subséquents de rang supérieur du Pool concerné.\n

\n

\n

Article 8. Modalités d’information des Gagnants

\n

Les Gagnants tirés au sort en seront informés par courriel à l’adresse renseignée sur leur Espace. Une fois ce courriel reçu, les Gagnants sont invités à en accuser réception en contactant la Société organisatrice dans un délai de huit (8)\n jours à compter de sa réception aux coordonnées indiquées dans le courriel afin de réclamer leur Lot et convenir des modalités de remise.

\n A défaut de réponse du Gagnant dans le délai ci-avant mentionné, le Lot sera réputé refusé et sera réattribué au Gagnant subséquent figurant sur la liste d’attente telle que prévue\n à l’article 7 du Règlement sans que le Gagnant de rang supérieur ne puisse contester cette réattribution.

\n Si aucun Gagnant, en ce compris les Gagnants subséquents, ne se manifeste dans les délais précisés ci-avant, les Lots ne seront pas attribués.\n

\n

Article 9. Remise du lot

\n

\n La remise des lots se fera dans chaque Région de vente dans un lieu qui sera convenu avec les différentes parties,\n en présence du Gagnant, du distributeur auprès duquel il s’est approvisionné, des équipes Bosch locales et du siège.

\n Le gagnant accepte que elm.leblanc communique sur l’événement en interne comme en externe et donne le droit\n d’utilisation de son image dans les médias (site internet, réseaux sociaux, presse).

\n Il appartiendra au Gagnant de vérifier le bon état du Lot lors de sa réception.
\n En cas de dommage constaté, le Gagnant pourra apposer ses réserves sur le bon de réception du Lot qu’il adressera au transporteur et à la Société organisatrice dans un délai de\n trois (3) jours ouvrables par lettre recommandée avec accusé de réception.\n

\n

Article 10. Frais de participation

\n

Il n’y a aucun frais de participation, l’Opération est gratuite.

\n

Article 11. Disponibilités du Règlement

\n

Le Règlement est disponible et consultable sur le Site à l’adresse suivante :

\n https://www.degreplus.elmlecube.fr/GrandJeuConcoursClimatisation2022

\n Il a été par ailleurs déposé chez l’Huissier.

\n SCP PARHUIS

\n 51, rue Sainte-Anne

\n 75002 PARIS

\n Téléphone : 01 42 36 54 24\n

\n

Article 12. Acceptation du Règlement

\n

En participant à l’Opération, le Participant accepte le présent Règlement sans réserve

\n

Article 13. Annulation ou modification du Règlement

\n

En cas de survenance d’évènements extérieurs à la Société organisatrice, cette dernière se réserve le droit de modifier, compléter, proroger, suspendre, annuler ou reporter tout ou partie de l'Opération sans préavis\n sans qu'aucun dédommagement ne puisse être réclamé, ou que sa responsabilité ne puisse être engagée de ce fait.

\n Le cas échéant, les modifications apportées au Règlement seront publiées sur le Site et une version modifiée du Règlement adressée à l’Huissier.\n

\n

Article 14. Traitement des données à caractère personnel

\n

La Société organisatrice, en sa qualité de responsable du traitement, respecte la vie privée et s’engage à la protéger.

\n La présente déclaration reflète la culture de la Société organisatrice et manifeste sa volonté de promouvoir une collecte\n et une utilisation de vos données loyales, responsables et sécurisées.

\n La Société organisatrice est amenée à collecter les données à caractère personnel des Adhérents dans le cadre\n de l’Opération aux fins de la bonne exécution de l’Opération.

\n Pour le bon déroulement de cette Opération et de la participation du Participant, la Société organisatrice est susceptible de communiquer les données personnelles des Adhérents\n à d’autres entités du Groupe Bosch, et d’autres responsables de traitement tel l’huissier, le concessionnaire.

\n Les données personnelles des Adhérents sont enregistrées et sauvegardées pour une durée qui n’excède pas la durée nécessaire à la finalité pour lesquelles elles sont collectées et traitées, à savoir,\n le temps de l’Opération (incluant la gestion des réclamations) soit jusqu’au 31 décembre 2022.

\n Conformément à la réglementation en vigueur applicable aux traitements des données à caractère personnel et, en particulier, le règlement (UE) 2016/679 applicable à compter du 25 mai 2018 (le règlement européen relatif à la protection des données dit RGPD),\n les Adhérents disposent d’un droit d’accès, de rectification ou d’effacement, de mise à jour, de limitation de leurs données personnelles

\n Les Adhérents disposent également du droit à la portabilité. Le droit à la portabilité se distingue du droit d’accès qui s’exerce sur l’ensemble des données personnelles.

\n Le droit à la portabilité ne s’exerce que sur les données que les Adhérents fournissent à la Société organisatrice et traitées sur la base de leur consentement,\n de l’exécution d’un contrat ou à l’aide de procédés automatisés.

\n Les Adhérents disposent du droit de donner des directives sur le sort de leurs données personnelles après leur décès.

\n Les Adhérents disposent du droit d’introduire une réclamation auprès de l’autorité de contrôle, la CNIL (Commission Nationale Informatique et Libertés), à l’adresse postale suivante :

\n 3, place de Fontenoy

\n 75007 Paris

\n https://www.cnil.fr/fr/agir

\n Pour faire valoir vos droits, Les Adhérents peuvent adresser leur demande à l’adresse courriel suivante :\n https://request.privacy-bosch.com/ ou

\n\n\n D.P.O. du Groupe Bosch

\n Sécurité de l’Information et des Données (C/ISP)

\n Robert Bosch GmbH

\n Postfach 30 02 20

\n 70442 Stuttgart Germany

\n Courriel : DPO@bosch.com

\n\n En précisant l’objet de la demande « droit des personnes ».

\n Pour nous signaler des incidents liés à la protection des données, veuillez utiliser le lien suivant :

\n https://www.bkms-system.net/bosch-datenschutz.

\n

\n

Article 15. Droit applicable et litige

\n

Le présent Règlement est soumis au droit français.

\n En cas de litige relatif au présent Règlement, les parties s’engagent à tenter de résoudre amiablement leur litige.\n A cet effet, la partie la plus diligente adressera à l’autre partie une lettre recommandée avec accusé de réception faisant état du différend et les parties se réuniront dans un délai\n d’un (1) mois à compter de la réception de ladite lettre pour discuter des conditions et modalités susceptibles de permettre une résolution amiable du litige.

\n Si dans un délai de trois (3) mois, les parties ne parviennent pas à résoudre amiablement leur différend, le tribunal de commerce de Paris sera compétent.\n

\n
\n
\n
\n
\n
\n
\n
\n
\n","\n
\n
\n","import { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-privacy-policy',\n templateUrl: './privacy-policy.component.html',\n styleUrls: ['./privacy-policy.component.scss']\n})\nexport class PrivacyPolicyComponent implements OnInit {\n\n innerHtml: string;\n privacyPolicy$: Observable;\n\n url: string = 'https://policies.ttprivacy.com/api/v1/policies/application/5c8aa7e3-deb1-4651-bf91-f5bbafeb49f9/country/FR/language/fr-FR';\n\n constructor(private http: HttpClient) { }\n\n ngOnInit(): void {\n this.privacyPolicy$ = this.http.get(this.url);\n // this.privacyPolicy$.subscribe(\n // res => {\n // console.log(\"res\", res);\n // });\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-sales-terms',\n templateUrl: './sales-terms.component.html',\n styleUrls: ['./sales-terms.component.scss']\n})\nexport class SalesTermsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n
\n
Conditions générales de vente
\n\n
\n
\n
\n
\n
\n

Conditions Générales de Vente ci-après les « Conditions »

\n

Les présentes Conditions annulent et remplacent toutes les conditions antérieures.\n Elles sont susceptibles de faire l’objet de modifications ou d’une réédition\n complète notamment en cas de changement significatif du contexte règlementaire ou\n législatif. Toute modification des présentes Conditions est automatiquement\n opposable au Client dans un délai de huit semaines suivant sa notification par tout\n moyen (courrier postal, courrier électronique, télécopie, etc…).

\n

\n

1. Généralités

\n

Les présentes Conditions régissent uniquement les relations entre le fabricant,\n ci-après désigné le “Fournisseur” et le client auquel il vend son matériel ou ses\n services, ci-après désigné le “Client”. Le Fournisseur livrera tout Client chargé de\n revendre les appareils de chauffage, de rafraîchissement et de confort thermique, à\n tout type de clientèle, sans restriction. Pour des raisons de sécurité et de\n protection de l’image de marque du Fournisseur, le Client s’engage à promouvoir\n auprès de ses propres clients, l’installation ou le remplacement des appareils du\n Fournisseur par un installateur professionnel (code NAF 43.22A ou 43.22 Bp ou 43.21\n B). Elles constituent le socle unique de la négociation commerciale, conformément\n aux termes de l’article L.441-1 du Code de Commerce. Les termes « marchandise » ou «\n matériel » ou « produit » signifient tous produits finis, accessoires, pièces\n détachées commercialisés par le Fournisseur.

\n

Le Fournisseur se réserve le droit de refuser la vente de certaines marchandises si\n leur destination finale directe ou indirecte est située hors UE / AELE. Ces\n Conditions s’appliquent en France métropolitaine, Corse comprise (hors DOM-TOM).

\n

Toute commande implique l’adhésion sans réserve aux Conditions ci-dessous qui\n régissent seules les ventes et prestations du Fournisseur, à l’exclusion des\n conditions d’achat du Client ou de tout autre document émanant de lui, dont les\n termes sont inopposables au Fournisseur sauf accord exprès contraire.

\n

Les commandes du Client doivent obligatoirement être transmises par écrit (courrier\n électronique, interface informatique ou bien fax). Le Fournisseur n’acceptera aucune\n commande verbale ou par téléphone. Pour être recevable, une commande doit être\n chiffrée et comporter la référence article, la quantité et l’adresse de livraison.\n

\n

Toute commande n’est valable et le contrat de vente ou de prestation de services\n n’est réputé formé que lors de son acceptation expresse par écrit sous la forme d’un\n accusé de réception de commande établi par le Fournisseur, ou à défaut, par le seul\n fait de l’exécution de la commande par le Fournisseur, y compris lorsque les offres\n sont effectuées par les représentants ou les membres du personnel du Fournisseur.\n Pour être valable, toute convention verbale précédent ou accompagnant la conclusion\n du contrat nécessite la confirmation écrite du Fournisseur. Des extraits des\n Conditions Générales de Vente du Fournisseur sont annexés à ses tarifs et sont\n vérifiables sur ses sites internet\n (https://www.elmleblanc.fr/fr/fr/pied-de-page/cgv/ et\n https://www.pro.bosch-climate.fr/conditions-generales-de-vente) dont les liens sont\n aussi mentionnés sur les factures du Fournisseur. Le Client est ainsi réputé avoir\n eu connaissance des Conditions dès l’origine des relations entre les parties.

\n

Le Fournisseur se réserve le droit, sous réserve d’en informer préalablement le\n Client, de refuser, diminuer ou fractionner toute commande qui présente un caractère\n manifestement anormal par rapport au volume de commande habituel du Client ou\n susceptible d’occasionner une désorganisation des services industriels ou\n logistiques du Fournisseur. Un tel refus ou modification ne pourra donner lieu à\n réclamation ni dédommagement.

\n

\n

2. Gestion des Comptes Clients

\n

Le Fournisseur subordonne l’ouverture de compte ou l’application de ses Conditions à\n l’obtention des documents comptables, financiers, juridiques et, le cas échéant, de\n garanties.

\n

Toute ouverture de compte n’est valable qu’après accord de la Direction du\n Fournisseur. L’exécution d’une première commande ne dérogera pas à cette règle. Tout\n octroi de délai de paiement, dans la limite des plafonds fixés par les dispositions\n de l’article L.441-10 du Code de commerce, est subordonné à une analyse financière\n préalable.

\n

\n

\n

3. Franco de Port et Commandes

\n

Les commandes de produits finis et accessoires sont franco de port si un montant\n minimum de 3000€ HT et hors éco-participation est atteint. En deçà de ce montant,\n des frais de port à hauteur de 35€ HT seront appliqués sans accord préalable du\n Client et pour chacune des commandes reçues chez le Fournisseur.

\n

Les commandes de pièces détachées sont franco de port si un montant minimum de 250€\n HT et hors éco-participation est atteint. En deçà de ce montant, des frais de port à\n hauteur de 20€ HT seront appliqués sans accord préalable du Client et pour chacune\n des commandes reçues chez le Fournisseur.

\n

En cas de commande mixte (pièces détachées et produits finis), les deux règles de\n minimum de commande s’appliquent de manière distincte. D’autre part, le Fournisseur\n se réserve le droit de regrouper plusieurs commandes d’un même Client dans les\n livraisons sans que cela remette en cause les seuils individuels de commandes.

\n

Les montants de commande minimum rappelés ci-dessus pour l’application du franco\n s’apprécient pour une commande livrée à une seule adresse de livraison.

\n

\n

4. Produits / Services / Prix

\n

Le Fournisseur se réserve le droit, sous réserve d’en informer préalablement le\n Client dans un délai raisonnable, de stopper la commercialisation d’un produit ou\n d’un service et de proposer ou non sa substitution par un autre produit ou service\n similaire à un prix identique ou différent.

\n

Les prix du Fournisseur s’entendent hors taxes, hors éco-participation (ou DEEE) si\n applicable et hors droits et taxes en sus qui seraient à la charge du Client. En cas\n de revente, les prix du Fournisseur ne doivent en aucun cas être considérés comme\n prix de vente au public, même indicatifs, les Clients étant seuls responsables de la\n fixation de leur prix de revente, qu’ils déterminent librement.

\n

Le Fournisseur se réserve le droit de modifier ses prix, notamment en cas de\n variations des conditions économiques impactant ses marchandises, après en avoir\n informé le Client par tous moyens dans un délai raisonnable. Les renseignements\n portés sur les catalogues et tarifs du Fournisseur sont donnés à titre indicatif. Ce\n dernier, se réserve le droit d’apporter sans préavis des modifications de\n disposition, de forme, de dimensions ou de matière à ses matériels dont les\n illustrations, les photographies, les descriptions ou les schémas d’installation\n figurent sur ses imprimés de publicité ou sur tout autre support de communication.\n

\n

Les prix appliqués sont ceux en vigueur le jour de la commande. Tout versement à la\n commande est un acompte définitivement acquis au Fournisseur, même en cas de\n résiliation d’un contrat. Sauf accord préalable entre les parties, toute livraison\n du matériel catalogué est facturée au prix mentionné sur l’accusé de réception de\n commande. Le cas échéant, le Fournisseur répercutera intégralement toute variation à\n la hausse ou à la baisse du prix de ses marchandises qu’il pourrait subir de la part\n de ses fournisseurs entre la date de réception de la commande et la livraison ainsi\n que la variation des parités monétaires.

\n

Sauf dispositions contraires (notamment en cas de transports spécifiques ou urgents),\n les prix du Fournisseur comprennent l’emballage et le transport. L’éventuelle\n majoration pour commande livrée au comptoir ou de prestation de services, fait\n l’objet de conditions particulières.

\n

Les marchandises voyagent avec des supports palettes dites ‘perdues’. Le Fournisseur\n ne procède donc pas à l’échange ou au remboursement de palettes.

\n

\n

5. Délais de Livraison

\n

Les délais de livraison sont donnés à titre indicatif et ne constituent pas\n l’engagement pour le Fournisseur de livrer la marchandise à la date mentionnée. Le\n point de départ du délai de livraison est la date inscrite sur la confirmation de la\n commande du Client. La livraison de produits en « set » ou en « kits » se fera\n lorsque l’ensemble des marchandises composant le set ou le kit sera disponible ;\n aucune livraison ou retour fractionné ne sera donc possible pour ces produits.

\n

Les délais de livraison standards du Fournisseur sont les suivants :

\n

- pour les produits finis et accessoires en stock = 5 jours

\n

- pour les commandes « chantiers » = 10 jours

\n

- pour les pièces détachées en stock = 48 heures

\n

- pour les pièces détachées sur fabrication = 5 jours (liste disponible sur demande).\n

\n

En cas de livraison souhaitée par le Client en deçà de ces délais, le Fournisseur\n proposera un mode de livraison expresse avec tarification spéciale à la charge du\n Client comme indiqué ci-dessous :

\n

Livraison J+2 ouvrables (en messagerie express) – commande reçue avant 12h00\n –Livraison toute France métropolitaine hors Corse & Îles et hors dimensions\n spéciales, sous réserve de disponibilité :

\n

\n

- Expédition < 100kg = 100€ HT

\n

- Expédition >101kg < 500kg = 350€ HT

\n

- Expédition > 501kg (max 800kg) = 700€ HT

\n

\n

Livraison J+1 ouvrable (par coursier dédié) –commande reçue avant 12h00

\n

Livraison toute France métropolitaine hors Corse & Îles et hors dimensions\n spéciales, sous réserve de disponibilité :

\n

- Expédition < 200kg et/ou 2 palettes = 650€ HT

\n

\n

Cependant, le Fournisseur s’efforcera de respecter les délais de livraison demandés\n par le Client.

\n

Le dépassement raisonnable des délais de livraison indiqués par le Fournisseur ne\n pourra, quelle qu’en soit la cause, entraîner l’annulation de commande, refus ou\n retour de marchandise par le Client sans accord préalable écrit du Fournisseur.

\n

En cas de retard de livraison, le Client ne pourra pas engager la responsabilité du\n Fournisseur pour la perte de chiffre d’affaires, l’atteinte à l’image de marque ou\n la perte de bénéfices.

\n

Si, alors que la commande a déjà été préparée, le Client demande à différer la\n livraison de plus de quinze (15) jours, le Fournisseur se réserve le droit de\n facturer au Client pour tout mois entamé des frais de stockage correspondant à 0,5%\n du prix de la marchandise à livrer.

\n

Le cas échéant, le traitement de la commande est conditionné au versement préalable\n et effectif de l’acompte prévu.

\n

Compte tenu de la saisonnalité des produits, le Fournisseur n’admet aucune pénalité\n ou indemnité de quelque ordre que ce soit pour retard de livraison ou d’annulation\n de la commande.

\n

\n

6. Expéditions

\n

Nonobstant la clause de réserve de propriété stipulée ci-après, les marchandises du\n Fournisseur voyagent et sont déchargées aux risques et périls du Client. La\n livraison est réputée effectuée lors du départ des usines ou des entrepôts du\n Fournisseur.

\n

\n

7. Paiements

\n

Sauf dispositions contraires expressément acceptées par le Fournisseur, les paiements\n du Client ont lieu à la date précisée sur la facture, soit quarante-cinq jours fin\n de mois suivant la date de facturation de la marchandise. Les acomptes sont\n toutefois payés au comptant.

\n

A défaut de dispositions contraires convenues entre les parties, les travaux de\n réparation, d’entretien, de même que les marchandises supplémentaires ou livrées en\n cours de montage sont payables au comptant, net et sans escompte.

\n

Les paiements doivent intervenir au siège social du Fournisseur. Seul l’encaissement\n effectif et intégral par le Fournisseur est considéré comme un paiement. Sauf\n dispositions contraires stipulées par écrit, aucun escompte pour paiement anticipé,\n ristourne ou rabais ne sera consenti.

\n

En aucun cas, le Client ne peut s’octroyer un escompte de sa propre initiative. Le\n Client ne sera pas autorisé à compenser les factures du Fournisseur avec ses propres\n factures.

\n

Les paiements ne peuvent en aucune hypothèse être retardés par le Client, y compris\n en cas de litige sur la qualité du matériel.

\n

Tout retard de paiement d’une échéance quelconque entraîne de plein droit et sans\n qu’un rappel soit nécessaire :

\n

- la déchéance du terme pour toutes commandes exécutées et non réglées, même si elles\n ont donné lieu à l’émission d’effets,

\n

- la suspension de l’exécution des commandes en cours,

\n

- l’annulation de tous les avoirs et/ou réduction de prix acquis(es) et/ou à établir,\n

\n

En cas de dépassement du délai de paiement le Fournisseur pourra réclamer,\n automatiquement et sans délai, des intérêts de retard égaux à trois fois le taux\n légal en vigueur ainsi que le paiement d’une indemnité forfaitaire pour frais de\n recouvrement fixée à 40€ ou d’une indemnité supérieure, si cette majoration se\n justifie et ce, nonobstant le droit du Fournisseur de demander réparation de tout\n autre préjudice.

\n

Par ailleurs, le Fournisseur se réserve le droit de refuser toute commande du Client\n en cas de retard de paiement, de litige financier ou si la situation financière du\n Client semble l’exiger, sous réserve du respect par le Fournisseur des règles\n applicables aux procédures collectives. Le Fournisseur pourra éventuellement exiger\n le paiement comptant des commandes du Client dans les cas précisés ci-dessus.

\n

En cas de changement dans la situation du Client, notamment en cas de décès,\n d’incapacité, de dissolution ou de modification de sa société, d’hypothèque de ses\n immeubles, de vente ou nantissement de son fonds de commerce ainsi qu’en cas de\n défaut d’exécution par le Client d’une quelconque de ses obligations, notamment au\n titre d’une précédente commande, le Fournisseur se réserve le droit, même après\n exécution partielle d’une commande, d’exiger un paiement d’avance ou des garanties\n ou d’annuler, le cas échéant, le solde de la commande.

\n

\n

8. Livraisons, Contrôles des Livraisons, Réclamations et Retours

\n

Le Client doit vérifier les marchandises à la livraison. Ce contrôle doit notamment\n porter sur la qualité, les quantités, les emballages, l’état et les références des\n marchandises et leur conformité par rapport à la commande et au bordereau de\n livraison.

\n

En cas d’anomalie constatée à la livraison des marchandises, il est de la\n responsabilité du Client de notifier toutes les réserves qu’il jugera utiles auprès\n du transporteur responsable et directement sur le bon de livraison ou sur tout\n support présenté par le transporteur (terminaux portables, par exemple) en présence\n du livreur.

\n

En cas de non-présentation du bordereau de livraison, le Client devra exiger ce\n document auprès du livreur, contrôler minutieusement sa réception et porter des\n réserves pour absence de bordereau de livraison ou bien refuser la prise en charge\n de la livraison.

\n

Dans le cas où le Client n’aurait pas émis de réserves précises sur le bordereau de\n livraison ou autre support du transporteur, le Client a trois jours ouvrables\n maximum pour notifier au transporteur concerné par acte extrajudiciaire ou par\n lettre recommandée avec AR, le cachet de la poste faisant foi, sa protestation\n motivée sous peine de perdre tout recours contre le transporteur et/ou le\n Fournisseur. A défaut, aucune réclamation postérieure ne pourra être prise en\n considération par le Fournisseur.

\n

Dans tous les cas, le bordereau de livraison du Fournisseur doit être vérifié et\n émargé par le Client et demeure le seul document faisant foi pour le transfert de\n responsabilités et en cas de litige entre le Client et le Fournisseur. Par\n conséquent, l’émargement de la lettre de voiture, le terminal portatif du\n transporteur ou la CMR du transporteur n’est pas suffisant.

\n

D’une manière générale, la responsabilité du Fournisseur se limite strictement à\n l’obligation de remplacer la marchandise non conforme, à l’exclusion de tous\n dommages et intérêts.

\n

Les retours de marchandises ne seront acceptés qu’après accord préalable et écrit du\n Fournisseur avec un numéro d’enregistrement lié à ce retour. Le fait pour le\n Fournisseur d’avoir consenti à un retour pour une marchandise déterminée ne confère\n pas au Client le droit d’obtenir un retour pour d’autres marchandises, mêmes\n identiques.

\n

Les marchandises retournées voyagent aux frais et risques du Client en port payé par\n ce dernier. Le retour doit s’effectuer au lieu indiqué par le Fournisseur ou, à\n défaut de précisions, à l’adresse de son siège social.

\n

Les marchandises retournées ou reprises à titre commercial doivent être en parfait\n état de conservation, dans leur conditionnement et emballage d’origine et ne\n présenter aucun signe de démontage, d’installation ou d’utilisation. Le retour des\n marchandises endommagées ou déjà installées fera l’objet d’un remballage et\n étiquetage adéquat à la charge du Client permettant le transport.

\n

Toute demande de retour ou reprise de produits finis sous garantie par le Client doit\n comporter les informations figurant dans la fiche retour du Fournisseur pour la\n prise en charge notamment l’ensemble des numéros de série concernés et la facture\n d’origine.

\n

Le retour donne lieu à l’établissement d’un avoir correspondant au prix des matériels\n concernés, déduction faite d’une retenue forfaitaire au titre du traitement\n administratif du retour.

\n

Si l’état de la marchandise retournée le justifie, une décote sera appliquée sur\n l’avoir émis par le Fournisseur.

\n

\n

9. Réserve de Propriété

\n

Le Fournisseur se réserve l’entière propriété des produits, accessoires et/ou pièces\n détachées vendus jusqu’au paiement de l’intégralité du prix et de ses taxes, TVA,\n éco-participation et frais de services associés le cas échéant, étant précisé que\n seul l’encaissement effectif du prix vaudra paiement. Ne constitue pas un paiement\n la remise d’une lettre de change ou d’un autre titre créant une simple obligation de\n payer.

\n

Cependant, les risques du transport ayant été transférés au Client dès l’expédition,\n ce dernier s’engage à assurer la marchandise et à indiquer à son assureur que le\n Fournisseur en reste le propriétaire. Le Fournisseur accorde au Client, à titre\n révocable, le droit de revendre les marchandises. Ce droit cessera de plein droit et\n sans formalité en cas de non-paiement total ou partiel d’une échéance quelconque.\n

\n

Le Client est dans l’obligation d’informer le Fournisseur par lettre recommandée avec\n accusé de réception, sans délai, de toute tentative de saisie. Il s’engage en toutes\n circonstances à préserver le droit de propriété du Fournisseur.

\n

A défaut de paiement total ou partiel des factures des marchandises à leur échéance,\n celles-ci devront être restituées au Fournisseur à première demande écrite aux\n frais, risques et périls du Client qui s’y oblige, et ce, huit jours après mise en\n demeure par lettre recommandée avec accusé de réception adressée au Client restée en\n tout ou partie sans effet pendant ce délai. Les acomptes déjà versés resteront\n acquis au Fournisseur à titre de premiers dédommagements.

\n
\n
\n

10. Garanties

\n

La garantie commerciale du Fournisseur est subordonnée à la remise à l’Utilisateur\n d’un Certificat de Conformité pour les produits concernés (certificat prévu par\n l’arrêté du 2 août 1977 modifié), ce qui n’affecte pas la garantie légale.

\n

La garantie commerciale du Fournisseur est subordonnée à l’installation du matériel\n conformément aux règles de l’art, aux normes en vigueur et aux prescriptions de nos\n notices techniques. Nos conditions de garanties figurent sur les bons de garantie de\n nos produits et dans l’édition complète de nos Conditions Générales de Vente\n incluses dans nos tarifs. Nos appareils bénéficient d’une garantie pièces détachées,\n dans le cadre de la législation en vigueur, pendant deux (2) ans à compter de la\n date de réception provisoire pour les chantiers et de la date de la mise en service\n pour les particuliers. Les dates ci-dessus doivent être, dans tous les cas, portées\n à notre connaissance ou à celle de notre réseau d’après-vente par les soins de\n l’installateur au moyen du volet joint au certificat de garantie.

\n

Mise en œuvre de la garantie : celle-ci consiste pour le Fournisseur à remédier à ses\n frais et en toute diligence, aux défauts dont est atteint le matériel. Le\n Fournisseur a le choix des moyens à employer pour satisfaire à cette obligation -\n réparations, modifications, remplacements. Les frais de transport des matériels, de\n déplacement du personnel et de main-d’œuvre sont exclus de la garantie. Dans\n l’hypothèse la réparation s’avèrerait impossible, le Fournisseur s’engage à\n rembourser le produit à hauteur de son prix d’achat effectif.

\n

Restrictions : la garantie ne s’applique pas aux conséquences de l’usure normale et\n ne concerne pas les pièces d’usure. Par ailleurs, la garantie est exclue, notamment\n si les conditions suivantes n’ont pas été respectées :

\n

- stockage à l’abri de l’humidité et des intempéries,

\n

- mise en œuvre et installation conformes aux règles de l’art,

\n

- bonne qualité de l’eau utilisée, tant au niveau du circuit du chauffage que du\n circuit sanitaire,

\n

- entretien périodique réalisé par un professionnel qualifié et, le cas échéant,\n réparations ou remplacements conformes aux règles de l’art et aux prescriptions\n techniques,

\n

- utilisation conforme à l’usage auquel le produit est destiné et aux prescriptions\n des notices d’utilisation.

\n

Obligations du Client :

\n

Le Client communiquera à ses propres clients les conditions de la présente garantie.\n Pour que la garantie puisse s’appliquer, le Client veillera à ce que le Fournisseur\n soit informé, sans retard et par écrit, des défauts imputés au matériel et à ce que\n lui soient fournies toutes justifications quant à la réalité de ceux-ci. Il veillera\n également à ce que le Fournisseur bénéficie de toute facilité pour procéder à la\n constatation de ces défauts et pour y porter remède le cas échéant.

\n

La garantie cesse en cas de détérioration de l’appareil lors d’une réparation ou\n d’une modification par une intervention autre que celle du Fournisseur ou d’une\n entreprise de son réseau d’après-vente. Les dispositions de la garantie ne sont pas\n exclusives du bénéfice au profit du Client de la garantie légale pour défauts ou\n vices cachés qui s’applique en tout état de cause dans les conditions de l’article\n 1641, 1648 et 2232 du Code Civil, pris ensemble, ni de la garantie de conformité\n telles que résultant des articles L. 217-4 à L. 217-12 du Code de la consommation.\n

\n

Le Client demeure libre de proposer les garanties commerciales de son choix à ses\n propres clients, sous sa responsabilité. En sa qualité de vendeur, le Client assume\n également les garanties légales mises à sa charge.

\n

\n

La réparation et les remplacements effectués dans le cadre de la garantie ne font pas\n courir une nouvelle durée de garantie et ne prolongent pas la garantie initiale.

\n

Extension de garantie

\n

Produits de Marque Elm

\n

La garantie contre tout vice de fabrication de deux (2) ans pièces de rechange est\n automatiquement étendue à trois (3) ans pour la cuve des ballons intégrés ainsi que\n celle des ballons de stockage (BAL et BIL), sous réserve que l’installation ait été\n réalisée dans les règles de l’art, que l’eau utilisée ne soit pas trop adoucie et\n que l’anode de protection ait fait l’objet d’une vérification périodique (effectuée\n au minimum une fois par an).

\n

Les corps de chauffe des chaudières résidentielles à condensation sont garantis cinq\n ans contre tout vice de fabrication, sous réserve que l’installation ait été mise en\n service par le Fournisseur ou par une Station Technique Agréée par le Fournisseur et\n si un entretien annuel est réalisé chaque année par le Fournisseur ou par une\n Station Technique Agréée par le Fournisseur. La garantie cesse en cas de\n détérioration de l’appareil lors d’une réparation ou d’une modification par une\n intervention autre que celle du Fournisseur ou d’une entreprise de son réseau\n d’après-vente. Les dispositions de la garantie ne sont pas exclusives du bénéfice au\n profit du Client de la garantie légale pour défauts ou vices cachés qui s’applique\n en tout état de cause dans les conditions de l’article 1641 et suivants du Code\n Civil.

\n

Produits de Marque Bosch

\n

La garantie contre tout vice de fabrication de deux (2) ans pièces de rechange est\n automatiquement étendue à trois (3) ans pour la cuve des ballons intégrés ainsi que\n celle des ballons de stockage, sous réserve que l’installation ait été réalisée dans\n les règles de l’art, que l’eau utilisée ne soit pas trop adoucie et que l’anode de\n protection ait fait l’objet d’une vérification périodique (effectuée au minimum une\n fois par an). La garantie de deux ans pièces est automatiquement étendue à cinq ans\n pour le compresseur des pompes à chaleur sous réserve que l’installation ait été\n mise en service par le Fournisseur ou par une Station Technique Agréée par le\n Fournisseur. Elle est également étendue à cinq (5) ans pour la cuve des chauffe-eau\n thermodynamiques monoblocs. Les corps de chauffe des chaudières résidentielles à\n condensation sont garantis cinq (5) ans contre tout vice de fabrication, sous\n réserve que l’installation ait été mise en service par le Fournisseur ou par une\n Station Technique Agréée par le Fournisseur et si un entretien annuel est réalisé\n chaque année par le Fournisseur ou par une Station Technique Agréée par le\n Fournisseur. La garantie de deux ans pièces de rechange de notre gamme de\n climatisation résidentielle est automatiquement étendue à trois ans pour l’ensemble\n des pièces de rechange et à cinq ans pour les compresseurs. Sur cette gamme, la main\n d’œuvre est également garantie la première année sous réserve que l’installation ait\n été mise en service par le Fournisseur ou par une Station Technique Agréée par le\n Fournisseur. La garantie cesse en cas de détérioration de l’appareil lors d’une\n réparation ou d’une modification par une intervention autre que celle du Fournisseur\n ou d’une entreprise de son réseau d’après- vente. Les dispositions de la garantie ne\n sont pas exclusives du bénéfice au profit du Client de la garantie légale pour\n défauts ou vices cachés qui s’applique en tout état de cause dans les conditions de\n l’article 1641 et suivants du Code Civil.

\n

Reproduction des articles L.217-4, L.217-5, L.217-12, L.217-16 du Code de la\n consommation

\n

Article L217-4

\n

Le vendeur livre un bien conforme au contrat et répond des défauts de conformité\n existant lors de la délivrance.

\n

Il répond également des défauts de conformité résultant de l'emballage, des\n instructions de montage ou de l'installation lorsque celle-ci a été mise à sa charge\n par le contrat ou a été réalisée sous sa responsabilité.

\n

\n

Article L217-5

\n

Le bien est conforme au contrat :

\n

1° S'il est propre à l'usage habituellement attendu d'un bien semblable et, le cas\n échéant :

\n

- s'il correspond à la description donnée par le vendeur et possède les qualités que\n celui-ci a présentées à l'acheteur sous forme d'échantillon ou de modèle ;

\n

- s'il présente les qualités qu'un acheteur peut légitimement attendre eu égard aux\n déclarations publiques faites par le vendeur, par le producteur ou par son\n représentant, notamment dans la publicité ou l'étiquetage ;

\n

2° Ou s'il présente les caractéristiques définies d'un commun accord par les parties\n ou est propre à tout usage spécial recherché par l'acheteur, porté à la connaissance\n du vendeur et que ce dernier a accepté.

\n

\n

Article L217-12

\n

\n

L'action résultant du défaut de conformité se prescrit par deux ans à compter de la\n délivrance du bien.

\n

\n

Article L217-16

\n

Lorsque l'acheteur demande au vendeur, pendant le cours de la garantie commerciale\n qui lui a été consentie lors de l'acquisition ou de la réparation d'un bien meuble,\n une remise en état couverte par la garantie, toute période d'immobilisation d'au\n moins sept jours vient s'ajouter à la durée de la garantie qui restait à courir.

\n

Cette période court à compter de la demande d'intervention de l'acheteur ou de la\n mise à disposition pour réparation du bien en cause, si cette mise à disposition est\n postérieure à la demande d'intervention.

\n

\n

Reproduction des articles 1641 et 1648 premier alinéa du Code civil :

\n

Article 1641

\n

Le vendeur est tenu de la garantie à raison des défauts cachés de la chose vendue qui\n la rendent impropre à l'usage auquel on la destine, ou qui diminuent tellement cet\n usage que l'acheteur ne l'aurait pas acquise, ou n'en aurait donné qu'un moindre\n prix, s'il les avait connus.

\n

Article 1648 alinéa 1

\n

L'action résultant des vices rédhibitoires doit être intentée par l'acquéreur dans un\n délai de deux ans à compter de la découverte du vice.

\n

\n

11. Responsabilités

\n

La responsabilité du Fournisseur est strictement limitée à :

\n

- son obligation de garantie ainsi définie ;

\n

- versement des dommages et intérêts, résultant de l’inexécution des obligations\n prévues dans les présentes Conditions, que dans la mesure où il en résulte un\n préjudice avéré pour le Client qui est la conséquence immédiate et directe du défaut\n d’exécution de nos obligations contractuelles

\n

En aucun cas le Fournisseur ne sera tenu à aucune indemnisation au titre de dommages\n immatériels ou indirects tels que notamment, mais sans s’y limiter, manque à gagner,\n perte d’utilisation, perte de jouissance, perte de revenu, réclamation de tiers,\n immobilisations, préjudice d’image, etc.

\n

\n

12. Propriété Intellectuelle

\n

Sauf dispositions contraires stipulées par écrit, le Fournisseur reste titulaire de\n toute information, de tout concept (idées, stratégies, méthodologie…), de toute\n spécification, de tout document (photographies, documentations techniques, schémas\n d’encastrements, vues éclatées, etc.) de tout objet (modèles, échantillons,\n spécimens…) ainsi que des brevets et du savoir-faire mis en œuvre dans le cadre de\n fourniture par le Fournisseur de marchandises (produits finis, pièces détachées\n et/ou accessoires) ou de prestations.

\n

Le Client ne dispose d’aucun droit sur les marques et autres signes distinctifs du\n Fournisseur, autre que le simple droit de les utiliser en vue de l’exposition et de\n la commercialisation des marchandises. Dans tous les cas, le Client s’abstient de\n porter préjudice à l’image du Fournisseur ou de ses marques.

\n

\n

13. Confidentialité

\n

Aucune information commerciale ou technique émanant du Fournisseur ou d’une société\n affiliée au Fournisseur, y compris les caractéristiques résultant de tout objet ou\n logiciel éventuellement remis, tout savoir-faire ou expérience, ne doit être\n divulguée à des tiers tant que, preuves à l’appui, elle n’est pas connue du grand\n public ou que le Fournisseur n’ait pas fait savoir qu’elle peut être divulguée par\n le Client.

\n

\n

Par ailleurs, le Client ne divulguera les informations confidentielles du\n Fournisseur, qu’auprès de personnes habilitées, tenues au secret et ayant besoin de\n les utiliser. Ces informations demeurent la propriété exclusive du Fournisseur ou\n d’une société affiliée. Sans l’accord écrit et préalable du Fournisseur, de telles\n informations ne doivent pas être reproduites ou utilisées à des fins commerciales ou\n industrielles. A sa demande, toutes les informations émanant du Fournisseur (y\n compris les copies ou enregistrements éventuellement réalisés) ainsi que tous les\n objets prêtés doivent lui être restitués sans délai dans leur intégralité ou être\n détruits.

\n

\n

Le Fournisseur se réserve tous les droits sur les informations visées à l´article 12\n (y compris les droits d´auteur et le droit de déposer des demandes de délivrance de\n titres de propriété industrielle, tels que brevets, dessins et modèles, droits de\n protection de semi-conducteurs, etc.).

\n

\n

14. Clause Résolutoire

\n

En cas d’inexécution par le Client d’une quelconque de ses obligations, notamment\n celle de payer le matériel à la date convenue au titre des présentes et huit jours\n après une mise en demeure par lettre recommandée avec accusé de réception, restée\n infructueuse en tout ou partie pendant ce délai, la vente sera résolue de plein\n droit, dès l’envoi par le Fournisseur d’une seconde lettre recommandée avec demande\n d’avis d’accusé de réception : les acomptes partiels, éventuellement versés par le\n Client, étant acquis au Fournisseur à titre de premiers dommages et intérêts et sans\n préjudice de tous autres.

\n

\n

15. Cessation du Contrat

\n

En cas de changement de sa situation, notamment en cas d’incapacité, de dissolution,\n de modification de la société, de cession, de mise en nantissement de cession ou\n apport en société de son fonds de commerce ou de son matériel par le Client, de\n changement dans la détention de la majorité de son capital, de fusion, de scission\n ou apport partiel d’actif, le Client devra en informer sans délai et par écrit le\n Fournisseur. Le Client ne pourra céder ou transférer à une personne physique ou\n morale, l’un quelconque de ses droits, l’une de ses obligations en vertu du présent\n contrat sans l’approbation préalable et écrite du Fournisseur. En cas de non-respect\n de cette obligation par le Client, le Fournisseur pourra même après exécution\n partielle d’une commande, et sans sommation, résilier immédiatement le contrat sans\n que sa responsabilité ne soit engagée, et sans indemnité au profit du Client, sans\n préjudice de tous dommages et intérêts qui seraient réclamés à ce dernier.

\n

\n

16. Clause Pénale

\n

En cas d’action judiciaire en recouvrement de la créance du Fournisseur, ce dernier\n se réserve le droit de réclamer devant la juridiction compétente à titre de clause\n pénale une somme égale à 15% du montant dû en principal, avec un minimum de 762,25 €\n hors taxes pour tenir compte des honoraires et frais irrépétibles découlant de\n ladite action.

\n

\n

17. Résiliation

\n

En cas d’inexécution par le Client d’une quelconque de ses obligations au titre des\n présents et huit jours après une mise en demeure par lettre recommandée avec demande\n d’avis de réception, restée infructueuse en tout ou partie pendant ce délai, la\n vente sera résiliée de plein droit, immédiatement et sans formalité, les acomptes\n partiels éventuellement versés par le Client étant acquis à notre Société à titre de\n premiers dommages et intérêts sans préjudice de tous autres.

\n

En cas de résiliation, le Client doit permettre au Fournisseur d’accéder aux produits\n dont nous avons conservé la propriété en vertu de l’Article 9 des présentes\n Conditions. Après notification au Client, le Fournisseur peut soit en réclamer la\n restitution ou la revente immédiate afin d’obtenir le paiement du prix de ces\n produits.

\n

Les dispositions qui figurent dans le présent Article s’appliquent sans préjudice des\n droits et revendications prévues par la loi.

\n

\n

18. Force majeure

\n

Les obligations de livraison du Fournisseur sont suspendues de plein droit et sans\n formalité et, de manière générale, sa responsabilité est dégagée en présence d’un\n cas de force majeure. Les cas de force majeure sont : « incendies, inondations,\n grêle, tornade, tremblements de terre, éruptions, ou autres phénomènes\n météorologiques, émeutes, guerres, mouvements populaires, lock-out, bris ou mise\n hors service de machines, actes délictuels, vandalisme ou brigandage, embargos,\n restrictions d’importation ou d’exportation, blocages en douane, grèves, défaillance\n de nos fournisseurs, pénuries de matières premières ou composants, restriction de\n courant, interruption de transport, fermeture de frontières, réquisitions ou autres\n mesures administratives, interdictions de circuler, fermetures des voies et/ou\n routes ou accès, déchargent le Fournisseur de toute obligation, sans aucune\n indemnité possible.

\n

Le Fournisseur s’engage à informer le Client, par tous moyens à sa convenance, de la\n survenance d’un tel évènement.

\n

\n

19. Juridiction

\n

En cas de contestation, seul le Tribunal de Commerce de Bobigny sera compétent, même\n en cas de pluralité de défendeurs ou d’appel en garantie pour tout litige.

\n

Les domiciliations d’effets et les acceptations de règlement par le Fournisseur\n n’emportent ni novation ni dérogation à cette attribution de juridiction.

\n

Aucune clause contraire du Client ne peut déroger à cette clause attributive de\n juridiction, sauf acceptation expresse et par écrit de la part du Fournisseur.

\n

\n

20. Loi Applicable

\n

La loi applicable aux relations entre le Fournisseur et le Client est la loi\n française.

\n

\n

21. Clause de Renonciation

\n

Le fait que le Fournisseur ne se prévale pas, à un moment donné, de l’une quelconque\n des présentes Conditions, ne peut être interprété comme valant renonciation à se\n prévaloir ultérieurement de l’une quelconque desdites Conditions.

\n

\n

22. Clause de Sauvegarde

\n

Si une quelconque stipulation des présentes est jugée non-écrite et sans effet,\n illégale ou inapplicable, les stipulations restantes demeureront pleinement en\n vigueur.

\n
\n
\n
\n
\n
\n
\n \n
","import {Component, TemplateRef} from '@angular/core';\nimport { ToastService } from '../../services/toast.service';\n\n@Component({\n selector: 'app-toasts',\n template: `\n \n \n \n \n\n {{ toast.textOrTpl }}\n \n `,\n host: {'[class.ngb-toasts]': 'true'},\n styles: [`\n :host {\n position: fixed;\n top: auto!important;\n bottom: 0!important;\n right:0;\n margin: 0.5em;\n z-index: 1200;\n }\n `]\n})\n\nexport class ToastsContainer {\n constructor(public toastService: ToastService) {}\n\n isTemplate(toast) { return toast.textOrTpl instanceof TemplateRef; }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-unauthorized',\n templateUrl: './unauthorized.component.html',\n styleUrls: ['./unauthorized.component.scss']\n})\nexport class UnauthorizedComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n

Vous n'avez pas les droits pour accéder à cette page.

\n
\n","\r\nimport { EnsureModuleLoadedOnceGuard } from './ensure-module-loaded-once.guard';\r\nimport { Optional, SkipSelf, LOCALE_ID, NgModule, APP_INITIALIZER } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS, HttpClient } from '@angular/common/http';\r\nimport { HeaderMenuComponent } from './components/header-menu/header-menu.component';\r\nimport { NavMenuComponent } from './components/nav-menu/nav-menu.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { FooterComponent } from './components/footer/footer.component';\r\nimport { ToastsContainer } from './components/toasts-container/toasts-container.component';\r\nimport { LoginMenuComponent } from './components/login-menu/login-menu.component';\r\nimport { UnauthorizedComponent } from './components/unauthorized/unauthorized.component';\r\nimport { AuthorizeInterceptor } from './authorize.interceptor';\r\nimport { AuthModule, OidcConfigService, StsConfigHttpLoader, StsConfigLoader } from 'angular-auth-oidc-client';\r\n//import { AuthModule, OidcConfigService, StsConfigHttpLoader, StsConfigLoader } from 'src/app/shared/lib/angular-auth-oidc-client/src/lib/angular-auth-oidc-client';\r\nimport { NgxPermissionsModule } from 'ngx-permissions';\r\nimport { ConfigService } from './services/config.service';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport localeFr from '@angular/common/locales/fr';\r\nimport { HttpErrorInterceptor } from './http-error.interceptor';\r\nimport { SecretInterceptor } from './secret.interceptor';\r\nimport { PrivacyPolicyComponent } from './components/privacy-policy/privacy-policy.component';\r\nimport { ImprintComponent } from './components/imprint/imprint.component';\r\nimport { LegalNoticesComponent } from './components/legal-notices/legal-notices.component';\r\nimport { SalesTermsComponent } from './components/sales-terms/sales-terms.component';\r\nimport { LogoutComponent } from './components/logout/logout.component';\r\n\r\n// the second parameter 'fr' is optional\r\nregisterLocaleData(localeFr, 'fr');\r\n\r\n// export function init_auth(configService: ConfigService, oidcConfigService: OidcConfigService) {\r\n// return () => configService.load()\r\n// .then((config) => oidcConfigService.withConfig(config));\r\n// }\r\n\r\nexport function init_auth(configService: ConfigService) {\r\n return () => configService.load()\r\n}\r\n\r\nexport const httpLoaderFactory = (configService: ConfigService, httpClient:HttpClient) => {\r\n // const config$ = configService.load();\r\n const config$ = configService.load();\r\n\r\n return new StsConfigHttpLoader(config$);\r\n\r\n};\r\n\r\n@NgModule({\r\n declarations: [\r\n // ...fromComponents.components\r\n HeaderMenuComponent, NavMenuComponent, FooterComponent, ToastsContainer, LoginMenuComponent,\r\n UnauthorizedComponent, LoginComponent, PrivacyPolicyComponent, ImprintComponent, LegalNoticesComponent, SalesTermsComponent, LogoutComponent\r\n ],\r\n providers: [\r\n { provide: LOCALE_ID, useValue: 'fr' },\r\n { provide: HTTP_INTERCEPTORS, useClass: SecretInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: HttpErrorInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: AuthorizeInterceptor, multi: true },\r\n ConfigService,\r\n OidcConfigService,\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: init_auth,\r\n deps: [ConfigService, OidcConfigService],\r\n multi: true,\r\n },\r\n ],\r\n imports: [\r\n BrowserModule,\r\n HttpClientModule,\r\n RouterModule,\r\n SharedModule,\r\n AuthModule.forRoot({\r\n loader: {\r\n provide: StsConfigLoader,\r\n useFactory: httpLoaderFactory,\r\n deps: [ConfigService],\r\n },\r\n }),\r\n NgxPermissionsModule.forRoot(),\r\n ],\r\n exports: [\r\n HeaderMenuComponent, NavMenuComponent, FooterComponent, LoginMenuComponent, ToastsContainer\r\n // ...fromComponents.components\r\n ]\r\n})\r\n\r\nexport class CoreModule extends EnsureModuleLoadedOnceGuard {\r\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\r\n super(parentModule);\r\n }\r\n}\r\n","export class EnsureModuleLoadedOnceGuard {\r\n constructor(targetModule: any) {\r\n if (targetModule) {\r\n throw new Error(`${targetModule.constructor.name} has already been loaded. Import this module in the AppModule only.`);\r\n }\r\n }\r\n}\r\n","import {\n HttpEvent,\n HttpInterceptor,\n HttpHandler,\n HttpRequest,\n HttpErrorResponse\n} from '@angular/common/http';\n\nimport { Observable, throwError } from 'rxjs';\n\nimport { catchError } from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport { ToastService } from './services/toast.service';\n\n@Injectable()\nexport class HttpErrorInterceptor implements HttpInterceptor {\n\n constructor(private toastService: ToastService) {}\n\n intercept(\n request: HttpRequest,\n next: HttpHandler\n ): Observable> {\n return next\n .handle(request)\n .pipe(\n catchError((error: HttpErrorResponse) => {\n if (error.error instanceof ErrorEvent) {\n // client-side error\n this.toastService.show(error.error.message, {classname: 'bg-danger text-light', headertext: 'Erreur'});\n\n return throwError(error);\n } else {\n // server-side error\n if (error.status === 401) {\n // console.log(error.message);\n } else if (error.status === 404) {\n // console.log(error.message);\n } else {\n this.toastService.show(error.message, {classname: 'bg-danger text-light', headertext: `Erreur ${error.status}`});\n }\n return throwError(error);\n }\n })\n );\n }\n}\n","//import { OidcSecurityService } from 'src/app/shared/lib/angular-auth-oidc-client/src/lib/angular-auth-oidc-client';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\nimport { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { SecretService } from './services/secret.service';\n\n@Injectable()\nexport class SecretInterceptor implements HttpInterceptor {\n\n constructor(private secretService: SecretService, private oidcSecurityService: OidcSecurityService) {}\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(this.addSecret(request));\n }\n\n private addSecret(request: HttpRequest): HttpRequest {\n // If we do not have a secret or the endpoint then we should not set the secret.\n\n let config = this.oidcSecurityService.getConfiguration();\n let clientSecret = config.customParamsAuthRequest.client_secret;\n let tokenEndpoint = config.authWellknownEndpointUrl;\n\n // if (!this.secretService.clientSecret || !this.secretService.tokenEndpoint) {\n if (!clientSecret || !tokenEndpoint) {\n return request;\n }\n\n // If we are not calling token endpoint then do not add the secret.\n // if (!request.url.startsWith(this.secretService.tokenEndpoint)) {\n if (!request.url.startsWith(tokenEndpoint)) {\n return request;\n }\n\n //console.log(request.body);\n\n return request.clone({\n // body: request.body + `&client_secret=${this.secretService.clientSecret}`\n //body: request.body + `&client_secret=${clientSecret}`\n body: request.body\n });\n }\n}\n","import { CartItem } from './../../shared/models/cart-item.model';\nimport { Injectable } from '@angular/core';\n\nimport { ReplaySubject, BehaviorSubject } from 'rxjs';\nimport { CatalogItem } from 'src/app/shared/models/catalog-item.model';\nimport { Cart } from '../../shared/models/cart.model';\nimport { StorageService } from 'src/app/core/services/storage.service';\nimport { isTemplateExpression, isTemplateSpan } from 'typescript';\n\nconst CART_KEY = 'cart';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CartService {\n\n private storage: Storage;\n placeholder = [];\n\n private _cart = new ReplaySubject(1);\n\n readonly cart$ = this._cart.asObservable();\n\n\n\n constructor(private storageService: StorageService) {\n this.storage = this.storageService.get();\n\n this._cart.next(this.retrieve());\n\n const ls = JSON.parse(localStorage.getItem('cart'))\n if(ls) this._cart.next(ls)\n }\n\n addToCart(item: CatalogItem, quantity: number) {\n\n const cart = this.retrieve();\n\n\n let cartItem = cart.items.find((p) => p.ref === item.ref);\n if (cartItem === undefined) {\n cartItem = new CartItem();\n cartItem.ref = item.ref;\n cartItem.name = item.nom;\n // cartItem.valeur = item.valeur;\n\n\n cart.items.push(cartItem);\n }\n\n cartItem.quantity += quantity;\n cartItem.total = cartItem.quantity * item.valeur;\n // cartItem.valeur = cartItem.quantity * item.valeur;\n this.calculateCart(cart);\n this.save(cart);\n this._cart.next(cart);\n }\n\n clearCart() {\n const cart = new Cart();\n this.save(cart);\n this._cart.next(cart);\n }\n\n editQuantity(item: CatalogItem, quantity: number) {\n console.log(\"Debut du aditQantity\")\n const cart = this.retrieve();\n\n const cartItem = cart.items.find((p) => p.ref === item.ref);\n if (cartItem === undefined) {\n return;\n }\n\n cartItem.quantity = quantity;\n cartItem.total = cartItem.quantity * item.valeur;\n cartItem.valeur = item.valeur;\n console.log(\"Cart total\", cartItem.total);\n\n // this._cart.next(cart);\n\n this.calculateCart(cart);\n\n console.log(\"Avant le save Service\");\n this.save(cart);\n this._cart.next(cart);\n console.log(\"Aprés le next\")\n\n }\n\n updateCartItem(item: CatalogItem) {\n\n console.log(\"Debut de Upadete CART\");\n const cart = this.retrieve();\n\n const cartItem = cart.items.find((p) => p.ref === item.ref);\n if (cartItem === undefined) {\n return;\n }\n\n if(cartItem.valeur != item.valeur){\n\n cartItem.total = cartItem.quantity * item.valeur;\n cartItem.valeur = item.valeur;\n this.calculateCart(cart);\n this.save(cart);\n this._cart.next(cart)\n console.log(\"Aprés le next\")\n }\n\n else{\n\n return;\n }\n\n }\n\n\n removeFromCart(ref: string) {\n const cart = this.retrieve();\n\n cart.items = cart.items.filter((cartItem) => cartItem.ref !== ref);\n\n this.calculateCart(cart);\n this.save(cart);\n this._cart.next(cart);\n\n }\n\n private calculateCart(cart: Cart): void {\n cart.count = cart.items.reduce((sum, item) => sum += item.quantity, 0);\n cart.total = cart.items.reduce((sum, item) => sum += item.total, 0);\n // cart.total = cart.items.reduce((sum, item) => sum += item.valeur, 0)\n\n\n }\n\n private retrieve(): Cart {\n const cart = new Cart();\n const storedCart = this.storage.getItem(CART_KEY);\n if (storedCart) {\n cart.updateFrom(JSON.parse(storedCart));\n }\n\n return cart;\n }\n\n\n private save(cart: Cart): void {\n\n this.storage.setItem(CART_KEY, JSON.stringify(cart));\n\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { ApplicationPaths, ApplicationName } from 'src/app/core/api-authorization.constants';\n//import { LogLevel, OpenIdConfiguration } from 'src/app/shared/lib/angular-auth-oidc-client/src/lib/angular-auth-oidc-client';\nimport { LogLevel, OpenIdConfiguration } from 'angular-auth-oidc-client';\n\n@Injectable()\nexport class ConfigService {\n\n load(): Promise {\n\n return fetch(ApplicationPaths.ApiAuthorizationClientConfigurationUrl)\n .then(res => res.json())\n .then(customConfig => new Promise((resolve) => {\n const config = {\n configId: 'openIdConfig1',\n silentRenew: true,\n // max_id_token_iat_offset_allowed_in_seconds: 600,\n\n\n //responseType: \"code\",\n\n // commentez en fonction de ce qu'on veut\n //useRefreshToken: true,\n //silentRenewUrl: customConfig.redirectUrl.replace(/\\/$/, '') + '/silent-renew.html',\n //silentRenewUrl: customConfig.redirectUrl,\n\n useRefreshToken: true,\n //silentRenewUrl: customConfig.redirectUrl.replace(/\\/$/, '') + '/silent-renew.html',\n\n // tokenRefreshInSeconds: 10,\n //historyCleanupOff: true,\n //disableIdTokenValidation: true,\n\n //eagerLoadAuthWellKnownEndpoints: false,\n //storage: new CustomStorage(),\n historyCleanupOff: false,\n //tokenRefreshInSeconds: 10,\n //maxIdTokenIatOffsetAllowedInSeconds: 600,\n\n // disableIatOffsetValidation: true,\n //disableIdTokenValidation : true,\n // autoUserInfo:false,\n // startCheckSession:false,\n\n //renewTimeBeforeTokenExpiresInSeconds: 180,\n // storage: sessionStorage,\n maxIdTokenIatOffsetAllowedInSeconds: 7200,\n\n // disableIatOffsetValidation: true,\n\n\n // maxIdTokenIatOffsetAllowedInSeconds: false,\n //disableRefreshIdTokenAuthTimeValidation: true,\n //enableIdTokenExpiredValidationInRenew: false,\n ...customConfig\n } as OpenIdConfiguration;\n if (customConfig.client_secret) {\n config.customParamsAuthRequest = {\n client_secret: customConfig.client_secret,\n };\n }\n resolve(config);\n }))\n .catch((error) => {\n console.error(`Could not load settings for '${ApplicationName}'`);\n });\n }\n}\n","import { DeclarationHistoryItem } from './../../shared/models/declaration-history-item';\nimport { TableItemContainer } from './../../shared/models/table-item-container';\nimport { Injectable, Inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ParticipantInfo } from 'src/app/shared/models/participant-info.model';\nimport { Expiration } from 'src/app/shared/models/expiration.model';\nimport { CatalogItem } from 'src/app/shared/models/catalog-item.model';\nimport { Observable, timer } from 'rxjs';\nimport { shareReplay, switchMap } from 'rxjs/operators';\nimport { PointEvent } from 'src/app/shop/models/point-event.model';\n// import { stringify } from 'querystring';\n\nconst REFRESH_INTERVAL = 30000;\nconst CACHE_SIZE = 1;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DebService {\n\n private cachedParticipant$: Observable;\n\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\n\n get participant() {\n // if (!this.cachedParticipant$) {\n // const timer$ = timer(0, REFRESH_INTERVAL);\n\n // // For each tick make an http request to fetch new data\n // this.cachedParticipant$ = timer$.pipe(\n // switchMap(_ => this.getParticipant()),\n // shareReplay(CACHE_SIZE)\n // );\n // }\n // return this.cachedParticipant$;\n return this.getParticipant().pipe(shareReplay(1));\n }\n\n getParticipant(uidOrganization?: string) {\n let queryParameters: string = uidOrganization ? '?uidOrganization=' + uidOrganization : '';\n return this.http.get(this.baseUrl + 'api/deb/participant' + queryParameters);\n }\n\n getHistory(uidOrganization?: string) {\n let queryParameters: string = uidOrganization ? '?uidOrganization=' + uidOrganization : '';\n return this.http.get(this.baseUrl + 'api/deb/history' + queryParameters);\n }\n\n getExpiration(idOrganization?: number) {\n let queryParameters: string = idOrganization ? '?idOrganization=' + idOrganization : '';\n return this.http.get(this.baseUrl + 'api/deb/expiration' + queryParameters);\n }\n\n getCatalog() {\n return this.http.get(this.baseUrl + 'api/deb/catalog');\n }\n\n getDeclarations(idOrganization?: number, pageSize?: number, page?: number, search?: string) {\n let queryParameters = this.getQueryParameters(idOrganization, pageSize, page, search);\n return this.http.get>(this.baseUrl + 'api/deb/declarations' + queryParameters);\n }\n\n deleteDecalaration(idDeclaration : number){\n return this.http.delete(this.baseUrl + 'api/deb/declaration?idDeclaration='+idDeclaration);\n }\n\n private getQueryParameters(idOrganization?: number, pageSize?: number, page?: number, search?: string): string {\n let queryParameters: string = '?';\n if (idOrganization != null && idOrganization != undefined) {\n queryParameters += 'idOrganization=' + idOrganization + '&'\n }\n if (pageSize != null && pageSize != undefined) {\n queryParameters += 'pageSize=' + pageSize + '&'\n }\n if (page != null && page != undefined) {\n queryParameters += 'page=' + page + '&'\n }\n if (search != null && search != undefined) {\n queryParameters += 'search=' + search + '&'\n }\n return queryParameters\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { Organisation } from 'src/app/shared/models/organisation.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OrganisationService {\n\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\n\n getOrganisation(siret: string): Observable {\n return this.http.get(this.baseUrl + 'api/organisation/' + siret);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UserService } from './user.service';\nimport { NgxPermissionsService } from 'ngx-permissions';\nimport { first, map, tap } from 'rxjs/operators';\nimport { defer, Observable, of, ReplaySubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PermissionService {\n\n private loaded = false;\n\n private _permissions = new ReplaySubject(1);\n readonly permissions$ = this._permissions.asObservable();\n\n constructor(private userService: UserService, private ngxPermissionsService: NgxPermissionsService) {\n }\n\n loadPermissions() {\n return defer(() => this.loaded ?\n this.loadedPermissions() :\n this.getPermissions()\n );\n }\n\n clearPermission(): Observable {\n this.ngxPermissionsService.flushPermissions();\n this.loaded = false;\n this._permissions.next([]);\n return of([]);\n }\n\n handlePermissions(load: boolean) {\n return defer(() => load ? this.loadPermissions() : this.clearPermission());\n }\n\n hasPermission(name: string) {\n return this._permissions.pipe(\n map(perm => !!perm && perm.includes(name))\n );\n }\n\n get hasPermissions$() {\n return this._permissions.pipe(\n map(perm => {\n return Object.keys(perm).length > 0;\n })\n );\n }\n\n private loadedPermissions() {\n return this.ngxPermissionsService.permissions$.pipe(\n map(perm => Object.keys(perm))\n );\n }\n\n private getPermissions() {\n return this.userService.getPermissions().pipe(\n first(),\n tap(p => {\n this.ngxPermissionsService.loadPermissions(p);\n this._permissions.next(p);\n this.loaded = true;\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\n//import { OidcSecurityService } from 'src/app/shared/lib/angular-auth-oidc-client/src/lib/angular-auth-oidc-client';\nimport { iif, of } from 'rxjs';\nimport { shareReplay, switchMap, tap } from 'rxjs/operators';\nimport { RegistrationStatus } from 'src/app/shared/models/registration-status.model';\nimport { UserService } from './user.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RegistrationService {\n\n constructor(private userService: UserService, private oidcSecurityService: OidcSecurityService) { }\n\n getStatus() {\n return this.oidcSecurityService.isAuthenticated$.pipe(\n switchMap(response => !response.isAuthenticated ? of(RegistrationStatus.Unauthenticated) : this.userService.status$),\n shareReplay(1)\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { EventTypes, OidcClientNotification, PublicEventsService, OpenIdConfiguration } from 'angular-auth-oidc-client';\n//import { EventTypes, OidcClientNotification, PublicEventsService, OpenIdConfiguration } from 'src/app/shared/lib/angular-auth-oidc-client/src/lib/angular-auth-oidc-client';\nimport { filter, map, tap } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SecretService {\n\n tokenEndpoint: string;\n clientSecret: string;\n\n constructor(private eventService: PublicEventsService) {\n this.eventService\n .registerForEvents()\n .pipe(\n filter((notification) => notification.type === EventTypes.ConfigLoaded),\n map((notification: OidcClientNotification) => notification.value))\n .subscribe((config) => {\n this.tokenEndpoint = config.authWellknownEndpointUrl;\n this.clientSecret = config.customParamsAuthRequest?.client_secret as string;\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StorageService {\n public get(): Storage {\n return localStorage;\n }\n}\n\n\n","import { Injectable, TemplateRef } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class ToastService {\n toasts: any[] = [];\n\n show(textOrTpl: string | TemplateRef, options: any = {}) {\n this.toasts.push({ textOrTpl, ...options });\n }\n\n remove(toast) {\n this.toasts = this.toasts.filter(t => t !== toast);\n }\n}\n","import { Injectable, Inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { defaultIfEmpty, map, startWith, take, shareReplay } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UrlService {\n\n private cachedDeclaration$: Observable;\n\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\n\n getCubeUrl(): Observable {\n return this.http.get(this.baseUrl + 'api/url/cube').pipe(\n map(res => res.url),\n //shareReplay(1)\n );\n }\n\n getSignupUrl(): Observable {\n return this.http.get(this.baseUrl + 'api/url/signup').pipe(\n map(res => res.signupUrl),\n );\n }\n\n getProfileUrl(): Observable {\n return this.http.get(this.baseUrl + 'api/url/profile').pipe(\n map(res => res.profileUrl),\n );\n }\n\n get declarationUrl$() {\n if (!this.cachedDeclaration$) {\n this.cachedDeclaration$ = this.getDeclarationUrl().pipe(\n shareReplay(1)\n );\n }\n\n return this.cachedDeclaration$;\n}\n\n private getDeclarationUrl(): Observable {\n return this.http.get(this.baseUrl + 'api/url/declaration').pipe(\n map(res => res.declarationUrl.replace(/\\/$/, '') + '/login'),\n );\n }\n}\n","import { Injectable, Inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, BehaviorSubject, Subscription, Subject } from 'rxjs';\nimport { shareReplay, takeUntil, tap } from 'rxjs/operators';\nimport { UserInfo } from 'src/app/shared/models/user-info.model';\nimport { NgxPermissionsService } from 'ngx-permissions';\nimport { UserDetailedInfo, UserEditableInfo } from 'src/app/shared/models/user-detailed-info.model';\nimport { Contact } from 'src/app/shared/models/contact.model';\nimport { NewUserInfo } from 'src/app/shared/models/new-user-info.model';\nimport { RegistrationStatus } from 'src/app/shared/models/registration-status.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserService {\n\n private cachedStatus$: Observable;\n private reload$ = new Subject();\n\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string,\n private ngxPermissionsService: NgxPermissionsService) { }\n\n getPermissions(): Observable {\n return this.http.get(this.baseUrl + 'api/user/permissions')\n .pipe(\n // shareReplay(1),\n );\n }\n\n get status$() {\n if (!this.cachedStatus$) {\n this.cachedStatus$ = this.getStatus().pipe(\n takeUntil(this.reload$),\n shareReplay(1)\n );\n }\n\n return this.cachedStatus$;\n }\n\n private getStatus() {\n return this.http.get(this.baseUrl + 'api/user/status');\n }\n\n forceReloadStatus() {\n // Calling next will complete the current cache instance\n this.reload$.next();\n\n // Setting the cache to null will create a new cache the\n // next time 'jokes' is called\n this.cachedStatus$ = null;\n }\n\n getUserInfos(): Observable {\n return this.http.get(this.baseUrl + 'api/user/infos');\n }\n\n getType(): Observable {\n return this.http.get(this.baseUrl + 'api/user/type', { responseType: 'text' });\n }\n\n getClubStatus(): Observable {\n return this.http.get(this.baseUrl + 'api/user/clubStatus', { responseType: 'text' });\n }\n\n getDetail(declarationCount: boolean = true, idUser?: number): Observable {\n let url = this.baseUrl + 'api/user/detail?declarationCount=' + declarationCount;\n if (idUser != null) {\n url = url + '&idUser=' + idUser;\n }\n\n return this.http.get(url);\n }\n\n saveDetail(info: UserEditableInfo) {\n return this.http.post(this.baseUrl + 'api/user/detail', info);\n }\n\n getContact(): Observable {\n return this.http.get(this.baseUrl + 'api/user/contact');\n }\n\n upsert(info: Partial) {\n console.log(\"Siret : \" + info.siret);\n return this.http.post(this.baseUrl + 'api/user', info);\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, ValidatorFn, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { Observable, Subscription } from 'rxjs';\nimport { filter, finalize, first, switchMap, tap } from 'rxjs/operators';\nimport { OrganisationService } from 'src/app/core/services/organisation.service';\nimport { RegistrationService } from 'src/app/core/services/registration.service';\nimport { ToastService } from 'src/app/core/services/toast.service';\nimport { UserService } from 'src/app/core/services/user.service';\nimport { NewUserInfo } from 'src/app/shared/models/new-user-info.model';\nimport { Organisation } from 'src/app/shared/models/organisation.model';\nimport { RegistrationStatus } from 'src/app/shared/models/registration-status.model';\nimport { UserDetailedInfo } from 'src/app/shared/models/user-detailed-info.model';\n\ntype BooleanFn = () => boolean;\nfunction conditionalValidator(predicate: BooleanFn,\n validator: ValidatorFn): ValidatorFn {\n return (formControl => {\n if (!formControl.parent) {\n return null;\n }\n let error = null;\n if (predicate()) {\n error = validator(formControl);\n }\n return error;\n });\n}\n\n@Component({\n selector: 'app-account-creation',\n templateUrl: './account-creation.component.html',\n styleUrls: ['./account-creation.component.scss']\n})\nexport class AccountCreationComponent implements OnInit, OnDestroy {\n\n status$: Observable;\n status = RegistrationStatus;\n siretSubscription: Subscription;\n roleSubscription: Subscription;\n activitySubscription: Subscription;\n orgaLoading = false;\n canEditOrga = false;\n userDetails: UserDetailedInfo = null;\n\n unexistingSiretError = false;\n existingSiretError = false;\n\n functions = ['Gérant', 'Comptable', 'Secrétaire', 'Technicien', 'Autre'];\n jobs = ['Plombier', 'Chauffagiste', 'Climaticien', 'Electricien', 'Frigoriste', 'Entreprise générale du bâtiment', 'Autre'];\n roles = new Map([['ChefEntreprise', `Chef d'entreprise`], ['Employe', 'Salarié']]);\n activities = ['SAV', 'Installateur'];\n\n formGroup: UntypedFormGroup;\n submitted = false;\n saving = false;\n sendInfo: boolean = false;\n\n rejected = false;\n\n constructor(private formBuilder: UntypedFormBuilder, private userService: UserService,\n private router: Router, private toastService: ToastService, private registrationService: RegistrationService,\n private organisationService: OrganisationService) { }\n\n ngOnInit(): void {\n this.status$ = this.registrationService.getStatus();\n\n this.buildForm();\n\n this.setUserDetails();\n\n this.listenToSiretChanges();\n\n this.listenToRoleChanges();\n\n this.listenToActivityChanges();\n }\n\n onSubmit() {\n this.submitted = true;\n if (this.formGroup.invalid) {\n return;\n }\n\n if (this.rejected) {\n this.toastService.show('Vous ne pouvez plus vous inscrire suite à trois rejets consécutifs.', { classname: 'bg-danger text-light' });\n return;\n }\n\n const info = this.formGroup.value; // as UserDetailedInfo;\n const infoToSave: Partial = {\n function: info.function,\n phone: info.phone,\n siret: info.siret,\n civility: info.civility,\n description: info.companyDescription,\n email: info.email,\n firstName: info.firstName,\n lastName: info.lastName,\n role: info.role,\n sendInfo: info.sendInfo\n };\n\n infoToSave.company = info.company;\n infoToSave.address1 = info.address1;\n infoToSave.address2 = info.address2;\n infoToSave.locality = info.locality;\n infoToSave.zip = info.zip;\n infoToSave.city = info.city;\n infoToSave.employees = +info.employees;\n infoToSave.doSav = info.doSav;\n infoToSave.job = info.job;\n infoToSave.activity = info.activity;\n\n this.saving = true;\n this.userService.upsert(infoToSave)\n .pipe(\n finalize(() => this.saving = false)\n )\n .subscribe(\n res => {\n this.userService.forceReloadStatus();\n this.router.navigate(['/home']);\n },\n (err: HttpErrorResponse) => {\n this.toastService.show('Erreur lors de la création du compte : ' + err.error, { classname: 'bg-danger text-light' });\n }\n );\n }\n\n private listenToActivityChanges() {\n this.activitySubscription = this.activity.valueChanges.pipe(\n filter(_ => this.activity.valid),\n tap(_ => this.formGroup.patchValue({\n doSav: this.activity.value === 'SAV'\n }))\n ).subscribe();\n }\n\n private listenToRoleChanges() {\n this.roleSubscription = this.role.valueChanges.pipe(\n filter(role => role != null)\n )\n .subscribe(role => {\n this.siret.enable({ emitEvent: false });\n this.computeCanEditOrga();\n Object.keys(this.formGroup.controls).forEach((key) => {\n this.formGroup.get(key).updateValueAndValidity({ onlySelf: true, emitEvent: false });\n });\n });\n }\n\n private listenToSiretChanges() {\n this.siretSubscription = this.siret.valueChanges.pipe(\n filter(_ => this.siret.valid),\n tap(_ => {\n this.initRoles();\n this.orgaLoading = true;\n }),\n switchMap(siret => this.organisationService.getOrganisation(siret)),\n tap(orga => {\n if (orga?.hasCeo) {\n this.roles.delete('ChefEntreprise');\n }\n this.updateOrganisation(orga);\n this.checkRejections(orga);\n this.orgaLoading = false;\n }),\n finalize(() => this.orgaLoading = false)\n ).subscribe();\n }\n\n private setUserDetails() {\n this.userService.getDetail(false)\n .pipe(\n first(),\n tap(info => {\n this.userDetails = info;\n this.formGroup.patchValue(info);\n if (info.hasCeo) {\n this.roles.delete('ChefEntreprise');\n } else {\n this.role.setValue('ChefEntreprise');\n }\n if (info.siret) {\n // setValue is necessary to trigger the valueChanges\n this.siret.setValue(info.siret);\n }\n this.computeCanEditOrga();\n })\n ).subscribe();\n }\n\n private computeCanEditOrga() {\n if (this.userDetails?.siret) {\n this.canEditOrga = this.role.value === 'ChefEntreprise' && !this.userDetails.siret;\n // this.siret.disable({ emitEvent: false });\n } else {\n this.canEditOrga = this.role.value === 'ChefEntreprise';\n }\n }\n\n private buildForm() {\n this.formGroup = this.formBuilder.group({\n civility: ['', [Validators.required]],\n lastName: ['', [Validators.required]],\n firstName: ['', [Validators.required]],\n role: [null, [Validators.required]],\n function: ['', [Validators.required]],\n job: ['', [conditionalValidator(() => this.canEditOrga, Validators.required)]],\n activity: ['', [conditionalValidator(() => this.canEditOrga, Validators.required)]],\n company: ['', [conditionalValidator(() => this.canEditOrga, Validators.required)]],\n companyDescription: [''],\n email: [''],\n phone: ['', [Validators.required]],\n address1: ['', [conditionalValidator(() => this.canEditOrga, Validators.required)]],\n address2: [''],\n locality: [''],\n zip: ['', [conditionalValidator(() => this.canEditOrga, Validators.required), Validators.pattern('^[0-9]{5}$')]],\n city: ['', [conditionalValidator(() => this.canEditOrga, Validators.required)]],\n employees: [null, [conditionalValidator(() => this.canEditOrga,\n Validators.compose([Validators.required, Validators.pattern('^[0-9]*$')]))]],\n //siret: [{ value: '', disabled: true }, [Validators.required, Validators.pattern('^[0-9]{14}$')]],\n siret: [\"\", [Validators.required]],\n doSav: [null, [conditionalValidator(() => this.canEditOrga, Validators.required)]],\n acceptConfidentiality: [false, [Validators.required, Validators.requiredTrue]],\n sendInfo: [false],\n });\n }\n\n private checkRejections(orga: Organisation): void {\n if (orga?.rejectCount >= 3) {\n this.rejected = true;\n this.siret.setErrors({ 'invalid-siret': true });\n }\n }\n\n private updateOrganisation(orga: Organisation) {\n if (this.canEditOrga) {\n this.existingSiretError = orga != null && orga.hasCeo;\n this.unexistingSiretError = false;\n } else {\n this.existingSiretError = false;\n this.unexistingSiretError = orga == null;\n if (orga != null) {\n const { siret, ...patchedOrga } = orga; // remove siret\n this.formGroup.patchValue(patchedOrga);\n }\n }\n if (this.existingSiretError || this.unexistingSiretError) {\n this.siret.setErrors({ 'invalid-siret': true });\n } else {\n this.siret.setErrors(null);\n }\n }\n\n private initRoles() {\n this.roles = new Map([['ChefEntreprise', `Chef d'entreprise`], ['Employe', 'Salarié']]);\n }\n\n get function() {\n return this.formGroup.get('function');\n }\n get job() {\n return this.formGroup.get('job');\n }\n get firstName() {\n return this.formGroup.get('firstName');\n }\n get lastName() {\n return this.formGroup.get('lastName');\n }\n get phone() {\n return this.formGroup.get('phone');\n }\n get email() {\n return this.formGroup.get('email');\n }\n get company() {\n return this.formGroup.get('company');\n }\n get address1() {\n return this.formGroup.get('address1');\n }\n get address2() {\n return this.formGroup.get('address2');\n }\n get locality() {\n return this.formGroup.get('locality');\n }\n get city() {\n return this.formGroup.get('city');\n }\n get siret() {\n return this.formGroup.get('siret');\n }\n get employees() {\n return this.formGroup.get('employees');\n }\n get zip() {\n return this.formGroup.get('zip');\n }\n get activity() {\n return this.formGroup.get('activity');\n }\n get role() {\n return this.formGroup.get('role');\n }\n get description() {\n return this.formGroup.get('companyDescription');\n }\n get doSav() {\n return this.formGroup.get('doSav');\n }\n get acceptConfidentiality() {\n return this.formGroup.get('acceptConfidentiality');\n }\n get civility() {\n return this.formGroup.get('civility');\n }\n\n ngOnDestroy(): void {\n if (this.siretSubscription != null) {\n this.siretSubscription.unsubscribe();\n }\n if (this.roleSubscription != null) {\n this.roleSubscription.unsubscribe();\n }\n if (this.activitySubscription != null) {\n this.activitySubscription.unsubscribe();\n }\n }\n}\n","
\n \n
\n
Votre compte Degré +
\n
Merci de vérifier et / ou compléter le formulaire suivant afin de pouvoir créer votre\n compte\n Degré +
\n
\n
\n
\n
\n
Votre identité
\n
\n
\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n

Le site internet du Club Degré+ est un site associé à elmLeCube.fr

\n

L'adresse email de votre compte Degré + doit être celle utilisée pour votre compte elmLeCube.fr

\n
\n
\n
\n
\n
Votre société
\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n

Le SIRET n'existe pas

\n

Le SIRET existe déjà

\n

\n Attention : vous n'avez pas accès à cet outil.\n Le Club Degré+ est un programme de fidélité réservé exclusivement aux professionnels indépendants (installateurs et SAV).\n Pour plus d'informations, vous pouvez nous écrire sur communication.contact@fr.bosch.com.\n

\n
\n
\n
\n
\n
Votre activité
\n
\n
\n\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n Réalisez-vous le SAV de vos installations ?*\n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
Gestion des données personnelles
\n
\n
Oui, je reconnais avoir pris connaissance de la politique de\n confidentialité. Politique de confidentialité
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n\n
\n
\n \n \n
\n
Vous pouvez révoquer ce consentement à tout moment à l'adresse privacy.TTFR@bosch.com
\n
\n\n
\n
\n
\n
\n
*Les champs marqués d'un astérisques sont obligatoires
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
Votre compte Degré +
\n
Vous devez vous enregistrer avant de créer votre compte.
\n
\n
\n
Votre compte Degré +
\n
Votre compte est en cours de création.
\n
\n
\n
Votre compte Degré +
\n
Votre compte est déjà créé.
\n
\n
\n
Votre compte Degré +
\n
Votre société n'est pas autorisée à accéder au Club Degré+.
\n
\n
\n
Votre compte Degré +
\n
\n
\n
\n","
\n \n
{{userInfo.organisationName}}
\n
N° adhérent : {{userInfo.adherentNumber}}
\n
\n \n
{{participant.points}} points
\n
\n \n \n \n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { DebService } from 'src/app/core/services/deb.service';\nimport { Observable } from 'rxjs';\nimport { ParticipantInfo } from 'src/app/shared/models/participant-info.model';\nimport { UserInfo } from 'src/app/shared/models/user-info.model';\nimport { UserService } from 'src/app/core/services/user.service';\n\n@Component({\n selector: 'app-compte-client',\n templateUrl: './compte-client.component.html',\n styleUrls: ['./compte-client.component.scss']\n})\n\nexport class CompteClientComponent implements OnInit {\n\n //@Input() showPoint: boolean;\n\n participant$: Observable;\n userInfo$: Observable;\n\n constructor(private debService: DebService, private userService: UserService) { }\n\n ngOnInit(): void {\n this.participant$ = this.debService.participant;\n this.userInfo$ = this.userService.getUserInfos();\n }\n\n}\n","import { shareReplay } from 'rxjs/operators';\nimport { UserService } from './../../core/services/user.service';\nimport { Observable } from 'rxjs';\nimport { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-contact',\n templateUrl: './contact.component.html',\n styleUrls: ['./contact.component.scss']\n})\nexport class ContactComponent implements OnInit {\n\n public clubStatus$: Observable;\n\n constructor(private userService: UserService) { }\n\n ngOnInit(): void {\n this.clubStatus$ = this.userService.getClubStatus().pipe(shareReplay(1));\n }\n\n}\n","
\n
\n
\n
\n
Contact Club Degré +
\n
Pour toute demande autre que les commandes passées dans la boutique, merci de\n nous écrire à l'adresse email ci-dessous. En cas de problème technique, veuillez joindre à votre\n message une copie d'écran du problème rencontré.
\n
communication.contact@fr.bosch.com
\n
\n
\n \n \n
\n
\n
Votre hotline technique dédiée
\n
En tant que membre du Club, vous bénéficiez d'un accès à une hotline\n technique\n dédiée, pour répondre à toutes vos questions techniques d'après-vente et vous aider en cas\n de\n dépannage produit. La hotline est accessible au numéro ci-dessous, de 8h30 à 12h30 et de\n 13h30 à\n 17h30 du lundi au vendredi. Afin de pouvoir accéder à ce service, il vous sera demandé lors\n de\n votre\n appel de vous identifier avec votre numéro d'adhérent Club Degré +.
\n
09 70 82 40 22
\n
Numéro non surtaxé
\n
\n
\n
\n
\n
\n
\n
Contact boutique
\n
Pour toute demande concernant la boutique, sur l'un des articles ou sur\n l'une\n de vos commandes, contactez-nous par téléphone au numéro suivant du lundi au vendredi de 9h\n à\n 12h30 et de 13h30 à 17h30.\n
\n
01 30 10 00 33
\n
\n
\n
\n
\n
Votre contact commercial
\n \n
\n
\n
\n
","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { HomeComponent } from './home/home.component';\nimport { PrincipleComponent } from './principle/principle.component';\nimport { ContactComponent } from './contact/contact.component';\nimport { ScoringComponent } from './scoring/scoring.component';\nimport { AccountCreationComponent } from './account-creation/account-creation.component';\nimport { AuthorizeGuard } from '../shared/guards/authorize.guard';\n\nconst routes: Routes = [\n { path: 'home',\n component: HomeComponent,\n pathMatch: 'full',\n //canActivate: [UserCreationGuard],\n },\n {\n path: 'principle',\n component: PrincipleComponent,\n },\n {\n path: 'contact',\n component: ContactComponent,\n canActivate: [AuthorizeGuard]\n },\n {\n path: 'scoring',\n component: ScoringComponent,\n canActivate: [AuthorizeGuard]\n },\n { path: 'register',\n component: AccountCreationComponent,\n canActivate: [AuthorizeGuard]\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class HomeRoutingModule { }\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\n\nimport { HomeRoutingModule } from './home-routing.module';\nimport { SharedModule } from '../shared/shared.module';\nimport { HomeComponent } from './home/home.component';\nimport { CompteClientComponent } from './compte-client/compte-client.component';\nimport { PrincipleComponent } from './principle/principle.component';\nimport { ContactComponent } from './contact/contact.component';\nimport { SalesContactComponent } from './sales-contact/sales-contact.component';\nimport { ScoringComponent } from './scoring/scoring.component';\nimport { ScoringCategoryComponent } from './scoring-category/scoring-category.component';\nimport { ScoringFamilyComponent } from './scoring-family/scoring-family.component';\nimport { AccountCreationComponent } from './account-creation/account-creation.component';\n\n\n@NgModule({\n declarations: [HomeComponent, CompteClientComponent, PrincipleComponent, ContactComponent, SalesContactComponent,\n ScoringComponent, ScoringCategoryComponent, ScoringFamilyComponent, AccountCreationComponent],\n imports: [\n SharedModule,\n HomeRoutingModule,\n BrowserModule\n ]\n})\nexport class HomeModule { }\n","import { carouselContent } from './../../shared/models/carousel-content';\r\nimport { UrlService } from './../../core/services/url.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Observable, of, forkJoin, zip, iif } from 'rxjs';\r\nimport { filter, switchMap, map, shareReplay, take } from 'rxjs/operators';\r\nimport { PermissionService } from 'src/app/core/services/permission.service';\r\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\r\n//import { OidcSecurityService } from 'src/app/shared/lib/angular-auth-oidc-client/src/lib/angular-auth-oidc-client';\r\nimport { startWith } from 'rxjs/operators';\r\nimport { UserService } from 'src/app/core/services/user.service';\r\nimport { RegistrationStatus } from 'src/app/shared/models/registration-status.model';\r\nimport { RegistrationService } from 'src/app/core/services/registration.service';\r\nimport { Router } from '@angular/router';\r\nimport { NgbCarouselConfig } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.scss'],\r\n providers: [NgbCarouselConfig]\r\n})\r\nexport class HomeComponent implements OnInit {\r\n isAuthAndValid$: Observable;\r\n declarationUrl$: Observable;\r\n isPending$: Observable;\r\n isDeactivated$: Observable;\r\n\r\n // authStatus$: Observable;\r\n\r\n status = RegistrationStatus;\r\n\r\n images = [700, 800, 807].map((n) => `https://picsum.photos/id/${n}/1100/600`);\r\n\r\n carouselContent: any[] = carouselContent;\r\n\r\n constructor(private oidcSecurityService: OidcSecurityService, private urlService: UrlService, private config: NgbCarouselConfig, private resgistrationService: RegistrationService, private router: Router) {\r\n // config.interval = 10000;\r\n config.interval = 7000;\r\n config.keyboard = true;\r\n config.pauseOnHover = true;\r\n config.showNavigationArrows = true;\r\n config.showNavigationIndicators = true;\r\n config.wrap = true;\r\n config.animation = true;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.declarationUrl$ = this.urlService.declarationUrl$.pipe(\r\n startWith('#'),\r\n );\r\n\r\n const authStatus$ = this.resgistrationService.getStatus();\r\n\r\n authStatus$.pipe(\r\n filter(status => status === RegistrationStatus.Invalid),\r\n take(1),\r\n ).subscribe(_ => {\r\n this.router.navigate(['/register']);\r\n });\r\n\r\n this.isPending$ = authStatus$.pipe(\r\n map(status => status === RegistrationStatus.Pending)\r\n );\r\n\r\n this.isAuthAndValid$ = authStatus$.pipe(\r\n map(status => status === RegistrationStatus.Valid)\r\n );\r\n\r\n this.isDeactivated$ = authStatus$.pipe(\r\n map(status => status === RegistrationStatus.Deactivated)\r\n )\r\n\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n Votre compte est en attente de validation.\r\n \r\n \r\n Votre compte a été désactivé, vous n'avez plus accès au Club Degré +.\r\n \r\n
\r\n\r\n \r\n\r\n 0\">\r\n \r\n
\r\n \"Random\r\n
\r\n
\r\n \r\n

{{title}}

\r\n\r\n

{{text}}

\r\n
\r\n
\r\n

{{title}}

\r\n

{{text}}

\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","export class ScoringFamily {\r\n marque: ScoringBrand;\r\n imageUrl: string;\r\n nom: string;\r\n}\r\n\r\nexport enum ScoringBrand {\r\n Elm = 'elm.leblanc',\r\n Bosch = 'Bosch'\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { UserService } from 'src/app/core/services/user.service';\nimport { shareReplay, map } from 'rxjs/operators';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\n//import { OidcSecurityService } from 'src/app/shared/lib/angular-auth-oidc-client/src/lib/angular-auth-oidc-client';\n\n@Component({\n selector: 'app-principle',\n templateUrl: './principle.component.html',\n styleUrls: ['./principle.component.scss']\n})\nexport class PrincipleComponent implements OnInit {\n\n private installateurs = ['IPP', ,'IPC','Installateur'];\n private sav = ['Stabe', 'SAV'];\n\n private type$: Observable;\n isInstallateur$: Observable;\n isSav$: Observable;\n\n private clubStatus$ : Observable;\n isAPlusPlus$ : Observable;\n\n isAuth$: Observable;\n\n constructor(private userService: UserService, private oidcSecurityService: OidcSecurityService) { }\n\n ngOnInit(): void {\n this.type$ = this.userService.getType().pipe(shareReplay(1));\n this.isInstallateur$ = this.type$.pipe(\n map(type => this.installateurs.includes(type)),\n shareReplay(1)\n );\n this.isSav$ = this.type$.pipe(\n map(type => this.sav.includes(type)),\n shareReplay(1)\n );\n\n this.clubStatus$ = this.userService.getClubStatus().pipe(shareReplay(1));\n this.isAPlusPlus$ = this.clubStatus$.pipe(\n map(status => status == \"A++\"),\n shareReplay(1)\n )\n\n this.isAuth$ = this.oidcSecurityService.isAuthenticated$.pipe(map(result => result.isAuthenticated));\n //.pipe(\n // shareReplay(1)\n // );\n // this.isAuth$ = of(true);\n }\n}\n\n","
\n
\n\n
\n
\n
Le Club, comment ça marche ?
\n
\n

Pour profiter de vos avantages, vous devez simplement créer votre compte et déclarer vos\n installations de produits Bosch et/ou elm.leblanc sur le site www.elmlecube.fr - rubrique Club Degré+.

\n

Un seul compte principal (Chef d'entreprise) peut être créé par entreprise. Ce compte est celui qui a\n accès à la boutique\n et à l’historique des déclarations.

\n

Des comptes annexes (Salarié) reliés au compte principal peuvent être créés, mais ils permettront uniquement\n de\n déclarer des produits, sans accès à la boutique ni visibilité sur l’historique des déclarations.

\n

Vos déclarations d'installation donnent droit à des points, à échanger dans la boutique.

\n

En accédant au Club, vous vous engagez selon votre statut fidélité à respecter les engagements\n définis à compter de votre date d’inscription.

\n \n

Votre statut fidélité sera réévalué à chacun de vos\n anniversaires en tant\n que\n membre du Club. Cette réévaluation se fera en fonction du respect et de l’atteinte de vos engagements et\n objectifs.

\n

Retrouvez ci-dessous le détails de vos avantages et engagements selon\n votre statut :

\n
\n
\n
\n
\n \n
\n
\n\n
\n\n \n \n\n \n \n
Les statuts fidélité
\n\n
\n
\n
\n
\n
\n
\n
Statut A
\n
\n
\n
\n
Vos engagements
\n
\n
    \n
  • Déclarer au moins 5 produits Bosch et/ou elm.leblanc par périodes de 24 mois
  • \n
\n
\n
\n
\n
Vos avantages
\n
\n
    \n
  • Offre de 50 points anniversaires*
  • \n
  • Accès à la boutique Statut A
  • \n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n\n
Statut A+
\n
\n
\n
\n
Vos engagements
\n
\n
    \n
  • Déclarer à hauteur de 15 000 points minimum par an**
  • \n
  • Être inscrit à l'E-academy
  • \n
  • Réaliser 1 formation, lors de la sortie de nouveaux produits et selon vos besoins
  • \n
  • Être qualifié RGE
  • \n
\n
\n
\n
\n
Vos avantages
\n
\n
    \n
  • Offre de 200 points anniversaires*
  • \n
  • Accès à la boutique Statut A+
  • \n
  • Accès privilégié à la hotline technique produits
  • \n
  • Barème bonifié x2,5
  • \n
\n
\n
\n
\n
\n
\n\n \n
\n
\n
\n
\n
\n
\n
Statut A++
\n
\n
\n
\n
Vos engagements
\n
\n
    \n
  • Réservé aux IPP*** (avec respect du contrat signé)
  • \n
  • Réservé aux IPC*** (avec respect du contrat signé)
  • \n
  • Déclarer à hauteur de 5 000 points minimum par an**
  • \n
  • Être inscrit à l'E-academy
  • \n
  • Réaliser 1 formation, lors de la sortie de nouveaux produits et selon vos besoins
  • \n
  • Être qualifié RGE
  • \n
\n
\n
\n
\n
Vos avantages
\n
\n
    \n
  • Offre de 400 points anniversaires*
  • \n
  • Accès à la boutique Statut A++
  • \n
  • Accès privilégié à la hotline technique produits
  • \n
  • Barème bonifié x2,5
  • \n
  • Identifié partenaire Certifié sur nos sites de marques
  • \n
  • Participation aux tables rondes
  • \n
  • Visites d'usine
  • \n
  • Accès aux avantages Bosch-Siemens
  • \n
  • Article dédié à votre entreprise sur nos réseaux sociaux (sur\n demande)
  • \n
  • Accès à l’outil Lead Management (génération de contacts clients qualifiés)
  • \n
\n
\n
\n
\n
\n
\n
\n
\n\n \n \n
\n
\n
\n
\n
\n
\n
Statut STABE
\n
\n
\n
\n
Vos engagements
\n
\n
    \n \n
  • Déclarer vos mises en services
  • \n
  • Déclarer vos installations
  • \n
  • Être inscrit à l'E-academy
  • \n
  • Réaliser 1 formation, lors de sorties de nouveaux produits et selon vos besoins
  • \n
\n
\n
\n
\n
Vos avantages
\n
\n
    \n
  • Offre de 200 points anniversaires*
  • \n
  • Accès à la boutique dédiée STABE**
  • \n
  • Accès privilégié à la hotline technique produits
  • \n
  • Identifié Partenaire Certifié sur nos sites de marque
  • \n
  • Visites d'usine
  • \n
  • Participation aux tables rondes
  • \n
  • Vos avantages STABE** contractuels
  • \n
\n
\n
\n
\n
\n
\n
\n\n \n
\n

*En année glissante à compter de la date d'inscription du membre.

\n

**Par année civile soit du 1er janvier au 31 décembre

\n \n

***IPP : Installateur Partenaire Performance

\n

***IPC : Installateur Partenaire Performance

\n
\n

**STABE : Service Technique Agréé Bosch elm.leblanc

\n
\n\n
\n\n
\n \n
\n Veuillez créer votre compte ou vous connecter pour prendre connaissance de vos engagements personnalisés et\n connaître les avantages liés à votre statut.\n
\n
\n
\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Contact } from '../../shared/models/contact.model';\nimport { Observable, of } from 'rxjs';\nimport { UserService } from 'src/app/core/services/user.service';\n\n@Component({\n selector: 'app-sales-contact',\n templateUrl: './sales-contact.component.html',\n styleUrls: ['./sales-contact.component.scss']\n})\nexport class SalesContactComponent implements OnInit {\n\n contact$: Observable;\n\n constructor(private userService: UserService) { }\n\n ngOnInit(): void {\n this.contact$ = this.userService.getContact();\n }\n\n}\n","\n
{{contact.prenom}} {{contact.nom}}
\n
\n
{{contact.numeroTelephone}}
\n
{{contact.adresseEmail}}
\n
\n
\n\n

Pas de contact commercial pour le moment.

\n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ScoringFamily, ScoringBrand } from '../models/scoring-family.model';\nimport { ScoringItem } from '../models/scoring-item.model';\n\n@Component({\n selector: 'app-scoring-category',\n templateUrl: './scoring-category.component.html',\n styleUrls: ['./scoring-category.component.scss']\n})\nexport class ScoringCategoryComponent implements OnInit {\n\n @Input() item: ScoringItem;\n\n boschFamilies: ScoringFamily[];\n elmFamilies: ScoringFamily[];\n\n collapsed = false;\n\n constructor() { }\n\n ngOnInit(): void {\n this.boschFamilies = this.item.familles.filter(f => f.marque === ScoringBrand.Bosch);\n this.elmFamilies = this.item.familles.filter(f => f.marque === ScoringBrand.Elm);\n }\n\n}\n","
\n
\n {{item.points}} points\n \n \n \n \n
\n
\n
\n
0\">\n
\n
\n
\n \"Bosch\"\n \"Bosch\"\n
\n \n
\n
\n
\n
0\">\n
\n
\n
\n \"elm.leblanc\"\n \"elm.leblanc\"\n
\n \n
\n
\n
\n\n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ScoringFamily, ScoringBrand } from '../models/scoring-family.model';\n\n@Component({\n selector: 'app-scoring-family',\n templateUrl: './scoring-family.component.html',\n styleUrls: ['./scoring-family.component.scss']\n})\nexport class ScoringFamilyComponent implements OnInit {\n @Input() family: ScoringFamily;\n\n brand = ScoringBrand;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n
{{family.nom}}\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ScoringService } from '../services/scoring.service';\nimport { ScoringItem } from '../models/scoring-item.model';\nimport { Observable, of } from 'rxjs';\nimport { mapTo, startWith, catchError, shareReplay } from 'rxjs/operators';\n\n@Component({\n selector: 'app-scoring',\n templateUrl: './scoring.component.html',\n styleUrls: ['./scoring.component.scss']\n})\nexport class ScoringComponent implements OnInit {\n\n scoringItems$: Observable;\n\n isLoading$: Observable;\n error$: Observable;\n\n constructor(private scoringService: ScoringService) { }\n\n ngOnInit(): void {\n this.scoringItems$ = this.scoringService.getItems().pipe(shareReplay(1));\n\n this.isLoading$ = this.scoringItems$.pipe(mapTo(false), catchError(() => of(undefined)), startWith(true));\n\n this.error$ = this.scoringItems$.pipe(\n mapTo(false),\n catchError((e) => of(e))\n );\n }\n\n}\n","\n
\n
\n
Barème des produits
\n
\n
\n \n \n
Erreur lors du chargement du barème.
\n
\n
\n","import { Injectable, Inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ScoringItem } from '../models/scoring-item.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ScoringService {\n\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\n\n getItems() {\n return this.http.get(this.baseUrl + 'api/scoring');\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-spinner',\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.scss']\n})\nexport class SpinnerComponent implements OnInit {\n\n @Input() message: string;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
{{message}}
\n
\n Chargement en cours ...\n
\n
\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { Observable, zip } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApplicationPaths, QueryParameterNames } from 'src/app/core/api-authorization.constants';\r\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\r\n//import { OidcSecurityService } from 'src/app/shared/lib/angular-auth-oidc-client/src/lib/angular-auth-oidc-client';\r\nimport { PermissionService } from 'src/app/core/services/permission.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthorizeGuard implements CanActivate {\r\n constructor(private router: Router, private oidcSecurityService: OidcSecurityService, private permissionService: PermissionService) {\r\n }\r\n canActivate(\r\n _next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean {\r\n\r\n return zip(this.oidcSecurityService.isAuthenticated$, this.permissionService.hasPermissions$).pipe(\r\n map(([result, hasPerm]) => {\r\n console.log('AuthorizeGuard, canActivate isAuthorized: ' + result.isAuthenticated);\r\n\r\n if (!result.isAuthenticated) {\r\n this.handleAuthorization(result.isAuthenticated, state);\r\n return false;\r\n }\r\n\r\n return true;\r\n })\r\n );\r\n }\r\n\r\n\r\n private handleAuthorization(isAuthenticated: boolean, state: RouterStateSnapshot) {\r\n if (!isAuthenticated) {\r\n this.router.navigate(ApplicationPaths.LoginPathComponents, {\r\n queryParams: {\r\n [QueryParameterNames.ReturnUrl]: state.url\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","export const carouselContent: any[] = [\n {\n imageUrl: \"assets/images/ISH_Visual_Female_Installer_At_Desktop.jpg\",\n titles: [\"Votre fidélité récompensée à sa juste valeur !\"],\n texts: [\n \"Le Club Degré+ c'est l'outil de deux marques, Bosch et elm.leblanc, qui s'allient pour récompenser votre fidélité et vous offrir le plein d'avantages !\",\n \"Plus vous déclarez de produits, plus vous bénéficiez d'avantages...\"\n ],\n },\n //{\n // imageUrl: \"assets/images/cliamtisation-banniere.png\",\n // titles:[\n // \"Du 1er avril au 31 juillet\",\n // \"Multipliez vos points fidélité par 2 grâce à la gamme climatisation !\"\n // ]\n\n // ,\n // texts: [\n\n // \"Déclarez vos installations de produits éligibles et obtenez des points supplémentaires sur votre compte Club Degré+\"\n // ],\n // button:\"Je déclare mon produit\",\n // url:\"https://www.declarationappareil.elmlecube.fr/declaration/installation-declaration\"\n\n //},\n /*{\n imageUrl: \"assets/images/jeu-concours-banniere.png\",\n titles: [\"Du 1er avril au 31 août\" ,\n \" 6 voitures électriques AMI de Citröen à gagner avec le Club Degré+\"]\n ,\n texts: [\n\n \"Cochez la participation au Grand Jeu Concours à chacune de vos installations de climatisations.\",\n \"Vous êtes éligible à partir de 2 déclarations d’installation, voir conditions de l’offre sur notre site\",\n \"100% électrique | Sans permis | Silencieuse et zéro émission de CO²\"\n ],\n button:\"Je tente ma chance !\",\n url:\"https://www.declarationappareil.elmlecube.fr/declaration/installation-declaration\"\n\n },*/\n {\n imageUrl: \"assets/images/Banniere_accueil_OP_climatisation_3_avril_au_31_aout_2023.jpg\",\n titles: [\"\"],\n texts: [\n \"\",\n \"\"\n ],\n },\n {\n imageUrl: \"assets/images/destockage-banniere.png\",\n titles: [\"Destockage de la boutique cadeaux Club Degré+\"],\n texts: [\n \"Vous avez des points disponibles ?\",\n \"Une sélection de produits vous y attend dans la boutique jusqu’à épuisement, après il sera trop tard…\"\n ],\n button: \"J’y vais !\",\n url: \"https://www.degreplus.elmlecube.fr/shop/category/Destockage/Destockage\"\n },\n\n]\n","import { CatalogItem } from 'src/app/shared/models/catalog-item.model';\r\n\r\nexport class CartItem {\r\n // item: CatalogItem;\r\n ref: string;\r\n name: string;\r\n quantity = 0;\r\n total = 0;\r\n// valeur = 0;\r\n valeur=0;\r\n}\r\n","import { CartItem } from './cart-item.model';\r\n\r\nexport class Cart {\r\n items: CartItem[] = [];\r\n total = 0;\r\n count = 0;\r\n\r\n public updateFrom(src: Cart) {\r\n this.items = src.items;\r\n this.total = src.total;\r\n this.count = src.count;\r\n }\r\n}\r\n","export enum RegistrationStatus {\r\n Unauthenticated = -1,\r\n Invalid,\r\n Pending,\r\n Deactivated,\r\n Valid\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgxPermissionsModule } from 'ngx-permissions';\nimport { NgbAlertModule, NgbCollapseModule, NgbModalModule, NgbPopoverModule, NgbToastModule, NgbTooltipModule, NgbCarouselConfig, NgbCarouselModule } from '@ng-bootstrap/ng-bootstrap';\nimport { SpinnerComponent } from './components/spinner/spinner.component';\n\n\n\n\n@NgModule({\n declarations: [SpinnerComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NgxPermissionsModule,\n NgbAlertModule,\n NgbCollapseModule,\n NgbToastModule\n ],\n exports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NgxPermissionsModule,\n NgbAlertModule,\n NgbCollapseModule,\n NgbToastModule,\n NgbPopoverModule,\n NgbTooltipModule,\n NgbModalModule,\n NgbCarouselModule,\n SpinnerComponent,\n\n\n ]\n})\nexport class SharedModule { }\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n // isPriceSimulation: true\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","/***************************************************************************************************\r\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\r\n */\r\nimport '@angular/localize/init';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\n\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"names":["ElementRef","Observable","of","catchError","map","mapTo","shareReplay","startWith","switchMap","RegistrationStatus","i0","HeaderMenuComponent","constructor","cartService","registrationService","permissionService","ngOnInit","cart$","isAuthAndValid$","getStatus","pipe","status","Valid","isLoading$","undefined","isBoss$","isValid","hasPermission","ngAfterViewInit","elementPosition","menuElement","nativeElement","parentElement","offsetTop","handleScroll","sticky","window","pageYOffset","selectors","viewQuery","ctx","take","ApplicationPaths","QueryParameterNames","LoginMenuComponent","oidcSecurityService","router","urlService","profileUrl","getProfileUrl","isAuthenticated","isAuthenticated$","res","userName$","userData$","u","userData","getUserData","allUserData","configId","getConfiguration","console","log","email","logout","logoff","login","navigate","LoginPathComponents","queryParams","ReturnUrl","url","split","register","getSignupUrl","subscribe","signupUrl","authorize","urlHandler","authUrl","encodedString","btoa","location","href","authorizeUrl","decls","vars","consts","template","_r1","NavMenuComponent","cubeUrl","getCubeUrl","PrivacyPolicyComponent","http","privacyPolicy$","get","Validators","filter","finalize","first","tap","conditionalValidator","predicate","validator","formControl","parent","error","AccountCreationComponent","formBuilder","userService","toastService","organisationService","Map","status$","buildForm","setUserDetails","listenToSiretChanges","listenToRoleChanges","listenToActivityChanges","onSubmit","submitted","formGroup","invalid","rejected","show","classname","info","value","infoToSave","function","phone","siret","civility","description","companyDescription","firstName","lastName","role","sendInfo","company","address1","address2","locality","zip","city","employees","doSav","job","activity","saving","upsert","forceReloadStatus","err","activitySubscription","valueChanges","_","valid","patchValue","roleSubscription","enable","emitEvent","computeCanEditOrga","Object","keys","controls","forEach","key","updateValueAndValidity","onlySelf","siretSubscription","initRoles","orgaLoading","getOrganisation","orga","hasCeo","roles","delete","updateOrganisation","checkRejections","getDetail","userDetails","setValue","canEditOrga","group","required","pattern","compose","acceptConfidentiality","requiredTrue","rejectCount","setErrors","existingSiretError","unexistingSiretError","patchedOrga","ngOnDestroy","unsubscribe","CompteClientComponent","debService","participant$","participant","userInfo$","getUserInfos","ContactComponent","clubStatus$","getClubStatus","carouselContent","NgbCarouselConfig","HomeComponent","config","resgistrationService","n","interval","keyboard","pauseOnHover","showNavigationArrows","showNavigationIndicators","wrap","animation","declarationUrl$","authStatus$","Invalid","isPending$","Pending","isDeactivated$","Deactivated","features","PrincipleComponent","type$","getType","isInstallateur$","type","installateurs","includes","isSav$","sav","isAPlusPlus$","isAuth$","result","SalesContactComponent","contact$","getContact","ScoringComponent","scoringService","scoringItems$","getItems","error$","e"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}