Paillasse/portail/resources/views/confidentialite.blade.php

149 lines
12 KiB
PHP
Raw Permalink Normal View History

@extends('layouts.vitrine')
@section('titre', 'Confidentialité et RGPD')
{{-- Étape 14 : chaque affirmation de cette page a été vérifiée sur le système
réel (docs/journal.md, étape 14). À mettre à jour à chaque nouveau
traitement de données. --}}
@section('contenu')
<section class="border-b border-[#e3e5e8] bg-white">
<div class="mx-auto max-w-7xl px-5 pb-14 pt-14 lg:px-10">
<p class="inline-block border border-[#dadce0] rounded-lg bg-[#e6f4ea] px-3 py-1 text-sm font-bold">Confidentialité et RGPD</p>
<h1 class="mt-8 max-w-4xl text-6xl font-extrabold leading-[1.05] tracking-tight sm:text-7xl">Ce que nous savons de vous, et pourquoi.</h1>
<p class="mt-6 font-mono text-sm font-semibold">Dernière mise à jour : 9 octobre 2026</p>
</div>
</section>
<div class="mx-auto grid max-w-7xl gap-10 px-5 py-14 lg:grid-cols-12 lg:px-10">
<nav class="lg:col-span-3" aria-label="Sommaire">
<ol class="sticky top-6 grid gap-2 font-extrabold">
<li><a href="#responsable" class="block border border-[#e3e5e8] rounded-2xl bg-white px-4 py-2">Qui est responsable</a></li>
<li><a href="#donnees" class="block border border-[#e3e5e8] rounded-2xl bg-white px-4 py-2">Données traitées</a></li>
<li><a href="#durees" class="block border border-[#e3e5e8] rounded-2xl bg-white px-4 py-2">Durées de conservation</a></li>
<li><a href="#hebergement" class="block border border-[#e3e5e8] rounded-2xl bg-white px-4 py-2">Hébergement et tiers</a></li>
<li><a href="#securite" class="block border border-[#e3e5e8] rounded-2xl bg-white px-4 py-2">Sécurité</a></li>
<li><a href="#cookies" class="block border border-[#e3e5e8] rounded-2xl bg-white px-4 py-2">Cookies</a></li>
<li><a href="#droits" class="block border border-[#e3e5e8] rounded-2xl bg-white px-4 py-2">Vos droits</a></li>
<li><a href="#sous-traitance" class="block border border-[#e3e5e8] rounded-2xl bg-white px-4 py-2">Sous-traitance (art. 28)</a></li>
</ol>
</nav>
<div class="grid gap-12 lg:col-span-9 [&_section]:scroll-mt-6 [&_section]:rounded-2xl [&_section]:border [&_section]:border-[#e3e5e8] [&_section]:bg-white [&_section]:p-7 [&_h2]:text-4xl [&_h2]:font-extrabold [&_h2]:tracking-tight [&_h3]:mt-4 [&_h3]:text-xl [&_h3]:font-extrabold [&_ul]:grid [&_ul]:gap-2 [&_ul]:pl-5 [&_li]:list-disc">
<section id="responsable" aria-labelledby="t-responsable">
<h2 id="t-responsable">Qui est responsable</h2>
<div class="mt-6 grid gap-4 text-lg font-medium leading-relaxed">
<p>Syllabus est édité par Adam Belkacemi, entrepreneur individuel (EI), sous le nom commercial Esquisse Formation (voir les <a href="{{ route('legal') }}#mentions" class="font-bold underline underline-offset-4">mentions légales</a>).</p>
<p>Quand un établissement utilise Syllabus avec ses élèves, <strong>l’établissement est responsable du traitement</strong> et Esquisse Formation agit comme <strong>sous-traitant</strong>, sur ses instructions. Pour les comptes enseignants, Esquisse Formation est responsable du traitement.</p>
<p>Délégué à la protection des données : <mark class="bg-[#fef7e0] px-1 font-bold">[à compléter si désigné]</mark>. Contact : adam@belkacemi.me</p>
</div>
</section>
<section id="donnees" aria-labelledby="t-donnees">
<h2 id="t-donnees">Données traitées</h2>
<div class="mt-6 grid gap-4 text-lg font-medium leading-relaxed">
<h3>Élèves</h3>
<ul>
<li>prénom, nom (facultatif, visible du seul enseignant), classe ;</li>
<li>identifiant de connexion et code secret (le code est stocké sous forme hachée, illisible, y compris pour nous) ;</li>
<li><strong>aucune adresse e-mail</strong> ;</li>
<li>sessions de lab : date, état, machines virtuelles attribuées ;</li>
<li>résultats de la vérification automatique (réussi ou non, note, message par vérification).</li>
<li>s'il rejoint sa classe avec le code de classe : le prénom et le nom (facultatif) qu'il saisit, le temps que l'enseignant accepte ou refuse sa demande.</li>
<li>pendant une visio de classe : le nom affiché aux autres participants (prénom et initiale du nom, non modifiable) et les mains levées. Le son et l’image transitent par notre serveur, en France, <strong>sans être enregistrés</strong>.</li>
</ul>
<p>Ce que l’élève tape dans la console de sa machine virtuelle n’est pas enregistré par Syllabus. Son enseignant peut suivre la console en direct, en lecture seule, pendant la séance.</p>
<h3>Enseignants</h3>
<ul>
<li>nom, adresse e-mail, établissement ;</li>
<li>mot de passe, stocké sous forme hachée.</li>
</ul>
<h3>Journaux techniques</h3>
<ul>
<li>journaux du serveur web : adresse IP, date, page demandée ;</li>
<li>journaux de l’application : erreurs et événements techniques, sans contenu des pages.</li>
</ul>
<h3>Finalités et bases légales</h3>
<p>Fournir le service d’enseignement demandé par l’établissement (mission d’intérêt public de l’établissement, article 6.1.e du RGPD) ou par l’enseignant (exécution du contrat, article 6.1.b). Les journaux techniques servent à la sécurité et au bon fonctionnement du service (intérêt légitime, article 6.1.f). Aucune donnée n’est vendue, utilisée à des fins publicitaires, ni traitée par une intelligence artificielle.</p>
</div>
</section>
<section id="durees" aria-labelledby="t-durees">
<h2 id="t-durees">Durées de conservation</h2>
<div class="mt-6 grid gap-4 text-lg font-medium leading-relaxed">
<ul>
<li><strong>Machines virtuelles</strong> et leur contenu : supprimées à la fin de la session de lab (45 minutes par défaut).</li>
<li><strong>Classe et données de ses élèves</strong> : jusqu’à l’archivage de la classe par l’enseignant, puis <strong>supprimées automatiquement 90 jours après l’archivage</strong>.</li>
<li><strong>Demande pour rejoindre une classe</strong> : supprimée dès que l’élève a reçu son identifiant, et au plus tard une heure après son envoi.</li>
<li><strong>Compte enseignant</strong> : tant qu’il est utilisé ; supprimé sur demande.</li>
<li><strong>Visio</strong> : rien n’est enregistré ; l’état de la séance (mains levées, présence) reste en mémoire au plus 6 heures.</li>
<li><strong>Journaux techniques</strong> : 14 jours.</li>
<li><strong>Sauvegardes</strong> : chiffrées, conservées au plus 5 semaines (7 sauvegardes quotidiennes et 4 hebdomadaires). Une donnée supprimée disparaît donc des sauvegardes au plus tard 5 semaines après sa suppression.</li>
</ul>
</div>
</section>
<section id="hebergement" aria-labelledby="t-hebergement">
<h2 id="t-hebergement">Hébergement et services tiers</h2>
<div class="mt-6 grid gap-4 text-lg font-medium leading-relaxed">
<p>Le service, ses bases de données et ses sauvegardes chiffrées sont <strong>hébergés en France</strong>, chez Scaleway. Les données des comptes ne quittent pas l’Union européenne.</p>
<p>Les pages de l’espace connecté (élèves et enseignants) ne chargent <strong>aucune ressource depuis un service tiers</strong> : polices, scripts et styles sont servis par Syllabus.</p>
<p>Certaines pages publiques de présentation font encore appel à des services tiers, qui reçoivent alors l’adresse IP du visiteur :</p>
<ul>
<li>des pages d’aperçu chargent la bibliothèque de styles Tailwind depuis <span class="font-mono">cdn.tailwindcss.com</span> (Tailwind Labs, États-Unis) ;</li>
<li>l’éditeur de code <span class="font-mono">/ide</span> télécharge Python (Pyodide) et SQL (sql.js) depuis <span class="font-mono">cdn.jsdelivr.net</span>, seulement quand on exécute du code ;</li>
<li>la page d’aperçu d’un cours peut afficher une vidéo depuis <span class="font-mono">youtube-nocookie.com</span>, seulement si un lien vidéo y est ajouté.</li>
</ul>
<p>Nous travaillons à servir ces ressources nous-mêmes.</p>
</div>
</section>
<section id="securite" aria-labelledby="t-securite">
<h2 id="t-securite">Sécurité</h2>
<div class="mt-6 grid gap-4 text-lg font-medium leading-relaxed">
<ul>
<li>connexions chiffrées (HTTPS, TLS 1.2 et 1.3) ;</li>
<li>mots de passe et codes secrets hachés ;</li>
<li>une machine virtuelle par élève, isolée, sans accès à Internet ;</li>
<li>la vérification automatique n’exécute que des commandes définies à l’avance par le lab, jamais de commande libre ;</li>
<li>sauvegardes chiffrées avant leur envoi, restauration testée chaque semaine ;</li>
<li>administration du serveur par clé SSH uniquement.</li>
</ul>
</div>
</section>
<section id="cookies" aria-labelledby="t-cookies">
<h2 id="t-cookies">Cookies</h2>
<div class="mt-6 grid gap-4 text-lg font-medium leading-relaxed">
<p>Syllabus n’utilise que deux cookies, strictement nécessaires : <span class="font-mono">syllabus-session</span>, qui vous garde connecté, et <span class="font-mono">XSRF-TOKEN</span>, qui protège les formulaires. Aucun cookie publicitaire ni de mesure d’audience. Ils ne demandent donc pas de consentement.</p>
<p>L’éditeur de code et la page de visio gardent aussi, dans le stockage local de votre navigateur, votre code et des préférences d’affichage (y compris celles du lecteur de visio, sur <span class="font-mono">meet.syllabuslab.fr</span>). Ces informations ne nous sont pas transmises.</p>
</div>
</section>
<section id="droits" aria-labelledby="t-droits">
<h2 id="t-droits">Vos droits</h2>
<div class="mt-6 grid gap-4 text-lg font-medium leading-relaxed">
<p>Vous disposez des droits d’accès, de rectification, d’effacement, de limitation, d’opposition et de portabilité. Élèves et familles : adressez-vous d’abord à l’enseignant ou à l’établissement, responsable du traitement. Enseignants : écrivez à adam@belkacemi.me.</p>
<p>Vous pouvez aussi adresser une réclamation à la CNIL (<span class="font-mono">cnil.fr</span>).</p>
</div>
</section>
<section id="sous-traitance" aria-labelledby="t-sous-traitance">
<h2 id="t-sous-traitance">Sous-traitance (article 28 du RGPD)</h2>
<div class="mt-6 grid gap-4 text-lg font-medium leading-relaxed">
<p>Pour chaque établissement, un accord de sous-traitance peut être établi sur demande. Il précise :</p>
<ul>
<li>l’objet, la durée et la nature des traitements ;</li>
<li>les mesures de sécurité décrites ci-dessus ;</li>
<li>la confidentialité des personnes autorisées ;</li>
<li>les sous-traitants ultérieurs : hébergement et sauvegardes chez Scaleway (France) ;</li>
<li>l’assistance pour répondre aux demandes d’exercice des droits ;</li>
<li>la notification des violations de données ;</li>
<li>la suppression ou la restitution des données en fin de contrat.</li>
</ul>
<p>Demande : adam@belkacemi.me</p>
</div>
</section>
</div>
</div>
@endsection