Accueil / Entreprise / Propriété Industrielle / Protéger son site web c’est possible, même s’il s’agit d’un site « banal ».

Protéger son site web c’est possible, même s’il s’agit d’un site « banal ».

Consciemment ou pas, il est toujours plus aisé de s’inspirer du travail des autres que de créer ex-nihilo son propre site web (tant en termes d’apparence que de process ou de fonctionnalités). Pour autant, la frontière entre l’inspiration et la reproduction est parfois mince et souvent génératrice de risques. D’autant plus que l’actualité judiciaire attire notre attention sur la faculté ouverte aux entreprises d’empêcher la reproduction des éléments de leurs sites, au-delà de la protection classique par la propriété intellectuelle.

Lorsqu’il s’agit de protéger une création, le premier reflexe est d’avoir recours à la protection au titre des droits d’auteurs. Un site Internet est effectivement une œuvre de l’esprit au sens du code de la propriété intellectuelle et entre donc dans le champ d’application de la protection.  Mais, pour bénéficier de cette protection, le site web doit nécessairement revêtir un caractère original, c’est-à-dire refléter la personnalité de son auteur.

Dans les faits, une telle originalité peut être caractérisée lorsque les différents éléments du site sont combinés selon une certaine présentation qui procède d’une recherche esthétique (non imposée par un impératif fonctionnel), conférant au site une physionomie particulière le distinguant d’autres sites du même secteur d’activité et révélant un effort créatif. Dans une telle situation, le titulaire des droits peut envisager une action sur le fondement de la contrefaçon. Cependant, l’expérience nous montre que peu de sites web sont en mesure de démontrer une telle originalité. Et, fort de ce constat, nombreux sont ceux qui pense pouvoir s’approprier le travail des autres sous prétexte qu’il n’est pas original. Mais, l’actualité judiciaire nous montre que d’autres actions sont envisageables, et permettent de protéger efficacement un site internet même s’il n’a rien d’original.

L’essor de la protection du site internet par l’action en parasitisme
Pour mémoire, le parasitisme vise un comportement économique par lequel une personne s’immisce dans le sillage d’une autre afin de tirer profit, sans en supporter les coûts, de ses efforts et de son savoir-faire, et ce indépendamment de tout risque de confusion. Fondée sur la responsabilité délictuelle, l’action en parasitisme permet de protéger la valeur économique de son travail et notamment de son site internet. Or, sur ce fondement juridique, le caractère original ou non du travail n’a aucune importance. Le Tribunal de Commerce de Paris vient de l’affirmer clairement dans une décision du 28 septembre 2015 : le parasitisme économique d’un site internet peut être retenu malgré l’existence de sites ressemblant à celui objet du litige ou malgré son caractère banal.

Ce jugement précise également que cette protection ne concerne pas seulement l’aspect esthétique du site, mais également son fonctionnement (cheminement de la commande, choix des messages, paiements et modes de livraison, …).

Rappelons en outre que le Tribunal de Commerce de Paris a déjà jugé que reproduire (ou même s’inspirer) les conditions générales de ventes d’un site Internet, sans la moindre contrepartie financière est un acte de parasitisme (jugement du 22 juin 2012). Si aucune originalité n’est à démontrer, il faut néanmoins pouvoir prouver que les éléments copiés ont résulté d’un véritable travail et ont engendré un coût de réalisation. Il n’est évidemment pas possible de reprocher à un concurrent de s’approprier un actif que l’on a soit même obtenu sans effort, sans coût. L’action en parasitisme est en plein essor dans le cadre de notre activité judiciaire notamment car sa mise en œuvre est aisée pour celui qui maitrise le sujet. Il est donc très important d’être conscient de cette situation et être attentif sur le sujet. Ce qui peut se traduire en pratique à se poser régulièrement la question suivante : les éléments objet d’une inspiration, outre leur originalité éventuelle, ont-ils pu engendrer un réel coût de développement ? … (Maitre Jérémie Courtois du Cabinet Cornet Vincent Segurel – bureau de Lille)

Étiquetté :

Nos partenaires




Actualités du mois

mars 2026
L M M J V S D
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Articles en UNE

Actus zataz



Réseaux sociaux


Liste des sujets


<!-- Cyber'Émission ZATAZ — badge volant (déplaçable) + réduire/fermer -->
<div class="zataz-yt-float" id="zatazYtFloat" role="region" aria-label="Cyber'Émission ZATAZ">
  <div class="zataz-yt-float__bar" id="zatazYtBar">
    <span class="zataz-yt-float__title">Cyber'Émission ZATAZ</span>

    <div class="zataz-yt-float__actions">
      <button type="button" class="zataz-yt-float__btn" id="zatazYtMin" aria-label="Réduire">—</button>
      <button type="button" class="zataz-yt-float__btn zataz-yt-float__btn--close" id="zatazYtClose" aria-label="Fermer">×</button>
    </div>
  </div>

  <a class="zataz-yt-badge" href="https://www.youtube.com/@ZATAZCOM" target="_blank" rel="noopener noreferrer"
     aria-label="Regarder Cyber'Émission ZATAZ sur YouTube (nouvel onglet)">
    <span class="zataz-yt-badge__thumb" aria-hidden="true">
      <span class="zataz-yt-badge__play" aria-hidden="true"></span>
    </span>
  </a>
</div>

