Solve Learn
Journal

Changelog

Suivi des livraisons publiques de Solve Learn. Format Keep a Changelog, versions SemVer.

Unreleased

Ajouté

  • Centre de documents — vos documents Qualiopi sont désormais générés en PDF et stockés en un point unique. Le formateur génère depuis le Studio, en un clic par formation, la convention, le programme détaillé, le registre d'émargement, le certificat de réalisation et les attestations. L'apprenant retrouve ses propres documents (attestation, certificat, programme, évaluations) sur /apprenant/documents, toutes formations confondues. Le responsable d'organisation consulte l'onglet documents Qualiopi de son espace client. Chaque document est servi via une URL re-signée à la volée et autorisée par RLS : aucun lien ne fuit d'un utilisateur à l'autre, un accès non autorisé renvoie un 403 sans révéler l'existence du fichier.
  • Espace apprenant gamifié — l'espace apprenant devient un vrai tableau de bord : un hero "Reprendre / Démarrer" pointe sur la formation en cours et la prochaine séance datée, une bande de stats affiche niveau, XP, série (streak), séances suivies et prompts joués, les réussites s'affichent en chips, et les formations à venir sont triées par échéance. Tout est dérivé de l'activité réelle, sans étape de configuration : vous voyez votre progression dès la première séance.
  • Centre d'aide public — nouveau parcours /aide avec trois entrées (apprenant, organisation, questions générales), tutos pas-à-pas et FAQ Qualiopi / OPCO / B2C / RGPD.
  • Page Changelog/changelog rend ce fichier publiquement, lien depuis le footer Ressources et depuis le badge version de la barre latérale.
  • Versioning câblé — la version affichée dans la sidebar reflète désormais package.json (source unique), badge cliquable vers le changelog.

Modifié

  • Handoff OF partenaire — nettoyage des libellés de placeholder visibles aux organismes de formation partenaires sur la page /handoff/[token], remplacés par un point de contact propre.

Sécurité

  • Service de documents zéro-fuite — la route /api/documents/[id] re-signe chaque téléchargement et applique la matrice d'autorisation RLS (kind + related_type) : la preuve d'émargement personnelle reste accessible à l'apprenant, le registre de séance reste réservé au staff, et tout accès non autorisé renvoie un 403 sans révéler l'existence du document.
v1.8.0

Ajouté

  • Moteur d'exercices — cinq types jouables pendant les sessions live (quiz, lever de main, ranking, texte à trous, freetext) avec scoring temps réel et validation stricte côté serveur.
  • Génération de quiz par IA — création automatique de quiz par le formateur via Claude, avec triple garde-fou avant publication (génération, prévisualisation, validation).
  • Répétition espacée — chaque exercice raté revient à l'apprenant selon l'algorithme SuperMemo 2, jusqu'à maîtrise complète.
  • Heatmap de maîtrise — chaque apprenant visualise sa progression par compétence ; chaque manager voit l'agrégat de son équipe.
  • Exercices replay-time — un apprenant peut rejouer les exercices d'une session ratée, à son rythme, après-coup.
  • Tableau de bord analytics — pilotage côté responsable formation : engagement, taux de complétion, points faibles de l'équipe.
  • Studio formateur — édition d'exercices — formulaires dédiés aux cinq types d'exercice, picker de templates parmi trente exercices IA généraliste pré-câblés.
  • Mécaniques de session live — broadcast d'exercice à toute la salle, lever de main, tableau blanc partagé.
  • Seed production-lived — scénario de seed réaliste pour les démos et le développement local.

Sécurité

  • Overlays Daily.co durcis — protection contre les fuites d'identifiants côté client pendant la visio.
v1.5.0

Ajouté

  • Studio formateur peuplé — édition complète des formations comme source unique de vérité : modules, sessions, supports, prompts, exercices, paramètres organisation.
  • Module vivant — sessions de formation avec statuts brouillon / planifiée / en direct / terminée / annulée, supports PDF, prompts IA replayables (deeplink Claude), exercices guidés.
  • Agenda Studio — vue semaine /studio/_agenda, créneaux modifiables, intégration Google Calendar en lecture seule pour la détection de conflits.
  • Auto-transitions de session — passage automatique planifiée → en direct → terminée via tâches planifiées en base.
  • Visio Daily.co intégrée — rooms générées à la volée, jetons de réunion signés, recordings côté formateur, lecteur live côté apprenant.
  • Cahier des charges Qualiopi pro — génération PDF enrichie, schéma pédagogique étendu, déduplication côté base.
  • Handoff OF partenaire — tokens signés JWS, révocables, permettant à un organisme porteur de la certification Qualiopi de consulter un dossier complet.
  • Pipeline emails Resend — file d'attente dédupliquée, sweep automatique, magic links via domaine Solve authentifié (limite de 4 emails/heure levée).
  • Émargement RGPD — signature horodatée, export et suppression des données apprenant depuis /compte.
  • Hub apprenant — vue formation avec frise des huit sessions, signature, accès aux supports, prompts et exercices.
  • Page docs Qualiopi côté manager — surface dédiée aux documents générés (cahiers des charges, attestations).
  • Page sessions côté manager — vue planning des sessions par organisation, accès direct à l'édition.
  • Page Martin Drevet formateur — fiche publique avec parcours, ton retravaillé.
  • Bottom hotbar mobile zone-aware — barre de navigation 2/4/2 onglets adaptée au contexte (vitrine, organisation, apprenant, studio).
  • AppDrawer mobile post-login — tiroir de navigation full-screen pour les utilisateurs authentifiés.
  • Liste d'attente B2C — page /beta self-serve pour les apprenants individuels.
  • Tableau de bord manager — KPIs engagement et table salariés sur /client/[org].
  • Loader et squelettes — états de chargement cohérents sur les quatre zones, transitions douces.
  • Seed déclaratif TypeScript — système de seed unifié pour la base de développement.
  • Analytics PostHog — instrumentation produit dans les quatre zones, hébergement européen.

