Technical Simulation Only

OfficinaOS

Infrastructure open source pour l'harmonisation des opérations officinales en contexte africain et francophone

Projet open source personnel Roadmap v0.1 → v1.0 2026 Données synthétiques uniquement
Statut officiel

OfficinaOS est un démonstrateur technique. Aucun usage avec données patient réelles, ordonnances réelles ou caisse de production n'est autorisé tant que le Compliance & Conflict-of-Interest Gate n'est pas levé par écrit.

Un laboratoire technique pour les officines modernes

OfficinaOS explore une infrastructure logicielle moderne pour la gestion d'officines : inventaire, caisse, achats, prescriptions en simulation, rapports, audit logs, API publique et intégrations. La version actuelle constitue une base de simulation technique et de discussion produit pour valider progressivement les workflows, l'architecture et les principes d'interopérabilité.

Répondre à la fragmentation des outils

Outils fragmentés
ERP modulaire, API-first
Vision unifiée des opérations
Stock peu traçable
Lots, expirations, FEFO, dashboard
Meilleure lecture des risques stock
Intégration difficile
API publique, webhooks, scopes
Base pour connecter des outils tiers
Manque de cadre projet
STATUS, NOTICE, Gate conformité
Réduction du risque de confusion

Quatre piliers non négociables

Infrastructure ouverte
API, webhooks, documentation et modules clairement séparés pour favoriser l'interopérabilité.
Simulation responsable
Pas de données réelles, pas de claims de conformité, pas de pilote sans Gate validé.
Contexte africain francophone
Adaptation aux besoins de terrain : multi-sites, reporting et connecteurs adaptés.
Engineering mature
CI, Docker, tests, metrics, logs structurés, backups, scans sécurité.

Ce qu'est OfficinaOS, et ce qu'il n'est pas

OfficinaOS est
Un projet personnel open source
Un laboratoire technique ERP officinal
Une base de simulation avec données synthétiques
Un outil pour explorer l'harmonisation
Un support de discussion produit et technique
OfficinaOS n'est pas
Une solution homologuée ou certifiée
Un produit ARP ou institutionnel
Un outil autorisé pour données patients réelles
Un POS de pharmacie prêt à l'usage réel
Une preuve de conformité juridique

Six blocs opérationnels

Opérations cœur
Catalogue · Stock lots · FEFO · Mouvements · POS & caisse
Achats & fournisseurs
Bons de commande · Réception partielle · Valorisation · Reporting
Simulation patient
Fiches synthétiques · Ordonnances démo · Consentement simulé
Pilotage & audit
Dashboard · Rapports CSV · Audit logs · Logs structurés
Intégration
API publique · Clés scopées · Webhooks · Journaux d'intégration
Infra technique
Docker · Prometheus · Health checks · Backup/restore · Runbooks

Monorepo TypeScript, API-first, conteneurisé

Web
Next.js
UI FR/EN
API
NestJS + Fastify
RBAC · API publique
Database
PostgreSQL
Prisma · Migrations
Identity
Keycloak
JWKS · Rôles
Infra
Redis · MinIO
Docker · Metrics
Séparation des logs — Logs applicatifs et audit logs strictement séparés
Correlation ID — Rédaction des secrets dans tous les logs
Health checks — Liveness, readiness, dépendances optionnelles
Runtime guard — Production bloquée sans COMPLIANCE_GATE_PASSED=true

Poser les bases d'un langage opérationnel commun

API publique
Lecture sécurisée de produits, stock et rapports via scopes contrôlés
Webhooks
Notifications d'événements vers outils externes
Exports CSV
Rapports pour analyses et intégrations tierces
FHIR-like
Cartographie conceptuelle vers des standards santé, sans claim de conformité

Trois axes de contrôle

Gouvernance
STATUS.md / NOTICE.md
Compliance Gate
Runtime guard
Pilot-0 docs
Sécurité technique
RBAC + Keycloak + API keys scopées
Rédaction logs, no secrets
Audit logs séparés
Backups, restore drills, scans
Conformité (à valider)
Position écrite ARP ou avis juridique
DPO / registre de traitement
Hébergement & responsabilités pro
Accord pilote & annexe données

Six versions, un cap discipliné

terminé
v0.1
Fondations ERP & gouvernance
Structure, modèles, CI, Docker, garde-fous de simulation.
en cours
v0.2
Inventaire & caisse — simulation
Catalogue poli, alertes lots FEFO, sessions caisse, POS multi-articles, dashboard opérationnel.
v0.3
Multi-officines
Stock multi-site, rôles par branche, achats et reporting consolidé.
v0.4
Interopérabilité
API publique, webhooks, OpenAPI, connecteurs simulés.
v0.5
Tests métier internes
Données synthétiques, revue pharmacien-dev, rapport de gaps.
v1.0
Candidat évaluation prod
Sécurité renforcée, audit, supervision, release artefacts, revue externe.
Condition permanente

L'usage réel en pharmacie reste bloqué tant que le Compliance & Conflict-of-Interest Gate n'est pas validé — indépendamment du niveau de maturité technique atteint.

v0.2 en bonne voie — livrables accomplis, suite à construire

01
Seed synthétique enrichi (#13) — Données officinales crédibles : produits, lots, patients, prescriptions, fournisseurs, mouvements de stock.
02
Catalogue produits poli (#7) — UI catalogue avec recherche, filtres catégorie / statut stock, métriques, batch tracking et formulaire création.
03
Alertes lots & expiration (#8) — Vue dédiée avec filtres FEFO, statuts (expiré / bientôt / stock bas / normal), métriques alertes et compteurs.
04
Session caisse (#10) — Ouverture / clôture de session, fond initial, réconciliation espèces, affichage statut caisse en temps réel.
05
Workflow POS (#9) — Page /pos dédiée : sélection produits, panier multi-articles, calcul grand total, modes de paiement (espèces / carte / mobile money), déduction stock FEFO automatique, guard session caisse.
06
Ticket / reçu de simulation (#11) — Génération d'un reçu non-fiscal après vente simulée.
07
Validation tableau de bord v0.2 (#12) — Dashboard enrichi avec métriques de la journée, ventes POS, sessions caisse et mouvements récents.
08
Revue interne — Session avec un pharmacien-dev : parcours complet réception → stock → vente → caisse → rapport, sans données réelles.
Definition of Done v0.2 — état actuel

Le parcours réception produit → stock → vente → caisse est maintenant simulable de bout en bout sans intervention du maintainer. La boucle POS est fermée (#9 livré). Restent : reçu de simulation (#11), métriques dashboard v0.2 (#12) et revue interne.

Conclusion

OfficinaOS est aujourd'hui une base technique solide pour explorer l'harmonisation des opérations officinales. Sa valeur vient de l'association entre architecture moderne, gouvernance prudente et ambition d'interopérabilité. La suite doit rester disciplinée : renforcer le cœur inventaire/caisse, tester uniquement avec données synthétiques et ne jamais confondre simulation technique avec autorisation d'usage réel.

OfficinaOS est un projet personnel open source en simulation technique. Il explore une infrastructure logicielle interopérable pour les officines modernes, sans claim de certification, d'homologation ou d'approbation institutionnelle.