Aller au contenu principal

RGPD et sites web : guide de conformité pour entreprises belges 2025

Tout ce que votre entreprise belge doit savoir sur le RGPD : obligations légales, consentement cookies, politique de confidentialité et sanctions. Guide pratique avec templates.

RGPD et sites web : guide de conformité pour entreprises belges 2025

Le RGPD (Règlement Général sur la Protection des Données) s'applique à **toute entreprise belge collectant des données personnelles** en ligne. Les amendes peuvent atteindre **20 millions d'euros ou 4% du chiffre d'affaires**. Ce guide vous aide à mettre votre site en conformité.

Obligations légales pour sites belges

Qu'est-ce qu'une donnée personnelle ?

Selon le RGPD, une donnée personnelle est toute information permettant d'identifier une personne :

  • Nom, prénom, email, téléphone
  • Adresse IP, cookies
  • Numéro de carte bancaire
  • Photos, vidéos
  • Données de navigation

Les 7 principes du RGPD

  1. **Licéité** : Base légale claire (consentement, contrat, intérêt légitime)
  2. **Finalité** : Objectifs définis et explicites
  3. **Minimisation** : Collecter uniquement le nécessaire
  4. **Exactitude** : Données à jour et correctes
  5. **Conservation limitée** : Durées définies
  6. **Intégrité** : Sécurité et confidentialité
  7. **Responsabilité** : Documenter la conformité

Pages légales obligatoires

1. Politique de confidentialité

**Contenu minimal :**

# Politique de confidentialité

## Responsable du traitement
[Nom entreprise]
[Adresse]
Numéro BCE : [...]
Email : [...]

## Données collectées
- Formulaire de contact : nom, email, téléphone, message
- Analytics : pages visitées, durée, appareil (anonymisé)
- Cookies : préférences utilisateur, session

## Finalités
- Répondre à vos demandes
- Améliorer le site web
- Statistiques de fréquentation

## Base légale
- Consentement (formulaires)
- Intérêt légitime (analytics anonyme)

## Durée de conservation
- Données contact : 3 ans après dernier échange
- Analytics : 26 mois
- Cookies : 13 mois maximum

## Vos droits RGPD
- Droit d'accès
- Droit de rectification
- Droit à l'effacement
- Droit à la portabilité
- Droit d'opposition
- Droit à la limitation

Contact DPO : [email]

## Sous-traitants
- Hébergeur : [nom] (localisation UE)
- Email : [nom] (localisation UE)
- Analytics : [nom]

## Sécurité
- HTTPS activé
- Accès restreints
- Backups chiffrés
- Audit régulier

## Modifications
Dernière mise à jour : [date]

2. Politique de cookies

**Template implémentation :**

// components/CookieBanner.tsx
'use client';

import { useState, useEffect } from 'react';

type ConsentType = 'all' | 'essential' | null;

export function CookieBanner() {
  const [show, setShow] = useState(false);
  const [showDetails, setShowDetails] = useState(false);

  useEffect(() => {
    const consent = localStorage.getItem('cookie-consent');
    if (!consent) setShow(true);
  }, []);

  const saveConsent = (type: ConsentType) => {
    localStorage.setItem('cookie-consent', type);

    // Activer Google Analytics seulement si consentement complet
    if (type === 'all' && window.gtag) {
      window.gtag('consent', 'update', {
        analytics_storage: 'granted',
        ad_storage: 'denied', // Pas de pub
      });
    }

    setShow(false);
  };

  if (!show) return null;

  return (
    <div className="cookie-banner">
      <div className="cookie-content">
        <h3>Respect de votre vie privée</h3>
        <p>
          Nous utilisons des cookies essentiels pour le fonctionnement du site
          et des cookies analytiques (anonymes) pour améliorer votre expérience.
        </p>

        {showDetails && (
          <div className="cookie-details">
            <h4>Cookies essentiels (obligatoires)</h4>
            <ul>
              <li>Session utilisateur</li>
              <li>Panier d'achat</li>
              <li>Sécurité CSRF</li>
            </ul>

            <h4>Cookies analytiques (optionnels)</h4>
            <ul>
              <li>Google Analytics (anonymisé)</li>
              <li>Pages visitées</li>
              <li>Temps de visite</li>
            </ul>
          </div>
        )}

        <div className="cookie-actions">
          <button onClick={() => setShowDetails(!showDetails)}>
            {showDetails ? 'Masquer' : 'En savoir plus'}
          </button>
          <button onClick={() => saveConsent('essential')}>
            Essentiel uniquement
          </button>
          <button onClick={() => saveConsent('all')} className="primary">
            Accepter tout
          </button>
        </div>

        <a href="/politique-confidentialite">Politique de confidentialité complète</a>
      </div>
    </div>
  );
}

Formulaires conformes RGPD

Checklist formulaire de contact

// components/ContactForm.tsx
'use client';

import { useState } from 'react';