Modifié

  • Architecture en quatre zones — séparation stricte vitrine / espace client / espace apprenant / studio formateur, vocabulaire UI "organisation" pour désigner un tenant.
  • Audit design complet — touch targets mobiles à 44px (WCAG 2.5.5), suppression des dégradés et glass-morphism, surfaces plates conformes à DESIGN.md, tailles H1 unifiées, header zone-aware.
  • Cahier des charges enrichi — colonnes pédagogiques étendues, template Qualiopi pro, route débloquée en production.
  • Création de tenant — différée jusqu'au clic sur le magic link pour éviter les tenants orphelins.
  • Vitrine entreprises et équipe — polish typographique, CTA hero ajoutés.
  • Slugs réservés — liste durcie côté code et côté base pour bloquer les noms d'organisation conflictuels.

Corrigé

  • Webhook Daily.co — signature base64 et header x-webhook-signature correctement vérifiés.
  • Studio datetime-local — fuseaux horaires formatés côté navigateur (plus de décalage UTC).
  • Émargement apprenant — vérification systématique de l'appartenance à l'organisation pour signature et évaluation.
  • Sidebar Entreprises — utilisateurs authentifiés routés directement vers /client.
  • `/studio` — redirection automatique vers le tenant studio de l'utilisateur.
  • Apprenant — provision de room — gating qui bloquait l'accès supprimé, distinction 404 vs 403 clarifiée avant authentification.
  • Hub apprenant — vue agrégée correcte, carte des artefacts de formation restaurée.
  • Bundle client — modules serveur (Puppeteer, server-only) extraits du bundle navigateur.

Sécurité

  • Anti-replay webhook — vérification timestamp.body sur Daily.co et Resend.
  • Tokens handoff — TTL court et révocation côté base.
  • Erreurs sanitisées — messages renvoyés au client filtrés pour ne pas leak la stack interne.
  • Fallback staff — bloqué pour les tenants orphelins (sans propriétaire).
  • Défense en profondeur — vérification de l'appartenance à l'organisation sur les actions d'attribution OF partenaire, mise à jour des conventions, télémétrie apprenant et révocation de handoff.
  • CRON_SHARED_SECRET obligatoire — la signature des tâches planifiées échoue fermé si le secret est absent.
v1.0.0

Ajouté

  • Vitrine publique — accueil, catalogue de formations filtrable, fiches formation, page groupe mentor, services (audit IA, coaching, bibliothèque, veille), entreprises B2B, devis, contact, financement OPCO, équipe, fiche formateur Martin Drevet.
  • Multi-tenant scaffold — schéma Postgres séparé, tables tenants et memberships, RLS strict isolant chaque organisation.
  • Auth Supabase magic links — connexion par email sans mot de passe.
  • Self-service onboarding — création d'une organisation cliente avec rôles propriétaire / administrateur / formateur / apprenant, picker de formations.
  • Compte utilisateur — gestion du profil et des appartenances aux organisations sur /compte.
  • Design system Academic Modern — tokens CSS unifiés (paper, ink, accent indigo), composants .card / .btn / .pill / .chip, fonts Inter et JetBrains Mono.
  • SEO complet — sitemap, canonicals, Open Graph dynamiques par formation, JSON-LD Course / Person / Organization / Breadcrumb.
  • Brand mark "modules" — logo et favicon Solve Learn, palette indigo, favicons multi-résolution.
  • Page 404 — recherche command-K et suggestions de routes.
  • Édition tenant et membres — UI d'administration pour propriétaires, invitations par email, gestion des rôles.

Sécurité

  • Row Level Security — activé sur toutes les tables du schéma learn dès le jour 1.
  • Slugs réservés — liste protégée par CHECK constraint en base.