Flycase capot plat 600 x 400 x 400 mm

À partir de 185,00 H.T.

Flycase capot plat 570 x 370 x 370 mm pour optimiser le rangement et le transport.

Parfait pour stocker vos câbles, accessoires ou autres équipements, il offre un gain de place considérable tout en garantissant une protection fiable.
Compact et robuste, ce flycase est conçu pour vous accompagner facilement sur vos différents lieux de travail.

Entièrement réalisé en France, dans nos ateliers à Lesquin, il allie qualité de fabrication et durabilité.

185,00 H.T.

Matière & sécurité

Betonex brun
Betonex noir (+10,00€)
Betonex blanc (+35,00€)
Vinyle bleu ral : 5010 (+35,00€)
Vinyle gris foncé Ral : 7015 (+35,00€)
Vinyle gris clair Ral : 7037 (+35,00€)
Vinyle noir Ral : 9011 (+35,00€)
Vinyle orange Ral : 2008 (+35,00€)
Vinyle rouge Ral : 3020 (+35,00€)
Vinyle vert armée Ral : 6003 (+35,00€)
Vinyle rose Ral : 4003 (+35,00€)
Vinyle jaune Ral : 1023 (+35,00€)
Vinyle bleu nuit Ral : 5022 (+35,00€)
Vinyle bleu emmtaun Ral : 5015 (+35,00€)
Vinyle bleu navy Ral : 5013 (+35%)
Vinyle petrol Ral : 5020 (+35,00€)
Vinyle turquoise Ral : 5018 (+35,00€)
Vinyle brun Ral : 8017 (+35,00€)
Fermoirs simple
Fermoirs à serrures (+5,00€)
coin boule
coin plat

Intérieur

Vide
Avec 2 cloisons amovible (+55,00€)
Sans mousse
Avec mousse 10 mm (+45,00€)

Mobilité & personnalisation

