www.solutionjcb.ca Open in urlscan Pro
2606:4700:3031::ac43:df0a  Public Scan

Submitted URL: https://solutionjcb.ca/
Effective URL: https://www.solutionjcb.ca/
Submission: On August 13 via api from US — Scanned from CA

Form analysis 1 forms found in the DOM

POST

<form method="post" data-freeform="" data-id="8a06e8-form-DVBNlB0QK-Y2dAaD8l3-ECEURQBRiLC2B1I7gpfmE9ItaLyk1RIGWKf38AB2" data-handle="contact" data-ajax="" data-disable-submit="" data-show-processing-spinner="" data-auto-scroll="1"
  data-show-processing-text="" data-processing-text="Processing..." data-success-message="Form has been submitted successfully!" data-error-message="Sorry, there was an error submitting the form. Please try again."><input type="hidden"
    name="formHash" value="DVBNlB0QK-Y2dAaD8l3-ECEURQBRiLC2B1I7gpfmE9ItaLyk1RIGWKf38AB2"><input type="hidden" name="CRAFT_CSRF_TOKEN"
    value="NM0Ibc-Jb7jNaQIpr4hemXJQo7kYWaZMoBLc3F6WoTTskrLDLt4An1-beiyE8QKIulw6X8HsM-g7MdXJcxbTKZd6pZA208Rxu9WFtUCzdbI="><input type="hidden" name="freeform-action" value="submit">
  <div id="8a06e8-form-DVBNlB0QK-Y2dAaD8l3-ECEURQBRiLC2B1I7gpfmE9ItaLyk1RIGWKf38AB2" data-scroll-anchor="" style="display: none;"></div><input type="hidden" name="action" value="freeform/submit">
  <script>
    var form = document.querySelector('[data-id="8a06e8-form-DVBNlB0QK-Y2dAaD8l3-ECEURQBRiLC2B1I7gpfmE9ItaLyk1RIGWKf38AB2"]');
    if (form) {
      form.addEventListener("freeform-stripe-appearance", function(event) {
        event.elementOptions.appearance = Object.assign(event.elementOptions.appearance, {
          variables: {
            colorPrimary: "#0d6efd",
          },
        });
      });
    }
  </script>
  <div class="freeform-row">
    <div data-field-container="firstName" data-field-type="text" class="freeform-column-6 freeform-fieldtype-text freeform-column"><label class="freeform-label freeform-required" for="form-input-firstName">Prénom</label><input novalidate=""
        class="freeform-input" name="firstName" type="text" id="form-input-firstName" placeholder="" value=""></div>
    <div data-field-container="lastName" data-field-type="text" class="freeform-column-6 freeform-fieldtype-text freeform-column"><label class="freeform-label freeform-required" for="form-input-lastName">Nom</label><input novalidate=""
        class="freeform-input" name="lastName" type="text" id="form-input-lastName" placeholder="" value=""></div>
  </div>
  <div class="freeform-row">
    <div data-field-container="phoneNumber" data-field-type="phone" class="freeform-column-6 freeform-fieldtype-phone freeform-column"><label class="freeform-label freeform-required" for="form-input-phoneNumber">Téléphone</label><input novalidate=""
        class="freeform-input" name="phoneNumber" type="tel" id="form-input-phoneNumber" placeholder="" value=""></div>
    <div data-field-container="email" data-field-type="email" class="freeform-column-6 freeform-fieldtype-email freeform-column"><label class="freeform-label freeform-required" for="form-input-email">Courriel</label><input novalidate=""
        class="freeform-input" name="email" type="email" id="form-input-email" placeholder="" value="" data-required=""></div>
  </div>
  <div class="freeform-row">
    <div data-field-container="contactSubject" data-field-type="text" class="freeform-column-12 freeform-fieldtype-text freeform-column"><label class="freeform-label" for="form-input-contactSubject">Sujet</label><input novalidate=""
        class="freeform-input" name="contactSubject" type="text" id="form-input-contactSubject" placeholder="" value=""></div>
  </div>
  <div class="freeform-row">
    <div data-field-container="message" data-field-type="textarea" class="freeform-column-12 freeform-fieldtype-textarea freeform-column"><label class="freeform-label" for="form-input-message">Message</label><textarea novalidate=""
        class="freeform-input" name="message" id="form-input-message" rows="5" placeholder=""></textarea></div>
  </div>
  <div data-freeform-recaptcha-container="" data-captcha="recaptcha" data-site-key="6Let8-QpAAAAAMadPpKUcKhTdN5bPt-GKPIpfVd-" data-theme="light" data-size="normal" data-version="v3" data-action="submit" data-locale="fr"></div>
  <script type="application/json" data-rules-json="">
    {
      "values": {
        "firstName": "",
        "lastName": "",
        "phoneNumber": "",
        "email": "",
        "contactSubject": "",
        "message": ""
      },
      "rules": {
        "fields": [],
        "buttons": []
      }
    }
  </script>
  <div class="freeform-button-container" data-freeform-controls="">
    <div class="freeform-button-column">
      <div class="freeform-button-wrapper"><button class="freeform-button-submit" data-freeform-action="submit" data-button-container="submit" name="form_page_submit" type="submit" data-original-text="Submit"
          data-processing-text="Processing...">Submit</button></div>
    </div>
    <div class="freeform-button-column"></div>
  </div><input type="hidden" name="freeform_payload"
    value="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">
  <script type="text/javascript">
    ! function() {
      "use strict";
      var e, r, n, t, o = {
          5784: function(e, r, n) {
            n.d(r, {
              ZO: function() {
                return l
              },
              _V: function() {
                return u
              },
              zi: function() {
                return m
              }
            });
            var t, o, a, i = n(5595);
            ! function(e) {
              e.DARK = "dark", e.LIGHT = "light"
            }(o || (o = {})),
            function(e) {
              e.COMPACT = "compact", e.NORMAL = "normal"
            }(a || (a = {})), window.freeform || (window.freeform = {}), (null === (t = window.freeform) || void 0 === t ? void 0 : t.captchas) || (window.freeform.captchas = {
              loaders: new Map,
              listeners: new WeakSet,
              loaderPromises: new Map
            });
            var f, s = function(e, r) {
                return r.querySelector('[data-captcha="'.concat(e, '"]'))
              },
              c = function(e) {
                return {
                  sitekey: e.dataset.siteKey || "",
                  theme: e.dataset.theme || o.LIGHT,
                  size: e.dataset.size || a.NORMAL,
                  version: e.dataset.version,
                  lazyLoad: void 0 !== e.dataset.lazyLoad,
                  action: e.dataset.action || "submit",
                  locale: e.dataset.locale
                }
              },
              d = "recaptcha";
            ! function(e) {
              e.V2_CHECKBOX = "v2-checkbox", e.V2_INVISIBLE = "v2-invisible", e.V3 = "v3"
            }(f || (f = {}));
            var u = function(e, r) {
                var n = l(e);
                if (!n) return Promise.resolve();
                var t = m(n),
                  o = t.version,
                  a = t.sitekey,
                  u = t.locale,
                  p = new URL("https://www.google.com/recaptcha/api.js");
                return o === f.V3 ? p.searchParams.append("render", a) : p.searchParams.append("render", "explicit"), u && p.searchParams.append("hl", u),
                  function(e, r, n, t) {
                    var o = s(r, n);
                    if (o) {
                      var a, f = window.freeform.captchas,
                        d = f.listeners,
                        u = f.loaderPromises,
                        l = f.loaders,
                        m = c(o),
                        p = m.lazyLoad,
                        v = void 0 !== p && p,
                        h = m.version,
                        w = void 0 === h ? "default" : h,
                        b = v && !t,
                        y = "".concat(r, "-").concat(w);
                      u.has(y) ? a = u.get(y) : (a = new Promise((function(r, n) {
                        l.set(y, (function() {
                          (function(e) {
                            return new Promise((function(r, n) {
                              var t = String(e);
                              if (!document.getElementById(t)) {
                                var o = document.createElement("script");
                                o.src = String(e), o.async = !0, o.defer = !0, o.id = t, o.addEventListener("load", (function() {
                                  return r()
                                })), o.addEventListener("error", (function() {
                                  return n(new Error("Error loading script ".concat(e)))
                                })), document.body.appendChild(o)
                              }
                            }))
                          })(e).then(r).catch(n)
                        }))
                      })), u.set(y, a));
                      var g = l.get(y);
                      return b ? d.has(n) || ((0, i.oW)(n, ["input", "submit"], g, {
                        once: !0
                      }), d.add(n)) : g(), a
                    }
                  }(p, d, e, r)
              },
              l = function(e) {
                return s(d, e)
              },
              m = function(e) {
                return c(e)
              }
          },
          5595: function(e, r, n) {
            n.d(r, {
              oW: function() {
                return t
              }
            });
            var t = function(e, r, n, t) {
                o("add", {
                  elements: e,
                  type: r,
                  callback: n,
                  options: t
                })
              },
              o = function(e, r) {
                var n = r.type,
                  t = r.elements,
                  o = r.callback,
                  a = r.options,
                  i = Array.isArray(n) ? n : [n],
                  f = Array.isArray(t) ? t : [t];
                Array.from(f).forEach((function(r) {
                  i.forEach((function(n) {
                    "add" === e ? r.addEventListener(n, o, a) : r.removeEventListener(n, o, a)
                  }))
                }))
              }
          }
        },
        a = {};

      function i(e) {
        var r = a[e];
        if (void 0 !== r) return r.exports;
        var n = a[e] = {
          exports: {}
        };
        return o[e](n, n.exports, i), n.exports
      }
      i.d = function(e, r) {
        for (var n in r) i.o(r, n) && !i.o(e, n) && Object.defineProperty(e, n, {
          enumerable: !0,
          get: r[n]
        })
      }, i.o = function(e, r) {
        return Object.prototype.hasOwnProperty.call(e, r)
      }, e = {
        form: {
          ready: "freeform-ready",
          reset: "freeform-on-reset",
          submit: "freeform-on-submit",
          removeMessages: "freeform-remove-messages",
          fieldRemoveMessages: "freeform-remove-field-messages",
          renderSuccess: "freeform-render-success",
          renderFieldErrors: "freeform-render-field-errors",
          renderFormErrors: "freeform-render-form-errors",
          ajaxBeforeSuccess: "freeform-before-ajax-success",
          ajaxSuccess: "freeform-ajax-success",
          ajaxError: "freeform-ajax-error",
          ajaxBeforeSubmit: "freeform-ajax-before-submit",
          ajaxAfterSubmit: "freeform-ajax-after-submit",
          afterFailedSubmit: "freeform-after-failed-submit",
          handleActions: "freeform-handle-actions"
        },
        rules: {
          applied: "freeform-rules-applied"
        },
        table: {
          onAddRow: "freeform-field-table-on-add-row",
          afterRowAdded: "freeform-field-table-after-row-added",
          onRemoveRow: "freeform-field-table-on-remove-row",
          afterRemoveRow: "freeform-field-table-after-remove-row"
        },
        dragAndDrop: {
          renderPreview: "freeform-field-dnd-on-render-preview",
          renderPreviewRemoveButton: "freeform-field-dnd-on-render-preview-remove-button",
          renderErrorContainer: "freeform-field-dnd-render-error-container",
          showGlobalMessage: "freeform-field-dnd-show-global-message",
          appendErrors: "freeform-field-dnd-append-errors",
          clearErrors: "freeform-field-dnd-clear-errors",
          onChange: "freeform-field-dnd-on-change",
          onUploadProgress: "freeform-field-dnd-on-upload-progress"
        },
        saveAndContinue: {
          saveFormhandleToken: "freeform-save-form-handle-token"
        }
      }, r = i(5784), n = function(e, r, n, t) {
        return new(n || (n = Promise))((function(o, a) {
          function i(e) {
            try {
              s(t.next(e))
            } catch (e) {
              a(e)
            }
          }

          function f(e) {
            try {
              s(t.throw(e))
            } catch (e) {
              a(e)
            }
          }

          function s(e) {
            var r;
            e.done ? o(e.value) : (r = e.value, r instanceof n ? r : new n((function(e) {
              e(r)
            }))).then(i, f)
          }
          s((t = t.apply(e, r || [])).next())
        }))
      }, t = function(e, r) {
        var n, t, o, a, i = {
          label: 0,
          sent: function() {
            if (1 & o[0]) throw o[1];
            return o[1]
          },
          trys: [],
          ops: []
        };
        return a = {
          next: f(0),
          throw: f(1),
          return: f(2)
        }, "function" == typeof Symbol && (a[Symbol.iterator] = function() {
          return this
        }), a;

        function f(f) {
          return function(s) {
            return function(f) {
              if (n) throw new TypeError("Generator is already executing.");
              for (; a && (a = 0, f[0] && (i = 0)), i;) try {
                if (n = 1, t && (o = 2 & f[0] ? t.return : f[0] ? t.throw || ((o = t.return) && o.call(t), 0) : t.next) && !(o = o.call(t, f[1])).done) return o;
                switch (t = 0, o && (f = [2 & f[0], o.value]), f[0]) {
                  case 0:
                  case 1:
                    o = f;
                    break;
                  case 4:
                    return i.label++, {
                      value: f[1],
                      done: !1
                    };
                  case 5:
                    i.label++, t = f[1], f = [0];
                    continue;
                  case 7:
                    f = i.ops.pop(), i.trys.pop();
                    continue;
                  default:
                    if (!((o = (o = i.trys).length > 0 && o[o.length - 1]) || 6 !== f[0] && 2 !== f[0])) {
                      i = 0;
                      continue
                    }
                    if (3 === f[0] && (!o || f[1] > o[0] && f[1] < o[3])) {
                      i.label = f[1];
                      break
                    }
                    if (6 === f[0] && i.label < o[1]) {
                      i.label = o[1], o = f;
                      break
                    }
                    if (o && i.label < o[2]) {
                      i.label = o[2], i.ops.push(f);
                      break
                    }
                    o[2] && i.ops.pop(), i.trys.pop();
                    continue
                }
                f = r.call(e, i)
              } catch (e) {
                f = [6, e], t = 0
              } finally {
                n = o = 0
              }
              if (5 & f[0]) throw f[1];
              return {
                value: f[0] ? f[1] : void 0,
                done: !0
              }
            }([f, s])
          }
        }
      }, document.addEventListener(e.form.ready, (function(e) {
        (0, r._V)(e.form)
      })), document.addEventListener(e.form.submit, (function(e) {
        e.addCallback((function() {
          return n(void 0, void 0, void 0, (function() {
            var o, a, i, f, s;
            return t(this, (function(c) {
              switch (c.label) {
                case 0:
                  return (o = (0, r.ZO)(e.form)) ? (a = function(e) {
                    var n = (0, r.ZO)(e.form);
                    if (!n) return null;
                    var t = n.querySelector("[data-recaptcha]");
                    return t || ((t = document.createElement("textarea")).dataset.recaptcha = "", t.name = "g-recaptcha-response", t.style.visibility = "hidden", t.style.position = "absolute", t.style.top = "-9999px", t
                      .style.left = "-9999px", t.style.width = "1px", t.style.height = "1px", t.style.overflow = "hidden", t.style.border = "none", n.appendChild(t)), t
                  }(e), !a || e.isBackButtonPressed ? [2] : [4, (0, r._V)(e.form, !0)]) : [2, null];
                case 1:
                  return c.sent(), i = (0, r.zi)(o), f = i.sitekey, s = i.action, [4, new Promise((function(e) {
                    grecaptcha.ready((function() {
                      return n(void 0, void 0, void 0, (function() {
                        var r;
                        return t(this, (function(n) {
                          switch (n.label) {
                            case 0:
                              return [4, grecaptcha.execute(f, {
                                action: s
                              })];
                            case 1:
                              return r = n.sent(), a.value = r, e(), [2]
                          }
                        }))
                      }))
                    }))
                  }))];
                case 2:
                  return [2, c.sent()]
              }
            }))
          }))
        }))
      }))
    }();
  </script>
