TDC Studio

Outil auteurs · GPLv3 · DSL v2

TDC Studio

Deux façons d'écrire un cours .tdc : l'app TDC Studio, ou l'extension VS Code du dépôt tdc-sdk. Autoformation, étude, atelier, association — pas réservé aux formateurs.

tdc-sdk GitLab Extension VS Code Voir un cours joué

Pour soi. Vous documentez ce que vous apprenez (réseau, Linux, sécu) en .tdc, vous le rejouez dans T2DECODE hors ligne.

En groupe. TP demain : modules, Markdown, QCM, tdc check, signature. Ghost Link : on parle en P2P sur le même réseau, le .tdc arrive aux postes — salle sans internet.

Deux façons d'écrire

Même fichier .tdc, même grammaire. Choisissez l'app, ou restez dans VS Code / Cursor / VSCodium. N'importe qui peut écrire un cours : pour soi, un ami, une classe, un club.

1. L'app TDC Studio

IDE autonome (macOS, Windows, Linux). Accueil : nouveau cours, ouvrir un .tdc / .json, modèles (Linux, réseau, sécu, cloud, crypto, dev). Trois onglets : formulaire, code .TDC, aperçu apprenant (rendu T2DECODE). Signature Ed25519, export .tdc. Source Flutter : dossier TDC-Studio-IDE-App du repo. Captures : v1.7.

Code de l'app

2. L'extension VS Code

Si vous rédigez déjà dans un éditeur. Coloration, diagnostics, snippets, ouverture d'un .tdc dans Studio. Pas sur le Marketplace : VSIX dans le dossier vscode-tdc du même repo. Fichier actuel : vscode-tdc-language-1.1.0.vsix. Identifiant : tutodecode.vscode-tdc-language.

Télécharger le VSIX

Captures de l'app

TDC Studio IDE. Cliquez pour agrandir.

Captures de l'extension

Extension officielle dans le repo — pas un listing Marketplace. VS Code, Cursor, VSCodium.

code --install-extension vscode-tdc/vscode-tdc-language-1.1.0.vsix
cursor --install-extension vscode-tdc/vscode-tdc-language-1.1.0.vsix

Snippets : tdc-course, tdc-module, tdc-quiz, tdc-question, tdc-codeblock. Hors ligne : installer depuis le fichier VSIX (menu Extensions → Installer depuis un fichier VSIX).

Pourquoi un langage .tdc, et pas du JSON

L'association n'a pas « inventé un langage pour le plaisir ». Elle a défini le format natif des cours T2DECODE : un fichier qu'on lit comme un plan de séance, pas comme une API.

Exemple

À gauche le format natif .tdc. À droite le même cours en .json (repli du parseur).

cours.tdc

course "intro-linux" {
  title: "Mon cours"
  category: linux
  level: beginner
  module "module-1" {
    title: "Chapitre 1"
    content """
## Introduction
Leçon en Markdown
    """
  }
}

cours.json

{
  "id": "intro-linux",
  "title": "Mon cours",
  "category": "linux",
  "level": "beginner",
  "content": [
    {
      "id": "module-1",
      "title": "Chapitre 1",
      "content": "## Introduction\nLeçon en Markdown"
    }
  ]
}

CLI tdc

Dans le même repo, à côté de l'app et de l'extension : valider, inspecter, convertir.

./tdc check mon_cours.tdc
./tdc info mon_cours.tdc
./tdc convert-json ancien.json -o mon_cours.tdc

Signatures

Ed25519 avant distribution. T2DECODE vérifie. Ghost Link : on parle en P2P sur le LAN, le .tdc reste dans la salle — pas un cloud.

Jouer un cours dans T2DECODE