Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

TP1re année15 livrables

RGPD & données personnelles

La base patients de GSB a été volée. Derrière chaque nom, une vraie personne, et une loi qui la protège : le RGPD. Tout futur développeur doit la connaître — car c'est TOI qui manipuleras ces données dans ton code.

Par Josselyn C., prof de BTS SIO. Publié le , mis à jour le .

Objectif
comprendre ce qu'est une donnée personnelle, le RGPD (principes, bases légales, droits, acteurs, obligations) et ce qu'il impose au développeur
On manipule
des cas concrets à qualifier au regard du RGPD + des bouts de code SLAM
Durée
~3 h 30 en autonomie · Pré-requis : intro cybersécurité, bases de données
Pour qui
SLAM et SISR, 1re année
Prérequis
Une introduction à la cybersécurité et les bases des bases de données.

Compétences : C3.1 Protéger les données à caractère personnel

Le RGPD n'est pas que du droit : c'est une contrainte de conception qui change ta façon de coder.

Avant de commencer

Pourquoi le RGPD te concerne (en tant que dev)

Dès que tu crées une appli qui stocke des noms, des emails, des adresses… tu manipules des données personnelles. Le RGPD (Règlement Général sur la Protection des Données) encadre strictement ce que tu as le droit d'en faire. Ce n'est pas qu'une affaire de juristes : c'est une contrainte technique qui influence ton code — ce que tu stockes, comment, combien de temps, qui peut le lire. Mal le respecter coûte très cher, et c'est au programme de l'E7 (épreuve cybersécurité).

Comment travailler ce playbook (seul)

Ce que tu sauras faire à la fin

NotionTu sauras…
Donnée personnelle (DCP)qualifier une donnée : directe, indirecte, sensible, anonyme
Pseudo / anonymisationdistinguer les deux et savoir laquelle sort du RGPD
Principes & bases légalesciter les grandes règles et les 6 fondements d'un traitement
Acteursdistinguer responsable de traitement et sous-traitant
Droitsnommer les droits des personnes et les traduire en code
Obligations & CNILregistre, notification 72 h, DPO, AIPD, sanctions
Côté code (SLAM)traduire le RGPD en choix techniques concrets

0. Derrière la base patients

Quand la base patients de GSB est volée, ce ne sont pas des « lignes » qui fuient : ce sont des personnes réelles, avec des informations intimes.

Le vol expose GSB à trois choses, toutes organisées par le RGPD : des sanctions (par la CNIL), une obligation de prévenir les victimes, et une perte de confiance majeure. Ce playbook t'explique tout le cadre — et surtout ce qu'il change pour toi quand tu codes.

Flag A1

Checkpoint

Pourquoi le vol de la base patients est-il bien plus grave que celui de la liste des imprimantes de GSB ? Cite au moins 2 conséquences concrètes pour les personnes.
Rends : ta réponse en 3-4 lignes.

0 sur 15 dans cette étape

1. C'est quoi une donnée personnelle ?

Une donnée à caractère personnel (DCP) est toute information se rapportant à une personne physique identifiée ou identifiable — directement ou indirectement. Le mot clé est identifiable : même sans nom, si on peut remonter à la personne, c'est une DCP.

CatégorieDéfinitionExemples
Identifiant directdésigne la personne à lui seulnom, email, n° de téléphone, photo du visage
Identifiant indirectpermet de ré-identifier en croisantadresse IP, identifiant de connexion, cookie, plaque d'immat., matricule
Donnée sensible
(protection renforcée)
touche à l'intimité ; traitement interdit par défaut, sauf exceptionssanté, origine ethnique, opinions politiques, religion, orientation sexuelle, données biométriques, génétique
Donnée anonymeplus aucun moyen de ré-identifierstatistique agrégée : « 62 % des patients ont plus de 50 ans »

La donnée sensible est un sous-ensemble de la DCP (encore plus protégée). La donnée anonyme, elle, sort du RGPD — à condition que la ré-identification soit vraiment impossible.