</form>

Text Content

 * État de la situation
 * Défis
 * Solutions
 * Avantages
 * Firme
 * Nouvelles
 * Contact
 * EN


LA SOLUTION JCB


POUR UNE GESTION DE CHANTIER EFFICACE EN MILIEU URBAIN

État de la situation


UN PARC IMMOBILIER VIEILLISSANT

Alors que la grande majorité des immeubles du centre-ville de Montréal ont été
construits pendant les années 1960 à 1990, beaucoup d'entre eux auront besoin
d'investissements massifs dans les prochaines années afin de procéder à leur
inspection, leur entretien et leur mise aux normes. Alors que les chantiers de
construction sont déjà très nombreux au centre-ville de Montréal, les entraves
et nuisances générées par ceux-ci risquent fort bien d'augmenter dans les années
à venir. Tandis que beaucoup d'efforts sont mis en place par la Ville de
Montréal afin de mitiger ces entraves, l'une de ses solutions réside dans
l'implication en amont des entrepreneurs généraux, et ce, dès la conception d'un
projet. En effet, l'expertise propre aux entrepreneurs permet de mettre en place
une logistique de chantier qui viendra grandement limiter les entraves afin que
nos chantiers deviennent, non pas un désagrément constant pour la population,
mais bien une source de fierté collective.