export function ContactForm() {
  const [consent, setConsent] = useState(false);
  const [newsletter, setNewsletter] = useState(false);

  const handleSubmit = async (e: React.FormEvent) => {
    e.preventDefault();

    if (!consent) {
      alert('Veuillez accepter la politique de confidentialité');
      return;
    }

    // Envoi formulaire...
  };

  return (
    <form onSubmit={handleSubmit}>
      <input type="text" name="name" required placeholder="Nom *" />
      <input type="email" name="email" required placeholder="Email *" />
      <textarea name="message" required placeholder="Message *" />

      {/* Consentement obligatoire */}
      <label>
        <input
          type="checkbox"
          checked={consent}
          onChange={(e) => setConsent(e.target.checked)}
          required
        />
        J'accepte que mes données soient utilisées pour répondre à ma demande
        conformément à la <a href="/politique-confidentialite">politique de confidentialité</a> *
      </label>

      {/* Consentement optionnel séparé */}
      <label>
        <input
          type="checkbox"
          checked={newsletter}
          onChange={(e) => setNewsletter(e.target.checked)}
        />
        J'accepte de recevoir des actualités par email (optionnel)
      </label>

      <button type="submit" disabled={!consent}>
        Envoyer
      </button>
    </form>
  );
}

**Points clés :**

  • ✓ Consentement actif (case à cocher)
  • ✓ Finalité claire
  • ✓ Lien vers politique de confidentialité
  • ✓ Consentement newsletter séparé
  • ✓ Champs obligatoires marqués (*)

Droits des utilisateurs

Mise en œuvre des droits RGPD

**1. Droit d'accès**

Créez une page /mes-donnees avec authentification :

// app/mes-donnees/page.tsx
export default async function MyDataPage() {
  const user = await getCurrentUser();

  return (
    <div>
      <h1>Mes données personnelles</h1>

      <section>
        <h2>Informations de compte</h2>
        <p>Nom : {user.name}</p>
        <p>Email : {user.email}</p>
        <p>Créé le : {user.createdAt}</p>
      </section>

      <section>
        <h2>Historique</h2>
        {/* Afficher commandes, messages, etc. */}
      </section>

      <section>
        <h2>Actions disponibles</h2>
        <button>Télécharger mes données (JSON)</button>
        <button>Modifier mes informations</button>
        <button className="danger">Supprimer mon compte</button>
      </section>
    </div>
  );
}

**2. Droit à l'effacement**

// app/api/account/delete/route.ts
import { NextRequest, NextResponse } from 'next/server';

export async function POST(request: NextRequest) {
  const user = await getCurrentUser(request);

  if (!user) {
    return NextResponse.json({ error: 'Non authentifié' }, { status: 401 });
  }

  // Anonymiser plutôt que supprimer (pour historique comptable)
  await prisma.user.update({
    where: { id: user.id },
    data: {
      name: 'Utilisateur supprimé',
      email: `deleted-${user.id}@anonymized.local`,
      phone: null,
      deletedAt: new Date(),
    },
  });

  // Supprimer données annexes non obligatoires
  await prisma.userPreferences.deleteMany({ where: { userId: user.id } });

  return NextResponse.json({ success: true });
}

Registre des traitements

**Template Excel/Notion :**

Traitement Finalité Base légale Données Durée Destinataires
Contact client Répondre demandes Consentement Nom, email, tel, message 3 ans Équipe commerciale
Newsletter Communication marketing Consentement Email Jusqu'à désinscription Plateforme email
Analytics Statistiques site Intérêt légitime IP anonyme, pages 26 mois Google (USA)
E-commerce Traitement commandes Contrat Nom, adresse, paiement 10 ans (compta) Stripe, transporteur

Sanctions et contrôles

Exemples d'amendes belges

  • **2024** : E-commerce belge — 150 000€ (absence politique cookies)
  • **2023** : Plateforme SaaS — 85 000€ (fuite données non notifiée)
  • **2023** : Site vitrine PME — 5 000€ (pas de consentement cookies)

Si contrôle de l'APD (Autorité Protection Données)

**Procédure :**

  1. Notification par courrier recommandé
  2. Demande de documents (30 jours pour répondre)
  3. Inspection possible sur site ou en ligne
  4. Rapport avec recommandations
  5. Mise en demeure si non-conformité
  6. Sanction si non-régularisation

**Documents à préparer :**

  • Registre des traitements
  • Politiques de confidentialité/cookies
  • Preuve consentements
  • Contrats sous-traitants (DPA)
  • Procédures sécurité
  • Analyse d'impact (si nécessaire)

Checklist conformité RGPD

Niveau 1 : Obligatoire

  • ✓ Politique de confidentialité accessible
  • ✓ Bannière cookies avec consentement
  • ✓ Formulaires avec cases à cocher actives
  • ✓ HTTPS activé sur tout le site
  • ✓ Registre des traitements tenu à jour
  • ✓ Droits utilisateurs implémentés (accès, suppression)
  • ✓ Contrats sous-traitants (DPA)
  • ✓ Procédure notification violations

Niveau 2 : Recommandé

  • ✓ DPO désigné (obligatoire si > 250 employés ou données sensibles)
  • ✓ Analyse d'impact (AIPD) si traitement à risque
  • ✓ Pseudonymisation/chiffrement données sensibles
  • ✓ Tests intrusion réguliers
  • ✓ Formation équipe au RGPD
  • ✓ Audit externe annuel

Outils pratiques

**Générateurs :**

  • **CNIL** : Modèles gratuits politique confidentialité
  • **iubenda** : Générateur cookies/privacy (payant)
  • **Cookiebot** : Scan cookies + bannière conforme

**Gestion consentements :**

  • **Axeptio** (français)
  • **Cookiebot**
  • **OneTrust**

**DPO externe :**

  • AvocatsGDPR.be
  • DPO-Belgique.be

**Besoin d'aide pour la conformité RGPD ?** Smidjan audite votre site et vous accompagne dans la mise en conformité complète.

Besoin d'accompagnement ?

Smidjan vous aide à mettre en place ces solutions pour votre entreprise en Belgique.

Discutons de votre projet →