La donnée sensible est un sous-ensemble de la DCP (encore plus protégée). La donnée anonyme, elle, sort du RGPD — à condition que la ré-identification soit vraiment impossible.

Exemple travaillé (le modèle à suivre)

Qualifions ensemble une donnée, pour montrer le raisonnement attendu :

À toi : exercice de qualification

Range chacune de ces données de GSB dans la bonne case : direct / indirect / sensible / anonyme. Justifie en une ligne, comme dans l'exemple.

DonnéeTa qualification
Email du visiteur médical j.dupont@gsb.fr…
Pathologie d'un patient…
Adresse IP de connexion à l'appli…
« Nombre total de patients : 4 200 »…
Numéro de sécurité sociale…

Flag A2

Checkpoint (qualification)

Complète le tableau ci-dessus. Pour chaque ligne, indique la catégorie ET pourquoi.
Rends : ton tableau rempli et justifié.

0 sur 15 dans cette étape

2. Pseudonymiser ≠ anonymiser

On confond souvent les deux, et l'erreur a des conséquences énormes : l'une reste soumise au RGPD, l'autre en sort. C'est LE point que les jurys adorent vérifier.

PseudonymisationAnonymisation
Principeon remplace les identifiants par un code, mais une table de correspondance existeon détruit tout moyen de remonter à la personne, définitivement
Réversible ?oui (avec la clé / la table)non, jamais
Ré-identificationpossibleimpossible
RGPD ?s'applique encore (c'est toujours une DCP)ne s'applique plus
Exemplepatient « Marie Leroy » → PAT-4471, avec une table qui relie 4471 ↔ Marie« 1 patient sur 3 a un traitement chronique » (agrégat, plus aucun individu)

Flag B1

Analyse

GSB veut publier une étude : « répartition des pathologies par tranche d'âge ». Un stagiaire propose un fichier où chaque ligne = un patient avec code = PAT-xxxx, âge, pathologie, code postal.
Est-ce anonymisé ? Si non, explique le risque de ré-identification et propose une vraie solution.
Rends : ta réponse argumentée.

0 sur 15 dans cette étape

3. Le RGPD : ce que c'est, à qui ça s'applique

Le RGPD est un règlement de l'Union européenne, applicable depuis le 25 mai 2018. « Règlement » = il s'impose directement dans tous les pays de l'UE, sans loi nationale pour le transposer.

Champ d'application (qui est concerné ?)

CritèreEn clair
Matérieltout traitement de données personnelles (informatisé ou même fichier papier structuré)
Territorialtoute organisation établie dans l'UE, OU qui vise/suit des personnes situées dans l'UE — même si l'entreprise est hors UE (ex. un site US qui cible des clients français)

Transferts hors UE : trois mécanismes, un choix concret

Envoyer des DCP hors de l'Union européenne — héberger sur AWS us-east-1, utiliser Mailchimp, Stripe, SendGrid… — n'est autorisé que via un mécanisme encadré :

MécanismePrincipeExemples
Décision d'adéquationla Commission européenne a jugé que le pays offre une protection équivalente — transfert libre, sans formalité supplémentaireJapon, Canada (secteur privé), Nouvelle-Zélande, Royaume-Uni, Israël, Argentine, États-Unis (DPF, depuis juil. 2023)
Clauses contractuelles types (CCT / SCC)contrat standard approuvé par la Commission européenne, signé avec le prestataire — il s'engage contractuellement à des garanties équivalentesAWS, GCP, Azure signent tous des CCT ; Mailgun, Mailchimp, Sendgrid aussi — mais il faut le vérifier dans leur DPA
Règles d'entreprise contraignantes (BCR)politique interne approuvée par une autorité de contrôle — pour groupes multinationaux uniquementfiliales IBM, Google, Microsoft qui échangent des données en interne
Exceptions ponctuellesconsentement explicite, exécution d'un contrat, intérêt vital — usage strictement limité à des cas isolés, pas systématiquesun contrat unique avec un client hors UE ; une urgence médicale

