L'INGÉNIERIE DERRIÈRE YK DYNAMICS

Une plateforme. Tous les produits.

ForgeOps est le socle sur lequel reposent les produits YK Dynamics — authentification, orchestration, événementiel et multi-tenant, conçus une seule fois. Pensé dès le premier jour, volontairement reporté jusqu'à ce que les produits le justifient. Il est désormais en ligne.

ForgeOpsKeycloak / OIDCApache KafkaPostgreSQLGoDocker

Pourquoi une plateforme

Tout produit SaaS a besoin du même socle ingrat : qui a le droit d'entrer, comment s'exécutent les tâches de fond, comment les services communiquent, comment les tenants restent isolés. Construire une plateforme dès le premier jour aurait été prématuré — une plateforme sans rien à porter. Les produits sont donc venus d'abord. Avec deux preuves de concept dans deux secteurs différents, le socle partagé est devenu évident et justifié. ForgeOps est ce socle, extrait une fois en une fondation réutilisable et multi-tenant.

Produits

ClinicOps
IoT Watchdog
futurs produits

partagé · multi-tenant

Plateforme ForgeOps

Identité

Keycloak / OIDC — authentification unique, par tenant

Orchestration

tâches, exécutions, workers en pull

Bus d'événements

Apache Kafka — contrats durables

PostgreSQL (contrôle + shards par tenant) · services Go · Docker · TLS

Ses points forts

Orchestration événementielle

Les produits demandent l'automatisation ; ils ne l'exécutent pas. Des workers durables tirent le travail depuis le bus d'événements et l'exécutent — résistant aux redémarrages, évoluant horizontalement, et capables de tourner n'importe où, y compris sur l'infrastructure d'un client.

Multi-tenant par conception

Une base de contrôle dirige chaque tenant vers son shard de données. La plupart des tenants partagent l'infrastructure à moindre coût ; les plus importants peuvent être promus vers une isolation dédiée — sans réarchitecturer le produit.

Identité hybride

Une authentification unique sur tous les produits via un realm Keycloak partagé, l'identité du tenant étant portée dans le jeton. Les clients entreprise peuvent apporter leur propre fournisseur d'identité et conserver leur connexion d'entreprise.

Automatisation transparente et maîtrisée

Les tâches longues renvoient progression, journaux et résultats via une Runtime API, à l'aide d'identifiants à durée de vie limitée propres à chaque exécution — l'automatisation reste observable et son périmètre d'impact contenu.

Validé sur deux domaines

ForgeOps a été conçu face à deux problèmes très différents — la prise de rendez-vous médicaux et la télémétrie IoT — pour que l'abstraction ne soit pas un hasard.

POC avancé · prêt pour la bêta · migration prévue

ClinicOps

Un SaaS de gestion de cabinet : rendez-vous, rappels et flux patients. Construit d'abord comme une preuve de concept autonome ; sa convergence vers ForgeOps est prévue.

POC · second domaine

IoT Watchdog

Une solution d'observabilité de flottes d'appareils : télémétrie, détection d'anomalies, alertes. Un second domaine qui a validé que l'orchestration et l'identité de ForgeOps se généralisent au-delà d'un seul secteur.

Comment un produit l'utilise

Les produits ne parlent pas directement à Kafka, Postgres ou aux workers — ils appellent un petit SDK Go. Créer une tâche, choisir comment elle monte en charge et la suivre jusqu'au bout tient en quelques lignes. La plateforme gère la planification, l'exécution, les reprises et l'enregistrement à travers le pool de workers.

clinicops/reminders.go
// A product hands work to the platform in a few lines.
client := forgeops.New(platformURL, apiToken)

job, err := client.CreateJob(ctx, tenantID, workspaceID, forgeops.CreateJobInput{
    TemplateID:      "appointment-reminder",
    TemplateVersion: "1.0.0",
    DispatchMode:    forgeops.DispatchRoundRobin, // spread runs across workers
    Input:           json.RawMessage(`{"appointment_id":"appt_8f21"}`),
})

// Follow the run to completion — the platform schedules, executes,
// retries and records it across the worker pool.
runs, _ := client.ListRuns(ctx, job.ID)
run, _ := client.GetRun(ctx, runs[0].RunID)
fmt.Println(run.Status) // created → queued → running → succeeded

API pkg/forgeops réelle — le même SDK que le lab en production utilise.

Pourquoi maintenant

La plateforme était en tête dès le départ, mais la construire d'abord aurait été une erreur — une plateforme se mérite, elle ne se présume pas. J'ai d'abord livré des preuves de concept. Une fois deux d'entre elles, dans deux domaines différents, sur la table, le socle partagé était justifié. C'est là que ForgeOps est devenu l'étape suivante assumée : la base dont part chaque futur produit, au lieu de la reconstruire.

— Y.K.

Conçu pour tourner, pas seulement pour la démo

ForgeOps tourne en conditions réelles : déploiement reproductible en une seule commande, TLS automatique, CI/CD, authentification durcie et infrastructure as code. Toute la pile — identité, bus d'événements et orchestration — se déploie sur un seul serveur.

Tôt mais réel : une plateforme de référence aux standards de production, en ligne. Complète sur le plan architectural ; pas encore exploitée à l'échelle de production.

Une plateforme. Tous les produits. | YK Dynamics