Les chantiers de construction


UN LOT DE DÉFIS POUR LES GESTIONNAIRES IMMOBILIERS

Un simple projet de rénovation, de réfection, d'inspection d'enveloppe ou de
mise aux normes peut facilement devenir source de problématiques pour un
propriétaire immobilier. Ses responsabilités envers ses occupants, ses
investisseurs, son personnel ou son entreprise peuvent facilement entrer en
conflit lors d'un chantier de construction mal géré. De nombreux défis
l'attendent et ceux-ci devront être affrontés adéquatement par son entrepreneur
en construction afin que son projet de développement se traduise en un réel
retour sur investissement.

Maintien des activités



Bien que votre projet immobilier s'intègre à votre stratégie de croissance, il
ne faut pas perdre de vue que le maintien de vos activités et de votre
productivité est essentiel afin d'assurer la pérennité de votre entreprise. Un
chantier peut grandement impacter le cours de vos journées, le bien-être de vos
occupants et la productivité de votre personnel. Il est primordial de s'assurer
que votre projet de construction soit tout sauf un frein à la tenue de vos
opérations.

Attractivité du site



Maintenir la quiétude de vos occupants, continuer d'attirer des visiteurs dans
votre espace et maintenir la notoriété de votre entreprise revêt une importance
capitale pour tout gestionnaire immobilier. Le bruit, la poussière, le manque
d'accessibilité, des lieux jonchés de détritus ou désordonnées peuvent gravement
nuire à l'attrait de votre entreprise et se traduire par d'importantes pertes de
revenus.