Le RGPD repose ensuite sur deux piliers, qu'on voit dans les chapitres suivants : des principes (chap. 4) à respecter, et une base légale (chap. 5) qui justifie chaque traitement.

4. Les principes du RGPD

Tout traitement de données doit respecter ces principes. Ce sont les questions à te poser avant de stocker quoi que ce soit.

PrincipeCe qu'il imposeContre-exemple
Finalitécollecter pour un but précis, déclaré, légitime (pas « au cas où »)réutiliser des emails de livraison pour faire de la pub sans prévenir
Minimisationne collecter que le strict nécessaire à la finalitédemander la religion pour une newsletter
Licéité & loyautéavoir une base légale (chap. 5) et être transparentcollecter en douce via un script caché
Exactitudegarder des données justes et à jourgarder une vieille adresse erronée et refuser de la corriger
Conservation limitéene pas garder indéfiniment (chap. 6)conserver les CV reçus 15 ans
Sécurité (intégrité & confidentialité)protéger : chiffrement, accès restreints, sauvegardesbase patients en clair, accessible à tous
Responsabilité (accountability)pouvoir prouver à tout moment qu'on respecte les autres principes : registre des traitements, AIPD, contrats sous-traitants documentés (art. 5.2 RGPD)aucun registre tenu → impossible de se défendre lors d'un contrôle CNIL même si les données étaient bien protégées en pratique

Cas travaillé : GSB face aux principes

Voilà le réflexe : pour chaque donnée, passe les principes en revue un par un.

Flag A3

Checkpoint

Un site de météo demande ton nom, ton email, ta religion et ton numéro de sécu pour t'envoyer la météo locale.
Quels principes RGPD sont violés ? (cite-les et explique pour chacun)
Rends : ta réponse.

0 sur 15 dans cette étape

5. Les 6 bases légales

Avant tout traitement, il faut une base légale : un fondement qui le rend licite. Beaucoup de monde croit qu'il faut toujours le consentement — faux. Le consentement n'est qu'une des 6 bases. En choisir une (et la bonne) est obligatoire.

Base légaleQuand l'utiliserExemple
1. Consentementla personne a dit oui, librement et clairements'inscrire à une newsletter
2. Contratnécessaire pour exécuter un contrat avec la personneadresse de livraison d'une commande
3. Obligation légalela loi t'oblige à traiter ces donnéesconserver les factures pour le fisc
4. Intérêts vitauxprotéger la vie de quelqu'undonnées médicales en urgence vitale
5. Mission d'intérêt publicmission de service publictraitement par une administration
6. Intérêt légitimeintérêt réel de l'organisation, sans léser la personnesécurité du réseau, prévention de la fraude

Flag A4

Checkpoint

Pour chacun de ces traitements GSB, indique la base légale la plus adaptée (parmi les 6) :
a) envoyer la fiche de paie d'un salarié · b) newsletter santé optionnelle · c) garder l'historique des remboursements pour le contrôle comptable · d) journaliser les connexions pour détecter une intrusion.
Rends : tes 4 réponses justifiées.

0 sur 15 dans cette étape

6. Durée de conservation

Le principe « conservation limitée » dit : on ne garde pas les données pour toujours. À chaque donnée doit correspondre une durée, liée à la finalité. Passé ce délai → suppression ou archivage (accès très restreint), ou anonymisation.

