Horas — Gestion du Temps
Horas est une application de gestion du temps pensée pour accompagner le fonctionnement réel d’une organisation. Plannings, pointages, absences et suivi d’activité se retrouvent au même endroit, avec une distinction claire entre les besoins des employés et ceux des managers.
Mais derrière cette apparente simplicité se cache un enjeu plus intéressant : comment concevoir un outil suffisamment flexible pour s’adapter aux différentes réalités d’une entreprise, tout en restant simple à utiliser et fiable au quotidien ?
C’est autour de cette question qu’Horas a été conçu.

Un système de gestion du temps pensé pour représenter les vraies contraintes d'une organisation.
Horas permet aux employés de pointer, consulter leurs horaires et gérer leurs absences, tandis que les managers pilotent leurs équipes, leurs plannings et leurs indicateurs.
Le projet m'a surtout amené à résoudre une question : comment représenter suffisamment de situations métier sans transformer le backend en accumulation de cas particuliers ?
- Mon rôle
- Backend — conception & implémentation
- Équipe
- 4 développeurs
- Stack
- TypeScript · Express · Prisma · PostgreSQL
- Frontend
- Contribution UI & intégration
- Contexte
- Epitech · Architecte des SI
Ce que j'ai cherché à résoudre
Comprendre le besoin
Traduire les besoins métier en une structure suffisamment flexible pour représenter les situations réelles.
Préserver la cohérence
Garantir une logique cohérente à travers les différents concepts métier, du fonctionnement des pointages jusqu’à la gestion des droits et des autorisations par rôle.
Scalabilité
Conceptualiser une architecture et des systèmes scalables et maintenables tout au long du cycle de développement.
Le point technique qui m'a le plus intéressé
Comment faire évoluer plusieurs couches d'un backend sans recopier les mêmes structures partout ?
Horas utilise une hiérarchie de types et des projections typées toutes dépendantes de la couche Domaine pour faire remonter ces incohérences au compilateur.
- Une modification
- Des erreurs ciblées
- Pas de divergence silencieuse