TECHNICAL REFERENCE · 2026.10

TKAWEN OS

Un système d'exploitation pour les organismes de formation. Chaque organisme dispose d'une académie complète à sa propre adresse your-academy.tkawen.com, fonctionnant sur une base de données qui n'appartient qu'à lui, et émettant des certificats signés cryptographiquement avec sa propre clé — de la première leçon à la page de vérification.

multi-tenantDB per academyEd25519SCORM 1.2 · 2004xAPI · cmi5 · LRSLTI 1.3ar · fr · en
01 — ANATOMY

Cinq couches, un seul chemin de requête

Chaque requête entre par le sous-domaine de l'académie. Le tenant est identifié à partir de ce sous-domaine avant toute autre chose, et la requête ne touche ensuite que les données de cette académie.

PériphérieUn certificat TLS wildcard pour tous les sous-domaines d'académie ; routage par hôtenginx · *.tkawen.com
ApplicationsL'application de l'apprenant, et le panneau du propriétaire et des formateursSvelteKit · /manage
Cœur tenantAPI qui identifie l'académie à partir de l'hôte et applique les permissionsLaravel 13
IsolationUne base de données, un stockage, un cache et une file de tâches par académietkawen_<slug>
ConfianceUne paire de clés de signature par académie ; la clé privée stockée chiffréeEd25519
02 — PROVISIONING

Une académie complète en une commande — ou rien

Le provisionnement n'est pas la copie d'un modèle. Une seule commande crée le tenant, sa base et ses tables, le compte propriétaire, les rôles, le thème, le modèle de certificat et la clé de signature. Si une étape échoue — une base qui ne peut être créée, une migration qui n'aboutit pas — tout est annulé : aucune académie à moitié construite, aucun compte que personne n'a demandé.

acme.tkawen.com
  • base de données tkawen_acme
  • stockage storage/acme
  • file queue:acme
  • clé de signature ed25519:acme
nour.tkawen.com
  • base de données tkawen_nour
  • stockage storage/nour
  • file queue:nour
  • clé de signature ed25519:nour
atlas.tkawen.com
  • base de données tkawen_atlas
  • stockage storage/atlas
  • file queue:atlas
  • clé de signature ed25519:atlas

NO SHARED DATABASE · NO SHARED STORAGE · NO SHARED QUEUE

03 — THE PRODUCT

Trois interfaces, chaque rôle avec ses outils

Le panneau du propriétaire pilote toute l'académie, les formateurs ne voient que leurs propres cours, et les apprenants utilisent l'application sur ordinateur et mobile. Captures réelles de l'académie de démonstration (interface en arabe).

Constructeur de parcours
une page de programme telle que la voit l'apprenant
Ordinateur — panneau du propriétaire : cours, inscriptions, paiements, formateursMobile — une page de programme telle que la voit l'apprenant
Constructeur de parcours

Constructeur de parcours

Modules, leçons et quiz, avec un verrouillage séquentiel choisi par le formateur.

Salle d'apprentissage

Salle d'apprentissage

Leçon après leçon ; la progression est enregistrée sur le serveur.

Inscriptions et progression

Inscriptions et progression

La progression et le statut de chaque apprenant, avec une alerte précoce après 14 jours d'inactivité.

04 — LEARNING ENGINE

Le moteur d'apprentissage

Neuf types de leçons, sept types de questions, et un verrouillage séquentiel imposé par le serveur et non par l'interface — personne ne saute une leçon en modifiant une URL.

Vidéo

Audio

Texte

PDF

Quiz

Devoir

Session en direct

SCORM

xAPI · cmi5

Verrouillage séquentiel

open · prev · prev_pass

7 types de questions

Choix unique, choix multiple, vrai/faux, texte libre, appariement, texte à trous, mots-clés.

Seuil de réussite et tentatives

Chaque quiz a un seuil de réussite et un nombre de tentatives (3 par défaut), avec un carnet de notes pour le formateur.

Alerte précoce

Un apprenant inactif depuis 14 jours est signalé au formateur avant qu'il n'abandonne.

05 — CRYPTOGRAPHIC CERTIFICATES

Un certificat infalsifiable — par les mathématiques, pas par le tampon

Personne ne saisit un certificat à la main. Il est émis automatiquement à 100 % du parcours, quiz final et devoirs réussis, puis signé avec la clé Ed25519 propre à l'académie. Modifier un seul caractère invalide la signature, et la vérification lit le registre — pas une image ni un PDF.

