Community
Edition Community · org: community Limites actives : 20 entités · 250 000 lignes. Enterprise débloque RBAC, Compliance, chiffrement WAL et cluster.
🖊 Éditeur CQL 
← Tapez ou collez un schéma CQL
puis Visualiser ou Ctrl+↵
◇ Cliquez Explorateur pour analyser le schéma.
Instance : aucune
Rédigez une requête SQL et cliquez Exécuter.
-- Cliquez « Générer DDL » pour afficher le SQL de création du schéma.
Entités
Ouvrez un schéma…
← Sélectionnez une entité pour parcourir ses données
Instance : aucune
Requête CQL
SQL généré
-- Le SQL compilé apparaîtra ici
Résultats
Entrez une requête CQL et cliquez Exécuter.
Instance source : aucune
Mapping CQL (M : S → T)
Schéma cible T
Instance cible (résultat Σ)
Définissez un mapping et cliquez Σ Appliquer.
Cliquez l'onglet Monitoring pour lancer l'analyse…
Ops RGPD
Poste de pilotage pour accès sujet, portabilité, anonymisation, purge physique et import live.
Connexion serveur
Le Studio relaye les commandes NDJSON Enterprise vers un serveur CatrustDB déjà chargé.
Renseignez un serveur CatrustDB puis lancez un workflow.
Import live & audit de base
Montez une source PostgreSQL ou Snowflake dans CatrustDB, puis ouvrez le schéma dans le Studio pour lancer les contrôles.
Preset local recommandé : postgres://catrust:catrust@127.0.0.1:5432/catrust. Le Studio conserve la dernière URL utilisée dans ce navigateur.
Droits de la personne concernée
Exécutez les workflows Art. 15 et Art. 20 à partir d'un attribut sujet transversal comme un email ou un customer_id.
Anonymisation & purge
Pilotez l'anonymisation d'un attribut sensible puis la purge physique du WAL pour les demandes d'effacement.
Le Studio relaie ici les commandes natives du serveur: droit d'accès, portabilité, anonymisation, rapport de conformité et compaction physique pour purger les soft-deletes du WAL.
Tableau de bord
Synthèse opérationnelle, historique local et réponse brute pour audit.
Statut
En attente
Aucune commande Enterprise exécutée dans cette session.
L'historique local des workflows RGPD apparaîtra ici.
Aucune commande exécutée.
Ops Enterprise
Accès Enterprise

En Community, les boutons RBAC, Compliance et Cluster ouvrent l'activation. En Enterprise, ils ouvrent maintenant les parcours d'exploitation correspondants dans le Studio.

RBAC multi-rôle

Le Studio web reste côté client. Le vrai déverrouillage RBAC se fait sur le serveur CatrustDB avec des tokens admin, rw et ro distincts.

export CATRUST_LICENSE_KEY="<votre-clé>"
export CATRUST_TOKEN_ADMIN="admin-secret"
export CATRUST_TOKEN_RW="rw-secret"
export CATRUST_TOKEN_RO="ro-secret"

catrustdb --port 7474 --data-dir ./data
Compliance RGPD

Les commandes Enterprise de conformité sont pilotées dans l'onglet RGPD du Studio : droit d'accès, export portable, anonymisation, rapport de conformité et purge physique.

1. Ouvrir l'onglet RGPD
2. Renseigner hôte, port et token
3. Lancer les workflows Compliance
Cluster haute disponibilité

Le cluster est une capacité serveur. Il faut lancer CatrustDB avec un identifiant de nœud, une adresse cluster et la liste des pairs.

export CATRUST_LICENSE_KEY="<votre-clé>"
catrustdb --port 7474 \
          --data-dir ./node1 \
          --cluster-id 1 \
          --cluster-addr 127.0.0.1:7476 \
          --cluster-peers "2=127.0.0.1:8476,3=127.0.0.1:9476"
📚 Référence CQL — Catrust

CQL (Categorical Query Language) modélise les schémas de base de données comme des catégories : les entités sont des nœuds, les clés étrangères et attributs sont des morphismes, les contraintes sont des équations de chemins.

Syntaxe — schéma
Structure minimale
schema MonSchema {
  entities
    EntityA  EntityB

  foreign_keys
    fk_name : EntityA -> EntityB

  attributes
    nom : EntityA -> Str
    age : EntityA -> Int
}
Avec path equations
schema University {
  entities
    Student  Course  Dept

  path_equations
    Student.enrolled.dept
    = Student.home_dept
}
Format instance (.cqli)
instance Data : MonSchema {
  EntityA {
    // sym  attr=val  fk=sym
    a1  nom="Alice"  age=30  fk_name=b1
    a2  nom="Bob"    age=25  fk_name=b1
  }
  EntityB {
    b1  name="Sales"
  }
}
Types primitifs
CQLDescriptionExempleArrow / SQL
StrChaîne de caractères"Alice"Utf8 / VARCHAR
IntEntier 64 bits42Int64 / BIGINT
FloatFlottant 64 bits3.14Float64 / DOUBLE PRECISION
BoolBooléentrueBoolean / BOOLEAN
Concepts catégoriques
Schéma = Catégorie

Nœuds = entités. Arêtes = FK + attributs. Équations = contraintes de commutativité.

Instance = Foncteur

Associe à chaque entité un ensemble de lignes, et à chaque morphisme une fonction entre eux.

Δ (Pullback)

Migration restrictive — tire les données via un mapping. Sûr, préserve les données.

Σ (Left Kan extension)

Migration générative — pousse les données en avant. Peut créer de nouvelles lignes.

Commandes CLI
CommandeDescription
catrust validate schema.cqlValide la structure (types, équations, cycles)
catrust generate sql --dialect postgresGénère le DDL CREATE TABLE
catrust query --instance data.cqli --sql "SELECT..."Requête SQL sur données en mémoire
catrust diff A.cql B.cqlDiff sémantique de deux schémas
catrust evolve --from old.cql --to new.cqlPlan ALTER TABLE data-preserving
catrust drift --schema s.cql --db <url>Détecte les divergences schéma ⇔ base
catrust introspect --db <url>Génère le .cql depuis PostgreSQL
catrust serve --schema schema.cqlLance ce Studio (port 7878)
catrust serve-sql --schema schema.cqlExpose DataFusion via pgwire (psql, DBeaver)
catrust check --schema s.cql --db <url>Porte CI/CD : validate + strict + drift
📙
Guide completdocs/guide.pdf
Source : docs/guide.tex
Catrust Studio · Propri\u00e9taire · serveur local
Edition
Activate product
Expose clairement l'édition active et la procédure d'activation.
Edition active
Edition active
Limites
Community conserve le Studio web complet pour l'exploration locale, les requêtes et les migrations de base.
🔒Enterprise ajoute RBAC multi-rôle, chiffrement WAL, rotation de clé, Compliance RGPD et cluster HA.
Les fonctions verrouillées restent visibles pour signaler ce qui existe, mais l'application des restrictions reste côté backend.
Activation
Collez la clé Enterprise signée pour activer le Studio tout de suite. Pour conserver l'activation après redémarrage, relancez ensuite avec CATRUST_LICENSE_KEY.
# PowerShell $env:CATRUST_LICENSE_KEY = "<votre-clé>" catrust serve --schema examples/company.cql # Bash / zsh export CATRUST_LICENSE_KEY="<votre-clé>" catrust serve --schema examples/company.cql