Vue d’ensemble
Comment une application SaaS dialogue avec la plateforme et organise ses données : SDK Python / TS / Rust, authentification JWT + tenant_id, puis trois services orientés document, graphe et fichier.
DocumentService
Collections documentaires, recherches exactes, pagination et requête QueryDoc.
GraphService
Nœuds, arêtes et traversées paginées, avec des IDs fournis par le client.
FileService
Fichiers chunkés, métadonnées et visibilité atomique via commit marker.
Modèles de données
La plateforme sépare volontairement document, graphe et fichier. Leur combinaison est explicite et portée par le client.
Document
- Payload JSON brut
- tenant_id + collection + id
- ListDoc, FindByField, QueryDoc
Graphe
- IDs fournis par le client
- AddEdge échoue si une extrémité manque
- NeighborsIn / NeighborsOut paginés
Fichier
- Upload en streaming
- Chunks de 1 MiB
- size, content_type, checksum
Interactions gRPC
Des services orientés document, graphe et fichier, pensés pour des usages applicatifs et des workflows d’intégration.
Documents
Écriture, lecture, suppression et recherche avec pagination et total_count.
PutDoc · GetDoc · DeleteDoc · ListDocGraphes
Création de nœuds et arêtes, traversée paginée dans les deux sens.
PutNode · AddEdge · NeighborsOut · NeighborsInFichiers
Upload streamé, téléchargement, lecture de métadonnées et suppression.
Upload · Download · Stat · DeleteSécurité, environnements & exploitation
Les éléments publics utiles pour exploiter la plateforme proprement dans un contexte SaaS.
JWT obligatoire
Claims requis : iss, sub, tenant_id, exp, iat.
Issuer & JWKS
Validation contre un issuer configuré et un jeu de clés publiques JWKS avec rotation.
Tenant isolation
Le tenant_id structure l’isolation des données et fait partie du contrat applicatif.
Secrets
Clés et secrets hors du code applicatif, injectés par l’environnement.
Parcours recommandé
Monitoring, logging & tracing
Pensée pour s’intégrer dans une chaîne d’observabilité standard : Prometheus pour les métriques, Grafana pour les dashboards, Jaeger pour le tracing distribué.
Prometheus
Jaeger
OpenTelemetry, trace_id propagé dans les métadonnées gRPC puis corrélé avec les journaux.
Grafana
Dashboards SLO, latence p50/p95/p99, taux de succès, alertes & tendances.
SDKs & exemples de clients
Une base de présentation pour Python, TypeScript et Rust, alignée sur les primitives réelles du proto.