<style>
  .zataz-yt-float{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:99999;
    width:320px;
    max-width:calc(100vw - 36px);
    border-radius:14px;
    overflow:hidden;
    background:linear-gradient(135deg,#111827,#0b1220 55%,#111827);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 14px 40px rgba(0,0,0,.35);
    transform:translateZ(0);
    user-select:none;
    touch-action:none; /* drag mobile */
  }

  /* Barre de drag + boutons */
  .zataz-yt-float__bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 10px 10px 12px;
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    color:#fff;
    background:rgba(0,0,0,.18);
    border-bottom:1px solid rgba(255,255,255,.10);
    cursor:grab;
  }
  .zataz-yt-float__bar:active{ cursor:grabbing; }
  .zataz-yt-float__title{
    font-weight:800;
    letter-spacing:.2px;
    font-size:15px;
    line-height:1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .zataz-yt-float__actions{ display:flex; gap:8px; }
  .zataz-yt-float__btn{
    appearance:none;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(0,0,0,.28);
    color:#fff;
    width:32px;
    height:28px;
    border-radius:10px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    display:grid;
    place-items:center;
  }
  .zataz-yt-float__btn:hover{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.28); }
  .zataz-yt-float__btn--close:hover{ background:rgba(239,68,68,.22); border-color:rgba(239,68,68,.45); }

  /* Contenu (votre vignette) */
  .zataz-yt-badge{
    display:block;
    text-decoration:none;
    color:#fff;
  }
  .zataz-yt-badge__thumb{
    display:block;
    height:180px;
    background:#0f172a url("https://i.ytimg.com/vi/HUo8dnD6Swk/hqdefault.jpg") center/cover no-repeat;
    position:relative;
  }
  .zataz-yt-badge__play{
    position:absolute;
    left:50%;
    top:50%;
    width:54px;
    height:54px;
    margin:-27px 0 0 -27px;
    border-radius:999px;
    background:rgba(0,0,0,.55);
    border:1px solid rgba(255,255,255,.25);
    box-shadow:0 10px 22px rgba(0,0,0,.35);
  }
  .zataz-yt-badge__play:before{
    content:"";
    position:absolute;
    left:22px;
    top:16px;
    width:0;height:0;
    border-top:11px solid transparent;
    border-bottom:11px solid transparent;
    border-left:16px solid #fff;
  }

  .zataz-yt-float:hover{
    box-shadow:0 18px 55px rgba(0,0,0,.45);
    border-color:rgba(255,255,255,.18);
  }
  .zataz-yt-badge:active{ transform:scale(.99); }

  /* Etat réduit */
  .zataz-yt-float.is-min .zataz-yt-badge{ display:none; }
  .zataz-yt-float.is-min{ width:260px; }

  /* Mobile : plus compact */
  @media (max-width:480px){
    .zataz-yt-float{ width:280px; right:12px; bottom:12px; }
    .zataz-yt-badge__thumb{ height:158px; }
    .zataz-yt-float.is-min{ width:220px; }
  }
</style>

<script>
(() => {
  const box = document.getElementById('zatazYtFloat');
  const bar = document.getElementById('zatazYtBar');
  const btnMin = document.getElementById('zatazYtMin');
  const btnClose = document.getElementById('zatazYtClose');

  if (!box || !bar || !btnMin || !btnClose) return;

  // Réduire / restaurer
  btnMin.addEventListener('click', (e) => {
    e.stopPropagation();
    box.classList.toggle('is-min');
    btnMin.textContent = box.classList.contains('is-min') ? '▢' : '—';
    btnMin.setAttribute('aria-label', box.classList.contains('is-min') ? 'Restaurer' : 'Réduire');
  });

  // Fermer
  btnClose.addEventListener('click', (e) => {
    e.stopPropagation();
    box.remove();
  });

  // Drag (souris + tactile) via Pointer Events
  let dragging = false;
  let startX = 0, startY = 0;
  let startLeft = 0, startTop = 0;

  // Position initiale: on convertit right/bottom en left/top pour le drag
  const init = () => {
    const r = box.getBoundingClientRect();
    box.style.left = r.left + 'px';
    box.style.top  = r.top  + 'px';
    box.style.right = 'auto';
    box.style.bottom = 'auto';
  };
  init();

  const clamp = (v, min, max) => Math.min(Math.max(v, min), max);

  bar.addEventListener('pointerdown', (e) => {
    // pas de drag quand on clique sur les boutons
    if (e.target === btnMin || e.target === btnClose) return;

    dragging = true;
    bar.setPointerCapture(e.pointerId);

    const r = box.getBoundingClientRect();
    startX = e.clientX;
    startY = e.clientY;
    startLeft = r.left;
    startTop = r.top;

    e.preventDefault();
  });

  bar.addEventListener('pointermove', (e) => {
    if (!dragging) return;

    const dx = e.clientX - startX;
    const dy = e.clientY - startY;

    const r = box.getBoundingClientRect();
    const w = r.width;
    const h = r.height;

    const maxLeft = window.innerWidth - w - 8;
    const maxTop  = window.innerHeight - h - 8;

    box.style.left = clamp(startLeft + dx, 8, maxLeft) + 'px';
    box.style.top  = clamp(startTop + dy, 8, maxTop) + 'px';
  });

  const endDrag = () => { dragging = false; };
  bar.addEventListener('pointerup', endDrag);
  bar.addEventListener('pointercancel', endDrag);

  // Re-clamp au resize
  window.addEventListener('resize', () => {
    const r = box.getBoundingClientRect();
    const maxLeft = window.innerWidth - r.width - 8;
    const maxTop  = window.innerHeight - r.height - 8;
    box.style.left = clamp(r.left, 8, maxLeft) + 'px';
    box.style.top  = clamp(r.top, 8, maxTop) + 'px';
  });
})();
</script>