Sans roulettes
Avec roulettes de 100 mm dont 2 avec freins (+35,00€)
Roulettes noires (+55,00€)
Plots (+35,00€)
Total du produit
Total des options
Total
SKU FLYCASE-CAPOT-PLAT-60-40-40 Category Tag Marque :
document.addEventListener('DOMContentLoaded', function () { var wrap = document.querySelector('.wapf-wrapper'); if (wrap && !wrap.classList.contains('flycase-init-loading')) { wrap.classList.add('flycase-init-loading'); } }); jQuery(document).ready(function($) { // ==================================================================== // ⚙️ MOTEUR PRINCIPAL DU CONFIGURATEUR // ==================================================================== function initFlycaseConfigurator() { // 1. MISE À JOUR DU TITRE DE LA MATIÈRE function updateMaterialTitle() { var $selected = $('input[name="wapf[field_69943ac28ddfa]"]:checked'); if ($selected.length > 0) { var materialName = $selected.attr('data-wapf-label'); if(materialName) { materialName = materialName.replace(/\.\.\./g, '').replace(/\*/g, '').trim(); $('.wapf-field-label.wapf--above label').first().html( 'Choix de la matière : ' + materialName + '' ); } } } updateMaterialTitle(); $(document).off('change', 'input[name="wapf[field_69943ac28ddfa]"]').on('change', 'input[name="wapf[field_69943ac28ddfa]"]', updateMaterialTitle); $(document).off('click', '.wapf-swatch.wapf-swatch--color').on('click', '.wapf-swatch.wapf-swatch--color', function() { setTimeout(updateMaterialTitle, 50); // Laisse le plugin cocher l'input caché }); // 2. NETTOYER LES LABELS $('.wapf-field-label label').each(function() { var text = $(this).text(); text = text.replace(/\.\.\./g, '').replace(/\.\./g, '').replace(/\*/g, '').trim(); $(this).text(text); }); // 3. CRÉATION ET GESTION DES ACCORDÉONS var $allSeparators = $('.section-separator'); if ($('.flycase-accordion-header').length === 0) { // Évite de les recréer en double $allSeparators.each(function(index) { var $separator = $(this); var title = $separator.find('h3').text().trim() || $separator.text().trim(); if (!title) return; var stepNumber = index + 1; var $header = $('
' + title + '
'); var $fields; if (index === $allSeparators.length - 1) { $fields = $separator.nextAll('.wapf-field-container'); } else { $fields = $separator.nextUntil('.section-separator'); } if ($fields.length === 0) return; $fields.wrapAll('
'); $separator.replaceWith($header); var $content = $header.next('.flycase-accordion-content'); $content.hide(); // On ne met QUE active-step au premier, on ne l'ouvre pas if (index === 0) { $header.addClass('active-step'); } // Clic manuel sur l'accordéon $header.on('click', function() { var $this = $(this); if (!$this.hasClass('active-step') && !$this.hasClass('completed-step')) { return; } var $thisContent = $this.next('.flycase-accordion-content'); var isOpen = $this.hasClass('active'); if (isOpen) { $this.removeClass('active'); $thisContent.slideUp(300); } else { $('.flycase-accordion-header').removeClass('active'); $('.flycase-accordion-content').slideUp(300); $this.addClass('active'); $thisContent.slideDown(300); setTimeout(function() { // Si l'écran est petit (mobile), on ne laisse que 15px de marge au-dessus, sinon 100px sur PC var scrollOffset = $(window).width() 0 || $field.find('[required]').length > 0 || $field.find('[data-is-required="1"]').length > 0; if (isRequired) { var isChecked = $field.find('input:checked').length > 0; var hasValue = $field.find('select').val() || $field.find('input[type="text"]').val(); var hasSwatchChecked = $field.find('.wapf-checked').length > 0; if (!isChecked && !hasValue && !hasSwatchChecked) { allFilled = false; return false; } } }); return allFilled; } // 👈 VOICI L'ACCOLADE QUI MANQUAIT ! function moveToNextAccordion($currentHeader) { var $nextHeader = $currentHeader.nextAll('.flycase-accordion-header').first(); if ($nextHeader.length > 0) { // 1. On lance les animations de fermeture/ouverture (qui durent 300ms) $currentHeader.removeClass('active-step active').addClass('completed-step'); $currentHeader.next('.flycase-accordion-content').slideUp(300); $nextHeader.addClass('active-step active'); $nextHeader.next('.flycase-accordion-content').slideDown(300); // 2. 👇 LA CORRECTION : On attend 320ms que les boîtes aient fini de bouger // pour calculer la vraie position finale de l'accordéon cible. setTimeout(function() { var scrollOffset = $(window).width() 0 || $field.find('[required]').length > 0 || $field.find('[data-is-required="1"]').length > 0; if (isRequired) { var isChecked = $field.find('input:checked').length > 0; var hasValue = $field.find('select').val() || $field.find('input[type="text"]').val(); var hasSwatchChecked = $field.find('.wapf-checked').length > 0; $field.find('.wapf-error-message').remove(); $field.removeClass('wapf--invalid'); // Si c'est obligatoire MAIS vide if (!isChecked && !hasValue && !hasSwatchChecked) { hasError = true; var fieldLabel = $field.find('.wapf-field-label label').text().trim() || "ce champ"; var errorMsg = '
Veuillez sélectionner une option pour : ' + fieldLabel + '
'; $field.addClass('wapf--invalid'); if($field.find('.wapf-swatch-wrapper').length > 0) { $field.find('.wapf-swatch-wrapper').after(errorMsg); } else { $field.find('.wapf-field-input').after(errorMsg); } // On force l'ouverture de l'accordéon qui contient l'erreur pour que le client le voie var $accordionContent = $field.closest('.flycase-accordion-content'); var $accordionHeader = $accordionContent.prev('.flycase-accordion-header'); if ($accordionContent.length > 0 && !$accordionContent.is(':visible')) { $('.flycase-accordion-header').removeClass('active'); $('.flycase-accordion-content').hide(); $accordionHeader.addClass('active'); $accordionContent.show(); } } } }); // S'IL Y A LA MOINDRE ERREUR, ON COUPE TOUT : if (hasError) { e.preventDefault(); // Bloque l'action par défaut e.stopImmediatePropagation(); // 👈 L'ARME FATALE : Bloque WooCommerce et WAPF setTimeout(function() { $('html, body').animate({ scrollTop: $('.wapf--invalid').first().offset().top - 150 }, 500); }, 100); return false; // Double sécurité } }); // 5. BIS : On bloque aussi la soumission globale du formulaire au cas où le client tape sur "Entrée" $('form.cart').on('submit', function(e) { if ($('.wapf--invalid').length > 0) { e.preventDefault(); e.stopImmediatePropagation(); return false; } }); // 6. BOUTON RECOMMENCER (Version propre - Hard Reset) // On compte combien d'options avancées WAPF sont présentes sur ce produit var nbOptionsWapf = $('.wapf-field-container').length; // On affiche le bouton UNIQUEMENT si c'est un configurateur avec PLUS DE 2 options (donc 3 ou plus) if (nbOptionsWapf > 2) { if ($('.wapf-reset-button').length === 0) { var $totalSection = $('*:contains("Total du produit")').filter(function() { return $(this).children().length === 0 && $(this).text().trim() === 'Total du produit'; }).first().parent(); if ($totalSection.length > 0) { $totalSection.before( '
' ); } } $(document).off('click', '.wapf-reset-button').on('click', '.wapf-reset-button', function() { if (confirm('Êtes-vous sûr de vouloir recommencer ? Toutes vos sélections seront effacées.')) { window.location.reload(); } }); } // 7. APPARITION FINALE INSTANTANÉE $('.wapf-wrapper').addClass('flycase-ready').removeClass('flycase-init-loading'); } // ==================================================================== // 📡 LE RADAR : SE DÉCLENCHE DÈS QUE LE PLUGIN EST PRÊT (Toutes les 50ms) // ==================================================================== var checkWapfReady = setInterval(function() { if ($('.section-separator').length > 0 || $('.wapf-wrapper').length > 0) { clearInterval(checkWapfReady); // On coupe le radar initFlycaseConfigurator(); // On lance le moteur instantanément } }, 50); // Sécurité : au bout de 4 secondes, on force l'affichage pour éviter un écran blanc setTimeout(function() { clearInterval(checkWapfReady); $('.wapf-wrapper').addClass('flycase-ready'); }, 4000); });

Description

Caractéristiques techniques :

  • Finition en contreplaqué avec un film phénolique de couleur ou en vinyle
  • Capot plat avec serrures à clef (en option)
  • Cornière de 30/30 mm
  • Fourni avec ou sans roulettes (4 pivotantes dont 2 avec freins, diamètre 100 mm)
  • Plusieurs configurations d’intérieurs possible : vide, avec mousse de 10 mm, avec 2 cloisons amovibles
  • Le moussage sera uniquement mis sur les faces intérieures et non sur les cloisons
  • 4 coins plat + 4 coins 2 pattes
  • 2 poignées encastrées
  • Support de capot
  • Dimensions intérieures (Longueur + largeur + hauteur) : 570 x 370 x 370 mm
  • Dimensions extérieures sans roulettes (Longueur + largeur + hauteur) : 800 x 400 x 400 mm
  • Poids : 20 kg
  • Gravure en option, pour toutes demandes : cliquez ici !
  • N’hésitez pas à nous consulter !!!

Informations complémentaires

Poids 20 kg
Dimensions 600 × 400 × 400 mm
Gravure

avec gravure, sans gravure