Optimisation des coûts



Une fois en chantier, tout changement au plan initial peut se révéler très
onéreux. Il vaut mieux s'assurer de la constructibilité de vos idées bien avant
la première pelletée de terre afin de réduire au maximum les risques de
dépassement de coûts. De nombreuses solutions existent pour optimiser vos frais
et économiser d'importantes sommes. Mais encore faut-il pouvoir les identifier à
temps. Un projet de construction majeure débute par une planification adéquate
impliquant toutes les parties.

Empiétement des rues



Avec la machinerie lourde, les livraisons de matériaux et les périmètres de
sécurité obligatoires, un chantier de construction peut facilement s'étaler
au-delà de votre propriété. En plus d'entraver le domaine public, de générer du
trafic et de nuire à l'accessibilité de votre espace, les frais relatifs à
l'occupation publique peuvent rapidement devenir exorbitants. Sans une
logistique de chantier qui tient compte de ces éléments nuisibles, l'empiétement
de l'espace public deviendra rapidement un casse-tête très dispendieux.

Gestion des nuisances



Bruits, poussières, rebuts et machinerie lourde, les nuisances d'un chantier en
construction peuvent facilement devenir insupportables pour vos occupants, vos
voisins et le grand public, surtout si votre projet de construction s'échelonne
sur plusieurs mois, voire plusieurs années. Des solutions très efficaces
existent pour minimiser les nuisances d'un chantier de construction et de
réduire au maximum ses impacts négatifs.


