// global sekFrontLocalized, nimbleListenTo
/* ------------------------------------------------------------------------- *
* LIGHT BOX SWIPEBOX ( April 2022 for #886)
/* ------------------------------------------------------------------------- */
(function(w, d){
nb_.listenTo('nb-swipebox-parsed', function() {
jQuery(function($){
if ( nb_.isCustomizing() )
return;
var $linkCandidates = [
$('[data-sek-level="module"]').find('.sek-link-to-img-lightbox'),// image module
$('[data-sek-level="module"]').find('.sek-gal-link-to-img-lightbox')// gallery module
];
//https://github.com/brutaldesign/swipebox
var _params = {
loopAtEnd: true
};
//var $linkCand;
$.each( $linkCandidates, function(_k, $linkCand) {
// Abort if no link candidate
if ( $linkCand.length < 1 ) {
return;
}
// Abort if candidate already setup
if ( $linkCand.data('nimble-swiperbox-done') )
return;
try { $linkCand.swipebox( _params ); } catch( er ) {
nb_.errorLog( 'error in callback of nb-swipebox-parsed => ', er );
}
$linkCand.data('nimble-swiperbox-done', true );
});
// July 2021, prevent gallery images to be clicked when no link is specified
$('.sek-gallery-lightbox').on('click', '.sek-no-img-link', function(evt) {
evt.preventDefault();
});
});//jQuery(function($){})
});
}(window, document));
/* ------------------------------------------------------------------------- *
* SMARTLOAD
/* ------------------------------------------------------------------------- */
// nimble-lazyload-parsed is fired in lazyload plugin, only when sekFrontLocalized.lazyload_enabled OR when nb_.isCustomizing()
(function(w, d){
nb_.listenTo('nb-lazyload-parsed', function() {
jQuery(function($){
var _do = function(evt) {
$(this).each( function() {
var _maybeDoLazyLoad = function() {
// if the element already has an instance of nimbleLazyLoad, simply trigger an event
if ( !$(this).data('nimbleLazyLoadDone') ) {
$(this).nimbleLazyLoad({force : nb_.isCustomizing()});
} else {
$(this).trigger('nb-trigger-lazyload');
}
};
try { _maybeDoLazyLoad.call($(this)); } catch( er ) {
nb_.errorLog( 'error with nimbleLazyLoad => ', er );
}
});
};
// on page load
_do.call( $('.sektion-wrapper') );
// when customizing
nb_.cachedElements.$body.on( 'sek-section-added sek-level-refreshed sek-location-refreshed sek-columns-refreshed sek-modules-refreshed', '[data-sek-level="location"]', function(evt) {
_do.call( $(this), evt );
_.delay( function() {
nb_.cachedElements.$window.trigger('resize');
}, 200 );
});
// TO EXPLORE : implement a mutation observer like in Hueman theme for images dynamically inserted in the DOM via ajax ?
// Is it really needed now that lazyload uses event delegation to trigger image loading ?
// ( see https://github.com/presscustomizr/nimble-builder/issues/669 )
// Observer Mutations of the DOM for a given element selector
// <=> of previous $(document).bind( 'DOMNodeInserted', fn );
// implemented to fix https://github.com/presscustomizr/hueman/issues/880
// see https://stackoverflow.com/questions/10415400/jquery-detecting-div-of-certain-class-has-been-added-to-dom#10415599
// observeAddedNodesOnDom : function(containerSelector, elementSelector, callback) {
// var onMutationsObserved = function(mutations) {
// mutations.forEach(function(mutation) {
// if (mutation.addedNodes.length) {
// var elements = $(mutation.addedNodes).find(elementSelector);
// for (var i = 0, len = elements.length; i < len; i++) {
// callback(elements[i]);
// }
// }
// });
// },
// target = $(containerSelector)[0],
// config = { childList: true, subtree: true },
// MutationObserver = window.MutationObserver || window.WebKitMutationObserver,
// observer = new MutationObserver(onMutationsObserved);
// observer.observe(target, config);
// }
// Observer Mutations off the DOM to detect images
// <=> of previous $(document).bind( 'DOMNodeInserted', fn );
// implemented to fix https://github.com/presscustomizr/hueman/issues/880
// this.observeAddedNodesOnDom('body', 'img', _.debounce( function(element) {
// _doLazyLoad();
// }, 50 ));
});
});
}(window, document));
/* ------------------------------------------------------------------------- *
* BG PARALLAX
/* ------------------------------------------------------------------------- */
(function(w, d){
nb_.listenTo('nb-parallax-parsed', function() {
jQuery(function($){
$('[data-sek-bg-parallax="true"]').each( function() {
$(this).parallaxBg( { parallaxForce : $(this).data('sek-parallax-force') } );
});
var _setParallaxWhenCustomizing = function() {
$(this).parallaxBg( { parallaxForce : $(this).data('sek-parallax-force') } );
// hack => always trigger a 'resize' event with a small delay to make sure bg positions are ok
setTimeout( function() {
nb_.cachedElements.$body.trigger('resize');
}, 500 );
};
// When previewing, react to level refresh
// This can occur to any level. We listen to the bubbling event on 'body' tag
// and salmon up to maybe instantiate any missing candidate
// Example : when a preset_section is injected
nb_.cachedElements.$body.on('sek-level-refreshed sek-section-added', function( evt ){
if ( "true" === $(this).data('sek-bg-parallax') ) {
_setParallaxWhenCustomizing.call(this);
} else {
$(this).find('[data-sek-bg-parallax="true"]').each( function() {
_setParallaxWhenCustomizing.call(this);
});
}
});
});
});
}(window, document));
/* ------------------------------------------------------------------------- *
* GRID MODULE
/* ------------------------------------------------------------------------- */
// June 2020 : added for https://github.com/presscustomizr/nimble-builder/issues/716
nb_.listenTo('nb-docready', function() {
if ( window.nb_ && window.nb_.getQueryVariable ) {
var anchorId = window.nb_.getQueryVariable('nb_grid_module_go_to'),
el = document.getElementById(anchorId);
// Then clean the url
var _cleanUrl = function() {
var currPathName = window.location.pathname; //get current address
//1- get the part before '?go_to'
var beforeQueryString = currPathName.split("?go_to")[0];
window.history.replaceState({}, document.title, beforeQueryString );
};
if( anchorId && el ) {
setTimeout( function() { el.scrollIntoView();}, 200 );
try{ _cleanUrl(); } catch(er) {
if( window.console && window.console.log ) {
console.log( 'NB => error when cleaning url "go_to" param');
}
}
}
}
});
// September 2021 => Solves the problem of CSS loaders not cleaned
// see https://github.com/presscustomizr/nimble-builder/issues/874
nb_.listenTo('nb-app-ready', function() {
jQuery(function($){
var $cssLoaders = $('.sek-css-loader');
if ( $cssLoaders.length < 1 )
return;
var $el,
removeCssLoaderAfterADelay = nb_.throttle( function() {
$cssLoaders = $('.sek-css-loader');
$.each($cssLoaders, function(){
$el = $(this);
if ( nb_.elOrFirstVisibleParentIsInWindow($el) ) {
nb_.delay( function() {
if ( $el.length > 0 ) {
$el.remove();
}
}, 1000);
}
});
if ( $cssLoaders.length < 1 ) {
// When no more loaders to remove, remove scroll listener
nb_.cachedElements.$window.off('scroll', removeCssLoaderAfterADelay );
}
}, 200 );
nb_.cachedElements.$window.on('scroll', removeCssLoaderAfterADelay );
});
});
Page d'accueil - ProxiSAV SAS
proxisav
est une startup spécialisée dans:
La conception et la création de solutions alternatives dans les métiers des services après-vente
Notre équipe
Notre Philosophie
Ecologie, Emploi et Recyclage
La philosophie de PROXISAV est que les produits qui peuvent être réparés doivent être réparés.Elle favorise la réparation afin de protéger notre planète, créer de nouveaux emplois et recycler les électroménagers remis à neuf pour la revente et/ou la réutilisation.
On est contre la : surproduction et la surconsommation de produits
On demande: la liberté de consommer de manière durable et responsable
On est pour : Déprogrammer l’obsolescence
Proxisav / A propos de nous / Philosophie
Problèmes liés aux SAV
La surproduction et la surconsommation
Des produits conçus pour ne pas durer dans le temps, nous obligeant à racheter d’une manière prématurée.
Inaccessibilité des services après-vente
Aujourd’hui faire appel aux services après-ventes entraînent des coûts et des délais de réparations élevés.
Le coût de réparation
Le coût moyen de la réparation d’un électroménager est de 120€ !
Les délais de réparations
Les délais moyens pour une réparation d’un électroménager est de 4,7 jours !
Nos Objectifs
Pensons économique écologique et rationel
La liberté de consommation durable
Créons un lien avec nos objets ! Réparons, ne jetons pas !
Le coût de réparation
Economisons notre argent et défendons nos droits de réparer par nous-mêmes !
La consommation responsable
Achetons seulement dans le vrai besoin ! Optons pour le recyclage et offrons une deuxième vie aux objets !
Environment
Essayons de sauver notre planète et optons pour des solutions écologiques !
Charte de valeur
Notre projet s'est construit autour d'une démarche éco-responsable
Participer à l'economie circulaire
Projet éco-responsable
Résponsabilité sociétale
Solutions alternatives
Nous considérons les valeurs d’ouverture, de respect, d’innovation, d’esprit d’équipe et d’engagement comme des éléments essentiels au succès
Notre Mission
Proposer des solutions alternatives
Fix-it Hotline
Réparation par l’intelligence artificielle
Plateforme Collaborative : Mes Techniciens
Plateforme offrant un service de mise en relation entre des techniciens et des clients pour une intervention de réparation : facile, rapide et économique.
E-learning
Formations en ligne avec application opérationnelle