Donnée (exemple)Durée recommandéeSource / texte de référence
CV d'un candidat non retenu2 ans max après le dernier contactRecommandation CNIL recrutement
Données client (relation commerciale)3 ans après fin de relation en base active, puis archivage 5 ansArt. 2224 Code civil (prescription) + L.123-22 Code de commerce
Factures, documents comptables10 ansArt. L.123-22 Code de commerce
Bulletins de paie (côté employeur)5 ansArt. L.3243-4 Code du travail
Cookies de mesure d'audience (consentement)13 mois pour le consentement ; données agrégées 25 moisRecommandation CNIL cookies (2020)
Images de vidéosurveillance1 mois en général, 3 mois max sans autorisation spécialeArt. L.252-5 Code de la sécurité intérieure
Dossier médical (adulte, hôpital)20 ans à compter du dernier acte médicalArt. R.1112-7 Code de la santé publique
Dossier médical (patient décédé avant 28 ans)Jusqu'à ses 28 ans ou 10 ans après le décès (le plus long)Art. R.1112-7 CSP
Logs de connexion (hébergeurs, FAI)1 anDécret n°2021-1363 — obligation légale pour enquêtes judiciaires
Numéro de carte bancaire13 mois après la transaction (litiges), archivage 5 ans (fraude)Recommandation CNIL + PCI-DSS (standard carte)

Flag A5

Checkpoint

GSB garde les comptes des visiteurs médicaux qui ont quitté l'entreprise il y a 6 ans, « au cas où ils reviendraient ». Quel principe est violé ? Propose une politique de durée raisonnable pour ces comptes.
Rends : ta réponse.

0 sur 15 dans cette étape

7. Les acteurs : qui fait quoi ?

Le RGPD distingue trois rôles. Savoir qui est quoi détermine qui est responsable en cas de problème — une question d'examen classique.

ActeurRôleExemple GSB
Personne concernéel'humain dont on traite les données ; titulaire des droitsle patient, le visiteur médical
Responsable de traitementdécide pourquoi et comment on traite ; porte la responsabilitéGSB (le laboratoire)
Sous-traitanttraite les données pour le compte du responsable, selon ses instructionsl'hébergeur du serveur, un prestataire d'emailing

La personne fournit ses données au responsable et exerce ses droits auprès de lui. Le responsable peut confier le traitement à un sous-traitant, encadré par un contrat. En cas de fuite, le responsable reste en première ligne.

La personne fournit ses données au responsable et exerce ses droits auprès de lui. Le responsable peut confier le traitement à un sous-traitant, encadré par un contrat. En cas de fuite, le responsable reste en première ligne.

Flag B2

Analyse de scénario

GSB utilise un service tiers d'envoi d'emails (Mailgun) pour notifier les visiteurs. Qui est responsable de traitement ? Qui est sous-traitant ? Qui est la personne concernée ? Et si le service tiers se fait pirater, qui doit notifier la CNIL ?
Rends : tes 4 réponses.

0 sur 15 dans cette étape

8. Les droits des personnes

Le RGPD donne à chacun des droits sur ses données. Une organisation doit pouvoir y répondre, en général sous 1 mois et gratuitement.

DroitLa personne peut…Devient en code…
Accèssavoir quelles données on a sur elle, et en obtenir copieexport de sa fiche (JSON / PDF)
Rectificationfaire corriger une donnée fausseroute PUT /mon-compte
Effacement (oubli)demander la suppression de ses donnéesroute DELETE /mon-compte
Portabilitérécupérer ses données dans un format réutilisable pour les emporter ailleursexport structuré (CSV/JSON)
Oppositionrefuser un traitement (ex. le démarchage)désinscription en 1 clic
Limitationgeler un traitement le temps d'une vérificationflag « compte suspendu »

Le droit d'accès, en vrai

Concrètement, une route qui rassemble TOUT ce qu'on a sur la personne et le renvoie :

// GET /mon-compte/export  — droit d'accès + portabilité
const moi   = await User.findById(req.user.id);
const frais = await Frais.find({ userId: req.user.id });
res.json({ profil: moi, frais });   // format réutilisable (JSON)

Flag B3

Production

Pour l'appli GSB AppliFrais, décris comment implémenter techniquement 2 droits : l'accès et l'effacement. Quelles routes ? Quelles tables/collections touchées ? Que renvoie-t-on ?
Rends : ta proposition (routes + comportement attendu).

0 sur 15 dans cette étape

9. Obligations & la CNIL