La solution JCB


DES RÉPONSES ADAPTÉES À VOS DÉFIS


UNE CONSTRUCTION EN MODE OCCUPATION

Il est tout à fait possible de procéder à un projet de rénovation,
d'agrandissement ou de réfection d'enveloppe au sein d'un bâtiment pleinement
occupé, et ce, sans nuire aux activités ou à la quiétude des occupants. Il
suffit de mettre en place une logistique de chantier cohérente, un phasage de
travaux efficace et des techniques de construction adaptées qui tiennent compte
de l'ensemble de vos objectifs d'affaires.

Découvrez nos solutions concrètes

Un projet en collaboration avec Kevric et Upbrella





LES TECHNOLOGIES AU SERVICE DE VOTRE PROJET

L'innovation est bien vivante au sein de l'industrie de la construction. Il
suffit d'avoir l'audace de l'appliquer. L'utilisation du système de construction
abritée sans grue de l'entreprise québécoise Upbrella est l'exemple parfait de
solutions innovantes à considérer dans le cadre de vos projets de construction,
de rénovation ou de réfection de façades. Ensemble, nous pouvons analyser les
meilleures solutions technologiques disponibles qui vous permettront de mener à
bien votre projet, et ce, encore plus vite et pour moins cher.

Découvrez nos solutions concrètes


