Carte standard
Panneau translucide, rayon généreux, bordure discrète.
Design system
Référence visuelle des fondations et primitives du socle. Basée sur nd.inpv.ch/design et implémentée pour React / Next.js avec Montserrat auto-hébergée.
Le sommaire n'affiche qu'un groupe de sections à la fois ; « Tout afficher » déroule la vitrine entière, pour vérifier le socle complet d'un seul coup d'œil. Le groupe affiché est inscrit dans l'adresse : un lien vers une section précise ouvre le groupe qui la contient.
Le sélecteur de thème (Système / Clair / Sombre) se trouve dans l'en-tête et pilote l'ensemble de l'application. Tous les exemples ci-dessous suivent le thème actif.
Blason de l'Institut Privé Voltaire. Décliné sur fond clair et sur fond sombre ; le texte de marque « INPV » accompagne le blason dans l'en-tête.
Sur fond clair--brand--brand-dark--brand-lightCouleurs d'appartenance, pas d'état : elles distinguent deux familles de contenu — deux disciplines, par exemple. Présentées à part des statuts, qu'on lirait sinon comme une alerte.
--brand--ember--ember-dark--page-background--hero-bg-start--hero-bg-end--surface-dark--success--warning--info--danger--error--space-00--space-10.25rem--space-20.5rem--space-30.75rem--space-41rem--space-51.5rem--space-62rem--space-72.5rem--space-83rem--space-94rem--space-106rem--radius-subtle--radius-card--radius-panel--radius-pill--shadow--shadow-elevated--shadow-knobOrdre unique des couches superposables. Un z-index ne se montre pas en vignette : c'est l'ordre qui doit rester lisible, et toute superposition doit référencer un jeton.
--z-behindDécor d’une surface, sous son contenu-1--z-baseContenu du document0--z-stickyEn-tête et éléments collants100--z-dropdownMenus et listes déroulantes200--z-overlayVoiles et arrière-plans de surcouche300--z-modalFenêtres modales400--z-toastNotifications éphémères500HeroUne vitrine institutionnelle composée pour durer.--type-hero-size · --type-hero-weight · --type-hero-lh · --type-hero-lsH2 — SectionUn socle sobre, net et prêt pour la suite.--type-h2-size · --type-h2-weight · --type-h2-lh · --type-h2-lsH3 — Titre de carteArchitecture sans dispersion--type-h3-size · --type-h3-weight · --type-h3-lh · --type-h3-lsBodyCorps de texte principal, lecture courante et confortable sur toute la largeur.--type-body-size · --type-body-lhBody smallDescriptions secondaires, contexte.--type-body-small-size · --type-body-small-lhLabelFondation vitrine--type-label-size · --type-label-weight · --type-label-lh · --type-label-lsCaptionCaptions, notes, mentions légales.--type-caption-size · --type-caption-weight · --type-caption-lh · --type-caption-lsJeu linéaire cohérent (tracé, currentColor). Les icônes héritent de la couleur du texte et suivent donc le thème actif.
Axe indépendant de l'apparence et de la taille : le bouton renonce à sa pilule pour un rectangle. Il sert le dialecte « angles francs » des maquettes vidéo 3a et 3c, où une pilule posée dans une grille de filets d'encre trahirait le geste.
Rond, sans libellé visible : le nom accessible vient de la prop label. La variante « on-dark » est peinte pour une surface sombre indépendante du thème.
Voici un lien texte à soulignement animé au sein d'un paragraphe, et un lien libellé en capitales.
Champ encadré à icône de tête, apparence distincte du champ à label flottant : un label qui flotte se poserait sur l'icône, donc le libellé reste au-dessus.
Panneau translucide, rayon généreux, bordure discrète.
Bande verte à gauche pour signaler une mise en avant.
Élévation et translation au survol (liste, catalogue).
Panneau opaque, pour un contenu posé sur un fond chargé.
Le panneau à dégradé chaud n'est pas une carte plus appuyée : il porte un bandeau de reprise ou un tableau de chiffres, sur une largeur de section.
Dégradé chaud et rayon de panneau, pour un bandeau qui occupe la largeur.
squareest une géométrie, non un ton : elle se combine à l'aplat, au contour et à toutes les teintes. Elle sert le dialecte « angles francs » des maquettes vidéo 3a et 3c.
Information
Message contextuel à la couleur de marque, pour une mise en avant neutre.
Inscription confirmée
Votre accès au cours a été activé.
Accès bientôt expiré
Votre droit d'accès prend fin dans trois jours.
Paiement refusé
La transaction n'a pas abouti. Réessayez plus tard.
Le chiffre remplace la piste, sur une affiche où une barre de 6 px se perdrait. C'est la même primitive et le même rôle : le pourcentage écrit reste un progressbarà bornes complètes, alors qu'un chiffre posé à côté d'une barre en aurait fait une seconde source de vérité.
Même piste, cerclée d'un filet d'encre plutôt que remplie d'un gris : la jauge d'en-tête du dialecte « angles francs » (maquette vidéo 3a). Seule la géométrie change, le rôle et les bornes ARIA restent ceux de la piste.
Bloc de question autonome et modulable : choix unique, choix multiple ou Vrai / Faux. La correction est immédiate — vert pour une réponse juste, rouge pour une erreur, contour vert pour une proposition attendue restée non cochée.
Comme les onglets et le lecteur vidéo, la carte est entièrement pilotée par des props : la vitrine en présente donc les états côte à côte, sans interaction. L'énoncé et les libellés sont des nœuds React — un moteur de formules mathématiques s'y insérera sans que le socle en choisisse un.
L'énoncé accepte donc une figure entière : le dernier exemple y pose une matrice 8 × 8 (MathMatrix), dont les crochets sont peints par le CSS et les coefficients parcourables cellule par cellule.
Quiz noté
Question 03 / 10
Cochez toutes les propositions exactes, puis validez.
Quiz noté
Question 03 / 10
Partiellement juste
Il manque au moins une proposition attendue : elles sont bordées de vert ci-dessus. Les points partiels sont acquis.
Réponse enregistrée dans le profil de l’apprenant.
Question 07 / 10
Sélectionnez une réponse, puis validez.
Exercice noté
Question 05 / 10
| 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| −1 | 3 | 0 | 0 | 0 | 0 | 0 | 0 |
| 4 | 2 | 1 | 0 | 0 | 0 | 0 | 0 |
| 0 | −3 | 5 | 2 | 0 | 0 | 0 | 0 |
| 1 | 1 | 0 | −2 | 4 | 0 | 0 | 0 |
| −2 | 0 | 3 | 1 | 0 | 1 | 0 | 0 |
| 5 | −1 | 2 | 0 | 3 | −4 | 2 | 0 |
| 0 | 2 | −1 | 4 | 1 | 0 | −3 | 3 |
Cochez toutes les propositions exactes, puis validez.
Même ligne de réponse, en densité réduite, pour un quiz validé en une fois. Les trois issues de correction sont montrées côte à côte : juste, partiellement juste — points partiels acquis — et faux.
Quel est le discriminant de x² − 6x + 9 ?
Parmi ces fonctions, lesquelles sont paires ?
Une parabole d’équation y = ax² + bx + c avec a < 0 admet un minimum.
Écran de fin : score en anneau, récapitulatif question par question et reprise des seules questions ratées. Une issue juste ne colore pas sa ligne — ce sont les écarts qui doivent ressortir. Rien n'est branché à ce stade : les réponses alimenteront le profil de l'apprenant lorsque le socle métier existera.
Résultats
6 justes · 1 partielle · 3 fausses — Fonctions du second degré
| Cours | Catégorie | Statut |
|---|---|---|
| Prévention des risques | Sécurité | Publié |
| Gestes de premiers secours | Santé | Brouillon |
| Ergonomie au poste | Bien-être | En cours |
Aucun cours pour l'instant
Les cours synchronisés depuis la bibliothèque apparaîtront ici dès leur publication.
Bascule de filtre : ni badge — non cliquable — ni bouton — dont le libellé est en capitales et l'aire de clic dimensionnée pour une action. L'état retenu est porté par aria-pressed, jamais par la seule couleur : le contrôle et sa peinture ne peuvent pas diverger.
Le nombre est un repère visuel en second plan, retiré de l'arbre d'accessibilité : « Physique 4 » se lirait comme un libellé, alors que le nom accessible d'une bascule doit dire ce qu'elle bascule.
Barre de filtres posée au-dessus d'une grille d'affiches : même géométrie et même aplat qu'elles, pour que la page ne parle qu'un langage. Les trois pastilles sont un seul objet— rectangle, contour, libellé — décliné en trois couleurs. Chacune porte donc un contour visible : celui d'un aplat est la teinte sombre de son accent, ce qui lui donne le même relief que le contour d'encre de la pastille neutre. Sans lui, l'aplat aurait paru posé et la neutre découpée, alors qu'elles jouent le même rôle.
Sans accent — la valeur « tous », qui ne désigne aucune famille —, la pastille prend le fond de la page et son encre : rectangle blanc, contour et écriture noirs en thème clair, et l'inverse exact en thème sombre, où un aplat blanc serait la chose la plus criarde de l'écran.
L'état retenu ne peut plus se dire par la couleur, les trois pastilles portant déjà la leur. Il se dit par un liseré intérieur en currentColor, lisible sur chacun des aplats, doublé de la graisse — aria-pressed restant le seul porteur de l'état.
Rectangle court, plusieurs par ligne dans une fiche de module.
Contour tireté : la pastille disparaîtra au clic. Ce n'est pas un interrupteur, donc elle n'écrit pas aria-pressed; la croix est dessinée par le CSS, un « × » écrit serait lu comme un mot.
Titre, compte d'éléments et filet qui court jusqu'au bord droit. Le filet est un élément vide qui absorbe la place restante : une bordure du bloc passerait aussi sous le titre. Le niveau de titre reste choisi par la page.
L'accent dit une appartenance — la discipline du groupe —, jamais un état. Il n'a pas de valeur de base : une barre de séparation ordinaire n'appelle aucune couleur, et l'omettre garde le compte atténué et le filet neutre.
Fiche de module du catalogue. Deux ossatures pour un seul bloc, comme le pied de page : la carte de grille et la ligne de liste dense rendent le même jeu de sous-éléments, différenciés en descendance. Badge, barre de progression et vignette sont composés depuis le socle, jamais redessinés.
Aucun visuel n'est hébergé — le fournisseur de fichiers n'est pas choisi : la vignette tient la place et le rapport d'aspect du média à venir, ce qui évite qu'une fiche se recompose le jour où l'image existera.
Limites, continuité, dérivation et intégration des fonctions d'une variable réelle.
Séries numériques, intégrales multiples et équations différentielles ordinaires.
Espaces vectoriels, applications linéaires, diagonalisation et formes quadratiques.
Sans progression : un visiteur sans accès n'a rien à reprendre. Le pied de fiche porte alors le volume horaire et le chemin vers le programme.
Cinématique, lois de Newton, travail et énergie, oscillateurs harmoniques.
Champs électrostatiques, magnétostatique et induction de Faraday.
Le cadre et les filets appartiennent à la liste, pas à chaque ligne. La description est tronquée sur une seule ligne : l'ellipse seule ne suffit pas, la colonne doit aussi renoncer à sa largeur intrinsèque.
Limites, continuité, dérivation et intégration des fonctions d'une variable réelle.
Séries numériques, intégrales multiples et équations différentielles ordinaires.
Espaces vectoriels, applications linéaires, diagonalisation et formes quadratiques.
Cinématique, lois de Newton, travail et énergie, oscillateurs harmoniques.
Champs électrostatiques, magnétostatique et induction de Faraday.
Premier et second principes, machines thermiques, potentiels thermodynamiques.
Troisième ossature du même bloc : l'aplat saturé remplace la vignette d'attente, le symbole du module tient lieu de visuel et le texte s'appuie au bas du cadre. L'accent dit l'appartenance — vert pour les mathématiques, orange brique pour la physique —, jamais un état.
La surface repeint ce qu'elle porte : la pastille de statut, les thèmes cliquables et l'action changent de couleur parce qu'ils reposent dessus. Donner à chacune de ces primitives une variante « sur affiche » aurait multiplié les axes sans rien décrire de plus. L'affiche est peinte pour elle-même dans les deux thèmes, comme le voile des contrôles vidéo.
Limites, continuité, dérivation et intégration des fonctions d'une variable réelle.
Cinématique, lois de Newton, travail et énergie, oscillateurs harmoniques.
Deux réglages appartiennent à l'appelant, seul à savoir s'il rend une affiche pleine page ou une vignette de grille. La progression passe du pourcentage écrit à la piste — un chiffre de 3,4 rem ne tient pas dans une vignette —, ethref fait du titrele lien d'ouverture du cours, l'aire cliquable étant ensuite étirée en CSS sur toute l'affiche. Envelopper le bloc aurait fait entrer le libellé de la progression dans le nom accessible du lien : même arbitrage que sur l'entrée de chapitre.
Un troisième réglage change le fond : image pose un visuel à la place de la trame réglée — jamais les deux, une trame posée sur une photographie la quadrillant au lieu de lui donner de la matière. Le visuel est rogné en cover, donc jamais déformé : l'affiche garde les proportions que sa page lui donne quel que soit le format du fichier. L'aplat dégradé reste peint dessous, et un voile en dégradé recouvre l'image — non par ornement, mais parce que le texte de l'affiche est blanc et qu'une photographie claire le rendrait illisible.
Les trois compositions retenues du dossier « Page d'accueil LMS INPV » : 1a et 1d pour l'apprenant inscrit, 2a pour la vitrine publique. Comme les maquettes vidéo, chacune est dessinée pour 1280 px et posée dans un cadre à sa largeur nominale.
Aucune des trois n'est plus montée telle quelle. La page Coursest passée à 3c — l'affiche plein cadre présentée plus haut — et Accueil non-connecté, qui portait 2a, est devenue une porte d'entrée sans catalogue : son affiche et sa carte d'inscription sont les seuls blocs qu'elle rende. Les trois restent donc des maquettes : elles documentent les mêmes primitives dans une autre hiérarchie.
Entrée de chapitre d'une matière. Trois ossatures pour un seul bloc, comme la fiche de module : la ligne du sommaire dense, l'entrée de table des matières et l'affiche plein cadre rendent le même jeu de sous-éléments, différenciés en descendance.
Ce n'est pas une variante de la fiche de module : une fiche désigne un cours du catalogue — code de discipline, niveau, thèmes cliquables —, une entrée de chapitre désigne une étape numérotée à l'intérieurd'un cours. Le repère de rang et l'avancement qui repeint la surface n'ont aucun équivalent sur une fiche, et les thèmes ou le code n'en ont aucun ici.
Deux axes qui ne se confondent pas : l'avancement est un état, l'accent une appartenance. Le premier choisit la densité de la surface — atone à venir, teintée en cours, saturée terminée —, le second sa teinte lorsque cette surface est un aplat. Un chapitre terminé d'un module de physique est donc une affiche orange, jamais verte.
Un seul lien par entrée, à la place que son ossature lui donne : la ligne dense porte son action en dernière colonne, la table des matières et l'affiche font du titre le lien. Envelopper le bloc entier aurait fait entrer la piste de progression dans le nom accessible du lien — l'aria-label d'un progressbar descendant participe au calcul du nom.
Des trois compositions du dossier « Chapitres Analyse I », l'éditorial en deux colonnes (1b) a été retenu: c'est lui qui sert de référence à la page d'un cours réel, et il reste montésur les deux modules de la vitrine dotés d'un programme — Analyse I, rien de commencé et Algèbre linéaire, tout acquis, les trois états qui le mettent à l'épreuve. Le sommaire dense (1a) et le mur d'affiches (1c) ont disparu avec le choix. La composition n'est donc pas reproduite en maquette ici : c'est une page, pas un cadre.
Le cadre et les filets appartiennent à la liste, pas à chaque ligne. Le volume horaire rejoint le résumé plutôt que d'occuper une cinquième colonne.
Borne supérieure, convergence, suites de Cauchy · 5 h
Sommes de Darboux, intégrabilité, théorème fondamental · 6 h
Intégration par parties, changement de variable · 5 h
Sans cadre : la table se lit dans la colonne d'un texte, et un rectangle posé autour en aurait fait un panneau. La piste y est le seul indicateur d'avancement: le pourcentage écrit de la dernière colonne a été retiré, un chiffre par ligne se lisant comme une note posée à côté d'un titre. Elle sort donc sur toute entrée mesurée, et non plus sur le seul chapitre en cours — mais jamais à zéro: une piste vide n'apprend rien que le rang atone ne dise déjà, et un chapitre jamais ouvert n'a pas une progression nulle, il n'en a aucune. Les deux se ressemblent donc à l'écran, parce que ni l'un ni l'autre n'a quelque chose à montrer. La piste est en outre plus fine qu'ailleurs : à la hauteur commune, un filet courant sur toute la largeur du corps se serait lu comme une règle de séparation.
Intégration par parties, changement de variable
Critères de convergence et comparaison
Un chapitre doté de sous-chapitres troque son lien contre un bouton de divulgationporté par son titre : le plan se déroule sous l'entrée et pousse les suivantes vers le bas. Le repère décimal est le grand chiffre de tête, d'un cran plus bas: même famille, même graisse, même approche resserrée, seules l'échelle et l'encre atone disant la subordination. En capitales monospacées, comme un libellé, il n'appartenait pas visuellement à la même famille que les « 07 » et « 08 » qui l'encadrent. Le filet de gauche dit l'imbrication : sans lui, le plan aurait ressemblé à une suite de chapitres.
L'état est une prop (expanded), la bascule une autre (onToggle) : la primitive n'a aucun état interne, et reste donc rendable par le serveur. Ici, onToggle est absent — l'entrée est présentée ouverte, comme les onglets sont présentés sans sélection. Elle est montée et cliquable sur la table des chapitres d'Analyse I.
Un sous-chapitre porte deux facultés que l'entrée parente ne peut pas cumuler : un href, qui fait de son titre un lien — rien ne dispute son geste, le bouton de dépliage vivant un cran au-dessus —, et ses propres sections, déroulées sous lui sans borne de profondeur. Ci-dessous, « 07.1 » est un lien et « 07.2 » se subdivise à son tour. La récursion réemploie la même liste et les mêmes sous-éléments : une classe par niveau aurait plafonné l'affichage à ce que la feuille de style aurait prévu, alors qu'une arborescence éditoriale n'est bornée nulle part.
Points critiques, hessienne et optimisation sous contrainte
Gradient nul et condition nécessaire du premier ordre.
Hessienne, condition du second ordre et points selle.
Multiplicateurs de Lagrange et contraintes d’égalité.
Théorème de Fubini et changement de variables
Troisième ossature du même bloc : le rang répété en réserve tient lieu de visuel, le texte s'appuie au bas du cadre et les repères occupent les coins. Tant que le chapitre n'est pas terminé, l'affiche reste une surface de page — c'est l'achèvement qui la sature, et l'accent qui en choisit la teinte. Comme l'affiche de module, elle est peinte pour elle-même dans les deux thèmes.
La surface repeint ce qu'elle porte : la mention de reprise et le pourcentage écrit changent de couleur parce qu'ils reposent dessus. L'affiche renonce au résumé du chapitre : 15 rem n'ont pas la hauteur d'un paragraphe, et l'y glisser en aurait fait une carte de catalogue rétrécie.
Le module à reprendre, unique sur sa page : ce n'est pas une fiche agrandie. L'invitation à reprendre et l'avancement qui la justifie sont deux moitiés d'un même cadre — une carte et un chiffre clé posés côte à côte n'auraient rien obligé à parler du même module.
C'est une affiche, à la géométrie près : même aplat saturé, même trame réglée, même symbole en réserve, même accent d'appartenance. Le bloc ne s'en distingue que par son refend et par sa largeur pleine — une carte claire posée au-dessus d'une grille d'affiches aurait fait deux langages sur une même page.
La surface repeint ce qu'elle porte : le bouton, sans quoi un bouton vert sur du vert serait invisible, et la piste de progression. Celle-ci est composée depuis la barre du socle, donc le pourcentage écrit et la valeur de la piste viennent de la même source.
À la une — reprise conseillée
Limites, continuité, dérivation et intégration des fonctions d'une variable réelle.
À la une — module de physique
Cinématique, lois de Newton, travail et énergie, oscillateurs harmoniques.
Chiffres du programme, posés sur un panneau hero. Les valeurs sont reçues déjà formatées : unité et locale sont des décisions de contenu, pas du socle.
8
Modules au catalogue
336 h
Volume d’enseignement
2
Disciplines
4
Aperçus libres
L'avancement qui coiffe une page — le programme d'un module —, à l'échelle d'un titre et à la couleur de marque. C'est une variante et non un chiffre agrandi par sa page : trois compositions en avaient besoin, et trois feuilles locales auraient fini par en donner trois tailles. Seule la valeur change d'échelle, le libellé garde la sienne — sans quoi le couple cesserait de se lire comme un chiffre et son unité.
78 %
9 chapitres sur 12
Les neuf maquettes retenues du dossier « Vidéos dans le LMS », reproduites telles quelles : 1a–1d pour le premier tour, 2a–2c pour le second, 3a et 3c pour le troisième. Chacune est dessinée pour 1280 px et posée dans un cadre à sa largeur nominale, qui défile horizontalement plutôt que de déborder de la colonne.
Tout ce qui est visible ici vient du socle : lecteur, vignette de séance, chapitres, transcription, badges, boutons, fil d'Ariane, progression et alertes. Ne restent locales que les ossatures de page. Le lecteur ne connaît aucun fournisseur — il reçoit un média déjà résolu par un adaptateur — et ses contrôles sont pilotés par des props : la vitrine les présente donc à l'arrêt.
Mêmes fonctions, geste plus net : rayons supprimés, filets d'encre, timecodes en chasse fixe, un seul accent par écran. Le lecteur y prend la variante ink, comme la liseuse prend appliance— ce n'est pas un cadrage de plus, c'est le même 16:9 au geste franc, que 3a et 3c partagent à deux échelles.
Les quatre maquettes du dossier « Lecteur PDF », reproduites telles quelles : 1a arrondie, avec le sommaire du fascicule à gauche ; 1b et 1ctranchantes en angles droits et filets d'encre, rail de pages numéroté à droite — la même liseuse en double page puis en page simple, l'étudiant bascule d'un mode à l'autre ; 2apour le cadrage mobile. Le mode de lecture est donc un axe et non une variante : 1b et 1c sont une seule liseuse.
Le socle rend le cadre, jamais le fichier. La planche reçoit son contenu en children— ici un fac-similé de texte, en production le canvas peint depuis un flux que le serveur n'ouvre qu'après avoir vérifié l'utilisateur, son état de compte puis son droit d'accès au cours. Aucune adresse de document n'entre dans le socle, et aucun adaptateur de fichiers n'est inventé : le fournisseur reste à choisir.
Ce qui est délibérément absent : aucune commande de téléchargement, aucune commande d'impression, et aucun filigrane. Un filigrane peint par-dessus la planche ne trace rien — il se retire en deux clics dans les outils du navigateur ; une marque nominative réelle appartient au serveur qui peint le canvas, gravée dans l'image. La feuille refuse la sélection, par cohérence du geste et non comme protection : celle-là appartient au serveur qui délivre le flux.