Côté organisation, le RGPD impose des obligations, contrôlées en France par la CNIL (Commission Nationale de l'Informatique et des Libertés).

ObligationEn clair
Registre des traitementsdocumenter, pour chaque traitement : quelles données, pourquoi (finalité), base légale, durée, qui y accède
Sécuritéprotéger : chiffrement, contrôle des accès, sauvegardes, mises à jour
Notification de fuiteprévenir la CNIL sous 72 h après découverte, et les victimes si le risque pour elles est élevé
DPOdésigner un Délégué à la Protection des Données (obligatoire pour le secteur public, ou en cas de traitement à grande échelle de données sensibles — ex. santé)
Privacy by design / by defaultintégrer la protection dès la conception et par défaut (chap. 11)
AIPD si risque élevéanalyser l'impact d'un traitement risqué avant de le lancer (chap. 10)

Les sanctions réelles : ce que ça coûte vraiment

Ce ne sont pas des chiffres théoriques — voici des amendes effectives prononcées sous le RGPD :

OrganisationAutoritéAnnéeManquement principalAmende
Meta IrelandDPC (Irlande)2023Transferts de données vers les USA sans mécanisme valide (période post-Schrems II)1 200 M€
AmazonCNPD (Luxembourg)2021Traitement des données de ciblage publicitaire sans base légale746 M€
Instagram (Meta)DPC (Irlande)2022Comptes d'enfants en mode public par défaut (violation privacy by default)405 M€
WhatsApp (Meta)DPC (Irlande)2021Manque de transparence sur les traitements inter-entités Meta225 M€
Google FranceCNIL (France)2021Bandeau cookies : refuser aussi difficile qu'accepter ; traceurs déposés avant le choix150 M€
Facebook FranceCNIL (France)2021Cookies publicitaires déposés sans consentement préalable60 M€
Caisse d'Allocations FamilialesCNIL (France)2024Algorithme de scoring des allocataires : traitement disproportionné, base légale insuffisante900 000 €
Brico PrivéCNIL (France)2023Démarchage téléphonique sans consentement valide600 000 €

À quoi ressemble un registre des traitements ?

C'est un tableau qui décrit chaque traitement. En voici une ligne, pour GSB :

ChampContenu (exemple GSB)
TraitementSuivi médical des patients
Finalitéassurer le suivi et les remboursements
Donnéesidentité, n° sécu, pathologies, traitements
Base légalecontrat de soins + obligation légale
Duréearchivage légal du dossier médical
Accèsmédecins habilités uniquement
Sécuritéchiffrement, accès restreint, journalisation

Tu en rédigeras un toi-même dans le mini-projet (chap. 13, Bonus A).

En cas de fuite : la marche à suivre

Le jour où GSB découvre le vol, l'ordre des gestes compte. Voici la procédure type :

  1. Contenir : couper l'accès exploité, changer les secrets, isoler le système touché.
  2. Qualifier : quelles données ? combien de personnes ? quel risque pour elles ?
  3. Notifier la CNIL sous 72 h (qui, quoi, conséquences, mesures prises).
  4. Informer les victimes si le risque pour elles est élevé (ici : oui, données de santé).
  5. Documenter : tout consigner (l'organisation doit pouvoir prouver qu'elle a réagi).
  6. Corriger la faille pour qu'elle ne se reproduise pas.

Flag D1

Investigation

Cherche une sanction réelle prononcée par la CNIL (ou une autre autorité européenne). Relève : l'entreprise, le manquement reproché, le montant.
Rends : ta fiche en 3 lignes + le lien de ta source.

0 sur 15 dans cette étape

10. L'AIPD (analyse d'impact)