LA RÉDUCTION DE L'EMPREINTE AU SOL

Alors que les Montréalais sont déjà fort éprouvés par les nombreux chantiers
répandus aux quatre coins de l’île, la réalisation de travaux ayant un
empiétement public minimal aura automatiquement une plus grande acceptabilité
sociale tout en réduisant drastiquement vos frais d'occupation publique. De
l'entreposage hors chantier à des plans de micromobilité efficaces en passant
par l'étalement des chantiers en hauteur, notre logistique de chantier
facilitera l'accessibilité de votre bâtiment tout en prenant en compte vos
usagers, vos voisins et le grand public.

Découvrez nos solutions concrètes


LA GESTION DES NUISANCES

On le sait : on ne fait pas d'omelettes sans casser des œufs. Mais on n'est
peut-être pas obligé de salir toute la cuisine, de générer une tonne de
vaisselle et de réveiller toute la maisonnée. Un chantier bien organisé permet
de limiter le bruit ambiant, les projections de poussières, les déchets étalés
et les tonnes de matériaux pêle-mêle. Qu'il s'agisse de préserver la quiétude
des lieux en concentrant les travaux bruyants lors de périodes moins achalandés,
de contenir le chantier au sein d'un environnement fermé et contrôlé ou
d'appliquer des logiques de séparations spatiales, nous avons des solutions pour
vous.

Découvrez nos solutions concrètes

Pour une conception intégrée


LES AVANTAGES DE LA SOLUTION JCB

Une réduction des délais et des coûts



En nous impliquant dès le début de votre projet, nous sommes en mesure de vous
guider dans vos choix, de vous proposer des solutions alternatives qui peuvent
se révéler très payantes. Nous pouvons procéder à diverses analyses d'ingénierie
de la valeur afin de nous assurer avec vos architectes et ingénieurs que les
solutions choisies soient réalisables une fois sur le chantier. Nous sommes les
mieux placés pour tenir compte de la réalité de l'industrie de la construction
et de vous y guider efficacement.

