Aperçu du système de design Khalil (design/preview.html)
07ÉDUCATION2026EN DÉVELOPPEMENT

KHALIL — KIDS CODING

Le code devrait avoir le goût de la découverte.

Logotype Khalil Kids Coding

Une plateforme éducative qui enseigne la programmation et l'IA aux enfants de 7 à 14 ans par le jeu : un moteur de blocs sur mesure basé sur le DOM avec un interpréteur pas à pas, un validateur et un transpileur Python/JavaScript, un programme en dix mondes, de la gamification, des parcours parents et enseignants, et un tuteur IA qui questionne au lieu de répondre.

Khalil est un monorepo pnpm + Turborepo : apps/web sur Next.js 15 avec dnd-kit, Framer Motion et Zustand ; apps/api sur NestJS 11 avec Prisma, argon2, helmet et limitation de débit ; des packages pour le moteur de blocs, le programme, la gamification, l'économie et l'UI. Le moteur de blocs est en DOM plutôt qu'en SVG — RTL natif, meilleure prise en charge tactile, accessibilité gratuite, 60 Ko au lieu de 600 Ko — et le même interpréteur tourne côté client et côté serveur, si bien qu'une solution ne peut jamais passer en local et échouer à la validation.

Le programme est constitué de données typées protégées par 160 tests golden : chaque solution de référence passe, chaque code de départ échoue, chaque défi comporte exactement quatre indices ordonnés, chaque chaîne est bilingue, et le mot « erreur » n'apparaît jamais dans un message destiné à un enfant. Un enfant n'a pas de compte — seulement un profil dans le compte d'un parent — sans aucun canal d'utilisateur à utilisateur et avec un registre de récompenses immuable sans achats en argent réel. Le README signale une liste de défauts ouverts, principalement le fait que les solutions des défis sont actuellement livrées au navigateur sur la page publique /try.

01

Vue d'ensemble

Dix mondes, une mascotte à huit états émotionnels et un moteur qui transforme des blocs glissés en vrai Python et JavaScript.

design/preview.html
Aperçu du système de design Khalil (design/preview.html)
02

Architecture

  1. apps/web
    Next.js 15 · dnd-kit
  2. apps/api
    NestJS 11 · Prisma
  3. blocks-engine
    AST · VM · validateur · transpileur
  4. curriculum
    160 tests golden
  5. gamification + economy
    bus d'événements · registre
  6. ui
    tokens · Khalil Bot

Dix décisions

  • 01DOM, pas SVG, pour l'éditeur de blocs
  • 02Un seul interpréteur côté client et côté serveur
  • 03L'IA questionne, ne répond jamais — l'échelle d'indices est imposée par le service
  • 04La plateforme fonctionne sans aucune clé IA
  • 05Un bus d'événements unique pour toute la gamification
  • 06Un registre immuable ; des soldes recalculables depuis zéro
  • 07Aucun achat de monnaie en argent réel — les coffres de récompenses restent hors de la réglementation sur les loot boxes
  • 08Seuls un pseudonyme et un âge sont jamais collectés au sujet d'un enfant
  • 09La scène de codage est toujours en LTR — un monde de coordonnées n'est pas du texte
03

Design

Bleu royal, ciel, violet, corail.

Baloo 2 pour les titres, IBM Plex Sans Arabic pour le corps de texte en arabe, Inter pour l'anglais, JetBrains Mono avec ligatures désactivées pour le code. Dix couleurs de mondes, huit couleurs de catégories de blocs, quatre niveaux de rareté — tous issus de design/tokens.json.

  • #3D5AFE bleu royal · #38BDF8 ciel · #8B5CF6 violet
  • #FBBF24 jaune · #22C55E vert · #FB7185 corail
  • Khalil Bot — 8 états
Mascotte Khalil Bot
Logotype Khalil Kids Coding
04

Travaux en cours

L'audit du dépôt lui-même recense 21 défauts critiques avec un plan en six phases et vingt semaines pour atteindre zéro — le premier étant que 42 solutions de référence des défis sont livrées au navigateur de l'enfant et que la porte de CI censée le détecter passe à tort. C'est le plan, et non le marketing, qui est publié ici.

Projet suivant
LYRICCAPTION