Pour les traitements à risque élevé, le RGPD impose une AIPD (Analyse d'Impact relative à la Protection des Données ; en anglais PIA, Privacy Impact Assessment). C'est une étude qu'on mène avant de lancer le traitement.

Les 9 critères CNIL — quand une AIPD est obligatoire

La CNIL a publié une liste de 9 types de traitements qui peuvent déclencher une AIPD. Dès que 2 critères sur 9 sont réunis, l'AIPD est obligatoire (lignes directrices CEPD et liste CNIL 2018) :

#CritèreExemple GSB
1Évaluation / scoring de personnesalgorithme de risque de non-remboursement
2Décision automatique avec effet légal ou similairerefus de prise en charge automatique
3Surveillance systématique (monitoring à grande échelle)tracking des déplacements des visiteurs médicaux via GSM
4Données sensibles (art. 9 RGPD) ou données à caractère très personneldonnées de santé des patients → critère automatiquement présent
5Traitement à grande échelletraiter les données de milliers de patients simultanément
6Croisement / combinaison de données issues de sources distinctescroiser BDD patients + données de géolocalisation externe
7Données sur des personnes vulnérables (enfants, patients, précaires…)patients hospitalisés = personnes vulnérables
8Usage innovant ou application de nouvelles technologiesIA pour prédire des pathologies à partir de l'historique médical
9Transfert de données hors UE empêchant l'exercice des droitshébergement sur serveur US sans DPA ni CCT

Structure d'une AIPD : les 4 questions-clés

L'AIPD répond à…Ce qu'on documenteExemple GSB
Description du traitementquoi, pourquoi, qui, comment, combien de tempssuivi médical : données de santé, 20 ans, accès médecins habilités
Nécessité et proportionnalitéla donnée est-elle vraiment indispensable ?le n° de sécu est nécessaire ; la profession du patient ne l'est pas
Identification des risquesscénarios de menace + probabilité + gravitéfuite → discrimination à l'assurance (gravité très haute), accès interne abusif (probabilité modérée)
Mesures d'atténuationce qu'on met en place pour réduire chaque risquechiffrement AES-256, accès cloisonné par rôle, journalisation des consultations, sauvegardes chiffrées

Et si l'AIPD révèle un risque résiduel élevé ?

Si, même après toutes les mesures, le risque reste élevé, le responsable de traitement doit consulter la CNIL avant de lancer le traitement (art. 36 RGPD). La CNIL dispose alors de 8 semaines pour répondre (prolongeable de 6 semaines supplémentaires). Si elle s'y oppose → le traitement ne peut pas démarrer.

Flag A6

Checkpoint

GSB lance un nouveau module qui analyse les pathologies des patients pour faire des statistiques. Une AIPD est-elle nécessaire ? Justifie en t'appuyant sur les critères (données sensibles, échelle).
Rends : ta réponse.

0 sur 15 dans cette étape

11. Le RGPD dans ton code

Pour un développeur SLAM, le RGPD se traduit en choix techniques concrets. Deux principes officiels guident tout :

PrincipeCe que ça veut dire
Privacy by designpenser la protection dès la conception, pas après coup
Privacy by defaultles réglages par défaut sont les plus protecteurs (rien d'activé sans accord)

1. Consentement : la case NON pré-cochée

Privacy by default = la case n'est jamais cochée d'avance. C'est à l'utilisateur de faire le geste.

html
<!-- MAUVAIS : case déjà cochée (consentement invalide) -->
<input type="checkbox" name="pub" checked> Recevoir des offres

<!-- BON : décochée par défaut, l'utilisateur choisit -->
<input type="checkbox" name="pub"> Recevoir des offres

2. Droit à l'oubli : soft-delete ≠ hard-delete

Beaucoup d'applis « suppriment » en posant juste un drapeau. Attention : si la donnée reste lisible, le droit à l'oubli n'est PAS respecté.

// Soft-delete : on marque, mais la donnée RESTE (insuffisant seul)
await Patient.updateOne({ _id: id }, { supprime: true });

// Hard-delete : on efface vraiment (satisfait le droit à l'oubli)
await Patient.deleteOne({ _id: id });

3. Sécurité : hasher vs chiffrer

// Mot de passe : on HASHE (irréversible, on ne le relit jamais)
const hash = await bcrypt.hash(motDePasse, 12);

// Donnée sensible qu'on doit relire : on CHIFFRE (réversible avec une clé)
const chiffre = chiffrerAES(numeroSecu, cleSecrete);

Comparaison des algorithmes de hachage

AlgorithmePrévu pour…Vitesse (GPU)Pour les mots de passe ?Longueur du hash
MD5intégrité de fichiermilliards/sNON — cassé en secondes128 bits (32 hex)
SHA-1intégrité, anciennes signaturesmilliards/sNON — cassé rapidement160 bits (40 hex)
SHA-256intégrité, TLS, blockchaincentaines M/sNON seul — trop rapide256 bits (64 hex)
bcryptmots de passemilliers/s (coût 12)OUI — recommandé60 chars (format $2b$12$…)
argon2idmots de passelent + mémoire-intensifOUI — référence OWASPvariable (~95 chars)

4. Injection SQL : la faille qui vole les données (GSB Ordonnances, C#)

La faille OWASP A03 (Injection) : elle survient quand on colle des données utilisateur directement dans le texte d'une requête SQL.

// DANGEREUX — concaténation directe (GSB 1A : NE JAMAIS FAIRE)
string sql = "SELECT * FROM Patient WHERE nom = '" + txtNom.Text + "'";
cmd.CommandText = sql;
// Si l'utilisateur saisit : ' OR '1'='1
// → requête résultante : SELECT * FROM Patient WHERE nom = '' OR '1'='1'
// → renvoie TOUS les patients
// BON — requête paramétrée (GSB 1A, C# ADO.NET + MySQL)
string sql = "SELECT * FROM Patient WHERE nom = @nom";
using var cmd = new MySqlCommand(sql, connexion);
cmd.Parameters.AddWithValue("@nom", txtNom.Text);  // valeur transmise séparément
using var reader = cmd.ExecuteReader();

5. Traçabilité : journaliser les accès sensibles

logger.info(`ACCES dossier patient ${id} par user ${req.user.id} le ${new Date().toISOString()}`);

6. Authentification : JWT et gestion des tokens (GSB AppliFrais)

Quand un visiteur se connecte à GSB AppliFrais, le serveur lui remet un JWT (JSON Web Token) — une carte d'identité numérique qu'il présentera à chaque requête API.

// Génération d'un access token (Node.js / jsonwebtoken)
const accessToken = jwt.sign(
  { userId: user._id, role: user.role },   // payload (données non secrètes)
  process.env.JWT_SECRET,                  // clé secrète (min. 256 bits)
  { expiresIn: '15m' }                     // expiration courte
);

// Refresh token (durée longue, stocké en BDD côté serveur)
const refreshToken = jwt.sign(
  { userId: user._id },
  process.env.JWT_REFRESH_SECRET,
  { expiresIn: '7d' }
);

Flag C1

Debug (bug volontaire)

Un collègue a écrit ce formulaire d'inscription GSB :
<input type="checkbox" name="cgu" checked> J'accepte le partage de mes données santé
Il contient deux fautes RGPD. Trouve-les, corrige le code, et explique pourquoi chacune était une faute.
Rends : le code corrigé + tes 2 explications.

0 sur 15 dans cette étape

Flag A7

Checkpoint

Donne 3 choses concrètes qu'un développeur fait dans son code pour respecter le RGPD (autres que celles déjà citées en exemple).
Rends : ta réponse.

0 sur 15 dans cette étape

12. Cookies & consentement web

Sur le web, certains cookies (et traceurs) déposés sur le navigateur de l'utilisateur servent à le pister. Le RGPD (complété par la directive « ePrivacy ») impose des règles précises — c'est le bandeau cookies que tu vois partout.

Type de cookieConsentement requis ?
Strictement nécessaire (panier, session de connexion)Non : indispensable au service
Mesure d'audience anonymisée (selon conditions)Parfois dispensé
Publicité, traceurs tiers, réseaux sociauxOui : consentement préalable

Flag D2

Investigation

Va sur un site grand public et observe son bandeau cookies. « Refuser » est-il aussi accessible qu'« Accepter » ? Y a-t-il un choix par finalité ?
Rends : le site observé + ton verdict (conforme / non) en 3 lignes.

0 sur 15 dans cette étape

13. Mini-projet : audit RGPD

La mission

Tu audites une petite application (GSB, ou une appli que tu connais) au regard du RGPD, comme le ferait un DPO junior. Tu produis un vrai tableau d'analyse de conformité.

Étape 1 — Recenser les données

Liste toutes les données personnelles collectées par l'appli. Repère les sensibles.

Étape 2 — Pour chaque donnée, qualifier la conformité

Remplis ce tableau (une ligne par donnée) :

DonnéeFinalitéBase légaleDuréeMinimisée ?Conforme ?
email……………
………………

Étape 3 — Vérifier les droits

L'utilisateur peut-il : accéder à ses données ? les corriger ? les faire effacer ? Si non, c'est un écart à corriger.

Étape 4 — Recommander

Propose 3 améliorations concrètes (techniques et/ou organisationnelles).

Flag B4

Mini-projet (production)

Produis ton audit complet : le tableau rempli (étape 2) + l'analyse des droits (étape 3) + tes 3 recommandations (étape 4).
Rends : ton document d'audit. C'est la démarche d'une vraie analyse de conformité.

0 sur 15 dans cette étape

Défis bonus (Flag E)

Bonus A : rédige un mini « registre des traitements » pour UN traitement (données, finalité, base légale, durée, accès).
Bonus B : explore le site de la CNIL et résume, en 3 lignes, un de ses conseils destinés aux développeurs.
Bonus C : reprends ton appli de projet et code réellement une des mesures du chapitre 11 (case décochée, route DELETE…).

0 sur 15 dans cette étape

Pour finir

Ton antisèche

NotionEn un mot
DCPtoute info sur une personne identifiable (directe ou indirecte)
Donnée sensiblesanté, opinions… protection renforcée
Pseudo vs anonymepseudo = réversible, reste DCP · anonyme = irréversible, hors RGPD
Bases légales6 fondements (consentement n'est qu'un seul)
Acteurspersonne · responsable · sous-traitant
Droitsaccès, rectification, oubli, portabilité, opposition, limitation
CNILl'autorité qui contrôle et sanctionne (jusqu'à 4 % du CA)
Privacy by design/defaultprotéger dès la conception, et par défaut

Vérifie tes acquis

  1. Qu'est-ce qu'une donnée personnelle ? Donne un exemple indirect.
  2. Quelle différence entre pseudonymisation et anonymisation ? Laquelle sort du RGPD ?
  3. Cite 3 principes du RGPD.
  4. Cite 3 des 6 bases légales (le consentement n'est-il pas obligatoire ?).
  5. Différence entre responsable de traitement et sous-traitant ?
  6. Cite 3 droits des personnes.
  7. Que doit faire une entreprise en cas de fuite de données ? (délai ?)
  8. Cite 3 traductions techniques du RGPD dans le code.

Glossaire

MotDéfinition
RGPDrèglement européen (2018) de protection des données personnelles
DCPdonnée à caractère personnel
Traitementtoute opération sur des données (collecte, stockage, consultation, suppression…)
Donnée sensiblesanté, origine, opinions… traitement très encadré
Pseudonymisationremplacer les identifiants, mais de façon réversible (reste une DCP)
Anonymisationrendre la ré-identification impossible (sort du RGPD)
Base légalefondement qui rend un traitement licite (6 possibles)
Responsable de traitementcelui qui décide pourquoi et comment on traite
Sous-traitantcelui qui traite pour le compte du responsable
Droit à l'oublidroit de faire effacer ses données
CNILautorité française de protection des données
DPOdélégué à la protection des données
AIPDanalyse d'impact, obligatoire pour les traitements à risque
Privacy by designprotéger les données dès la conception
Privacy by defaultréglages par défaut les plus protecteurs

TP terminé ?

Coche chaque livrable quand tu l'as : c'est la preuve que l'étape est acquise.

livrables
–
de série
–
Voir tous les TP