Un chantier opérationnel en tout temps



Malgré la neige, le froid ou le gel, la construction n'arrête pas pour autant,
et encore moins avec la solution de construction abritée Upbrella. Les travaux y
sont réalisés dans un environnement contrôlé, à l'abri des intempéries et des
variations de chaleur. Dans un tel environnement, le chantier peut demeurer
opérationnel et hautement performant en tout temps, et ce, en dépit des
intempéries.

Une meilleure qualité des travaux



Nous sommes fiers d'offrir à nos travailleurs et à nos sous-traitants des
environnements de travail sécuritaires et agréables. Les technologies et la
logistique de chantier que nous mettons de l'avant nous permettent de leur
offrir des conditions de travail gagnantes qui décuplent leur productivité, leur
bien-être au travail et, conséquemment, la qualité des travaux qu'ils exécutent.

Une meilleure gestion des risques



Intégrés en amont de votre projet, nous pouvons rapidement déterminer les
matériaux qui généreront des délais de livraison, ceux qui pourront être
préfabriqués et ceux qui devraient être commandés rapidement. En plus de
contrecarrer l'inflation, les précommandes évitent les retards de livraison, les
problématiques d'approvisionnement et les délais dans l'échéancier.

Une plus grande sécurité pour tous



La priorité de JCB est et sera toujours la sécurité de son personnel et des
usagers. Avec les diverses solutions que nous mettons en place, nous sommes
fiers d'offrir des espaces de travail hautement sécuritaire et sains, et ce,
autant pour les travailleurs que pour le grand public.

Une acceptabilité sociale accrue



Il est grand temps que les acteurs de l'industrie de la construction soient
imputables des répercussions de leurs chantiers sur la population générale. Un
projet de construction se doit d'être conscient de son impact sur la population
générale, et ce, autant de son occupation publique que de sa pollution visuelle
et sonore.




ENVIE DE FAIRE PARTIE DE LA SOLUTION?

Si vous êtes intrigué par les innombrables possibilités et bénéfices,
faites-nous part de vos questions, idées ou projets.

Contactez-nous
Qui sommes-nous?


NOUS SOMMES DES BÂTISSEURS DE SOLUTIONS

En misant sur vos besoins réels, nous bâtissons des espaces de vie qui
solutionnent vos défis et propulsent votre croissance



JCB CONSTRUCTION CANADA

Spécialisée dans la gestion et la réalisation de projets majeurs de
construction, JCB Construction Canada réalise annuellement plusieurs dizaines
d’agrandissements, rénovations, réaménagements et nouvelles constructions pour
une vaste gamme de clients industriels, commerciaux, multi-résidentiels et
institutionnels. Avec l’expertise combinée de plus d’une centaine d’employés et
des bureaux dans la grande région de Montréal et de Toronto, nous misons sur vos
besoins réels pour solutionner vos défis et propulser votre croissance.

En savoir plus

03. 05. 24


JCB CONSTRUCTION CANADA EST NOMMÉ BÂTISSEUR D’EXCELLENCE

16. 04. 24


JCB CONSTRUCTION CANADA REJOINT LA ONTARIO GENERAL CONTRACTORS ASSOCIATION

Pour ne rien manquer


TOUTE L'ACTUALITÉ

Soyez à l'affût de nos innovations et solutions.

Toutes les nouvelles
Toutes les nouvelles


UNE QUESTION, UNE IDÉE, UN PROJET? DITES-NOUS TOUT!

Prénom
Nom
Téléphone
Courriel
Sujet
Message

Submit


--------------------------------------------------------------------------------

JCB Construction Canada

License RBQ: 2386-6684026

Contact

devaffaires@jcb.ca

450-444-8151 poste 130

Heures d'ouverture

Lundi au vendredi

8h à 17h

© 2024 JCB Construction Canada. Tous les droits sont réservés. Une création de
Webit Interactive