Hero Module Preventive — responsive mobile version /* ========================================================================== [A] DÉJÀ PRÉSENT SUR LA PAGE — ne pas recoller si tu réinjectes dans la page produit. Conservé ici pour l'aperçu autonome. ========================================================================== */ :root{ --bg:#080b18; --bg-top:#0d1430; --line:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.14); --text:#eef1fb; --text-2:#aeb6d2; --text-3:#757e9e; --accent:#F5842C; --accent-soft:rgba(245,132,44,.14); --accent-line:rgba(245,132,44,.42); --font:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; --display:'Plus Jakarta Sans','Geist',sans-serif; --maxw:1200px; } *{ box-sizing:border-box; } body{ margin:0; font-family:var(--font); background:var(--bg); color:var(--text); font-size:16px; line-height:1.6; overflow-x:hidden; -webkit-font-smoothing:antialiased; } body::before{ content:""; position:fixed; inset:0; z-index:-2; background: radial-gradient(900px 600px at 12% -8%, rgba(99,112,240,.20), transparent 60%), radial-gradient(800px 600px at 92% 4%, rgba(245,132,44,.10), transparent 55%), radial-gradient(1000px 800px at 50% 120%, rgba(80,70,229,.14), transparent 60%), linear-gradient(180deg, var(--bg-top), var(--bg) 38%); } body::after{ content:""; position:fixed; inset:0; z-index:-1; background-image: linear-gradient(to right, rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,.035) 1px, transparent 1px); background-size:64px 64px; -webkit-mask-image:radial-gradient(circle at 50% 30%, #000 0%, transparent 78%); mask-image:radial-gradient(circle at 50% 30%, #000 0%, transparent 78%); } a{ color:inherit; text-decoration:none; } img{ max-width:100%; display:block; } .wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 28px; } .btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; font-weight:600; font-size:15.5px; letter-spacing:-.01em; padding:14px 24px; border-radius:999px; border:1px solid transparent; white-space:nowrap; transition:transform .14s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s; } .btn svg{ width:18px; height:18px; } .btn-primary{ background:#fff; color:#0b1020; box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 10px 30px -10px rgba(255,255,255,.35); } .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 16px 40px -12px rgba(255,255,255,.45); } .btn-ghost{ background:rgba(255,255,255,.02); color:#fff; border-color:var(--line-2); } .btn-ghost:hover{ border-color:rgba(255,255,255,.4); background:rgba(255,255,255,.06); transform:translateY(-2px); } .btn-lg{ padding:17px 30px; font-size:16.5px; } .arrow{ transition:transform .16s ease; } .btn:hover .arrow{ transform:translateX(3px); } .btn:focus-visible{ outline:2px solid #8f86ff; outline-offset:3px; } .reveal{ opacity:0; transform:translateY(26px); } .reveal.in{ opacity:1; transform:none; transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); } @media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; } } /* ========================================================================== [B] SECTION HERO — typographie fluide (clamp) au lieu de tailles fixes. C'est ce qui évite le titre sur 8 lignes en mobile. ========================================================================== */ .mnt-hero{ padding:32px 0 44px; position:relative; } .mnt-hero-split{ display:grid; grid-template-columns:1.08fr .92fr; gap:48px; align-items:center; } .mnt-hero-copy{ order:2; } .mnt-shot{ order:1; } .mnt-hero-copy{ position:relative; z-index:6; } .mnt-hero-copy .h1{ font-family:var(--display); font-weight:700; font-size:clamp(27px, 5.6vw, 38px); letter-spacing:-.03em; line-height:1.06; color:#fff; margin-top:22px; margin-bottom:0; text-wrap:balance; } .mnt-hero-copy .grad-text{ background:linear-gradient(96deg,#ff9b4a,#f25563 38%,#9b7cf6 64%,#5b8bff 88%); -webkit-background-clip:text; background-clip:text; color:transparent; } .mnt-hero-copy .h-lede{ color:var(--text-2); line-height:1.55; font-size:clamp(14.5px, 1.6vw, 15.5px); margin:15px 0 0; } .mnt-hero-copy .h-lede strong{ color:#fff; font-weight:600; } .modtag{ display:inline-flex; align-items:center; gap:8px; padding:6px 13px 6px 9px; border-radius:999px; font-size:clamp(11px, 1.3vw, 12.5px); font-weight:600; line-height:1.3; color:var(--tagc,var(--accent)); background:color-mix(in srgb,var(--tagc,var(--accent)) 14%,transparent); border:1px solid color-mix(in srgb,var(--tagc,var(--accent)) 40%,transparent); } .modtag .mi{ width:21px; height:21px; border-radius:7px; display:grid; place-items:center; flex:none; background:var(--tagc,var(--accent)); color:#fff; } .modtag .mi svg{ width:13px; height:13px; } .hero-flist{ list-style:none; padding:0; margin:22px 0 0; display:grid; gap:10px; } .hero-flist li{ display:flex; gap:10px; align-items:flex-start; font-size:clamp(13.5px, 1.5vw, 14px); line-height:1.45; color:var(--text-2); } .hero-flist .ck{ flex:none; width:19px; height:19px; border-radius:50%; display:grid; place-items:center; margin-top:2px; background:color-mix(in srgb,var(--accent) 16%,transparent); color:var(--accent); } .hero-flist .ck svg{ width:11px; height:11px; } .mnt-hero-copy .cta-row{ display:flex; gap:12px; flex-wrap:wrap; margin-top:26px; } /* ========================================================================== [C] VISUEL DU HERO Cadre visuel repris de .appwin : même rayon, même liseré, même halo. ========================================================================== */ .mnt-shot{ position:relative; margin:0; border-radius:16px; overflow:hidden; background:#F4F6FA; /* fond clair = raccord invisible */ border:1px solid rgba(255,255,255,.12); box-shadow:0 40px 90px -30px rgba(0,0,0,.85), 0 0 0 1px rgba(255,255,255,.05), 0 0 80px -30px rgba(99,112,240,.5); isolation:isolate; line-height:0; } .mnt-shot img{ width:100%; height:auto; display:block; } /* ========================================================================== [D] RESPONSIVE ========================================================================== */ /* Tablette et mobile : une seule colonne + on libère le hero des paddings Divi. Le :has() cible automatiquement section / row / colonne / module parents, aucune classe à ajouter dans le Divi Builder. */ @media (max-width:980px){ .mnt-hero-split{ grid-template-columns:1fr; gap:28px; } .et_pb_section:has(.mnt-hero), .et_pb_row:has(.mnt-hero), .et_pb_column:has(.mnt-hero), .et_pb_module:has(.mnt-hero){ padding-left:0 !important; padding-right:0 !important; margin-left:0 !important; margin-right:0 !important; width:100% !important; max-width:100% !important; } } /* Mobile */ @media (max-width:720px){ .wrap{ padding:0 16px; } /* la seule marge restante */ .mnt-hero{ padding:14px 0 36px; } .mnt-hero-copy .h1{ margin-top:16px; font-size:clamp(28px, 7.4vw, 38px); } .mnt-hero-copy .h-lede{ font-size:15px; } .hero-flist{ margin-top:18px; gap:11px; } /* CTA empilés, pleine largeur */ .mnt-hero-copy .cta-row{ display:grid; grid-template-columns:1fr; gap:10px; margin-top:22px; } .mnt-hero-copy .cta-row .btn{ width:100%; } .btn-lg{ padding:15px 22px; font-size:15.5px; } /* image masquée : le mockup est illisible sous 720px */ .mnt-shot{ display:none; } .mnt-hero-split{ gap:0; } /* pas de vide laissé par le grid */ } /* Petits écrans (iPhone SE / mini) */ @media (max-width:420px){ .wrap{ padding:0 14px; } } /* Le widget de chat flotte en bas à droite : on lui laisse de la place */ @media (max-width:720px) and (pointer:coarse){ .mnt-hero{ padding-bottom:64px; } } <!-- Symboles SVG : ic-calendar / ic-check / ic-arrow existent déjà dans les {{{wpml_tag_15}}} de la page. To be pasted only for standalone use. --> <!-- ========================================================================== HERO — to replace existing {{{wpml_tag_32}}} block ========================================================================== -->
Preventive Module

Anticipate breakdowns before they impact your business.

Automate your preventive maintenance, schedule your periodic interventions, and track your regulatory obligations from a single platform. Fewer unforeseen events, more compliance, greater peace of mind.

  • Two scheduling modes: calendar-based or regulatory
  • 17 frequencies to cover every deadline
  • Automatic reminders so you don't forget anything
  • Tracking of reserves and regulatory compliance
<!-- Le {{{wpml_tag_94}}} mobile renvoie un GIF 1x1 : sous 720px l'image est masquée en CSS, this {{{wpml_tag_95}}} also avoids downloading the desktop JPG unnecessarily. --> srcset="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"> alt="Preventive maintenance plan in Bob! Desk"fetchpriority="high" decoding="async">

THEY RELY ON BOB! DESK TO ENSURE EQUIPMENT RELIABILITY

Lapeyre
Big Mamma
Castorama
HEMA
Fusalp
Groupe SOS
Lapeyre
Big Mamma
Castorama
HEMA
Fusalp
Groupe SOS
THE PLATFORM

Master your preventive maintenance.

From intervention planning to reserve tracking, Bob! Desk centralizes all your preventive maintenance to ensure the proper functioning of your equipment and guarantee your compliance.

PLANNING

Plan all your interventions in a few clicks.

Organize your maintenance operations according to your business constraints and automate their tracking. No more missed deadlines — meaning fewer breakdowns, and continuous activity.

  • Two scheduling modes: calendar-based or regulatory
  • 17 frequencies available
  • Assignment to a site or equipment
  • Customized reports and checklists
  • Integration of reports from your service providers
  • Statistics on deadline adherence and compliance
Bob! Desk Interface - Preventive Planning
Bob! Desk Interface - Reminders & Contracts
AUTOMATION & CONTRACTS

Automate the tracking of your recurring operations.

Reduce administrative tasks with smart reminders and centralize all your preventive maintenance contracts. Your teams save time and focus on what truly matters.

  • Configurable automatic reminders (planning, reminder, delay)
  • Centralized management of maintenance contracts
  • Automatic tracking of planned interventions
  • Better visibility on deadlines
RESERVE MANAGEMENT

Track and process each reserve efficiently.

Identify anomalies during periodic checks, prioritize actions based on criticality, and track their resolution until closure. You ensure compliance and limit risks at each site.

  • Automatic or manual creation of reserves
  • Three criticality levels
  • Module dedicated to reserve tracking
  • Automatic assignment based on checks performed
  • Dedicated dashboards
  • AI: analysis of service provider reports and creation of reserves
Bob! Desk Interface - Reserves
CLIENT RESULTS

Fewer breakdowns. More responsiveness.

-35%

AVERAGE REPAIR TIME

One third less time between the reporting of a breakdown and its resolution.

×3-7

ROI PER YEAR

For every euro invested in Bob! Desk, our clients save 3 to 7 times more, every year.

9,000+

SITES MANAGED

Networks from 10 to over 1,000 establishments manage their maintenance on Bob! Desk.

<10s

TO CREATE A TICKET

A QR code scan, a photo, a description. The right work order, every time.

17

PREVENTIVE FREQUENCIES

From annual regulatory control to weekly rounds — every deadline covered.

<8wks.

TO BE PROFITABLE

Operational in hours, not months. Value arrives quickly.

/* ========================================================================== RANGÉE DE CTA — .bd-cta-row ========================================================================== */ .bd-cta-row{ display:flex; justify-content:center; flex-wrap:wrap; gap:14px; } .bd-cta-row a.et_pb_button{ font-size:clamp(15px, 4.1vw, 20px) !important; padding:16px 32px !important; white-space:nowrap !important; /* jamais de retour à la ligne */ text-align:center; line-height:1.2 !important; } @media (max-width:600px){ .bd-cta-row{ flex-direction:column; align-items:stretch; gap:10px; padding:0 14px; } .bd-cta-row a.et_pb_button{ padding:15px 20px !important; /* moins de padding = plus de place au texte */ width:100%; } }
GO FURTHER

Turn prevention into a performance lever.

Bob! Desk doesn’t just plan your interventions. The platform helps you automate your maintenance, strengthen your compliance, and make decisions based on reliable data.

Controlled compliance

Meet your regulatory obligations and easily track all your mandatory interventions, without ever chasing a deadline.

Proactive maintenance

Prevent breakdowns through organized and automated preventive maintenance, and keep your sites continuously operational.

Real-time visibility

Monitor your indicators, reserves, and performance from a single dashboard to decide with confidence.

Included in all our offers.

The fundamentals you need for a smooth deployment, included in your subscription.

Automatic updates

The platform continuously evolves, without any intervention on your part.

Human support, 9 AM–6 PM

A responsive team that replies within a few hours, at no extra cost.

Open API & SSO

Secure connection to your directory and business tools.

/* ========================================================================== TÉMOIGNAGES — MOBILE : 1 carte à la fois, swipe + flèches Le scroll-jacking desktop est neutralisé sous 900px. (Ce bloc complète ta feuille de style existante, il ne la remplace pas.) ========================================================================== */ @media (max-width:900px){ /* 1. On coupe le scroll-jacking */ .bd-test-pin{ height:auto !important; } .bd-test-sticky{ position:static !important; top:auto !important; } .bd-test-track{ transform:none !important; } /* 2. On libère le bloc des paddings Divi */ .et_pb_row:has(.bd-test-pin), .et_pb_column:has(.bd-test-pin), .et_pb_module:has(.bd-test-pin){ padding-left:0 !important; padding-right:0 !important; margin-left:0 !important; margin-right:0 !important; width:100% !important; max-width:100% !important; } .bd-test-header{ padding:0 14px; } .bd-test-hint{ display:none !important; } /* remplacé par les flèches */ /* 3. Défilement horizontal natif, une carte par écran */ .bd-test-shell{ position:relative; } /* wrapper injecté par le JS */ .bd-test-viewport{ overflow-x:auto !important; overflow-y:hidden; padding:0 14px 6px; scroll-snap-type:x mandatory; scroll-behavior:smooth; -webkit-overflow-scrolling:touch; scrollbar-width:none; } .bd-test-viewport::-webkit-scrollbar{ display:none; } .bd-test-track{ display:flex !important; flex-wrap:nowrap !important; gap:12px; } .bd-test-card{ flex:0 0 100% !important; width:100% !important; max-width:none !important; min-width:0; scroll-snap-align:center; } /* 4. Flèches de navigation — les deux exactement au même niveau */ .bd-test-nav{ position:absolute; top:50%; transform:translateY(-50%); z-index:6; width:38px; height:38px; display:grid; place-items:center; padding:0; border:1px solid rgba(255,255,255,.24); border-radius:50%; background:rgba(10,14,28,.74); backdrop-filter:blur(8px); color:#fff; cursor:pointer; transition:opacity .18s ease, background .18s ease; } .bd-test-nav svg{ width:17px; height:17px; } .bd-test-nav:active{ background:rgba(30,38,64,.9); } .bd-test-nav[hidden]{ display:none; } .bd-test-nav-prev{ left:4px; } .bd-test-nav-next{ right:4px; } .bd-test-nav:focus-visible{ outline:2px solid #8f86ff; outline-offset:2px; } } /* Desktop : aucune flèche, comportement d'origine */ @media (min-width:901px){ .bd-test-nav{ display:none !important; } }
THEY TESTIFY

They regained control.

Scroll
2:12
Leisure Le Five

“Bob! Desk perfectly meets the needs of Le Five. A simple, intuitive CMMS software, and above all a reactive team very close to us, which allows direct exchanges with members of the Bob! Desk team.”

1:36
Retail Lapeyre

“Since Bob! Desk, Lapeyre has been able to optimize the management of its internal processes, ensuring increased consistency between teams and a rise in efficiency. Its deployment allowed us to centralize requests, reduce silos and improve operational responsiveness on a daily basis.”

1:38
Association Le Rucher

“Bob! Desk meets our criteria for tickets and preventive maintenance. With Bob! Desk, we can work on multiple devices: PC, smartphone, and tablet, and even via the CMMS application.”

1:50
Retail Beauty Success

“A great maintenance tracking software! We appreciate the flexibility of the tool and the fact that the team is dynamic and attentive. We abandoned our Excel files and lightened our inboxes. I love the supplier invoice validation module.”

1:28
Service Provider Tourne & Vis

“We were actively looking for an intervention management software for our technicians. Since the implementation of the CMMS software, a real change has occurred in how we collaborate. It's now more efficient, simpler, and everything is done with full transparency.”

2:14
Medical-Social Age&Vie

“Thanks to Bob! Desk, Age&Vie has been able to structure and effectively track all of its internal requests, guaranteeing better responsiveness and better transparency between departments. It allows us to centralize exchanges and fluidify processes within our homes.”

Restaurant Marie Blachère

“Since we have been using Bob! Desk to manage our network of bakeries (+1000), our maintenance team has gained fluidity. The interface is intuitive, and customer support is always reactive and available. A solution I recommend without hesitation.”

Restaurant Big Mamma

“A simple and powerful CMMS solution with excellent ergonomics. It is the tool that allows us to optimize our maintenance and communicate effectively with the restaurants. The Bob! Desk team is attentive and reactive. I recommend!”

(function () { var pin = document.getElementById('bd-test-pin'); var sticky = document.getElementById('bd-test-sticky'); var track = document.getElementById('bd-test-track'); if (!pin || !sticky || !track) return; var viewport = track.parentElement; /* .bd-test-viewport */ var STICKY_OFFSET = 120; /* = le "top" du CSS sticky */ var MOBILE = window.matchMedia('(max-width:900px)'); var maxTranslate = 0; /* wrapper pour positionner les flèches (neutre sur desktop) */ var shell = document.createElement('div'); shell.className = 'bd-test-shell'; viewport.parentNode.insertBefore(shell, viewport); shell.appendChild(viewport); /* ---------------- flèches ---------------- */ var SVG_OPEN = ''; var ARROW_LEFT = SVG_OPEN + ''; var ARROW_RIGHT = SVG_OPEN + ''; function makeBtn(dir, label, svg) { var b = document.createElement('button'); b.type = 'button'; b.className = 'bd-test-nav bd-test-nav-' + dir; b.setAttribute('aria-label', label); b.innerHTML = svg; b.addEventListener('click', function () { go(dir === 'prev' ? -1 : 1); }); shell.appendChild(b); return b; } var prevBtn = makeBtn('prev', 'Témoignage précédent', ARROW_LEFT); var nextBtn = makeBtn('next', 'Témoignage suivant', ARROW_RIGHT); function step() { var card = track.firstElementChild; var gap = parseFloat(getComputedStyle(track).columnGap) || 12; return card ? card.getBoundingClientRect().width + gap : viewport.clientWidth; } function go(dir) { viewport.scrollBy({ left: dir * step(), behavior: 'smooth' }); } function updateArrows() { if (!MOBILE.matches) return; var max = viewport.scrollWidth - viewport.clientWidth; prevBtn.hidden = viewport.scrollLeft = max - 8; } viewport.addEventListener('scroll', updateArrows, { passive: true }); /* ---------------- scroll-jacking desktop ---------------- */ function recalc() { if (MOBILE.matches) { pin.style.height = ''; return; } maxTranslate = Math.max(0, track.scrollWidth - viewport.clientWidth); pin.style.height = (sticky.offsetHeight + maxTranslate * 1.15) + 'px'; } function onScroll() { if (MOBILE.matches) { track.style.transform = ''; return; } var rect = pin.getBoundingClientRect(); var scrollable = pin.offsetHeight - sticky.offsetHeight; if (scrollable <= 0) { track.style.transform = 'translateX(0px)'; return; }var progress = (STICKY_OFFSET - rect.top) / scrollable;progress = Math.max(0, Math.min(1, progress));track.style.transform = 'translateX(' + (-progress * maxTranslate) + 'px)';}function applyMode() {if (MOBILE.matches) {pin.style.height = '';track.style.transform = '';updateArrows();} else {viewport.scrollLeft = 0;recalc();onScroll();}}if (MOBILE.addEventListener) MOBILE.addEventListener('change', applyMode);else MOBILE.addListener(applyMode);window.addEventListener('load', applyMode);window.addEventListener('resize', applyMode);window.addEventListener('scroll', onScroll, { passive: true });setTimeout(applyMode, 300);/* ---------------- lecture YouTube ---------------- */track.querySelectorAll('.bd-test-thumb[data-youtube-id]').forEach(function (thumb) {var playBtn = thumb.querySelector('.bd-test-play');if (!playBtn) return;playBtn.addEventListener('click', function () {var iframe = document.createElement('iframe');iframe.src = 'https://www.youtube-nocookie.com/embed/' + thumb.getAttribute('data-youtube-id') + '?autoplay=1&rel=0';iframe.setAttribute('frameborder', '0');iframe.setAttribute('allow', 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture');iframe.setAttribute('allowfullscreen', '');iframe.style.cssText = 'width:100%;height:100%;position:absolute;top:0;left:0;border:none;';thumb.innerHTML = '';thumb.style.backgroundImage = 'none';thumb.appendChild(iframe);setTimeout(applyMode, 100);});});})();
FREQUENTLY ASKED QUESTIONS

All about preventive maintenance.

Preventive maintenance involves scheduling regular interventions on equipment to prevent breakdowns before they occur. It relies on calendar-based or regulatory deadlines (controls, servicing, checks) to anticipate wear and tear and ensure the compliance of installations.

It helps reduce the number of breakdowns, extend equipment lifespan, ensure regulatory compliance, and better control maintenance costs by avoiding urgent and costly corrective interventions.

Bob! Desk centralizes the planning, assignment, and tracking of all your preventive deadlines on a single platform. You configure your frequencies once, and the platform automatically generates interventions, sends reminders, and collects reports.

Yes. Bob! Desk offers 17 different frequencies (calendar-based or regulatory) to cover every type of deadline. Once configured, interventions are automatically planned, assigned, and tracked, without recurring manual intervention.

Bob! Desk offers a centralized schedule grouping all your deadlines by site and equipment, with real-time compliance indicators and dashboards to track deadline adherence.

Yes, it is even one of the primary use cases for Bob! Desk. The platform allows you to standardize your maintenance plans across all your sites, while maintaining individual visibility per establishment.

Bob! Desk centralizes key indicators (compliance rate, deadline adherence, number of open/closed reserves) that allow you to evaluate the effectiveness of your strategy and continuously adjust your maintenance plans.

(function() { var list = document.getElementById('bd-faq2-list'); if (!list) return; var items = list.querySelectorAll('.bd-faq2-item'); items.forEach(function(item) { var btn = item.querySelector('.bd-faq2-question'); var answer = item.querySelector('.bd-faq2-answer'); btn.addEventListener('click', function() { var isOpen = item.classList.contains('bd-faq2-open'); items.forEach(function(other) { other.classList.remove('bd-faq2-open'); other.querySelector('.bd-faq2-answer').style.maxHeight = null; other.querySelector('.bd-faq2-toggle').textContent = '+'; }); if (!isOpen) { item.classList.add('bd-faq2-open'); answer.style.maxHeight = (answer.scrollHeight + 30) + 'px'; item.querySelector('.bd-faq2-toggle').textContent = '×'; } }); }); })();
REQUEST A DEMONSTRATION

Transition from reactive to controlled maintenance.

Discover how Bob! Desk helps multi-site companies anticipate breakdowns, improve their compliance, and simplify the management of their preventive maintenance.

  • Personalized demo for your sector
  • Live ROI estimation
  • Response from an expert in less than 1 business hour
This site is registered on wpml.org as a development site. Switch to a production site key to remove this banner.