ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Générateur de quiz : décris un tableau de données (CSV + schéma), obtiens un quiz jouable. Dérivé d'oliver-quiz.
Translation pending
EducationTypeScript · JavaScriptGitHub @lom2gwadaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Anciennement « Quiz Forge » (dépôt et adresse quiz-forge jusqu'au 2026-09-19). Le préfixe des tables Supabase (quiz_forge_*) et les clés de stockage (quiz-forge:*) gardent l'ancien nom : ils ne se voient pas et les renommer ferait perdre des données. Application web de quiz construite avec React, TypeScript et Vite, dérivée d'oliver-quiz. Elle partage le même moteur de jeu (types de questions, filtres, tirage aléatoire, historique) mais se concentre sur la génération automatique de quiz à partir d'un tableau de données.Read the full README ↗
Anciennement « Quiz Forge » (dépôt et adresse
quiz-forgejusqu'au 2026-09-19). Le préfixe des tables Supabase (quiz_forge_*) et les clés de stockage (quiz-forge:*) gardent l'ancien nom : ils ne se voient pas et les renommer ferait perdre des données.
Application web de quiz construite avec React, TypeScript et Vite, dérivée d'oliver-quiz. Elle partage le même moteur de jeu (types de questions, filtres, tirage aléatoire, historique) mais se concentre sur la génération automatique de quiz à partir d'un tableau de données.
L'idée : au lieu d'écrire chaque question à la main, on charge un CSV (une ligne par entité, une colonne par attribut) et l'app en déduit un quiz complet — QCM directs et inversés, estimations numériques, classements, associations, QCM à réponses multiples.
engine/src/utils/quizGenerator.ts (parseCsv → inferSchema → generateQuiz)src/components/GeneratorPanel.tsxengine/src/components)engine/src/utils/quizValidation.ts)localStorage), sans backendsrc/data/caribbean.csv (29 pays et territoires du bassin caribéen), généré à l'ouverturesrc/data/shapes.ts, contours Natural Earth générés par scripts/build-shapes.mjs)src/data/region.ts, même source Natural Earth mais projection partagée entre tous les territoires, générée par scripts/build-region.mjs) ; les micro-territoires trop petits pour rester lisibles n'affichent qu'un point d'accentUne seule date pour l'ensemble des données et une liste de sources sont affichées sur les fiches, la page Fiches, l'accueil et la correction (« Données mises à jour le 27 octobre 2026. Sources : … »). Elles se règlent dans src/appSpec.tsx, constante DATA_INFO :
const DATA_INFO: DataInfo = {
updatedAt: '2026-10-27', // AAAA-MM-JJ : à changer à chaque révision des données (CSV et table Supabase `quiz_forge_caribbean_dataset`)
sources: [{ label: 'Nom de la source', url: 'https://…' }], // le lien est facultatif ; liste vide ou absente = aucune mention de source
}
pib_mds_usd)En milliards de dollars courants, millésime 2023, arrondi à l'entier à partir de 10 Md$ et à une décimale en dessous (« 1,4 »), pour que les petits territoires restent distinguables. Source : Banque mondiale (NY.GDP.MKTP.CD) pour tout ce qu'elle publie. Exceptions, faute de série 2023 :
| Territoire | Valeur | Source |
|---|---|---|
| Guadeloupe | 11 | INSEE / CEROM, comptes rapides 2023 : 10 410 M€, converti à 1,081 $/€ (moyenne 2023) |
| Martinique | 11 | CEROM 2023 : PIB par habitant 28 600 € × population moyenne 351 700 ≈ 10,06 Md€, converti de même (estimation) |
| Saint-Barthélemy | 1,0 | IEDOM / CEROM, PIB 2023 : 960,5 M€, converti de même |
| Saint-Martin | 0,6 | Banque mondiale, 2021 (pas de donnée plus récente) |
| Bonaire | 0,7 | CBS (Pays-Bas), tableau 84789NED, 2023 : 722 M$ |
| Anguilla, Montserrat, îles Vierges britanniques | 0,4 · 0,1 · 1,5 | ONU (comptes nationaux), 2023 |
| îles Vierges américaines | 4,7 | Banque mondiale, 2022 |
| Cuba | 107 | Banque mondiale, 2020 (dernière donnée publiée) |
À la révision suivante, prendre le millésime le plus récent de la Banque mondiale pour tout le monde, puis mettre à jour ce tableau.
Supprimer dataInfo du Dataset retire toute mention. Les valeurs qui changent (président, Premier ministre, population, PIB…) se révisent par exemple une fois par an : mettre à jour le CSV et la table, puis la date.
Cette appli est un jeu de données + des vues posés sur le moteur commun quiz-engine, inclus comme sous-module git dans engine/ (génération de quiz, jeu, historique, classement, connexion, liens invités, édition admin, i18n…).
src/appConfig.ts : identité de l'appli pour le moteur (préfixe de stockage quiz-forge, préfixe des tables Supabase quiz_forge_, libellés propres).src/appSpec.tsx : jeu de données embarqué, construction du Dataset (traductions, silhouettes, carte de la région, alias de réponses) et accès à la version en base.engine/ : à ne modifier que pour ce qui doit changer dans les deux applis (voir son README).Après un git clone, récupérer le moteur avec git submodule update --init (ou cloner avec --recurse-submodules). Le workflow de déploiement le fait déjà.
npm install
Pas de variables d'environnement, pas de service externe : tout tourne dans le navigateur.
unique), séparateur multivaleur (|), colonne « année ». Elle choisit une colonne « sujet » (par en-tête ou première colonne texte) et exclut les colonnes URL.Une cellule vide n'alimente aucune question ; les classements ne tirent qu'une ligne par valeur distincte (pas d'ex æquo). Le CSV pourra plus tard être remplacé par un appel à une base de données : generateQuiz prend des lignes (Record<string,string>[]), pas un fichier.
| Commande | Description |
|---|---|
npm run dev | Serveur de développement Vite |
npm run build | Vérification des types puis build de production |
npm run preview | Prévisualise le build de production en local |
npm test | Tests unitaires (Vitest) |
npm run test:coverage | Tests avec rapport de couverture |
Un fichier de quiz importé doit respecter le contrat de engine/src/types/quiz.ts, validé par parseQuiz — c'est aussi la sortie de generateQuiz.
docs/architecture-packs.md — réflexion sur l'ouverture de quiz-forge à d'autres sujets (« packs ») : un moteur générique, un sujet = du contenu (données + schéma + config de génération + thème), avec ou sans base de données. Proposition, non implémentée.docs/i18n-plan.md — plan d'internationalisation (UI + formulations générées + données), locales ouvertes, français source de vérité. Validé, non implémenté.