From cd7dfb6ce979ef7f17d73679b023fcbc78a53cd5 Mon Sep 17 00:00:00 2001 From: Azmog <80716388+AzmogEx@users.noreply.github.com> Date: Fri, 19 Jun 2026 15:55:20 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20r=C3=A9=C3=A9crit=20l'antis=C3=A8che=20?= =?UTF-8?q?orale=20en=20'ce=20que=20je=20dis'=20(phrases=20pr=C3=AAtes=20+?= =?UTF-8?q?=20glossaire)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plan2_Oral_CESIZen.md | 276 +++++++++++++++++++++++++++--------------- 1 file changed, 176 insertions(+), 100 deletions(-) diff --git a/Plan2_Oral_CESIZen.md b/Plan2_Oral_CESIZen.md index 8d6a732..69dca6b 100644 --- a/Plan2_Oral_CESIZen.md +++ b/Plan2_Oral_CESIZen.md @@ -1,123 +1,199 @@ -# 🎯 AntisĂšche oral CESIZen — Ă  garder sous les yeux +# đŸŽ€ Mon oral CESIZen — ce que je dis, Ă©tape par Ă©tape -**20 min (prĂ©sentation + dĂ©mo live de l'app) + 10 min Q/R · 16 slides · checkpoint Ă  12:30** +**Format : 20 min de prĂ©sentation (avec dĂ©mo en direct) + 10 min de questions.** +Garde cette feuille sous les yeux. À chaque Ă©tape : ce que je **dis**, ce que je **montre**, et la phrase pour **enchaĂźner**. -> 🌐 App en ligne : **https://cesizen.cleanows.fr** (API : api.cesizen.cleanows.fr) · Interface au **SystĂšme de Design de l'État (DSFR)** +> 🌐 L'appli est en ligne pour de vrai : **https://cesizen.cleanows.fr** +> 🎹 Toute l'interface suit la charte graphique de l'État (le **DSFR**, comme les sites en gouv.fr). --- -## 🔱 Chiffres Ă  sortir sans hĂ©siter -- **22 %** des Français = trouble de santĂ© mentale au cours de leur vie (SantĂ© Publique France, 2023) -- **2** modules obligatoires (Comptes, Informations) **+ 1** au choix (Tracker) -- Priorisation **/15** → le Tracker cumule **4 fonctions Ă  9-10/15** -- **6** Ă©motions de base **+ 36** sous-Ă©motions (rĂ©fĂ©rentiel du sujet) -- **8** entitĂ©s au MCD · **1** API REST → **2** clients (web + mobile) -- JWT **60 min** + refresh · throttle login **5/min** -- **29** tests automatisĂ©s (19 back + 6 front + 4 mobile) -- **DSFR** : interface au SystĂšme de Design de l'État (charte gouv.fr) — web + mobile -- **DĂ©ployĂ© en ligne** : https://cesizen.cleanows.fr (Docker + HTTPS, vrai service en prod) -- Contraintes sujet : budget **75 000 €**, livraison **12 mois** +## 🔱 Les chiffres Ă  connaĂźtre par cƓur (Ă  glisser pour faire pro) + +- **1 Français sur 5** (22 %) connaĂźt un trouble de santĂ© mentale au cours de sa vie. +- **3 modules** dĂ©veloppĂ©s : 2 obligatoires (Comptes, Informations) + 1 au choix (le **Tracker d'Ă©motions**). +- **6 Ă©motions de base** (Joie, ColĂšre, Peur, Tristesse, Surprise, DĂ©goĂ»t) + **36 sous-Ă©motions**. +- **1 seule API** (le cerveau cĂŽtĂ© serveur) qui alimente **2 applications** : le site web et l'appli mobile. +- **29 tests automatisĂ©s** qui vĂ©rifient que tout marche (19 serveur + 6 web + 4 mobile). +- Contraintes du sujet : **75 000 €** de budget, **12 mois** de dĂ©lai. + +*Si tu retiens UNE phrase : « 3 modules aboutis, une seule API pour le web et le mobile, et c'est dĂ©ployĂ© en ligne pour de vrai. »* --- -## đŸ—ș DĂ©roulĂ© (mots-clĂ©s seulement) — dĂ©mo live intĂ©grĂ©e +## đŸ—ș Le dĂ©roulĂ© — qu'est-ce que je raconte, dans l'ordre ? -**0:00–2:00 · Intro (slides 1-2)** -- Qui je suis · commanditaire = MinistĂšre · objet = plateforme grand public santĂ© mentale -- Fil rouge : *« recueil → priorisation → rĂ©ponse fonctionnelle + dĂ©mo → modĂ©lisation → RGPD »* -- âžĄïž *« Commençons par le contexte. »* +> 💡 Astuce : Ă  l'intro, j'annonce mon plan en une phrase simple. C'est ça, le « fil rouge » : je raconte mon projet **comme une histoire** — d'abord le besoin, puis mes choix, puis la solution, puis la technique, puis la sĂ©curitĂ©. -**2:00–4:30 · Contexte & parties prenantes (slides 3-4)** -- Enjeu sociĂ©tal (22 %, stigmatisation) · 4 objectifs stratĂ©giques -- Parties prenantes : MinistĂšre ↔ apprenant ↔ HDS ↔ utilisateurs ↔ CNIL · 3 acteurs -- 💬 *« le besoin a Ă©tĂ© reformulĂ©, pas recopiĂ© »* -- âžĄïž *« Comment ai-je choisi quoi dĂ©velopper ? »* +### ⏱ 0:00–2:00 — Introduction (slides 1-2) +đŸŽ€ **Je dis :** +> « Bonjour, je m'appelle Adam Marzuk, je suis Ă©tudiant Ă  CESI. Je vais vous prĂ©senter **CESIZen**, une plateforme grand public de santĂ© mentale. Le commanditaire est le **MinistĂšre des SolidaritĂ©s et de la SantĂ©**. » +> +> « Pour vous prĂ©senter mon travail, je vais suivre le cheminement d'un vrai projet : **1)** comprendre le besoin, **2)** choisir quoi dĂ©velopper en prioritĂ©, **3)** vous montrer la solution avec une **dĂ©monstration en direct**, **4)** l'architecture technique, et **5)** la protection des donnĂ©es. » -**4:30–6:00 · Besoins & priorisation (slides 5-6)** -- PĂ©rimĂštre : 2 oblig + Tracker · modules Ă©cartĂ©s **assumĂ©s** -- Grille pondĂ©rĂ©e /15 → Tracker = plus rentable -- âžĄïž *« Voyons la rĂ©ponse fonctionnelle. »* - -**6:00–8:30 · RĂ©ponse fonctionnelle Comptes + Informations (slides 7-8)** -- **Comptes** : JWT · RGPD · admin CRUD (maquette) -- **Informations** : feeds · slug auto · modĂ©ration (maquette) -- 💬 **DSFR transversal** : toute l'interface (web + mobile) suit le **SystĂšme de Design de l'État** → en-tĂȘte « RĂ©publique Française », accessibilitĂ© RGAA, crĂ©dibilitĂ© institutionnelle -- âžĄïž *« Et pour le Tracker, je vais vous le montrer en direct. »* - -**8:30–12:30 · 🎬 DÉMO LIVE — le Tracker (voir script ci-dessous)** -- inscription/connexion → journal → wizard 3 Ă©tapes → rapport graphique -- 💬 chaque Ă©cran = rĂ©ponse Ă  un besoin prĂ©cis -- âžĄïž *« Voyons maintenant ce qui structure tout ça techniquement. »* - -**12:30–16:00 · ModĂ©lisation (slides 10-11-12)** — ⚠ si retard, accĂ©lĂšre ici -- **Cas d'usage UML** : couverture par acteur -- **MCD Merise** : 8 entitĂ©s · cardinalitĂ©s · hiĂ©rarchie Ă©motions auto-rĂ©fĂ©rencĂ©e (parent_id) -- **MVC dĂ©couplĂ©** : 1 API → 2 clients · justif = testabilitĂ©, Ă©volutivitĂ©, non-duplication -- âžĄïž *« Ces donnĂ©es Ă©tant sensibles, parlons RGPD. »* - -**16:00–17:30 · RGPD & sĂ©curitĂ© (slide 13)** -- DonnĂ©es de santĂ© = sensibles (art. 9) · consentement · droits CNIL (export/anonymisation) -- bcrypt (mdp) · soft delete · **table audits alimentĂ©e** (observers Eloquent : crĂ©ation/modif/suppression tracĂ©es) · AES-256 prĂ©vu en prod HDS · TLS -- âžĄïž *« Tout cela est concrĂ©tisĂ© par un prototype. »* - -**17:30–19:00 · Prototype & perspectives (slide 14)** -- Stack rĂ©elle : Laravel + Next.js + Expo + Docker · **29 tests automatisĂ©s** -- **DĂ©ployĂ© en ligne** : https://cesizen.cleanows.fr (Coolify, conteneurs Docker, HTTPS) → *« ce n'est pas qu'une maquette, c'est en production »* -- Ouverture : activer les modules Ă©cartĂ©s sans réécrire · Mon Espace SantĂ© (FHIR) · Open Data - -**19:00–20:00 · Conclusion** -- 1 phrase : *besoin reformulĂ© → pĂ©rimĂštre priorisĂ© → rĂ©ponse fonctionnelle → archi pĂ©renne → conformitĂ©* -- Remercier · *« Je suis Ă  votre disposition pour vos questions. »* +👉 **J'enchaĂźne :** « Commençons par le contexte. » --- -## 🎬 Script de dĂ©mo (≈ 4 min) — le Tracker en direct +### ⏱ 2:00–4:30 — Le contexte et les personnes concernĂ©es (slides 3-4) +đŸŽ€ **Je dis :** +> « La santĂ© mentale est un enjeu de sociĂ©tĂ© majeur : **1 Français sur 5** est concernĂ©, et le sujet reste tabou. L'objectif du MinistĂšre, c'est d'aider chacun Ă  mieux comprendre et gĂ©rer son stress au quotidien. » +> +> « Plusieurs acteurs entrent en jeu : le **MinistĂšre** (le commanditaire), les **utilisateurs** (le grand public), et la **CNIL** (le gendarme des donnĂ©es personnelles, qu'on doit respecter). Dans l'appli, il y a **3 profils** : le visiteur non connectĂ©, l'utilisateur connectĂ©, et l'administrateur. » -**AVANT de commencer l'oral** (Ă  faire pendant l'installation, app dĂ©jĂ  lancĂ©e) : -- onglet navigateur ouvert sur **https://cesizen.cleanows.fr** (en ligne) — repli **http://localhost:3000** si pas de rĂ©seau (`docker compose up -d`) -- **dĂ©jĂ  connectĂ©** sur le compte de dĂ©mo · zoom navigateur Ă  **125 %** · notifications coupĂ©es -- Compte : laisser le **journal prĂ©-rempli** de quelques saisies (sinon le rapport est vide) +💬 **Phrase qui montre que j'ai rĂ©flĂ©chi :** +> « J'ai **reformulĂ©** le besoin avec mes mots, je ne me suis pas contentĂ© de recopier le sujet. » -**Pendant la dĂ©mo (chemin balisĂ©, ne pas improviser) :** -1. *(20 s)* Page **Informations** publique → *« voici le module Informations, accessible sans compte »* -2. *(30 s)* **Journal de bord** → *« le membre retrouve son historique Ă©motionnel »* -3. *(90 s)* **Nouvelle saisie** → wizard : Étape 1 Ă©motion (Joie) → Étape 2 sous-Ă©motion + intensitĂ© (slider) → Étape 3 date + note → **Valider** → *« elle apparaĂźt immĂ©diatement dans le journal »* -4. *(60 s)* **Rapports** → changer la pĂ©riode (semaine → mois) → *« camembert de rĂ©partition + courbe d'Ă©volution, calculĂ©s cĂŽtĂ© API »* -5. *(20 s, si le temps)* mention rapide **admin** : config des Ă©motions - -🛟 **Filet de sĂ©curitĂ©** : si la dĂ©mo plante, je bascule sur les **maquettes des slides** sans m'excuser → *« je vous montre les Ă©crans clĂ©s »*. ZĂ©ro stress. - -🔑 Admin seedĂ© : `admin@cesizen.fr` / `Admin123!` +👉 **J'enchaĂźne :** « Maintenant, comment j'ai choisi quoi dĂ©velopper ? » --- -## ❓ Q/R — rĂ©flexes (question → mots-clĂ©s de rĂ©ponse) -- **Pourquoi le Tracker ?** → grille /15 en tĂȘte · 3 modules aboutis > 6 superficiels · archi extensible -- **Pourquoi MVC dĂ©couplĂ© ?** → 1 API → 2 clients · logique non dupliquĂ©e · testable -- **Stack ?** → Laravel (MVC mature, sĂ©cu native) · Next (SSR/SEO) · Expo (iOS+Android) · Postgres (ACID, HDS) -- **Tracker en 1-1 (HasOne) ?** → journal personnel unique · extensible en 1-N -- **HiĂ©rarchie Ă©motions ?** → 1 table, auto-rĂ©fĂ©rence parent_id · niveau 1 NULL / niveau 2 renseignĂ© -- **DonnĂ©es sensibles / RGPD ?** → consentement · droits CNIL implĂ©mentĂ©s · HDS · bcrypt + AES prĂ©vu -- **Soft delete vs anonymisation ?** → soft delete = rĂ©versible 30j ; anonymisation = dissocie identitĂ© -- **JWT, risques ?** → stateless/scalable · expiration courte + refresh · throttle anti-bruteforce · MFA prĂ©vu -- **OĂč est stockĂ© le token ?** → mobile = SecureStore (chiffrĂ© OS) · web = localStorage (limite XSS assumĂ©e, cible = cookie HttpOnly en v2) -- **TraçabilitĂ© ?** → table audits **rĂ©ellement alimentĂ©e** par observers Eloquent (qui/quoi/quand : action, table, anciennes/nouvelles valeurs, IP) · mdp jamais loggĂ© -- **ScalabilitĂ© 5000 users ?** → API stateless · index Postgres · pagination · cache TanStack Query -- **RĂ©ellement dĂ©veloppĂ© ?** → prototype 3 modules (API+web+mobile) + 29 tests automatisĂ©s · **dĂ©ployĂ© en ligne** (Coolify/Docker/HTTPS) -- **Pourquoi le DSFR ?** → service de l'État → charte obligatoire gouv.fr · accessibilitĂ© RGAA native · cohĂ©rence + confiance · gain de temps (composants prĂȘts) -- **Vraiment en production ?** → oui : https://cesizen.cleanows.fr · conteneurs Docker · base PostgreSQL · CI de build · HTTPS +### ⏱ 4:30–6:00 — Mes choix : qu'est-ce que je dĂ©veloppe en prioritĂ© ? (slides 5-6) +đŸŽ€ **Je dis :** +> « Je ne pouvais pas tout faire. J'ai donc **notĂ© chaque fonctionnalitĂ©** selon des critĂšres : sa complexitĂ©, sa valeur pour le MinistĂšre, sa valeur pour l'utilisateur, etc. — une note sur 15. » +> +> « RĂ©sultat : le **Tracker d'Ă©motions** ressort en tĂȘte. J'ai prĂ©fĂ©rĂ© faire **3 modules aboutis** plutĂŽt que 6 modules bĂąclĂ©s. Les modules que j'ai Ă©cartĂ©s, je l'assume : c'est un choix rĂ©flĂ©chi, pas un oubli. » -### đŸ›Ąïž Si une question pique (Ă©carts assumĂ©s Ă  dĂ©fendre calmement) -- **« Mot de passe oubliĂ© »** → Ă©cran prĂ©sent, flux backend prĂ©vu en v2 -- **Chiffrement AES** → honnĂȘte : bcrypt aujourd'hui, AES-256 au repos prĂ©vu en prod HDS -- **Diagramme d'Ă©tat-transition** → non inclus, le MCD + sĂ©quences couvrent l'essentiel -- *RĂšgle d'or : si je ne sais pas, je l'assume et je propose une piste.* +👉 **J'enchaĂźne :** « Voyons maintenant la solution que j'ai construite. » --- -## 🧘 RĂ©flexes de prise de parole -- 3 respirations avant d'entrer (clin d'Ɠil au sujet) -- Debout, ancrĂ© · **commenter** les slides, ne pas les lire -- Pause aprĂšs chaque idĂ©e clĂ© · regarder les 3 Ă©valuateurs -- Checkpoint **12:00** = fin rĂ©ponse fonctionnelle ; garder 1 min pour conclure -- Finir sur l'ouverture, jamais sur une excuse +### ⏱ 6:00–8:30 — La solution : Comptes + Informations (slides 7-8) +đŸŽ€ **Je dis :** +> « Le module **Comptes** gĂšre l'inscription, la connexion sĂ©curisĂ©e, le profil, et un espace d'administration. » +> +> « Le module **Informations**, ce sont des articles de prĂ©vention sur la santĂ© mentale, consultables mĂȘme sans compte. » +> +> « Petit point important sur tout le projet : l'interface suit le **SystĂšme de Design de l'État**, la charte graphique officielle des sites publics français. D'oĂč l'en-tĂȘte **"RĂ©publique Française"**. Ça apporte de la **crĂ©dibilitĂ©** et ça respecte les normes d'**accessibilitĂ©**. » + +👉 **J'enchaĂźne :** « Et le cƓur du projet, le Tracker, je vais vous le montrer en direct. » + +--- + +### ⏱ 8:30–12:30 — 🎬 LA DÉMO EN DIRECT (le Tracker) +👉 *Voir le script de dĂ©mo dĂ©taillĂ© plus bas.* IdĂ©e Ă  rĂ©pĂ©ter pendant que je clique : +> « Chaque Ă©cran que je vous montre rĂ©pond Ă  un besoin prĂ©cis de l'utilisateur. » + +👉 **J'enchaĂźne :** « Voyons maintenant ce qui fait tourner tout ça, cĂŽtĂ© technique. » + +--- + +### ⏱ 12:30–16:00 — La technique (slides 10-11-12) +> ⚠ Si je suis en retard, c'est ici que j'accĂ©lĂšre. + +đŸŽ€ **Je dis (en montrant les schĂ©mas) :** +> « Voici le **diagramme des cas d'usage** : il montre qui peut faire quoi (le visiteur, l'utilisateur, l'admin). » +> +> « Voici le **MCD**, le plan de ma base de donnĂ©es : **8 tables** et leurs liens. DĂ©tail intĂ©ressant : les Ă©motions et sous-Ă©motions sont dans **une seule table** qui se rĂ©fĂ©rence elle-mĂȘme (une Ă©motion peut avoir une Ă©motion "parente"). » +> +> « Et voici mon choix d'architecture : **une seule API** centrale qui sert **deux applications** (le web et le mobile). L'avantage : je n'Ă©cris la logique **qu'une seule fois**, c'est plus facile Ă  tester et Ă  faire Ă©voluer. » + +👉 **J'enchaĂźne :** « Comme on manipule des donnĂ©es de santĂ©, parlons de leur protection. » + +--- + +### ⏱ 16:00–17:30 — La protection des donnĂ©es / RGPD (slide 13) +đŸŽ€ **Je dis :** +> « Les donnĂ©es de santĂ© sont **sensibles** au sens de la loi (article 9 du RGPD). J'ai donc prĂ©vu : le **consentement** Ă  l'inscription, le droit d'**exporter ses donnĂ©es** et de **supprimer son compte**. » +> +> « CĂŽtĂ© sĂ©curitĂ© : les **mots de passe sont chiffrĂ©s**, et toutes les actions importantes sont **tracĂ©es** dans un journal d'audit (qui a fait quoi, et quand). Pour une vraie mise en production sur un hĂ©bergeur de santĂ©, le **chiffrement complet des donnĂ©es** est prĂ©vu. » + +👉 **J'enchaĂźne :** « Tout cela n'est pas qu'un dossier : c'est une appli qui tourne. » + +--- + +### ⏱ 17:30–19:00 — Le prototype et la suite (slide 14) +đŸŽ€ **Je dis :** +> « J'ai dĂ©veloppĂ© un vrai prototype des 3 modules, en web **et** en mobile, avec **29 tests automatisĂ©s**. » +> +> « Et surtout : **c'est dĂ©ployĂ© en ligne, en vrai**, sur https://cesizen.cleanows.fr, dans des conteneurs Docker, en HTTPS. Ce n'est pas une maquette. » +> +> « Pour la suite, on pourrait activer les modules Ă©cartĂ©s sans tout réécrire, ou se connecter Ă  Mon Espace SantĂ©. » + +--- + +### ⏱ 19:00–20:00 — Conclusion +đŸŽ€ **Je dis :** +> « Pour rĂ©sumer : j'ai **compris le besoin**, **priorisĂ©** ce qui compte, livrĂ© une **solution concrĂšte et dĂ©ployĂ©e**, sur une **architecture solide**, en respectant la **protection des donnĂ©es**. Merci de votre attention, je suis Ă  votre disposition pour vos questions. » + +--- + +## 🎬 Script de la dĂ©mo (≈ 4 min) — Ă  suivre dans l'ordre + +**✅ À prĂ©parer AVANT de commencer (pendant l'installation) :** +- Onglet dĂ©jĂ  ouvert sur **https://cesizen.cleanows.fr**, **dĂ©jĂ  connectĂ©** au compte de dĂ©mo. +- Zoom du navigateur Ă  **125 %**, notifications coupĂ©es. +- VĂ©rifier que le journal a **dĂ©jĂ  des saisies** (sinon les rapports sont vides). +- 🔑 Compte dĂ©mo : `demo@cesizen.fr` / `Demo123!` · Admin : `admin@cesizen.fr` / `Admin123!` + +**▶ Pendant la dĂ©mo (je clique et je commente) :** +1. *(20 s)* **Page Informations** → « Voici les articles de prĂ©vention, accessibles sans mĂȘme se connecter. » +2. *(30 s)* **Mon journal** → « Ici, l'utilisateur retrouve l'historique de ses Ă©motions. » +3. *(90 s)* **Nouvelle saisie** → « On enregistre une Ă©motion en 3 Ă©tapes : 1) on choisit l'Ă©motion (ex. Joie), 2) on prĂ©cise la sous-Ă©motion et l'intensitĂ©, 3) on ajoute une note. Je valide
 et elle apparaĂźt tout de suite dans le journal. » +4. *(60 s)* **Mes rapports** → « Et voici les statistiques : un camembert de rĂ©partition et une courbe d'Ă©volution. Je change la pĂ©riode, semaine puis mois — tout est recalculĂ© par l'API. » +5. *(20 s, si le temps)* **Espace admin** → « CĂŽtĂ© administrateur, on peut configurer les Ă©motions disponibles. » + +🛟 **Si la dĂ©mo plante :** je reste calme et je bascule sur les **captures d'Ă©cran de mes slides**, sans m'excuser → « Je vous montre les Ă©crans clĂ©s directement. » + +--- + +## ❓ Questions du jury — mes rĂ©ponses prĂȘtes (en phrases) + +> Pour chaque question : une rĂ©ponse courte que je peux dire telle quelle. + +**« Pourquoi avoir choisi le Tracker d'Ă©motions ? »** +> « Parce qu'il ressort en tĂȘte de ma grille de priorisation, et qu'il valait mieux faire 3 modules aboutis que 6 superficiels. En plus, mon architecture permet d'ajouter les autres plus tard. » + +**« Pourquoi une seule API pour deux applications ? »** +> « Pour ne pas Ă©crire deux fois la mĂȘme logique. La rĂšgle mĂ©tier est au mĂȘme endroit, c'est plus simple Ă  tester, Ă  corriger et Ă  faire Ă©voluer. Le web et le mobile ne sont que deux "façades" sur le mĂȘme cerveau. » + +**« Quelles technologies, et pourquoi ? »** +> « **Laravel** cĂŽtĂ© serveur, car c'est un framework mature et sĂ©curisĂ©. **Next.js** pour le web. **Expo / React Native** pour avoir iOS et Android avec un seul code. Et **PostgreSQL** comme base de donnĂ©es, fiable pour des donnĂ©es sensibles. » + +**« Comment gĂ©rez-vous les Ă©motions et sous-Ă©motions ? »** +> « Tout est dans une seule table qui se rĂ©fĂ©rence elle-mĂȘme : une Ă©motion de niveau 1 n'a pas de parent, une sous-Ă©motion de niveau 2 pointe vers son Ă©motion parente. C'est souple et facile Ă  Ă©tendre. » + +**« Et le RGPD, sur des donnĂ©es de santĂ© ? »** +> « Consentement Ă  l'inscription, possibilitĂ© d'exporter ses donnĂ©es et de supprimer son compte, mots de passe chiffrĂ©s, et un journal d'audit qui trace les actions. Pour la vraie production, un hĂ©bergement agréé santĂ© (HDS) et le chiffrement complet sont prĂ©vus. » + +**« La sĂ©curitĂ© de la connexion ? »** +> « J'utilise des **jetons JWT** : Ă  la connexion, le serveur donne un jeton temporaire (60 min) que l'appli renvoie Ă  chaque requĂȘte. J'ai aussi une limite de tentatives de connexion pour bloquer les attaques par force brute. » + +**« Est-ce vraiment dĂ©veloppĂ© ? »** +> « Oui, complĂštement : web, mobile et serveur, avec 29 tests automatisĂ©s. Et c'est **dĂ©ployĂ© en ligne**, je peux vous le montrer en direct. » + +**« Pourquoi la charte de l'État (DSFR) ? »** +> « Parce que c'est un service public : la charte gouv.fr est la rĂ©fĂ©rence, elle garantit l'accessibilitĂ© et inspire confiance. Et elle m'a fait gagner du temps grĂące Ă  des composants prĂȘts Ă  l'emploi. » + +### đŸ›Ąïž Si une question me met en difficultĂ© (Ă  assumer calmement) +- **« Mot de passe oubliĂ© »** → « L'Ă©cran existe, le branchement complet est prĂ©vu dans une prochaine version. » +- **« Les donnĂ©es sont-elles chiffrĂ©es ? »** → « Les mots de passe oui. Le chiffrement complet du reste est prĂ©vu pour la mise en production sur hĂ©bergeur de santĂ©. » *(Ne jamais dire "tout est chiffrĂ©".)* +- **Une question dont je n'ai pas la rĂ©ponse** → « C'est une bonne question, je ne l'ai pas traitĂ©e en dĂ©tail, mais je partirais sur telle piste
 » *(Assumer + proposer une piste, jamais inventer.)* + +--- + +## 📖 Glossaire — comprendre les mots que je dis + +| Mot | En une phrase simple | +|---|---| +| **API** | Le "cerveau" cĂŽtĂ© serveur : il reçoit les demandes du web/mobile et renvoie les donnĂ©es. | +| **MVC** | Une façon d'organiser le code en 3 parties (donnĂ©es / logique / affichage) pour s'y retrouver. | +| **MCD** | Le plan de la base de donnĂ©es : quelles tables, et comment elles sont reliĂ©es. | +| **JWT** | Un jeton temporaire prouvant qu'on est connectĂ©, renvoyĂ© Ă  chaque requĂȘte. | +| **DSFR** | La charte graphique officielle de l'État (sites gouv.fr) : couleurs, polices, composants. | +| **RGPD** | La loi europĂ©enne qui protĂšge les donnĂ©es personnelles. | +| **CNIL** | L'autoritĂ© française qui veille au respect du RGPD. | +| **HDS** | "HĂ©bergeur de DonnĂ©es de SantĂ©" : un hĂ©bergement certifiĂ©, obligatoire pour de vraies donnĂ©es mĂ©dicales. | +| **Soft delete** | Suppression "douce" : la donnĂ©e est masquĂ©e mais rĂ©cupĂ©rable, au lieu d'ĂȘtre effacĂ©e dĂ©finitivement. | +| **Anonymisation** | On garde la donnĂ©e mais on enlĂšve tout ce qui permet d'identifier la personne. | +| **Docker / conteneur** | Une "boĂźte" qui embarque l'appli et tout ce qu'il lui faut, pour qu'elle tourne pareil partout. | +| **Throttle** | Une limite du nombre de tentatives (ex. connexions) pour bloquer les abus. | + +--- + +## 🧘 RĂ©flexes pour bien parler +- Je respire un grand coup avant d'entrer. +- Je reste **debout, posĂ©**. Je **commente** mes slides, je ne les **lis pas**. +- Je fais une **pause** aprĂšs chaque idĂ©e importante, et je **regarde** les Ă©valuateurs. +- **RepĂšre de temps :** Ă  **12 minutes**, j'ai fini la dĂ©mo. Je garde **1 minute** pour conclure. +- Je termine sur l'ouverture (la suite du projet), **jamais sur une excuse**.