Retour aux Projets

Avionics

Catégorie : Système Distribué
Date : Mars 2026
Interface d'Avionics

À propos de ce projet

Système critique conçu en architecture hexagonale avec Effect-TS. Sépare strictement le domaine pur de l'infrastructure pour garantir un comportement déterministe sous forte charge.

Fonctionnalités Clés

Monorepo Turborepo

Partage de types et de logique métier entre services via catalogs pnpm.

UI "Dumb" & XState

Les composants React se limitent à l'affichage aveugle. Toute la logique, et le workflows de réservation complexes, sont orchestrés par des machines d'états déterministes (XState).

Résilience via Effect

Gestion déclarative des pannes réseau et encodage des erreurs dans le système de types.

Property-Based Testing

Validation des invariants via fast-check pour couvrir les cas limites.

Injection de Dépendances

Utilisation du compilateur Effect pour injecter les services sans decorators.

API Incassable & OpenAPI

Approche "Parse, don't validate" propulsée par @effect/platform. Les endpoints ne lâchent aucun throw : chaque erreur métier mappe automatiquement vers les bons statuts HTTP d'une documentation Scalar vivante.

Défis Rencontrés

Passer d'une approche orientée objet classique à une architecture 100% fonctionnelle pour garantir l'atomicité des réservations.

Leçons Apprises

Le traitement de l'échec comme un contrat de type (et non une exception) rend le système prédictible et facile à tester.