verify — demo certificate
{
  "status": "valid",
  "code": "TK-LJA74G2Z",
  "holder": "Demo Student",
  "programme": "Git & GitHub",
  "issuer": "Demo Academy",
  "credential_id": "crd_01m2ya21azztz6bmx6esgje3ns",
  "signature": "Ed25519 ✓"
}
Certificat valide

Capture réelle de la page de vérification de l'académie de démonstration, en anglais (les noms du titulaire et du cours sont les données arabes de la démo). 11 modèles de certificat et un éditeur libre, en arabe et en anglais.

06 — STANDARDS

Parle la langue des systèmes d'apprentissage du monde entier

Les contenus créés avec des outils standard fonctionnent tels quels, les traces d'apprentissage sont écrites selon un standard ouvert, et l'académie s'ouvre dans Moodle et lui renvoie les notes.

SCORM1.2 · 2004

Exécute les paquets SCORM et enregistre progression et score.

xAPIExperience API

Déclarations xAPI stockées dans un Learning Record Store propre à chaque académie.

cmi5xAPI profile

Paquets cmi5 lancés depuis une leçon, écrivant dans le LRS de l'académie.

LTI 1.3Deep Linking · Grades

Un outil LTI 1.3 : les programmes de l'académie dans Moodle, notes renvoyées. Testé avec Moodle.

MCP — FOR AI AGENTS

Un agent IA peut utiliser TKAWEN OS directement

TKAWEN OS intègre son propre serveur Model Context Protocol. Un assistant qui s'y connecte peut chercher dans les cours de toutes les académies à la fois, ouvrir la fiche d'un cours, vérifier un certificat par son code et nommer l'émetteur, savoir si un nom est libre pour une nouvelle académie, et récupérer les paramètres LTI 1.3 à coller dans Moodle — le tout en lecture seule, depuis les mêmes points d'accès publics qu'un visiteur.

search_courses

Une seule requête dans toutes les académies, compatible arabe, filtrée par niveau, langue ou certificat.

verify_certificate

Interroge le registre de chaque académie ; répond valide ou non, avec l'émetteur, le titulaire, le cours et la date.

lti_setup

L'enregistrement LTI 1.3 de l'académie — URL de connexion, de lancement, de deep linking et JWKS — prêt pour Moodle.

07 — PERMISSIONS

Les permissions sont appliquées par le serveur

L'interface masque ce qui ne vous concerne pas, et le serveur le refuse — les formateurs sont limités à leurs propres cours par les mêmes règles d'accès qui protègent les données.

CapacitéPropriétaireFormateurApprenant
Gérer l'académie, l'identité visuelle et les formateurs●——
Publier les cours et contrôler les paiements●——
Construire ses cours : modules, leçons, quiz●●—
Voir les apprenants et les notes de ses cours●● les siens uniquement—
Apprendre, passer les quiz, recevoir le certificat——●
08 — SECURITY & OPERATIONS

Exploitation et sécurité

Isolation complète

Base de données, stockage, cache et file par académie.

Clés chiffrées

Une clé Ed25519 par académie ; la clé privée chiffrée au repos.

Sauvegardes quotidiennes

Chaque base chaque jour : 14 jours sur le serveur, 90 jours hors site.

Transport chiffré

TLS sur chaque sous-domaine d'académie ; un provisionnement annulé en cas d'échec.

09 — IN PROGRESS

En cours

Une référence technique indique ce qui n'est pas encore terminé, pour que les décisions reposent sur ce qui existe.

Domaines personnalisésChaque académie fonctionne aujourd'hui sur academy-name.tkawen.com ; le rattachement du domaine propre d'un organisme n'est pas encore construit.
Apprentissage hors ligneLes signaux de progression sont mis en file localement et envoyés au retour du réseau ; la lecture des leçons hors ligne n'est pas construite.
Facturation à renouvellement automatiqueLes abonnements sont aujourd'hui des accès à durée fixe.
Passerelles AlgeriaCertify et LIQAAÉcrites, non activées : les certificats sont signés avec la clé de l'académie, et une session en direct est un lien vers une réunion externe.

Le voir fonctionner vaut toutes les explications

L'académie de démonstration est ouverte avec des comptes propriétaire, formateur et apprenant, et revient à son état initial chaque nuit.